您现在的位置:首页 >> 通信 >> 内容

m基于16QAM调制的音频信号同步接收器matlab仿真,包括gardner符号同步,载波同步以及C

时间:2023/9/12 2:48:15 点击:

  核心提示:0X_027m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJ6Vkphx

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

       基于16QAM(Quadrature Amplitude Modulation)调制的音频信号同步接收器是一个复杂但高效的通信系统。该系统主要涉及三个关键部分:Gardner符号同步、载波同步以及CMA(Constant Modulus Algorithm)均衡。

4.部分源码

........................................................................

%gardner算法开始

%gardner算法开始

len=length(out);

K=4;     %每 个符号采4个样点

Ns=len;  %总的采样点数

N=floor(Ns/K);%符号数

i=4;    %用来表示Ts的时间序号,指示n,n_temp,nco,

k=1;    %用来表示Ti时间序号,指示u,yI,yQ

ms=1;   %用来指示T的时间序号,用来指示a,b以及w

strobe=zeros(1,Ns);

 

c1=0.0267;   

c2=0.00035556;  %环路滤波器系数

%%%%% 仿真输入测试的PSK基带数据 %%%

aI=real(out);

aQ=imag(out);

 

ik=[];

qk=[];

ns=length(aI)-2;

length(aI);

 

tic;

while(i<ns)

    n_temp(i+1)=n(i)-w(ms);

    if(n_temp(i+1)>0)

        n(i+1)=n_temp(i+1);

    else

        n(i+1)=mod(n_temp(i+1),1);

        %内插滤波器模块

        FI1=0.5*aI(i+2-2)-0.5*aI(i+1-2)-0.5*aI(i-2)+0.5*aI(i-1-2);

        FI2=1.5*aI(i+1-2)-0.5*aI(i+2-2)-0.5*aI(i-2)-0.5*aI(i-1-2);

        FI3=aI(i-2);

        

.....................................................................

        end

        k=k+1;

        u(k)=n(i)/w(ms);

    end

    i=i+1;

end

 

toc;

 

 

 

 

figure;

t=0:length(u)-1;

T=1/2400;

subplot(311);

plot(t*T,u);

xlabel('运算点数');

ylabel('分数间隔');

 

t=0:length(time_error)-1;

T=1/2400;

subplot(312);

plot(t*T,time_error);

xlabel('运算点数');

ylabel('定时误差');

t=0:length(w)-1;

T=1/2400;

subplot(313);

t=0:length(ik)-1;

T=1/1200;

plot(t*T,ik);title('最终的基带数据I');

 

len=length(ik);

symbolall=ik-1i*qk;

sym=zeros(1,len);

 

ik=[0,ik];

 

basebandSignal=symbolall';

 

%%

%载波同步

 

tic;

T=1/FS;

Yo = [];

%给锁相环一个初始相位

Phase0 = pi/4;

for frame=1:nf 

    x        = basebandSignal(frame)*exp(sqrt(-1)*(phase*frame*T+Phase0));  %phase是反馈的调整变量,用来调整输入信号的载波频率来调整跟踪频率

    %将数据转换到基带

......................................................................

    Yo(frame)= dfrq;

end

%均衡器

OUT4 = CMA(OUT3);

OUT4 = OUT4;

toc;

LENS = 1000;%simulink设置的是1000.这里也1000.

axis([-0.5,0.5,-0.5,0.5]);

 subplot(133);

plot(real(OUT4(LENS*(i-1)+1:LENS*i)),imag(OUT4(LENS*(i-1)+1:LENS*i)),'r.');title('CMA均衡基带数据星座图');

axis([-0.5,0.5,-0.5,0.5]);

pause(0.1);

end

y=OUT4; 

T=1/2400;

Tx_real=y;

 

Tx_real=Tx_real';

t=t(1:length(Tx_real))*T;

data=[t' Tx_real];

ts2= timeseries;

ts2.Time=t';

ts2.Data=Tx_real;

save('data2.mat','-v7.3','ts2');

0X_027m

---

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168