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

16QAM调制解调系统相位盲估计matlab仿真

时间:2023/2/18 18:21:30 点击:

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

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

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

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

点击店铺

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

2.部分仿真图预览




3.算法概述

16QAM是指包含16种符号的QAM调制方式。

       16QAM 是用两路独立的正交 4ASK 信号叠加而成,4ASK 是用多电平信号去键控载波而得到的信号。它是 2ASK 调制的推广,和 2ASK 相比,这种调制的优点在于信息传输速率高。

正交幅度调制是利用多进制振幅键控(MASK)和正交载波调制相结合产生的。

16 进制的正交振幅调制是一种振幅相位联合键控信号。16QAM 的产生有 2 种方法:

(1)正交调幅法,它是有 2 路正交的四电平振幅键控信号叠加而成;

(2)复合相移法:它是用 2 路独立的四相位移相键控信号叠加而成。

        中串/并变换器将速率为Rb的二进制码元序列分为两路,速率为Rb/2.2-4电平变换为Rb/2 的二进制码元序列变成速率为RS=Rb/log216 的 4 个电平信号,4 电平信号与正交载波相乘,完成正交调制,两路信号叠加后产生 16QAM信号.在两路速率为Rb/2 的二进制码元序列中,经 2-4 电平变换器输出为 4 电平信号,即M=16.经 4 电平正交幅度调制和叠加后,输出 16 个信号状态,即 16QAM.

RS=Rb/log216=RB/4.

2. 16QAM 解调原理

      16QAM 信号采取正交相干解调的方法解调,解调器首先对收到的 16QAM 信号进行正交相干解调,一路与 cos ω c t 相乘,一路与 sin ω c t 相乘。然后经过低通滤波器,低通滤波器 LPF 滤除乘法器产生的高频分量,获得有用信号,低通滤波器LPF 输出经抽样判决可恢复出电平信号。

4.部分源码

%% 

datam1=load('data1.txt');

datam2=load('data2.txt');

datam = datam1 + 1i*datam2;

%% 

datam = resample(datam,1,25);

scatterplot(datam);

%% 

datam = datam.' .*exp(-1i*[1:length(datam)]*0.0002);

%% 

real1=real(datam);

imag1=imag(datam);

[y]=BPS(real1,imag1);

scatterplot(y(end-5000:end));

title('final');

 

 

I2=real(y);

save('I2.mat','I2')

 

I3=imag(y);

save('I3.mat','I3')

 

y = I3-1i*I2; 

%% 

data0 = load('16QAM_I_32768.txt') + 1i*load('16QAM_Q_32768.txt');

figure()

[B,A]=xcorr(y,data0);

plot(A,B);

c=find(B==max(B))-floor(length(A)/2)

y=y(c:c+1000);

figure()

[B,A]=xcorr(y,data0);

plot(A,B);

star =unique(data0);

for i = 1:length(y)

    error=y(i)-star;

    y(i) = star(find(error==min(error)));

end

ser=length(find(y~=data0(1:length(y)).'))/length(y)

A379

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