基于64QAM的载波同步和定时同步性能仿真,包括Costas环和gardner环

简介: 本内容展示了基于MATLAB 2022a的算法仿真效果,包括载波同步与位同步的实现过程。通过Costas环完成载波恢复,Gardner算法实现位同步,二者在64QAM通信系统中相互关联。核心代码详细实现了PLL鉴相器、环路滤波器及NCO功能,并通过星座图对比展示同步前后的效果。附带的操作视频便于理解仿真步骤,理论部分深入解析了相干解调中载波同步与位同步的关键原理及其在数字通信中的应用。

1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):

1.jpeg
2.jpeg
3.jpeg
4.jpeg
5.jpeg

仿真操作步骤可参考程序配套的操作视频。

2.算法涉及理论知识概要
载波同步是相干解调的基础,不管对于模拟通信还是数字通信来说,只要是相干解调,接收端都必须提供同频同相的载波。当然,若采用基带传输,此时便没有载波同步的问题,因为没有频带调制,即没有乘以载波进行频谱搬移的过程。

  位同步,也叫符号同步、定时同步、码元同步,只有数字通信才需要,数字通信中不管是基带传输还是频带传输都需要。这是因为数字通信中,是用波形中的几个采样点去代替一个符号,在接收端只需要对这些采样点中的一个进行判决,便可以恢复出这个符号。

   Costas环(Costas Loop)用在抑制载波调制信号(比如双边带抑制载波调制)和相位调制信号(BPSK、QPSK)的相干解调中的载波恢复(carrier frequency recovery)上。Costas环的主要应用是在无线通信接收机中。与基于PLL的检波器相比,它的优势在于,在相位差比较小的情况下,Costas环输出的误差电压为 sin(2(θi−θf)) ,而基于PLL的检波器输出的误差电压为 sin(θi−θf) ,这不仅使灵敏度提高了一倍,而且使Costas环路特别适合跟踪载波的多普勒频移,特别是在OFDM和GPS接收机中。

    Gardner定时误差算法通常用在BPSK、QPSK信号,通过改进可以应用在QAM等多进制基带信号中。Gardner定时误差算法,该算法的一个特点是每个符号只需要使用两个采样点,一个是strobe点,即最佳观察点,另外一个是midstrobe点,即两个观察点之间的采样点。Gardener环中的数控振荡器与锁相环路中的NCO功能完全不同,这里的NCO作用是产生时钟,即确定内插基点mk,同时完成分数间隔uk的计算,以提供给内插器进行内插。

位同步环路中的数控振荡器(NCO)是一个相位递减器,它的差分方程为:

    η(m+1)=[η(m)-ω(m)]mod1

   式中,η(m)是第m个工作时钟NCO寄存器的内容,ω(m)为NCO的控制字,两者都是正小数。NCO的工作周期是T s(采样周期),内插器的周期为T i,ω(m)由环路滤波器进行调节,使NCO在最佳采样时刻溢出。当环路达到平衡时,ω(m)近似是个常数,此时平均每隔1/ω(m)个采样周期,NCO就溢出一次。

   在实际的 64QAM 通信系统中,载波同步和位同步是相互关联的。一般先进行载波同步,再位同步。在实现过程中,需要合理设置 Costas 环和 Gardner 环的参数,如环路带宽、增益等。

3.MATLAB核心程序
``` I_PLL=I_RRC_S(delaynsamp-nsamp/2+mulnsamp+2+k); %鉴相器的I路输入信息数据
Q_PLL=Q_RRC_S(delaynsamp-nsamp/2+mulnsamp+2+k); %鉴相器的Q路输入信息数据
dataoutI((i-1)nsamp+k) = I_PLL;%用来查看鉴相器的I路输入信息数据
dataoutQ((i-1)
nsamp+k) = Q_PLL;
%鉴相器处理
Discriminator_Out = (sign(I_PLL)Q_PLL-sign(Q_PLL)I_PLL)/sqrt(2);
dd((i-1)nsamp+k) = Discriminator_Out;%用来查看鉴相器的输出
%环路滤波器处理
PLL_Phase_Part((i-1)
nsamp+k) = Discriminator_Out C1;
Freq_Control((i-1)
nsamp+k) = PLL_Phase_Part((i-1)nsamp+k)+PLL_Freq_Part((i-1)nsamp+k-1);
PLL_Freq_Part((i-1)nsamp+k) = Discriminator_Out C2 + PLL_Freq_Part((i-1)nsamp+k-1);
NCO_Phase = NCO_Phase + Freq_Control((i-1)
nsamp+k); %生成的相位
WC_frame((i-1)nsamp+k) = FC_NCO + PLL_Freq_Part((i-1)nsamp+k) * Freq_Sample;

............................................................................
%系统最后输出数据与原始数据比对
figure;
stem(I_Data(6:end-6));hold on;
stem(qoutI(2:end),'r');
grid on;

figure;
stem(Q_Data(6:end-6));hold on;
stem(qoutQ(2:end),'r');
grid on;

figure;
subplot(131);
plot(I_Data,Q_Data,'b');title('16QAM星座图');
subplot(132);
plot(real(AMP(3000:end)),imag(AMP(3000:end)),'b
');title('16QAM带频偏时偏的星座图');
subplot(133);
plot(qoutI(3000:end),qoutQ(3000:end),'b*');title('16QAM同步后星座图');
```

