一种高速帧同步和相位模糊估计的方法及其FPGA实现
扫描二维码
随时随地手机看文章
摘要:提出仅依靠接收符号和本地同步码快速确定MPSK调制符号的帧同步,并同时估计其相位模糊值的计算方法,给出减少一半计算量的简化相关算法以及设是两个门限的方法,并分析该同步器的性能。详细设计能估计相位模糊值的高速帧同步器的结构,通过FPGA实现验证算法在高达320 MSPS的8PSK符号速率时均可以有效工作。
关键词:MPSK调制符号;帧同步;相位模糊;高速调制
0 引 言
数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。帧同步的检出一般可用相关检测技术完成。以往数据通信中的速率不是很高,相关检测的问题容易解决,但数字通信的日益高速率化的趋势,对实时状态下的相关检测提出了新的难度挑战。实际上,很多高速数传系统比如中继卫星通信系统,要求用户星和地面站下行链路间的传输数据率越来越高,达到了数百兆甚至上千兆的水平。在这样的高速环境下对数据进行实时的处理,就更加困难。
PSK调制在通信领域得到了广泛的应用,但存在相位模糊的问题,其一般可通过差分编码来解决。此法虽然简单,但需要在发送端加入独立的差分编码电路,并在接收端加入差分检测电路。也有一些方法不用单独加入差分编码电路,比如在接收端结合Viterbi译码过程来完成相位模糊值的估计,进而进行相位恢复。但这一过程算法复杂,比较耗时。
本文既研究了高速条件下8PSK信号的帧同步问题,同时又对其相位模糊值进行估计。主要依靠并行结构,对传统帧同步方法进行了简化和改进,从而同时完成上述两个任务。并且将该算法付诸FPGA实现,验证了算法的有效性。
1 传统帧同步器结构和同步检测算法
过去已经有很多帧同步技术的研究,其中最普遍的帧同步方法就是周期性地在一帧的起始处集中插入定长的帧同步码。这种结构通常是用计算接收符号序列与本地同步码序列相关的方法来检测帧同步。
对于一维信号,如BPSK调制信号,其相关运算通常可用简单的同或门来实现。将待检测比特流与本地同步码序列对应位进行同或,然后逐位相加。根据和的大小以及符号即可对帧同步以及相位模糊值进行检测。这种方法虽然简单,但无法适应如MPSK这样的二维信号的帧同步检测以及相位模糊值的估计,因此应用范围较窄。
2 实现相位模糊估计的帧同步检测算法
能够实现相位模糊估计的帧同步检测算法包含两部分:
(1)待检测数据与本地同步码进行相关运算;
(2)相关值与门限比较,根据比较结构给出相应的峰值脉冲及相位模糊值。
下面以8PSK信号为例对能够同时实现二维信号帧同步以及相位模糊估计的相关算法和判决方式进行详细介绍。
2.1 相关算法
由于8PSK信号是二维信号,所以待检测符号序列可用aiejφi-Ii+jQi,i=0,1,2,…,N-1表示。其中ai为第i个数据的幅度;φi为其相位;N为帧头码元长度;Ii,Qi分别表示其实部和虚部。可以用miejθi=i0i+jQ0i,i=0,1,2,…,N-1表示本地同步码序列,其中:mi为第i个同步码的幅度;θi为其相位;I0i,Q0i分别表示其实部和虚部。本文选取M序列作为同步码,并将0,1分别映射为8PSK中相对的0相位和4相位;然后进行8PSK调制。如果帧头部分码元发生错误(由0变为1,或者相反),其相位就会发生180°偏转,即由aiejφi变成了aiej(φi+π)。
待检测符号序列与本地同步码序列的相关值应该为:
得到式(1)的相关值后,一种比较直接的方法就是首先计算相关值的模,然后与门限进行比较来检测峰值存在与否,若检测出峰值,再由相关值的实虚部关系(arctan(*))估计相位模糊值。
但是上述方法计算相当复杂,FPGA资源消耗较大,并且不易并发地进行峰值检测和相位模糊值的估计。所以下面提出一种易于FPGA实现的简化的算法。
由于需要估计相位模糊值,式(1)中的相位信息不能省略。又因为8PSK信号是恒包络的,故mi为常量;在噪声影响下是近似恒包络的,故可近似认为ai为常量。所以式(1)可以简化为:
将式(2)中等号两边同除am可得本文简化后的相关算法如下:
对比式(1)和式(3)可知,后者相关值的计算仅与接收符号的相位以及本地同步码的相位有关,与前者相比,减少了一半的计算量,这给算法的FPGA实现带来了极大的方便。
假设接收数据的帧头部分与本地同步码完全对齐,但接收的帧头序列中有k个码元发生误码。此时有N-k个i所对应的φi-θi为常数,设为△θ,发生误码的k个i所对应的φi-θi则为△θ+π。此时,相关值可用式(4)表示:
式中:△θ为相位模糊值;k为0时表示帧头部分没有发生误码。由于在8PSK调制中,相位模糊值为π/4的整数倍,即(按逆时针方向计算),所以式(4)可写成如下形式:
2.2 门限判决方法
得出相关值之后,下面提出设置两个门限的方法,既可避免计算的复杂性,还可以并发地进行峰值脉冲的检测和相位模糊值的估计。
当接收数据的帧头部分与本地同步码完全对齐时,可对式(5)做如下讨论:
(1)若l=0,2,4,6,即相位模糊值为π/4的偶数倍,观察式(5)可知,此时相关值仅包含实部或虚部。故实部或虚部的绝对值(相关值的模)应该大于判决门限,设为threshold_0。
(2)若l=1,3,5,7,即相位模糊值为π/4的奇数倍,观察式(5)可知,此时相关值包含实部和虚部。实部和虚部的绝对值均约为相关值的模,所以它们的倍约为相关值的模,且都应该大于门限threshold_0。因此它们本身都应该大于
通过上述分析可知,相关检测问题实际上可以转化为相关值的实部和虚部与两个门限进行比较的问题。其判断逻辑如表1所示。
注:第二列为按照逆时针计算的相位模糊值。
式(3)表明,仅通过接收符号的相位以及本地同步码的相位即可计算出相关值的实部和虚部。
之后将实部和虚部分别与两个门限值做比较,然后根据表1的判决逻辑,即可直接检测出峰值脉冲与相位模糊值。
3 算法性能分析
帧同步系统应有较强的抗干扰能力,通常用漏同步概率、假同步概率来衡量其系统性能。本文的方法应用在320 MHz符号速率8PSK信号系统的帧同步和相位模糊值的估计上。其中,帧同步码长为58;帧全长为2 660个调制符号。并且要求在比特信噪比不低于6 dB的情况下,漏同步概率小于10-12;假同步概率小于10-12;同步概率大于0.95。
设p为码元错误概率,n为同步码组的码元数,m为判决器容许码组中的错误码元最大数,则漏同步概率为:
n为58,前后方保护系数为3,可计算概率理论值如下:
漏同步概率:
这是满足系统要求的。
用Matlab仿真测试结果如下:在各个偏移相位下比特信噪比从6~20 dB,在未做前后方保护的情况下做104次仿真。有假同步概率为0;同步概率为1;失步概率为0。这样加上系数为3的前后方保护后,相当于做1012次仿真。有假同步概率为0;同步概率为1;失步概率为0。由上可见,理论分析和仿真实验得到的性能均满足系统的要求。
4 实现相位模糊估计的高速帧同步器结构与FPGA实现
实际应用中符号速率为320 MSPS,8PSK调制信号的帧同步码长为58,帧长为2 660个调制符号。整个结构流程描述如下:
(1)首先将320 MHz的接收数据进行1:2串/并转换,将数据速率降低为160 MHz,得到Q0,Q1两路并行数据。这样保证了系统的主要功能模块是较低速实现的,而只有少量接口模块需要考虑高速问题。
(2)待检测数据的准备
首先缓存串/并转换前的57个数据,得到buf57。然后将该缓存数据与并行输出数据Q0,Q1进行组合来形成58个待检测数据。方法如下:
这样就产生了2组各58个并行数据,用于与本地同步码进行相关运算。
(3)将待检测数据送入相关检测器,使用简化的相关算法和两个门限的判决方法,可以得到峰值脉冲并估计出相位模糊值。
由于相关值的计算仅与接收符号和本地同步码的相位有关,所以在FPGA实现时,可以以相位为地址,精心设计RAM,直接查表得到三角值。之后用IPcore生成加法器,对三角值求和得到相关值的实部和虚部。将相关值的实部和虚部分别与设定的threshold_0,threshold_1进行比较,以比较结果为地址,根据表1的判决逻辑设计RAM初始值。这样就可根据比较结果直接查RAM得到峰值脉冲和相位模糊值。
(4)前后方保护
为了减少漏同步和假同步概率,需要进行前后方保护。将帧同步过程分为四种工作状态,即搜索态、后方保护态、同步态、前方保护态。设定前后方保护系数均为3,即连续检测到3次峰值脉冲时则判定为同步;连续3次未检测到峰值脉冲时才判定为失步。前后方保护的工作过程如图2所示。
(5)恢复相位
对接收符号相位进行适当延迟,以保持与检测出来的相位模糊值同步,然后用接收符号相位减去相位模糊值,即可将发送符号的相位恢复出来。
5 高速帧同步器的FPGA实现结果
选用Xilinx公司的ISE 9.2作为硬件开发平台,并采用VHDL编程语言实现本文所描述的高速帧同步器。其中,参数设定如下:同步码长为58;帧长为2 660;threshold_0为43.500 0;threshold_1为30.763 8。将生成的比特文件下载到Xilinx公司的Virtex-4芯片上,通过Chipscope得到的结果如图3所示。图中前两行表示串/并转换后的两组相位数据;第3行则为最后给出的同步脉冲信号;第4,5行表示恢复后的相位。
从图3可以看出,两个帧同步脉冲信号的距离约为1 330个码元符号,由于是两路并行结构,这恰好就是由串行数据一帧长度2 660得到的。
6 结 语
现以符号速率高达320 MSPS的8PSK调制信号为例,研究了能估计相位模糊值的高速帧同步问题。首先提出仅依靠接收符号和本地同步码来快速确定二维调制符号的帧同步,并同时估计相位模糊值的计算方法。这种方法仅利用符号的相位信息,相对于一般方法减少了一半计算量。给出能够适应高速数传系统的并行结构,并且通过FPGA实现验证了算法的有效性。通过对并行结构以及算法相关参数适当修改,即可对不同速率、不同信噪比的系统有一定的适应性,还可方便地推广应用于其他MPSK调制信号。