一种多体制通信时间同步算法及其FPGA实现
为了解决传统时间同步算法不适用于多种无线通信体制且不适于硬件实现等问题,本文提出了一种改进的时间同步算法,如图1所示。在改进的时间同步算法中,本地同步序列分成和两段,从而使帧同步和位同步都可以利用接收序列与本地同步序列的相关性实现。因此,只需要改变本地同步序列,改进后的时间同步算法就可以适用于不同的通信体制。
在本地同步序列及其划分方式确定后,时间同步算法的工作原理如下:首先,系统利用本地同步序列1完成帧同步的初始检测。当检测结果认为接收到数据帧时,启动帧同步确认和位同步等模块,利用本地同步序列2完成帧同步确认和位同步调整。其中,帧同步检测使用改进的分段相关法,可以有效提高帧检测算法对载波频偏的容忍度,降低帧同步的漏同步概率,并使算法便于硬件实现。帧同步确认和位同步在帧同步检测成功后启动,通过本地同步序列2与接收序列的相关结果来确认帧同步检测结果是否正确,从而减少假同步概率,并同时利用接收序列与本地同步序列2之间的相关性完成位同步处理,大大加快了位同步的收敛速度。
帧同步检测基于互相关的帧同步算法对载波频偏的容忍度与本地同步序列的长度成反比。所以,为了进一步减少帧同步的漏同步概率,在将本地同步序列分成帧同步检测和帧同步确认两部分的基础上,本文的帧同步检测采用如图2所示的分段相关法。在分段相关的帧同步检测算法中,用于帧同步检测的本地同步序列1等分为检测序列1和检测序列2两段,然后用这两段检测序列同时与输入信号进行相关,只要一个相关结果大于门限,就认为帧同步检测成功。
为了使帧同步算法更适于在FPGA中实现,本文对传统相关器进行了改进,实现方法如下:
首先对接收信号进行抽样判决(即将大于0信号的判决为“1”,否则判决为“0”),将接收信号变换为由“0”和“1”组成的序列,然后再与用于本地同步序列
(用于帧同步检测的本地同步序列)进行相关运算。其中,相关函数可以定义为:
其中,表示同或,
表示同步序列长度。考虑到接收信号
中的数据块与本地同步序列c(n)无关,并忽略噪声的影响,可以得到:
即,只有在时,出现相关峰
。
使用上述相关方法,载波频偏引起的接收信号幅度变化不会影响相关峰幅度,只有在频偏引起接收抽样序列在发生反相时,相关结果小(如当
在中间位置反相时,前半段相关结果为
,后半段相关结果为0,从而导致
)。而由于本文的帧同步检测使用分段相关的方法,通常情况下载波频偏引起接收同步序列在每个分段都产生反相的可能性很小,所以可以有效防止载波频偏引起漏同步发生的概率。
帧同步确认
帧同步确认的主要目的是判断帧同步检测结果是否属于假同步,减少出现假同步的概率。它利用接收同步序列的后半部分与本地同步序列的后半部分(即图1中的本地同步序列2)之间的相关性实现。由于帧同步确认时,位同步、载波同步等模块同时工作,帧同步确认受载波频偏等因素的影响较小,可以采用接收序列与本地序列直接相关的算法实现。
位同步
位同步模块在帧同步检测成功后启动(与帧同步确认同时进行),利用接收同步序列的后半部分与本地同步序列的后半部分(即图1中的本地同步序列2)之间相关性,通过利用比较时钟与接收码元之间的相关差来判断本地时钟是否需要进行调整,从而实现位同步。当最佳判决点处于接收信号码元的中间位置时,位同步算法原理如图4示,其中超前时钟和滞后时钟作为比较时钟。对于最佳判决点不处于码元中间的情况,只要修改图3中超前、滞后时钟与本地时钟之间的相位差即可。
相关器采用与帧同步检测相同的相关方法式(1):当最佳判决点处于码元中间的情况,即本地时钟相位与最佳判决点一致时,超前时钟和滞后时钟相位都在最佳判决点附近,其相关结果基本相同,本地时钟产生器不需要进行调整;当本地时钟相位超前于最佳判决点时,超前时钟远离最佳判决点,其控制下相关器的输出减小为(P1-1)/2,而滞后时钟控制下相关器的输出仍为(P1-1),判决模块通知本地时钟产生器进行滞后处理。同理,当本地时钟相位滞后于最佳判决点时,产生器进行超前处理。
FPGA实现与仿真验证
根据新一代无线通信统一平台的特点,同步功能需要在FPGA内实现。本文利用Altera的quartus设计软件,采用自顶向下的模块化设计方法,用VHDL语言完成时间同步相关的各个模块的编程设计,并利用仿真软件
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)