matlabqam调制函数,matlab实现16QAM调制解调

matlabqam调制函数,matlab实现16QAM调制解调
⽂章⽬录
⼀、要求
⼆、设计
三、代码
四、结果
五、结论
⼀、要求
⽤基带等效的⽅式仿真16-QAM在AWGN信道下的误码率和误⽐特率性能,并与理论值相⽐较。
⼆、设计
1.调制
(1)⾸先,⼀串⼆进制序列进⼊串/并变换中,进⾏4⽐特划分后再进⾏2⽐特划分成⼀组,按照奇数送同相路,偶数送⼊正交路。
(2)进⼊2/L电平变换,就是说⼆进制数变成4个⼗进制数,⽽4个⼗进制数是由⾃⼰的星座图设定的,即00,01,11,10分别对应于-3,-1,1,3。
(3)送⼊低通后滤除较⼩的抖动波。
(4)进⼊相乘器,载波cosωct与同相路波SI(t)相乘变为SI(t) cosωct, 载波cosωct经过相位移动90°与正交路波SQ(t)相乘变为-SQ(t) sinωct。
(5)两路波形经过相乘器后,进⾏相加,变为SI(t)cosωct- SQ(t)sinωct。
2.解调
(1)经过调制后的波形再分别与相乘器相乘,通过载波cosωct和载波cosωct经过相位移动90°后各⾃提取出同相分量和正交分量。
(2)进⼊低通形成包络波形。
(3)再进⼊采样判决器,选取采样点形成原始的⼆进制矩形波形。
(4)最后进⼊并/串变换,按照原先的奇偶原则形成完成的原始⼆进制信号。
三、代码
clear all;clc;
nsymbol= 100000;
M=16;
graycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 ];
%graycode=[0:32]
EsN0=5:20;
snr1=10.^(EsN0/10);
msg=randi([0,M-1],1,nsymbol);
msg1=graycode(msg+1);
msgmod=qammod(msg1,M);
scatterplot(msgmod);
qam调制器spow=norm(msgmod).^ 2/nsymbol;
for i=1:length(EsN0)
sigma=sqrt(spow/(2*snr1(i)));
rx=msgmod+sigma*(randn(1,length(msgmod))+1i*randn(1,length(msgmod))); y=qamdemod(rx,M);
decmsg=graycode(y+1);
[err1,ber(i)]= biterr(msg,decmsg,log2(M));
[err2,ser(i)]=symerr(msg,decmsg);
end
p4=2*(1-1/sqrt(M))*qfunc(sqrt(3*snr1/(M-1)));
ser1=1-(1-p4).^2;
ber1=1/log2(M)*ser1;
figure()
semilogy(EsN0,ber,'o',EsN0,ser,'*' ,EsN0,ser1, EsN0,ber1,'-');
title('64QAM-AWGN')
xlabel('Es/N0');ylabel('SER AND BER');
legend('ber simulation' ,'ser simulation','ser theory' ,'ber theory');
四、结果
16QAM
32QAM
64QAM
五、结论
由上图可知,随着信噪⽐的增加,误码率和误⽐特率越来越⼩。随着信噪⽐的增加,误⽐特率越来越接近理论值,⽽误码率⼏乎⼀直与理论值相匹配。QAM的阶数越⾼误码率与误⽐特率也就越⼤。⽽且阶数越⾼初始时的误⽐特率偏离理论值越⼤。

本文发布于:2024-09-22 22:32:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/351075.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进制   特率   误码率   原始   形成   相乘
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议