300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 正交幅度调制(QAM)

正交幅度调制(QAM)

时间:2020-07-28 17:39:12

相关推荐

正交幅度调制(QAM)

正交幅度调制,QAM

前言一、调制和解调的过程二、仿真的过程

前言

本节介绍了正交幅度调制QAM,它与PSK的区别在于:当M增大时,点之间的距离变大,所以误码率会上升,所以QAM的误码率要由于PSK。其中许多内容是与前面的幅度调制类似的。


一、调制和解调的过程

QAM信号使用两个正交载波cos(wt)和sin(wt),其中每个都被一个独立的信息比特序列所调制。相应的信号波形可以表示为:

另外一个角度,从上图可以看出,与PSK不同的是:PSK只有相位的信息,而QAM既有相位信息又有幅度信息,可以通过上图(PSK图应该是个圆形)看出。

二、仿真的过程

代码如下(可以改变信噪比ESNO的值,来人为观察误码率,在测试的时候可以把信噪比提高):

clear all;close all;clc;n_symbol=1000; %%符号个数T=1; %%表达式中的参数,符号速率(一组载波运载一个符号)fs=100; ts=1/fs;t=0:ts:T-ts;fc=1; %%载波频率c=sqrt(2/T)*exp(j*2*pi*fc*t); %%载波信号生成两个正交载波c1=sqrt(2/T)*cos(2*pi*fc*t); c2=-sqrt(2/T)*sin(2*pi*fc*t);M=8;ESNO=15;%%单位dBD snr=10.^(ESNO/10);%%转换成单位线性值msg_QAM=randi(M,1,n_symbol);msgmod_QAM=qammod(msg_QAM-1,M).';%%qam调制x=msgmod_QAM*c;x1=reshape(x.',1,length(msgmod_QAM)*length(c));s_pow=norm(x1).^2/(n_symbol); %%这里是符号的平均功率,而不是每一个采样点sigma=sqrt(s_pow/(2*snr)); %%根据线性值的信噪比和信号功率求出噪声功率x_n_QAM=x1+sigma*randn(1,length(x1)); %%加性噪声后的信号x_n1_QAM=reshape(x_n_QAM,length(c),length(msgmod_QAM)); %%将合成信号分解一下以便后面的相干计算r1=(c1*x_n1_QAM).*T/length(c); %%相干计算r2=(c2*x_n1_QAM).*T/length(c);r=(r1+j*r2)/2;y1_QAM=qamdemod(r,M)+1; %%qam解调 %想要将原符号来做比较验证误码率,可以为了将数字信号展开做比较for i=1:n_symbolmsg_x((100*i-99):100*i)=msg_QAM(i);y1_x((100*i-99):100*i)=y1_QAM(i); endfigure;subplot(3,2,[1 2]);plot(msg_x);title(['原信号,信噪比为',num2str(ESNO),'dB;符号数为:',num2str(n_symbol)]);subplot(3,2,3);plot(msgmod_QAM,'*r');title('调制信号星座图');xlabel('同相分量');ylabel('正交分量');zuobiao=max(real(msgmod_QAM))*1.2;axis([-zuobiao zuobiao -zuobiao zuobiao]);subplot(324);plot(r,'.y');title('经过信道的调制信号星座图');xlabel('同相分量');ylabel('正交分量');hold on;plot(msgmod_QAM,'*r');axis([-zuobiao zuobiao -zuobiao zuobiao]);subplot(3,2,[5 6]);[err,ser]=symerr(msg_QAM,y1_QAM);plot(y1_x);title(['解调信号,误比特率为:',num2str(ser)]);

下面三张图片分别是M=4-8-16时候的情况,也可以看出M越大,误码率越大(也是因为间距变小,更容易判错)。当然,还可以比较M相同时,不同信噪比下的误码率,如之前的做法相似。公式如下:

4QAM:

8QAM:

16QAM:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
扩展阅读