【发明内容】
本发明要解决的技术问题,在于提供一种广播定位系统的帧同步方法,本发明的运算量小,提高了帧同步的灵敏度和准确性。
本发明是这样实现的:一种广播定位系统的帧同步方法,包括如下步骤:
步骤10、利用原广播系统的帧同步方法进行帧同步,如果成功,则帧同步完成;否则,进入步骤20;
步骤20、将输入的数字信号数据与本地存储的扩频码列表中各个需要检测的扩频码进行滑动相关,在至少1帧时间长度的滑动相关的结果中找到相关模值峰值的位置,并与门限值比较,判断帧同步是否成功,当有一扩频码对应的帧同步判断成功,则帧同步成功;否则帧同步失败,转入步骤10重新进行帧同步。
进一步的,步骤20中做滑动相关的信号长度优选为小于一帧数据中传输电文的扩频信号的长度且为扩频码周期的整数倍;所述输入的数字信号数据用分块进行FFT的方法降低运算复杂度,其分块的大小为所述滑动相关的信号长度;所述输入的数字信号数据长度要超过1帧加一块的数据长度。
其中步骤20中的门限值比较采用峰值与固定数值比较,或采用峰均比与固定数值比较;若峰值或峰均比大于固定值,则该扩频码对应的帧同步成功,否则该扩频码对应的帧同步失败。
进一步的,所述用分块进行FFT的方法具体为:首先将输入的数字信号数据进行分块,并将每块数据进行FFT变换得到一组序列A1、A2、......AN,其中该组序列A1、A2、......AN分别代表对应块数据进行FFT变换的结果;
对本地存储的扩频码列表中各个需要检测的扩频码分别执行如下操作:
步骤21、将本地存储的序列H分别与序列A1、A2、......AN按序列元素相乘得到另一组序列B1、B2、......BN,进入步骤22;其中,序列H是将各个需要检测的扩频码中的一扩频码按与输入数字信号数据相同的采样率采样得到的序列做FFT结果的共轭得到的,事先计算好后存储在本地;
步骤22、分别对序列B1、B2、......BN进行IFFT,得到一组序列C1、C2、......CN,并进入步骤23;
步骤23、将序列C1、C2、......CN进行相邻2个序列的每个元素求模值并相加得到序列D1、D2、......DN-1,进入步骤24;
步骤24、对各序列D1、D2、......DN-1对应的各元素求一最大值,并找出最大值对应的元素所在的序列号m及其在对应序列中的位置k,其序列中的元素起始位置从0开始计数,进入步骤25;
步骤25、假设分块大小长度为L,即每块数据进行FFT变换得到的序列长度为L,分别以序列Am和Am+1的第L-1-k的元素点为起点,各取一块长度为L的输入的数字信号数据与本地存储的该扩频码按与所述输入数字信号数据相同的采样率采样得到的序列进行序列相关,得到两块数据对应的序列相关值后再进行求模值,比较这两个模值大小,得到最大值及其对应的序列号,并将最大值与门限值进行比较,若最大值超过门限值,则该扩频码帧同步成功,该块输入的数字信号数据的起点即为码头部分扩频码的起始位置,若最大值小于门限值,则该扩频码帧同步失败。
本发明具有如下优点:本发明首先用原广播系统的帧同步方法进行帧同步,如果成功,则转入基带处理的后续模块;否则,将输入的数字信号数据与收到的扩频码列表中各个需要检测的的扩频码,做滑动相关运算,找到相关峰的位置,并与门限值比较,判断帧同步是否成功,如果成功,则转入基带处理的后续模块,不成功,则继续进行帧同步。本发明根据信号的强弱使用不同的帧同步方法,使得在大部分信号强的地方能够快速完成帧同步,在信号弱的地方能够提高帧同步的性能和准确性。
【具体实施方式】
如图1所示,一种广播定位系统的帧同步方法,包括如下步骤:
步骤10、利用原广播系统的帧同步方法(其原广播系统的帧同步方法,为现有技术中帧同步方法中的任意一种,其可参见背景技术中指出的“一种信号捕获方法”)进行帧同步,如果成功,则帧同步完成;否则,进入步骤20;
步骤20、将输入的数字信号数据与本地存储的扩频码列表中各个需要检测的扩频码进行滑动相关,在至少1帧时间长度的滑动相关的结果中找到相关模值峰值的位置,并与门限值比较,判断帧同步是否成功,当有一扩频码对应的帧同步判断成功,则帧同步成功;否则帧同步失败,转入步骤10重新进行帧同步。
其中,步骤10中用原广播系统的帧同步方法进行帧同步,与广播定位系统选取的广播系统有关,如果基于CMMB(中国移动多媒体广播),则可以采用原广播系统的帧同步方法中找两个相同的同步符号相关峰的方法进行;如果基于DAB(数字音频广播),则可以采用原广播系统的帧同步方法中检测空符号(NULL符号)的方法进行。
进一步的,步骤20中做滑动相关的信号长度优选为小于一帧数据中传输电文的扩频信号的长度且为扩频码周期的整数倍;所述输入的数字信号数据用分块进行FFT的方法降低运算复杂度,其分块的大小为所述滑动相关的信号长度;所述输入的数字信号数据长度要超过1帧加一块的数据长度。
其中步骤20中的门限值比较可以用峰值与固定数值比较,也可以用峰均比与固定数值比较;若峰值或峰均比大于固定值,则该扩频码对应的帧同步成功,否则该扩频码对应的帧同步失败。
其中所述用分块进行FFT的方法具体为:首先将输入的数字信号数据进行分块,并将每块数据进行FFT变换得到一组序列A1、A2、......AN,其中该组序列A1、A2、......AN分别代表对应块数据进行FFT变换的结果;
对本地存储的扩频码列表中各个需要检测的扩频码分别执行如下操作:
步骤21、将本地存储的序列H分别与序列A1、A2、......AN按序列元素相乘得到另一组序列B1、B2、......BN,进入步骤22;其中,序列H是将各个需要检测的扩频码中的一扩频码按与输入数字信号数据相同的采样率采样得到的序列做FFT结果的共轭得到的,事先计算好后存储在本地;
步骤22、分别对序列B1、B2、......BN进行IFFT,得到一组序列C1、C2、......CN,并进入步骤23;
步骤23、将序列C1、C2、......CN进行相邻2个序列的每个元素求模值并相加得到序列D1、D2、......DN-1,进入步骤24;
步骤24、对各序列D1、D2、......DN-1对应的各元素求一最大值,并找出最大值对应的元素所在的序列号m及其在对应序列中的位置k,其序列中的元素起始位置从0开始计数,进入步骤25;
步骤25、假设分块大小长度为L即每块数据进行FFT变换得到的序列长度为L,分别以序列Am和Am+1的第L-1-k的元素点为起点,各取一块长度为L的输入的数字信号数据(按输入的数字信号数据的顺序依次取)与本地存储的该扩频码(即步骤21中的各个需要检测的扩频码中的一扩频码)按与所述输入数字信号数据相同的采样率采样得到的序列进行序列相关,得到两块数据(两块长度为L的输入数字信号数据)对应的序列相关值后再进行求模值,比较这两个模值大小,得到最大值(两个模值中的最大一个)及其对应的序列号,并将最大值与门限值进行比较,若最大值超过门限值,则该扩频码帧同步成功,该块输入的数字信号数据的起点即为码头部分扩频码的起始位置,若最大值小于门限值,则该扩频码帧同步失败。
值得一提的是:步骤21中将本地存储的一扩频码按与所述输入数字信号数据相同的采样率采样得到序列并做FFT结果的共轭得到另一序列,可以优选为将多个基站的扩频码相加,然后按相同采样率采样得到的序列做FFT结果的共轭取出,这样可以有效的减少运算量,但同时也会牺牲部分性能。
步骤23中将相邻2个序列的每个元素的模值相加是因为输入数字信号数据的起始点是任意的,需要2块输入数字信号数据才能保证包含相关模值峰值最大的那块输入数字信号数据,但这样在找到最大值后无法判断哪块数据才是真正的相关模值峰值的那块输入数字信号数据,因此需要步骤25来确认到底是哪块数据才是真正的相关模值峰值的那块输入数据。
步骤25中与门限值的比较也可以放到步骤23计算好一个序列Dk(k=1,2,......,N-1)后就立刻执行。
前面所述的模值可以用模值的平方或实部和虚部的绝对值和来代替,以减少运算量。
下面结合具体实施例对本发明作进一步说明。
如图2所示,为广播信号CMMB(中国移动多媒体广播)的帧结构,其每1秒为1帧,划分为40个时隙,每个时隙的长度为25ms,包括1个信标和53个OFDM符号,码速率为10M。广播定位信号是在CMMB信号上叠加511位的Gold码,Gold码的码速率为5M,而且叠加的Gold码以时隙(25ms)为周期重复。
如图3所示,为一种基于CMMB的广播定位信号叠加的扩频码的帧结构示意图。其中,码头部分将原来的CMMB信号去掉,只有Gold码,信号能量与后面的CMMB信号能量相当;叠加码部分保持原有的CMMB信号,叠加的Gold码的信号能量低于码头20db。码头部分的Gold码以BPSK(全称:Binary Phase Shift Keying,利用偏离相位的复数波浪组合来表现信息键控移相方式)调制电文,每比特电文的持续时间为50ms;叠加码部分不调制电文。
如图4所示,为CMMB信标的结构示意图,其CMMB信标是由TxID(发射机标识信号)和两个完全相同的同步符号组成。
对于该广播定位信号,用20M的时钟进行采样,其广播定位系统的帧同步方法,具体如下步骤:
步骤1、对接收的广播定位信号的基带信号取连续的两个204.8us长度的序列进行滑动自相关,在25ms时间内统计相关值的模值,求其模值中的一最大值及其对应位置,如果最大值超过预先存储的阈值,则认为帧同步成功,此时进行计算的这两个序列即对应信标中的两个同步信号的位置,第一个序列起始位置前36us的位置即为扩频码码头的起始位置;如果最大值未超过阈值,则帧同步未成功,跳到步骤2。
步骤2、以扩频码周期时间(102.2us,2044个采样点)内的长度为分块长度,对246个扩频码周期时间长度的数据(25141.2us,保证数据长度超过一个时隙加上一个扩频码周期时间)用分块进行FFT(快速傅里叶变换)的方法,执行如下:
步骤2.1、将每块2044点的输入数据线性插值为大小为2048点的数据后,进行FFT变换得到一组序列A1、A2、......AN,其中Ai代表第i块(i即为序列组A1、A2、......AN中下标值,Ai为序列组中的一个)插值后的数据进行FFT变换的结果,N取值为246,跳到步骤2.2;
步骤2.2、若所有的扩频码都已经计算完毕,则跳到步骤1;否则定义帧同步成功标志变量SynFlag的初值为0,将序列编号k初始化为1,门限值THRESHOLD进行初始化,然后执行步骤2.3;
步骤2.3、将本地存储的各个需要检测的扩频码中某个扩频码按(20M×2048/2044)的采样率得到的序列做FFT结果的共轭序列M与序列Ak按元素相乘得到序列Bk。
步骤2.4、序列Bk进行IFFT(反快速傅里叶变换)运算并对各个元素求模值得到Ck。
步骤2.5、当1<k<=N时,将序列Ck与Ck-1按元素相加得到序列Dk-1;计算序列Dk-1各个元素的一最大值MaxValue,如果该最大值MaxValue超过门限THRESHOLD,将变量SynFlag赋值为1,该最大值的位置记为index(取值范围为0到2047),将序列号k-1赋值给变量p,并更新门限THRESHOLD的值为该最大值。对k进行重新赋值k=k+1,当k大于N时,表示序列已经遍历一遍,执行步骤2.6,否则返回执行步骤2.3;
步骤2.6、判断变量SynFlag是否等于1,如果不是,则执行步骤2.2;如果是,则执行步骤2.7;
步骤2.7、分别以序列Ap和Ap+1的第((2047-index)×2044+1024)/2048点为起点,取一块长度为2044的输入数字信号数据与本地存储的该扩频码按相同采样率采样得到的序列进行相关,得到2个相关值的模值,比较这两个值得到最大值的序列号,该数字信号数据块的起点即为码头部分扩频码的起始位置,将帧同步成功标志SynFlag置1,完成帧同步。
这里要说明的是:用分块进行FFT的方法的每块输入数字信号数据的长度不是2的幂次时,可以先进行线性插值使其变为2的幂次,本地存储的扩频码要用相应的采样率使一块数据的长度与插值后的输入数据长度相同,找到的起始点为插值后的序列的起始点,需要换算到处理前的输入序列中的对应位置。另外,也可以参考GPS软件接收机中利用FFT的粗捕获方法中将输入数据变为2的幂次的方法。
值得一提的是:其中如果所述输入的数字信号数据采用IPDL(IdlePeriod Downlink,空闲周期下行链路)的方法,则应将发射装置分为若干组,每组发射装置以帧为单位按一定周期轮流暂停发射某些帧信号中有传输电文部分(即未与原OFDM信号叠加的部分)的扩频码,则步骤2处理的数据长度要保证包含所有发射装置未暂停发射时有传输电文部分的扩频码。例如,将发射装置分为3组,每组发射装置在3帧信号中暂停发射某1帧信号中有传输电文部分的扩频码,则步骤2处理的数据长度至少要2帧加一块数据长度的时间长度。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。