【教程4>第5章>第2节】基于PN序列的帧同步系统理论概述和FPGA设计构架

 欢迎订阅FPGA/MATLAB/Simulink系列教程

《★教程1:matlab入门100例》

《★教程2:fpga入门100例》

《★教程3:simulink入门60例》

《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》

目录

1.QPSK信号的调制原理

2.突发通信

3.PN序列

4.基于PN序列相关峰检测的帧同步算法

5. 基于PN序列的帧同步系统FPGA实现整体构架

6.参考文献


       在本课程中,我们以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.

内容概要:本文详细介绍了如何利用Simulink进行自动代码生成,在STM32平台上实现带57次谐波抑制功能的霍尔场定向控制(FOC)。首先,文讲解了所需的软件环境准备,包括MATLAB/Simulink及其硬件支持包的安装。接着,阐述了构建永磁同步电机(PMSM)霍尔FOC控制模型的具体步骤,涵盖电机模型、坐标变换模块(如ClarkPark变换)、PI调器、SVPWM模块以及用于抑制特定谐波的陷波器的设计。随后,描述了硬件目标配置、代码生成过程中的注意事项,以及生成后的C代码结构。此外,还讨论了霍尔传感器的位置估算、谐波补偿器的实现细、ADC配置技巧、PWM死区时间换相逻辑的优化。最后,分享了一些实用的工程集成经验,并推荐了几篇有助于深入了解相关技术优化控制效果的研究论文。 适合人群:从事电机控制系统开发的技术人员,尤其是那些希望掌握基于Simulink的自动代码生成技术,以提高开发效率控制精度的专业人士。 使用场景及目标:适用于需要精确控制永磁同步电机的应用场合,特别是在面对高次谐波干扰导致的电流波形失真问题时。通过采用文中提供的解决方案,可以显著改善系统的稳定性性能,降低噪声水平,提升用户体验。 其他说明:文中不仅提供了详细的理论解释技术指导,还包括了许多实践经验教训,如霍尔传感器处理、谐波抑制策略的选择、代码生成配置等方面的实际案例。这对于初学者来说是非常宝贵的参考资料。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值