发明内容
本发明的目的在于克服现有技术的缺点,提供一种数字通信中的联合滤波与定时同步实现方法,以减少滤波器的输出并行路数,降低实现时的复杂度,提高传输速率。
为了达到上述目的,本发明采用以下技术方案:
一种数字通信中的联合滤波与定时同步的实现方法,包括下述具体步骤:
(1)、选择快速傅里叶变换的长度
若滤波器的长度为L,输入数据的并行路数为M,则将快速傅里叶变换的长度N取为大于或等于L+M-1且为2的整数次幂;
(2)、频域滤波
按照重叠保留法对输入数据进行分组,各个分组先经快速傅里叶变换变换到频域,再在频域与滤波器的频域系数相乘,完成频域滤波;
(3)、频域定时误差补偿
根据定时误差检测模块检测出的定时误差,对滤波后的频域数据进行相位旋转,在频域完成定时误差补偿,再对完成补偿的数据做快速傅里叶逆变换变换到时域,输出的时域数据中即包含最佳采样时刻的值;
(4)、定时误差计算及滤波与定时同步后数据输出
将快速傅里叶逆变换之后的时域数据送入定时误差计算模块,该模块采用Gardner算法,将定时误差计算模块的输出反馈回频域,完成频域定时误差补偿,由于快速傅里叶变换之后的时域数据中包含最佳采样点的值,将其输出,该数据即是完成滤波与定时同步后的输出数据。
所述步骤(2)的实现方法如下:
(21)对于采用模拟正交下变频的***,直接对采样信号进行分段处理,对于中频直接采样的***,先对采样信号进行数字下变频,本地数控振荡器的频率取为f1=(2k+1)fs/4,fs为AD采样率,选择k使得f1最接近中频载波频率fc,若AD采样后的信号为a(n),则数字下变频后的信号x(n)为:
x(n)=a(n)exp(-j2πnf1/fs)=a(n)exp[-jπn(2k+1)/2]
(22)对输入数据进行分段,每一段数据中包含N个数据,其中前L-1个数据是前一段的后L-1个数据,后N-L+1个数据是新输入的数据,当调整使得定时误差的小数因子
时,则将
减1,且将输入数据分段时的采样点往后移一个点,当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点;
(23)对分段后的数据做快速傅里叶变换,得到对应的频域数据,快速傅里叶变换中与常系数的复乘运算用加法来实现;
(24)对于采用模拟正交下变频的***,在滤波器的L个系数hl后补0至N点,并对其做快速傅里叶变换,得到滤波器的频域系数,对于采用中频直接采样的***,需要先对滤波器的系数hl进行如下处理:
h′l=hlexp[j2πl(fc-f1)/fs] 0≤l<L
然后再在h′l后补0至N点,并对其做快速傅里叶变换,得到滤波器的频域系数;
(25)将频域数据与滤波器的频域系数对应相乘,得到频域滤波后的数据。
所述步骤(3)的实现方法如下:
(31)根据定时误差检测模块给出的小数部分定时误差,对频域滤波后的数据进行相位旋转,在频域对定时误差进行纠正,具体方法为
(32)对于AD采样率为2倍符号速率的模拟正交下变频***,直接对Z′k(i)做快速傅里叶逆变换,得到完成滤波及定时误差纠正的时域数据,对于AD采样率为4倍符号速率的中频直接采样***,先将Z′k(i)中间的N/2个点去掉,即
然后对Z″k(i)做N/2点的快速傅里叶逆变换,得到完成滤波及定时误差纠正的时域数据,此时zk(i)的数据中一个符号内包含2个采样点。
所述步骤(4)的实现方法如下:
(41)对于AD采样率为2倍符号速率的模拟正交下变频***,经快速傅里叶逆变换得到的时域数据zk(i)中,只有序号为L-1≤k<N的数据为有效滤波后的输出数据,对于AD采样率为4倍符号速率的中频直接采样***,时域数据zk(i)中只有序号为(L-1)/2≤k<N/2的数据为有效滤波后的输出数据;
(42)对于采用模拟正交下变频的***,将各段z′k(i)按照段号的先后顺序拼接起来,即为完整的经过滤波后的数据z′(n),对于采用中频直接采样方式的***,z′(n)的数据中还存在残留频差,其值为fc-f1,需要根据下式对其去除
z″(n)=z′(n)exp[-j2πn(fc-f1)/fs]
上式中:fs=2fb,fb为符号速率;
(43)将z′k(i)分成N-L+1路并行输出至定时误差检测模块,完成定时误差估计,首先计算定时误差
u(2n)=z′I(2n+1)[z′I(2n+2)-z′I(2n)]+z′Q(2n+1)[z′Q(2n+2)-z′Q(2n)]
上式中:u(2n)表示2nTs(Ts为采样周期,Ts=Tb/2,Tb为符号周期)时刻定时误差的值;z′I(n)表示z′(n)(对于中频直接采样方式为z″(n))同相路信号的值,即其实部;z′Q(n)表示z′(n)正交路信号的值,即其虚部,将z′(n)以P个符号为一段进行划分,第i(i=1,2,Λ)段内u(2n)的平均值为
然后根据U
i的符号对第i段数据内的小数部分定时误差因子
进行调整
上式中:Δε为每次调整的步进。将初始小数部分定时误差因子
设为
当调整使得
时,将
减1,且将输入数据分段时的采样点往后移一个点,当调整使得
时,将
加1,且将输入数据分段时的采样点往前移一个点,将
送入频域定时误差补偿模块,以纠正定时误差;
(44)滤波后的数据中包含最佳采样点的值,将其直接输出,该数据即是完成滤波与定时同步后的输出数据。
与现有技术相比,本发明具有以下优点及有益效果:
1、本发明方法通过将滤波与定时同步算法结合起来,使得滤波后数据的速率可低至符号速率的2倍,由于并行滤波的运算复杂度与输出数据的路数成正比,因此本发明方法大大降低了实现时的运算量和复杂度。
2、本发明是在频域中完成滤波,然后根据定时误差检测模块给出的定时误差,对滤波后的频域数据进行相应的相位旋转,再将完成相位旋转后的数据变换到时域,最后将该时域数据送入定时误差检测模块,纠正定时误差,整个过程中减少了实现时的运算量,且误差小,精确度更高。
3、对于高速数字通信***(信息速率超过600Mbps),传统的并行滤波方法实现时的运算复杂度显得过大,而本发明方法是一种非常适用的方法。
具体实施方式
下面结合实施例及附图,对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明提出的一种联合滤波与定时同步的实现方法,其结构如图1所示,M路并行输入数据首先经过数据分段模块,该模块按照重叠保留法,将输入数据分成N个数据一段,再将分段后的数据送入FFT模块变换到频域,在频域与滤波器的频域系数相乘,完成频域滤波;然后根据定时误差检测模块给出的定时误差,对滤波后的频域数据进行相应的相位旋转,再将完成相位旋转后的数据做IFFT变换到时域;最后将该时域数据送入定时误差检测模块,根据检测的结果对小数部分定时误差
(
T
s为AD采样时钟周期)进行调整,再将
反馈至相位旋转部分,纠正定时误差。当调整使得
时,则将
减1,且将输入数据分段时的采样点往后移一个点;当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点。由于IFFT变换后的时域数据中包含最佳采样点的值,将其直接输出,该数据即是完成滤波与定时同步后的输出数据。
本发明联合滤波与定时同步的实现方法,包括以下步骤:
步骤一、选择FFT的长度
若滤波器的长度为L,输入数据的并行路数为M,则将FFT的长度N取为不小于L+M-1的2的整数次幂。
步骤二、频域滤波
滤波器为有限长冲击响应(FIR)滤波器,滤波器的输出为其系数与输入信号的线性卷积,这可以用分段序列的圆周卷积来代替,而两段序列的圆周卷积可以在频域实现。分段时采用重叠保留法进行。采用重叠保留法进行分段,频域滤波的具体实现步骤如下:
(1)如果***采用的是模拟正交下变频,而在基带对I、Q两路信号同时采样的方式,则可以直接对采样信号进行分段处理,此时AD采样率一般为符号速率的2倍,可以满足奈奎斯特采样率的要求。如果***采用的是中频直接采样的方式,则AD采样率与中频载波频率之间必须满足一定的关系,此时AD采样率一般为符号速率的4倍,而中频载波频率fc应满足fc≈(2k+1)fs/4,k为整数,fs为AD采样率,以保证没有混叠,这时需要先对采样信号进行数字下变频,本地数控振荡器的频率取为f1=(2k+1)fs/4,实际上,本地数控振荡器频率的取值范围只有|f1|≤fs/2,而当实际信号的频率高于fs/2时,采样后的数字信号的频谱会以fs周期重复,即为带通采样。带通采样示意图如图2所示,图中实际信号的频率为f1,但在采样率fs下,其效果与对频率为f1-fs的信号做低通采样时是一样的。若AD采样后的信号为a(n),则数字下变频后的信号x(n)为:
x(n)=a(n)exp(-j2πnf1/fs)=a(n)exp[-jπn(2k+1)/2] (2)
从上式可以看出,本地数控振荡器的输出只有±1和±j这4种可能,由于采样信号a(n)为实数,故数字下变频后信号x(n)的数据中只包含实部或虚部,对其分段后做FFT时,可以大大减少运算量。
(2)对输入数据x(n)进行分段,分段时利用重叠保留法,每一段数据中包含N个数据,其中前L-1个数据是前一段的后L-1个数据,后N-L+1个数据是新输入的数据。当没有进行采样点调整时,数据分段的过程可用式子表示为:
yn(i)=x[(N-L+1)i+n] (3)
上式中:y
n(i)为分段后的数据;i为段号,i=0,1,2,Λ;n为每段中数据的序号,0≤n<N。由于收发时钟不可能完全一致,在解调过程中的最佳采样点会发生漂移,因此实际中需要在数据分段时对采样点进行调整。当调整使得定时误差的小数因子
时,则将
减1,且将输入数据分段时的采样点往后移一个点,即若前一段的数据为y
n(i-1)=x(n
i-1+n),则本段的数据为:
yn(i)=x(ni-1+N-L+2+n) (4)
同样,当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点,即若前一段的数据为y
n(i-1)=x(n
i-1+n),则本段的数据为:
yn(i)=x(ni-1+N-L+n) (5)
(3)对分段后的数据y
n(i)做FFT,得到相应的频域数据Y
k(i),k为频域数据的序号,0≤k<N。FFT中运算量最大的部分是其中的复乘运算,其中所有复乘运算的一个系数为常数
(W
N=e
-j2π/N),此时一个复数与之相乘的运算可以用若干个加法器来实现,从而大大地减少了运算量。如若N=16、k=1,则
在数字信号处理器中,需要对实数进行量化,假若采用10比特量化,则
可表示为(946-392j)/2
10,即cos(π/8)表示为1110110010B、sin(π/8)表示为0110001000B,则一个实数a与
相乘可用加法表示为:
上式中对于2的幂次方的除法,在数字信号处理器中可以很方便地用右移位来实现,几乎不占用***资源。复数与
相乘的情况与实数时类似,只需要将复数乘法表示成几个实数乘法,再用加法实现即可。
(4)对于采用模拟正交下变频的***,在滤波器的L个系数hl(0≤l<L)后补0至N点,并对其做FFT,得到滤波器的频域系数Hk,k为系数的序号,0≤k<N。对于采用中频直接采样的***,本地数控振荡器的频率f1与中频载波频率fc不一定相等,因而需要先对滤波器的系数hl进行如下处理:
h′l=hlexp[j2πl(fc-f1)/fs] 0≤l<L (6)
然后再在h′l后补0至N点,并对其做FFT,得到滤波器的频域系数Hk。当滤波器的系数是常数时,滤波器的频域系数Hk也是常数,可以事先计算好。
(5)将频域数据Yk(i)与滤波器的频域系数Hk对应相乘,得到频域滤波后的数据Zk(i)。
步骤三、频域定时误差补偿
(1)根据定时误差检测模块给出的小数部分定时误差
(
T
s为AD采样时钟周期),对频域滤波后的数据Z
k(i)进行相位旋转,在频域对定时误差进行纠正,具体方法为:
(2)对于采用模拟正交下变频的***,若AD采样率为2倍符号速率,则直接对Z′k(i)做IFFT,得到完成滤波及定时误差纠正的时域数据zk(i)。若***采用中频直接采样的方式或AD采样率高于2倍符号速率,如为4倍符号速率,由于符号定时误差检测模块只需要一个符号内有2个采样点,因此可以先将Z′k(i)中间的N/2个点去掉,即
然后对Z″k(i)做N/2点的IFFT,得到完成滤波及定时误差纠正的时域数据zk(i),此时zk(i)的数据中一个符号内只包含2个采样点。
步骤四、定时误差计算及滤波与定时同步后数据输出
(1)对于采用模拟正交下变频的***,经IFFT得到的时域数据zk(i)中,只有序号为L-1≤k<N的数据为有效滤波后的输出数据,它们与输入数据和滤波器的系数做线性卷积后的结果相同,其它数据则为无用数据。故令
z′k(i)=zk+L-1(i) 0≤k<N-L+1 (9)
对于采用中频直接采样的***,由于是先将Z′k(i)中间的N/2个点去掉后再做IFFT,故zk(i)中只有序号为(L-1)/2≤k<N/2的数据为有效滤波后的输出数据,则令
z′k(i)=zk+(L-1)/2(i) 0≤k<(N-L+1)/2 (10)
(2)将各段z′k(i)按照序号i的先后顺序拼接起来,即为完整的经过滤波后的数据z′(n),且其数据速率为符号速率的2倍。对于采用中频直接采样方式的***,由于本地数控振荡器的频率f1与中频载波频率fc不一定完全相同,故z′(n)的数据中存在残留频差,其值为fc-f1,需要根据下式对其去除
z″(n)=z′(n)exp[-j2πn(fc-f1)/fs] (11)
上式中:fs=2fb,fb为符号速率。
(3)将z′k(i)分N-L+1路并行输出至定时误差检测模块,以完成定时误差估计。采用Gardner算法来检测定时误差,Gardner定时误差的计算公式为
u(2n)=z′I(2n+1)[z′I(2n+2)-z′I(2n)]+z′Q(2n+1)[z′Q(2n+2)-z′Q(2n)] (12)
上式中:u(2n)表示2nT
s(T
s为采样周期,T
s=T
n/2,T
b为符号周期)时刻定时误差的值;z′
I(n)表示z′(n)(对于中频直接采样方式为z″(n))同相路信号的值,即其实部;z′
Q(n)表示z′(n)正交路信号的值,即其虚部。在本发明中,不直接利用u(2n)作为定时误差值,而是根据一段符号内u(2n)平均值的符号对小数部分定时误差
及输入数据分段时采样点的位置进行调整。本发明的定时误差估计示意图如图3所示。若将z′(n)以P个符号为一段进行划分,则第i(i=1,2,Λ)段内u(2n)的平均值为:
然后根据U
i的符号对第i段数据内的小数部分定时误差因子
进行调整
上式中:Δε为每次调整的步进。Δε越大,可跟踪的码偏范围越大,但定时误差估计值的精度也越低,应用时需要根据实际的要求来确定Δε。初始小数部分定时误差因子
是未知的,一般将
设为
当调整使得
时,则将
减1,且将输入数据分段时的采样点往后移一个点;当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点。将
送入频域定时误差补偿模块,以纠正定时误差。
(4)由于z′(n)(对于中频直接采样方式为z″(n))的数据中包含最佳采样点的值,将其直接输出,该数据即是完成滤波与定时同步后的输出数据。
实施例1
假定某QPSK调制***,符号速率为fb=1/Tb=150MBaud,接收机***采用的是模拟正交下变频的方式,在基带对I、Q两路信号同时采样,AD采样率为符号速率的2倍,采样数据分为M=2路并行输入数字解调器,数字解调器的处理时钟频率为fp=160MHz,接收机匹配滤波器采用的是滚降系数为0.35的根升余弦滤波器,滤波器系数的长度为L=13。则联合滤波与定时同步实现方法的结构图如图4所示,其实现步骤如下:
步骤一、选择FFT的长度
由于滤波器系数的长度为L=13,输入数据的并行路数为M=2,则将FFT的长度N取为不小于L+M-1=14的2的整数次幂,即取为N=16。
步骤二、频域滤波
(1)对AD采样后输入的数据x(n)进行分段,分段时利用重叠保留法,每一段数据中包含N=16个数据,其中前L-1=12个数据是前一段的后12个数据,后N-L+1=4个数据是新输入的数据。分段后的数据记为yn(i);i为段号,i=0,1,2,Λ;n为每段中数据的序号,0≤n<16;
(2)对分段后的数据y
n(i)做FFT,得到相应的频域数据Y
k(i),k为频域数据的序号,0≤k<16。FFT中与常系数
的复乘运算都是用若干个加法器来实现的;
(3)在滤波器的L=13个系数hl(0≤l<13)后补0至N=16点,并对其做FFT,得到滤波器的频域系数Hk,k为系数的序号,0≤k<16;
(4)将频域数据Yk(i)与滤波器的频域系数Hk对应相乘,得到频域滤波后的数据Zk(i)。
步骤三、频域定时误差补偿
根据定时误差检测模块给出的小数部分定时误差因子
对频域滤波后的数据Z
k(i)进行相位旋转,在频域对定时误差进行纠正,具体方法为
然后对Z′k(i)做IFFT,得到完成滤波及定时误差纠正的时域数据zk(i),zk(i)的数据中一个符号内只包含2个采样点。
步骤四、定时误差计算及滤波与定时同步后数据输出
令
z′k(i)=zk+12(i) 0≤k<4
将各段z′
k(i)按照段号i的先后顺序拼接起来,即为完整的经过滤波后的数据z′(n),且其数据速率为符号速率的2倍。将z′(n)以P=64个符号为一段进行划分,根据式(12)、式(13)和式(14)对第i段数据内的小数部分定时误差因子
进行调整,调整步进设为Δε=1/16,初始小数部分定时误差因子设为
当调整使得
时,则将
减1,且将输入数据分段时的采样点往后移一个点;当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点。将
送入频域定时误差补偿模块,以纠正定时误差。
z′k(i)的数据中包含最佳采样点的值,即
rk(i)=z′2k(i) 0≤k<2
将rk(i)分2路并行直接输出,该数据即是完成滤波与定时同步后的输出数据。
图5给出了本***完成滤波与定时同步后的误比特率(Bit Error Ratio,BER)曲线,并以理论曲线作为对比。从图中可以看出,本发明方法所造成的性能损失非常小。
实施例2
假定某QPSK调制***,符号速率为fb=1/Tb=405MBaud,接收机***采用的是中频直接采样的方式,中频载波频率为fc=1.2GHz,AD采样率为符号速率的4倍,即fs=1.62Gsps,采样数据分为M=16路并行输入数字解调器,数字解调器的处理时钟频率为fp=110MHz,接收机匹配滤波器采用的是滚降系数为0.35的根升余弦滤波器,滤波器系数的长度为L=25。则联合滤波与定时同步实现方法的结构图如图6所示,其实现步骤如下:
步骤一、选择FFT的长度
由于滤波器系数的长度为L=25,输入数据的并行路数为M=16,则将FFT的长度N取为不小于L+M-1=40的2的整数次幂,即取为N=64。
步骤二、频域滤波
(1)由于本***采用的是中频直接采样的方式,这时需要先对采样信号进行数字下变频。本地数控振荡器的频率取为f1=3fs/4=1.215GHz,由于|f1|>fs/2,本***实际上为带通采样方式。若AD采样后的信号为a(n),则数字下变频后的信号x(n)为:
x(n)=a(n)exp(-j2πnf1/fs)=a(n)exp[-j3πn/2]
可以看出,数字下变频后信号x(n)的数据中只包含实部或虚部;
(2)对数字下变频后的信号x(n)进行分段,分段时利用重叠保留法,每一段数据中包含N=64个数据,其中前L-1=24个数据是前一段的后24个数据,后N-L+1=40个数据是新输入的数据。分段后的数据记为yn(i);i为段号,i=0,1,2,Λ;n为每段中数据的序号,0≤n<64;
(3)对分段后的数据yn(i)做FFT,得到相应的频域数据Yk(i),k为频域数据的序号,0≤k<64,FFT中与常系数的复乘运算都是用若干个加法器来实现的;
(4)首先对滤波器的L=25个系数hl(0≤l<25)进行如下处理
h′l=hlexp[j2πl(fc-f1)/fs] 0≤l<25
然后在h′l后补0至N=64点,并对其做FFT,得到滤波器的频域系数Hk,k为系数的序号,0≤k<64;
(5)将频域数据Yk(i)与滤波器的频域系数Hk对应相乘,得到频域滤波后的数据Zk(i)。
步骤三、频域定时误差补偿
根据定时误差检测模块给出的小数部分定时误差因子
对频域滤波后的数据Z
k(i)进行相位旋转,在频域对定时误差进行纠正,具体方法为:
由于符号定时误差检测模块只需要一个符号内有2个采样点,而本***的采样率为4倍符号速率,因此可以先将Z′k(i)中间的N/2=32个点去掉,即
然后对Z″k(i)做32点的IFFT,得到完成滤波及定时误差纠正的时域数据zk(i),zk(i)的数据中一个符号内只包含2个采样点。
步骤四、定时误差计算及滤波与定时同步后数据输出
令
z′k(i)=zk+12(i) 0≤k<20
将各段z′k(i)按照段号i的先后顺序拼接起来,即为完整的经过滤波后的数据z′(n),且其数据速率为符号速率的2倍。由于本地数控振荡器的频率f1与中频载波频率fc不完全相同,故z′(n)的数据中存在残留频差,其值为fc-f1,需要根据下式对其去除
z″(n)=z′(n)exp[-jπn(fc-f1)/fb]
上式中:f
b为符号速率。将z″(n)以P=64个符号为一段进行划分,根据式(12)、式(13)和式(14)对第i段数据内的小数部分定时误差因子
进行调整,调整步进设为Δε=1/8,初始小数部分定时误差因子设为
当调整使得
时,则将
减1,且将输入数据分段时的采样点往后移一个点;当调整使得
时,则将
加1,且将输入数据分段时的采样点往前移一个点。将
送入频域定时误差补偿模块,以纠正定时误差。
z′k(i)的数据中包含最佳采样点的值,即
rk(i)=z′2k(i) 0≤k<10
将rk(i)分10路并行直接输出,该数据即是完成滤波与定时同步后的输出数据。
如图7所示,是本***完成滤波与定时同步后的误比特率曲线,并以理论曲线作为对比,从图中可以看出,本发明方法所造成的性能损失非常小。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。