【MATLAB源码-第400期】基于matlab的QPSK通信系统定时同步仿真,采用Gardner与早迟门算法并输出误码率曲线,星座图等指标.
操作环境:
MATLAB 2024a
1、算法描述
摘要
定时同步是数字通信接收机中的基础环节,其主要任务是在接收信号中准确恢复最佳符号判决时刻。若抽样时刻偏离最佳位置,即便载波同步正确、信道噪声不强,系统仍可能因码间串扰增强和符号幅相畸变而出现较高误码率。对于采用脉冲成形和匹配滤波的QPSK系统而言,符号定时恢复直接决定接收端是否能够在眼图张开最大的时刻完成采样,因此具有重要研究意义。本文基于MATLAB构建了一套完整的QPSK定时同步仿真系统,在发送端采用QPSK调制与根升余弦脉冲成形,在信道中显式加入分数间隔定时偏差以及加性高斯白噪声,在接收端通过匹配滤波获得过采样信号后,分别采用非同步固定采样、早迟门算法和Gardner算法完成定时恢复,并对三种情况下的系统误码性能进行比较。为保证结果真实可靠,本文采用逐帧、逐比特累加方式计算误码率,不使用人为设定的误码曲线。仿真结果表明,在存在定时偏差时,若仅按固定相位采样,接收星座扩散明显,误码率较高;引入早迟门和Gardner定时同步后,系统能够逐步逼近最佳抽样位置,显著改善星座聚类和BER性能,其中Gardner算法在实际脉冲成形条件下具有较好的鲁棒性。本文的研究对理解数字接收机中的定时恢复原理及其工程实现具有较强参考价值。
关键词
QPSK;定时同步;Gardner算法;早迟门;误码率;MATLAB仿真
1 引言
在数字通信系统中,接收端不仅要知道信号的载波参考,还必须知道每一个符号应在何时进行采样。理想情况下,接收机应在眼图最张开的时刻进行抽样,此时码间串扰最小、判决最可靠。然而在实际系统中,由于发射端和接收端时钟不一致、传输链路存在延迟变化、成形滤波器引入扩展以及采样时钟误差等原因,接收端很难天然对准最佳判决时刻。若定时恢复不准确,采样点就会偏离最优位置,使接收符号振幅和相位发生变化,最终导致误码率增加。
与载波同步类似,定时同步也是接收机中极为关键的基础模块。特别是在采用升余弦类脉冲成形的数字系统中,定时误差的影响非常突出。理论上,匹配滤波后的波形在理想抽样时刻应充分体现当前符号能量,而邻近符号影响被抑制;但一旦采样过早或过晚,当前符号幅度会减弱,前后符号的干扰成分则会增强,星座点不再稳定地落在理想位置。由此可见,定时同步的好坏直接决定了解调器输入质量,也对后续译码和误码性能产生决定性影响。
在众多定时同步算法中,早迟门算法和Gardner算法是两类具有代表性的经典方法。前者思路直观,通过比较提前采样点和滞后采样点的能量差来调整抽样时刻;后者则基于中间点和相邻符号之间的关系构造误差信号,具有不依赖已知训练序列、适用于多种线性调制系统等优点。本文以QPSK系统为研究对象,在MATLAB中构建带有真实分数间隔定时偏差的仿真链路,对固定采样、早迟门和Gardner三种方式的性能进行对比分析,并用真实BER统计结果评价算法效果。
2 系统模型与总体设计
本文所设计的系统仍采用QPSK为调制方式。发送端首先构造完整的帧结构,其中包含前导段、有效数据段和尾部保护段。前导段的作用主要是为定时环路提供收敛过程,使得接收机在进入有效数据区之前已基本调整到合适的抽样相位;有效数据段用于最终误码统计;尾部保护段则用于防止环路末端状态突变对统计结果造成影响。这样的设计与实际工程思路是一致的,即把同步过程和业务数据处理分开考虑,从而更客观地评价定时恢复算法本身。
在发送端,比特流经QPSK映射后形成复数符号序列,再通过上采样与根升余弦滤波完成脉冲成形。采用根升余弦滤波的原因在于它能够兼顾带宽限制和码间串扰抑制,是现代数字通信中最常见的成形方式之一。经过该滤波器后,每个符号会在多个采样点上展开,因此系统天然具备了过采样表示形式,也为后续定时恢复提供了插值和相位调整空间。
为了真正构造“定时同步问题”,本文在信道部分显式加入了分数间隔定时偏差,而不是仅在理想条件下对算法形式进行演示。程序中通过分数延时滤波的方法将发射波形整体平移若干采样点,其中偏移量不是整数,而是具有实际意义的分数间隔值。这样处理后,接收机若仍以固定采样相位直接抽样,就无法命中最佳判决位置,因而能够真实暴露出定时误差带来的性能损失。
接收端首先进行匹配滤波,以强化有用信号并抑制噪声。随后,从滤波后的过采样信号中截取掉大部分固定群时延,同时保留适当前后保护样点,供定时恢复中的插值运算使用。在此基础上,系统分别构造三条处理路径。第一条是不进行定时同步,直接以固定采样间隔抽样;第二条采用早迟门算法自适应调整采样时刻;第三条采用Gardner算法进行非数据辅助定时恢复。三种输出均在统一帧位置上完成QPSK判决,并采用真实比特统计方式计算误码率。
3 定时同步关键技术
定时同步的本质是寻找最佳抽样时刻,并在接收过程中持续跟踪这一时刻的变化。由于实际接收信号通常以过采样形式存在,因此接收机并不一定只能在整数采样点处取值,而是可以借助插值机制在任意分数时刻上估计信号值。也正因为如此,现代定时恢复算法往往不是简单地“选择一个采样点”,而是通过误差检测器、环路滤波器和数控振荡器共同构成闭环,不断修正抽样位置。
早迟门算法是一种较为经典的定时恢复方法。它在当前抽样时刻附近同时取提前一点和滞后一点的两个样值,再比较二者的能量差。若滞后样点能量更大,则说明当前抽样偏早,需要向后调整;反之若提前样点能量更大,则说明当前抽样偏晚,需要向前修正。这种方法物理意义清晰,易于实现,适合说明定时误差与能量分布之间的关系。但其性能与脉冲波形形状、噪声水平以及提前滞后间隔设置密切相关,在某些情况下对噪声较敏感。
Gardner算法则是数字通信中应用非常广泛的一类非数据辅助定时误差检测方法。它利用相邻符号及其中间时刻样值之间的关系构造误差信号,不需要已知训练序列,尤其适合线性调制系统。对匹配滤波后的信号而言,如果当前采样时刻偏离最佳位置,那么中间点样值与前后两个符号之间会呈现出特定的不对称关系,Gardner算法正是利用这种不对称性来调整抽样相位。相较于一些依赖导频或判决结果的算法,Gardner在中等以上信噪比下通常具有较好的稳健性。
在本文的MATLAB实现中,早迟门和Gardner都不是停留在理论公式层面的“伪实现”,而是完整嵌入到插值与闭环更新过程中。系统通过复数插值函数在当前估计时刻、中间时刻以及提前滞后位置上获取样值,然后利用误差检测器产生定时误差信号,再用比例与积分更新方式调节抽样步长和绝对位置。这一过程可以理解为定时域上的锁相思想,即通过连续观测误差并不断修正本地时钟,使系统最终在最佳判决时刻附近稳定工作。
4 MATLAB仿真实现过程
本文的MATLAB程序在每个信噪比点上采用多帧蒙特卡洛统计方式运行。对于每一帧,首先重新生成随机有效比特,并与固定前导和尾部保护段拼接形成完整数据帧。随后进行QPSK映射、上采样和根升余弦成形,使原本离散的符号序列扩展为连续时间近似波形。在通过分数延时模块后,发射波形整体发生非整数采样点偏移,形成真实的定时失配场景。最后叠加高斯白噪声,得到接收端输入。
接收端经过匹配滤波后,并不立即在固定位置粗暴抽样,而是先保留一定前后裕量,以便后续算法能够访问邻近样点进行插值。对于未同步支路,程序采用固定采样相位按每符号固定间隔取样,这相当于一个没有定时恢复能力的接收机。对于早迟门和Gardner支路,程序则逐符号执行循环,在每次输出一个符号前动态更新当前采样时刻。由于采样时刻通常不是整数索引,因此程序采用插值方法估计复数样值,这一点对于实现分数间隔定时恢复非常关键。
在误码率统计上,本文同样强调真实性。每条支路在恢复出完整符号序列后,仅截取有效数据段进行判决,再与发送端原始数据比特一一比较。程序在所有帧上累加比特错误总数,并除以总传输比特数,得到最终BER。这样的统计方式能够真实反映同步算法对于最终接收性能的影响,而不会被前导段或保护段掩盖,也不会因为单帧样本太少而出现过强波动。
除BER曲线外,程序还会缓存一个代表性信噪比点下的单帧结果,用于展示发射波形、匹配滤波后波形、未同步星座图、早迟门同步后星座图、Gardner同步后星座图以及对应的定时误差曲线。这些图形能够从直观角度展示算法如何把一个偏离最佳抽样时刻的系统逐步拉回到稳定状态,也便于分析不同算法的收敛速度和残余抖动情况。
5 仿真结果与分析
在加入分数间隔定时偏差后,如果接收端仍采用固定采样相位直接抽样,得到的接收符号往往不能稳定落在QPSK理想星座点附近。原因在于采样位置已经偏离眼图张开最大的时刻,导致当前符号能量被削弱,而相邻符号的尾部影响被放大。通过星座图可以观察到,这种情况下点云不仅扩散更明显,而且会呈现一定的不规则偏移。随着噪声叠加,系统误码率会显著上升,说明单纯依赖固定抽样无法满足实际接收需求。
采用早迟门算法后,系统能够根据提前样点和滞后样点之间的能量差自适应调整采样时刻。仿真中可以看到,早迟门同步后的星座图较未同步情况明显收敛,说明抽样位置已经逐步向最佳时刻靠拢。其定时误差曲线通常会经历一个由较大偏差向较小波动范围收敛的过程,这反映了闭环结构正在发挥作用。由于早迟门算法实现简单、物理含义明确,因此非常适合作为定时同步的基础研究方法。
采用Gardner算法后,系统的恢复效果通常进一步改善。由于Gardner误差检测器利用的是中间采样点与前后符号之间的关系,因此它在匹配滤波成形条件下往往能够更准确地反映定时偏差方向。仿真结果中,Gardner同步后的星座点一般更紧凑,BER曲线也更接近理论QPSK曲线。这说明对于本文所设计的脉冲成形QPSK系统,Gardner算法在定时跟踪方面具有较好的适应性和鲁棒性。
需要指出的是,定时同步算法的性能不仅取决于误差检测器本身,也与前导长度、插值精度、环路参数和噪声水平密切相关。若环路参数设置过于激进,则抽样时刻可能在最佳位置附近来回摆动,导致残余抖动增大;若参数过于保守,则收敛速度较慢,前导段不够长时可能来不及稳定便进入有效数据区。因此,在工程应用中,定时同步往往不是简单“选择某一种算法”就能解决,而是需要围绕系统条件进行整体优化。本文程序通过合理设置前导段和环路参数,使得早迟门与Gardner都能在统一框架下获得可比较的结果。
从BER曲线总体趋势来看,未同步曲线始终明显劣于两种定时同步算法,说明真实分数定时偏差对系统性能影响很大;而早迟门和Gardner都能有效降低误码率,其中Gardner通常表现更优。这一结果与经典数字通信理论是一致的,也说明本文MATLAB实现能够较真实地复现定时恢复在QPSK系统中的作用机理。
6 结论
本文基于MATLAB构建了一套完整的QPSK定时同步仿真系统,重点研究了早迟门算法和Gardner算法在存在分数间隔定时偏差条件下的恢复性能。系统采用QPSK调制、根升余弦成形、匹配滤波和过采样处理,在信道中显式加入分数定时偏差和高斯白噪声,在接收端通过插值、误差检测和闭环更新完成定时恢复,并以逐帧逐比特方式获得真实BER结果。
研究结果表明,定时偏差会显著破坏QPSK系统的判决质量,仅依赖固定采样相位难以得到稳定可靠的接收结果;引入早迟门和Gardner定时同步后,系统能够逐步逼近最佳抽样位置,从而改善星座图形态并降低误码率。其中,Gardner算法在本文所构建的脉冲成形QPSK系统中表现出更好的稳健性,说明其在非数据辅助定时恢复方面具有较高工程应用价值。本文的研究不仅适合作为毕业设计或课程设计中的同步算法专题,也可进一步扩展到载波同步与定时同步联合设计、多径衰落信道、码间串扰增强场景等更复杂问题,为后续深入研究提供基础。
2、仿真结果演示





3、关键代码展示
略
当下时代学习怎么用AI是每个人已经之路,给大家推荐几本书:学习AI相关使用技巧!!! 抓住时代红利!!!
4、MATLAB 源码获取
途径一:点击文章中蓝色字体阅读原文

途径二:复制以下网址到浏览器中打开麦完单品
https://www.maiwan8.com/#/dynamicDetail/0/f50eddb01472a46547bc2fb294d35df9/index?yqm=5FCPU
途径三:复制网址打开麦完店铺搜索该篇文章标题即可
https://www.maiwan8.com/#/packageA/userDynamicCenter/userDynamicCenter?user_id=1261511
途径四:如果以上方式均失效请通过QQ,邮箱或者微信公众号联系我
(点击上方↑↑↑↑↑蓝色字体跳转)
夜雨聆风