m基于gardner环的定时同步matlab仿真,采用四倍采样,QPSK调制进行测试

简介: m基于gardner环的定时同步matlab仿真,采用四倍采样,QPSK调制进行测试

1.算法仿真效果
matlab2022a仿真结果如下:

938a9bde7a30e7c32ec6f4d3bdf8c1f6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

对比不同时偏,不同SNR下gardner环的定时调整参数uk变化仿真结果图:

1ab837c2f237a92028424592dabba867_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

2.算法涉及理论知识概要
位同步,也叫符号同步、定时同步、码元同步,只有数字通信才需要,数字通信中不管是基带传输还是频带传输都需要。

   这是因为数字通信中,是用波形中的几个采样点去代替一个符号,在接收端只需要对这些采样点中的一个进行判决,便可以恢复出这个符号。

   实际通信中,由于信道的传输时延,接收两端的时钟偏移,接收端无法找到符号的最佳时刻来对其进行采样判决,这便使得接收端恢复出的数据与发送端的数据有误差。

   接收端若想在最佳采样时刻恢复发送端的数据,便要使得接收时钟与发送时钟同步,因此接收端要采取措施来调整接收端的采样时钟,这个同步的过程便定义为位同步。

   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就溢出一次,所以

30d90b26ec1877bbd1031f6c66e35e04_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

gardner环内部结构如下所示:

52bca6b84e1d4300898d64da726da9fc_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

errs        = [2e-4,0.5e-4,0.2e-4];     
SNR_DBs     = [1,10,20];
idx         = 0;



for i1 = 1:length(errs)
for i2 = 1:length(SNR_DBs)
err         = errs(i1); 
SNR_DB      = SNR_DBs(i2);
idx         = idx+1;
sl          = 3000;           

 ............................................................
I_D  = awgn(I_D,SNR_DB,'measured');  %接受端的信号,加载指定的snr
Q_D  = awgn(Q_D,SNR_DB,'measured');  %接受端的信号,加载指定的snr
.........................................................................
 %gardner环
 for i = 2 : interplen - 1
     for k = 1 : nsamp
          %nco控制模块
          y_temp = q0 - w;
          q(m) = q0;
          if y_temp > 0
              q0 = y_temp;
          else 
              q0 = mod(y_temp,1);
              mk = m;
              uk = s0 * q(m);
              uu(j) = uk;
              %内插器I
              data1 = datarcosI(mk);
              data2 = datarcosI(mk + 1);
              interp_outI(j) = uk * data2 + (1 - uk) * data1;
              %内插抽取模块
.............................................................
          end
          m  = m + 1;
     end
      %误差检测         
................................................
      %环路滤波
..........................................................
 end

%gardner环性能
figure(1);
subplot(3,3,idx)
plot(uu,'b');
grid on; 
title(['SNR=',num2str(SNR_DB),'  时偏:',num2str(err)]);

end
end
%系统最后输出数据与原始数据比对
figure;
subplot(311);
stem(I_Data(6:end-6));
grid on;
xlim([5000,5100]);
legend('原始信号');

subplot(312);
stem(I_D(4:nsamp:end));
grid on;
xlim([5000,5100]);
legend('定时同步前基带信号');

subplot(313);
stem(qoutI(2:end));
grid on;
xlim([5000,5100]);
legend('gardner环输出基带信号');
相关文章
|
1月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
169 0
|
1月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
1月前
|
编解码 算法 数据可视化
MATLAB 实现同步压缩小波变换
MATLAB 实现同步压缩小波变换
166 3
|
1月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
1月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
2月前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
185 0
|
1月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
202 0
|
1月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
108 0
|
1月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
1月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
104 0

热门文章

最新文章