数字频率与模拟频率的转换
定时:同步头采用16位差分PN序列对长度为16的ZC序列进行扩频,接收端首先利用ZC16进行相关获得16个ZC相关峰,每个峰值至少有上采倍数个点;再对相关后的数据进行解差分操作,再次获得16个解差分后的相关峰,每个峰值至少有上采倍数个点;这时再用本地未差分的PN序列与其对位相乘,即每隔16*上采倍数个点取一个点,每次总共取16个点与本地PN相乘,获得16*上采倍数个相关峰,取最大的峰值的位置作为定时的位置,这时会有最大16*上采倍数的定时偏差。
(频域)频偏估计(同步头):再将16个经PN16扩频的ZC16序列利用PN16(差分)相乘,恢复成全为全为正向的16个ZC16序列,利用这16个ZC16序列间隔16*上采倍数个点,理论上每段都相同,因此对这16个ZC16FFT变换到频域后估计频偏,作为第一步粗估的频偏。两根接收天线的定时取较小的,频域粗估频偏的值取均值。
FFT纠频偏
(时域)频偏估计(导频+cp与导频+导频):粗估:分别取导频的cp与导频的后半段进行共轭相关,得出共轭相关后的复数之后仿真会直接对其取角度后再*Fs/(2*pi*N),定点的做法是类似峰均比里面取虚部和实部的比值再查表。精估:分别取两段导频做共轭相关,具体做法同上,区别就是会在计算角度的时候去除粗估的角度再进行角度计算,可以防止超出arctan的计算范围(-90°,+90°)。
时域纠频偏步骤:先把角度归一化为(0,5760),即360°*16,再把每个角度值对应的sin和cos值按0-5760的顺序存起来。
先利用imag/real的比值查表得到归一化为(0,5760)范围的角度值2pif/Fs*LL,再除掉估计间隔LL,得到的就是2pif/Fs。
再乘(1:n),n是待纠的数据长度,得到的就是每个数据点对应的待纠的角度值,查表求sin和cos值,取共轭与数据复数乘即可。
利用cp或者导频纠频偏
因为求角度需要用到arctan函数,角度需要在正负90度之间,所以f的范围需要:(N是间隔,因此缩小间隔可以增大估计范围)
注:定点算法把角度分为四个象限,只需要估计第一个象限就可以估计出其他象限角度值,因此f可估计的范围是Fs/2N。
频偏估计中查表法求角度与峰均比抑制限幅法中的查表法求限幅点的实部与虚部的原理:对单位圆进行划分,将划分成256个区间,每个区间内的角度都归为顺时针旋转后所到达的固定角度,该角度对应的虚部与实部的比值也是固定的,对于一个复数点,虚部与实部的比值归一化为0-512,利用该值作为地址去查询该地址多对应的角度值或者归一化的实部与虚部的值。
具体归一化的实部与虚部的值的计算方式如下:理论上:
载波同步一般把圆周分成八份,每份半个象限,每半个象限总共分成512个角度值,则最小角度度量为45/512,显然不能用于硬件,因此把角度扩大至少16倍,则扩大后最小角度度量为45*16/512=720/512,再利用下面的公式(把255换成720),把每个角度所对应的cos和sin值求出来存表,利用估计出来的角度值查表即可得到每个角度对应的正余弦值。
注:由于采用的是角度值,而不是弧度值,因此计算频偏的时候不能用2Π,要用360。