相关文章
|
7月前
|
算法 数据安全/隐私保护
基于SC-FDE单载波频域均衡MQAM通信链路matlab仿真,包括帧同步,定时同步,载波同步,MMSE信道估计等
本内容主要介绍基于MATLAB的SC-FDE单载波频域均衡通信链路设计与实现,包括UW序列设计、QAM调制、帧同步、定时同步、载波同步、SNR估计和MMSE信道估计等关键环节。通过仿真(MATLAB 2022a),验证了系统的可行性和性能。核心程序展示了不同QAM调制方式(如256QAM)及同步算法的具体实现,并通过绘图展示帧同步、定时同步和频偏补偿效果。此研究为优化通信系统性能提供了理论与实践基础。
155 0
|
6月前
|
算法 数据安全/隐私保护
基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环
本内容主要介绍了基于MATLAB的算法仿真及其涉及的理论知识。通过Matlab2022a仿真,展示了载波同步与位同步在通信系统中的实现效果,并提供无水印的完整代码运行结果。理论部分详细阐述了载波同步、位同步的概念,以及Costas环和Gardner定时误差算法的应用原理。核心程序包括鉴相器、环路滤波器处理及NCO相位生成等关键步骤,最终通过星座图对比验证了16QAM信号同步前后的性能改善。
198 30
|
Ubuntu Linux RDMA
beegfs客户端编译以支持RDMA
beegfs客户端有些时候需要针对ofed版本进行单独的编译
676 0
|
算法 异构计算
m基于FPGA的gardner环定时同步实现,含testbench测试程序
m基于FPGA的gardner环定时同步实现,含testbench测试程序
478 0
|
8月前
|
机器学习/深度学习 搜索推荐 异构计算
LLM模型添加自定义Token代码示例:为Llama 3.2模型添加思考与回答标记
本文将介绍如何为大型语言模型(LLM)添加自定义token并进行训练,使模型能够有效地利用这些新增token。以Llama 3.2模型为基础,实现了类似DeepSeek R1中think和answer标记功能的扩展方法,通过监督微调使模型学习使用这些标记进行推理过程与答案输出的区分
450 0
LLM模型添加自定义Token代码示例:为Llama 3.2模型添加思考与回答标记
|
5月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2FSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现FSK调制解调系统仿真,包含FSK调制/解调模块、AWGN信道模块、误码统计模块及帧同步模块等。通过设置SNR(如10dB、20dB)验证系统性能,并展示FSK调制解调过程。理论部分介绍频移键控(FSK)原理,包括相位连续与不连续特性、功率谱密度特点及其解调方法。Verilog核心程序实现调制、加噪、解调和误码计算功能,为数字通信系统设计提供参考。
145 35
|
4月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
本作品基于FPGA实现了BPSK调制解调通信系统与Costas环载波同步,使用Verilog语言完成设计并提供Testbench验证。相比之前版本,优化了环路滤波器以使Costas环收敛曲线接近理论值,并新增AWGN信道模块,支持调整SNR分析噪声对锁定性能的影响。通过Vivado2019.2仿真验证,结果准确无误。核心程序包含信号调制、加性高斯白噪声生成及解调部分,适用于学习载波同步与BPSK通信原理。Costas环结构包括本地振荡器、相位解调器、环路滤波器等组件,用于估计和追踪接收信号的相位偏移,实现精确解调。
94 4
|
4月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现2FSK+帧同步系统,采用Verilog开发,包含Testbench、高斯信道、误码统计及可设置SNR功能。硬件版本新增ILA在线数据采集与VIO在线SNR设置模块,验证调制解调过程。理论部分介绍FSK调制解调原理、功率谱特性及帧同步机制,代码实现FSK信号生成与处理,适合数字通信学习与实践。
126 1
|
10月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的信号发生器verilog实现,可以输出方波,脉冲波,m序列以及正弦波,可调整输出信号频率
本项目基于Vivado2019.2实现信号发生器,可输出方波、脉冲波、m随机序列和正弦波。完整程序无水印,含详细中文注释与操作视频。FPGA技术使信号发生器精度高、稳定性强、功能多样,适用于电子工程、通信等领域。方波、脉冲波、m序列及正弦波的生成原理分别介绍,代码核心部分展示。
|
4月前
|
机器学习/深度学习 算法 数据可视化
基于Qlearning强化学习的机器人迷宫路线搜索算法matlab仿真
本内容展示了基于Q-learning算法的机器人迷宫路径搜索仿真及其实现过程。通过Matlab2022a进行仿真,结果以图形形式呈现,无水印(附图1-4)。算法理论部分介绍了Q-learning的核心概念,包括智能体、环境、状态、动作和奖励,以及Q表的构建与更新方法。具体实现中,将迷宫抽象为二维网格世界,定义起点和终点,利用Q-learning训练机器人找到最优路径。核心程序代码实现了多轮训练、累计奖励值与Q值的可视化,并展示了机器人从起点到终点的路径规划过程。
126 0