欢迎订阅FPGA/MATLAB/Simulink系列教程
目录
在本课程中,我们以QPSK信号为例进行学习。在QPSK发射端,对基带数据加入PN序列,和数据组成帧结构,然后通过成型滤波得到QPSK映射数据。接收端则对QPSK信号进行解调,然后对恢复的基带数据做PN伪码匹配滤波得到相关峰,最后对相关峰进行峰值检测,从而完成帧同步。本小节,我们就帧同步的具体原理和FPGA设计构架做一个整体学习。
1.QPSK信号的调制原理
QPSK 是一种相位调制方式,它将输入的二进制数据映射为四种不同的相位。设输入的二进制数据序列为b(n)。每两个比特为一组,共有四种组合,分(00,01,10,11)
2.突发通信
突发通信是一种非连续的通信方式,信号在短时间内以突发的形式出现。与传统的连续通信相比,突发通信在时间上具有间歇性。它通常用于一些信道资源有限或者需要高效利用信道的场景,例如卫星通信中的时分多址(TDMA)系统、无线传感器网络等。
在基于帧结构的突发通信中,数据是以帧为单位进行组织和传输的。帧是一种结构化的数据单元,它包含了多个字段,如同步字段、数据字段、控制字段和校验字段等。同步字段用于接收端进行帧同步,确保正确地接收每一个帧;数据字段承载了要传输的实际信息;控制字段可以包含一些用于链路控制的信息,如帧的类型、优先级等;校验字段用于检测传输过程中可能出现的错误。
在本课程中,我们将以基于帧结构的突发通信为设计对象,设计其帧同步。
3.PN序列
PN 序列是一种具有类似随机序列统计特性的确定序列。它通常由线性反馈移位寄存器(LFSR)生成。一个长度为N的 PN 序列 {p(n)},其中p=0,1,2,...N-1,满足一定的递归关系。
PN 序列的一个重要特性是其自相关性。自相关函数定义为:
4.基于PN序列相关峰检测的帧同步算法
在帧同步系统中,通常在帧的开头插入一个已知的 PN 序列作为同步头。设发送的帧结构为:
【PN1,DATA】
如上所示,数据前半部分是PN序列,后半部分是DATA数据序列。
当然在实际中,也可以多个PN序列构成同步头:
【PN1,PN2,PN3,PN4,DATA】
其帧同步的流程如下:
步骤一:PN相关
在接收端使用本地生成的与发送端相同的 PN 序列p{n}进行相关运算。则:
步骤二:峰值搜索
定义一个判决门限T,当峰值大于T时,判定为可能的帧同步位置。通常,T的选择要考虑噪声的统计特性和系统的误同步概率。
PN序列长度与帧同步性能
随着PN序列长度L的增加,其自相关峰值更加尖锐,抗干扰能力增强。这表明,当信道环境噪声较大时,系统也可以检测到帧头信息。但延迟退休,过长的帧头,也会导致系统的传输效率下降。因此在后续的课程中,我们也将结合MATLAB讨论帧头的计算步骤。
5. 基于PN序列的帧同步系统FPGA实现整体构架
本系统,整体设计构架如下:
针对这个结构,我们将要学习的帧同步工作步骤和内容如下:
1.通过MATLAB分析不同的PN序列长度的自相关性能,从而选择一个合适的PN长度;
2.FPGA发射端,对数据帧插入PN序列
3.QPSK调制
4.QPSK解调(本课题不考虑频偏等因素)
5.和本地PN序列做相关运算得到相关峰
6.相关峰峰值搜索
7.帧头提取,数据提取
8.帧同步整体性能测试和评估
6.参考文献
[1]陈惠珍,包天珍.一种基于FPGA的帧同步提取方法的研究[J].电子技术应用, 2003, 29(10):3.DOI:CNKI:SUN:DZJY.0.2003-10-024.
[2]李玮.基于CCSDS标准的帧同步算法研究及其FPGA实现[D].西南交通大学,2010.DOI:CNKI:CDMD:2.2009.217565.