16QAM调制系统仿真(共9页).docx

上传人:飞****2 文档编号:14050171 上传时间:2022-05-02 格式:DOCX 页数:9 大小:129.93KB
返回 下载 相关 举报
16QAM调制系统仿真(共9页).docx_第1页
第1页 / 共9页
16QAM调制系统仿真(共9页).docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《16QAM调制系统仿真(共9页).docx》由会员分享,可在线阅读,更多相关《16QAM调制系统仿真(共9页).docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上16QAM调制系统仿真1.QAM简介正交幅度调制(QAM,QuadratureAmplitudeModulation)是一种在两个上进行的方式。这两个载波通常是为90(/2)的,因此被称作正交载波。这种调制方式因此而得名。QAM是一种振幅和相位联合键控。MPSK和MDPSK等相移键控的带宽和功率方面都具有优势,即带宽占用小和比特噪声比要求低。但是,在MPSK体制中,随着M的增大,相邻相位的距离逐渐减小,使噪声容限随之减小,误码率难以保证。为了改善在M大时的噪声容限,发展出了QAM体制。在QAM中,信号的振幅和相位作为两个独立的参量同时受到调制。这种信号的一个码元可以表

2、示为 (21)式中:k=整数;和分别可以取多个离散值。 式(21)可以展开为 (22)令 Xk = Akcosqk, Yk = -Aksinqk则式(21)变为 (23)和也是可以取多个离散的变量。从式(23)看出,可以看作是两个正交的振幅键控信号之和。在式(21)中,若qk值仅可以取p/4和-p/4,Ak值仅可以取+A和-A,则此QAM信号就成为QPSK信号,如下图所示:所以,QPSK信号就是一种最简单的QAM信号。有代表性的QAM信号是16进制的,记为16QAM,它的矢量图示于下图中:图中用黑点表示每个码元的位置,并且示出它是由两个正交矢量合成的。类似地,有64QAM和256QAM等QAM

3、信号,它们总称为MQAM ,调制。由于从其矢量图看像是星座,故又称星座调制。16QAM信号的产生方法主要有两种。第一种是正交调幅法,即用两路独立的正交4ASK信号叠加,形成16QAM信号,如下图所示;第二种方法是复合相移法,它用两路独立的QPSK信号叠加,形成16QAM信号,如下图示: 虚线大圆上的4个大黑点表示一个QPSK信号矢量的位置。在这4个位置上可以叠加上第二个QPSK矢量,后者的位置用虚线小圆上的4个小黑点表示。2 仿真过程由设计原理中可知MQAM调制又称为星座调制,故我们在设计16QAM调制系统时就可以星座图来进行编程。下面我们就借用下图所示的星座图设计一个16QAM调制系统。在图

4、中共有16个点,每个点用4个比特表示,代表调制以后的一个矢量位置(这个点拥有唯一的振幅与相位)。因此我们可以把横轴看作是实轴,纵轴看作虚轴。由于每个点与跟它相邻的四个点是等距,且设为2,则每个点都可用一个虚数进行表示。例如点0000可用-1-j表示,这个虚数的模就是相当于16QAM信号的振幅,相角就相当于16QAM信号的相位。所以16QAM的调制过程就可以用如下语句进行描述:if A(1,b:c)=0 0 0 0 B(k)=-1-1i; elseif A(1,b:c)=0 0 0 1 B(k)=-3-1i; elseif A(1,b:c)=0 0 1 0 B(k)=-1-3i; elseif

5、A(1,b:c)=0 0 1 1 B(k)=-3-3i; elseif A(1,b:c)=0 1 0 0 B(k)=1-1i; elseif A(1,b:c)=0 1 0 1 B(k)=1-3i; elseif A(1,b:c)=0 1 1 0 B(k)=3-1i; elseif A(1,b:c)=0 1 1 1 B(k)=3-3i; elseif A(1,b:c)=1 0 0 0 B(k)=-1+1i; elseif A(1,b:c)=1 0 0 1 B(k)=-1+3i; elseif A(1,b:c)=1 0 1 0 B(k)=-3+1i; elseif A(1,b:c)=1 0 1 1

6、 B(k)=-3+3i; elseif A(1,b:c)=1 1 0 0 B(k)=1+1i; elseif A(1,b:c)=1 1 0 1 B(k)=3+1i; elseif A(1,b:c)=1 1 1 0 B(k)=1+3i; elseif A(1,b:c)=1 1 1 1 B(k)=3+3i; End当调制以后的信号经过信道加噪以后,我们必须对其进行解调。由于加噪了的缘故,调制以后的信号不再是原来的信号,而应该有不同。因此在解调时不能简单的将上述过程逆转,即不能由-1-j就判断为0000。而应该对虚数的实部和虚部设定一个范围后再进行判断。这个范围边界的选取原理我们可以借用量化的概念,

7、取相邻虚数的实部的平均数和虚部的平均数。以下为16QAM解调过程的程序语句:if (real(D(n)-2)&(imag(D(n)-2) C(1,d:e)=0 0 1 1; elseif (real(D(n)-2)&(imag(D(n)0) C(1,d:e)=0 0 0 1; elseif (real(D(n)-2)&(imag(D(n)2) C(1,d:e)=1 0 1 0; elseif (real(D(n)=2) C(1,d:e)=1 0 1 1; elseif (real(D(n)0)&(imag(D(n)-2) C(1,d:e)=0 0 1 0; elseif (real(D(n)0

8、)&(imag(D(n)0) C(1,d:e)=0 0 0 0; elseif (real(D(n)0)&(imag(D(n)2) C(1,d:e)=1 0 0 0; elseif (real(D(n)=2) C(1,d:e)=1 0 0 1; elseif (real(D(n)2)&(imag(D(n)-2) C(1,d:e)=0 1 0 1; elseif (real(D(n)2)&(imag(D(n)0) C(1,d:e)=0 1 0 0; elseif (real(D(n)2)&(imag(D(n)2) C(1,d:e)=1 1 0 0; elseif (real(D(n)=2) C(

9、1,d:e)=1 1 1 0; elseif (real(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2) C(1,d:e)=1 1 1 1;end3 设计总程序clear all;close all;N=40000;K=4*N;%信息长度L=7*N;W=7*N/4;E=randsrc(1,K,0,1);%信源B=zeros(1,W);%16QAM调制后的信号C=zeros(1,L);%16QAM解调后的信号num=zeros(20,1);%误比特数ber=zeros(20,1);%误比特率for SNR=1:1:2

10、0A=encode(E,7,4,hamming/binary);%16QAM调制过程for k=1:W b=4*k-3; c=4*k; if A(1,b:c)=0 0 0 0 B(k)=-1-1i; elseif A(1,b:c)=0 0 0 1 B(k)=-3-1i; elseif A(1,b:c)=0 0 1 0 B(k)=-1-3i; elseif A(1,b:c)=0 0 1 1 B(k)=-3-3i; elseif A(1,b:c)=0 1 0 0 B(k)=1-1i; elseif A(1,b:c)=0 1 0 1 B(k)=1-3i; elseif A(1,b:c)=0 1 1

11、0 B(k)=3-1i; elseif A(1,b:c)=0 1 1 1 B(k)=3-3i; elseif A(1,b:c)=1 0 0 0 B(k)=-1+1i; elseif A(1,b:c)=1 0 0 1 B(k)=-1+3i; elseif A(1,b:c)=1 0 1 0 B(k)=-3+1i; elseif A(1,b:c)=1 0 1 1 B(k)=-3+3i; elseif A(1,b:c)=1 1 0 0 B(k)=1+1i; elseif A(1,b:c)=1 1 0 1 B(k)=3+1i; elseif A(1,b:c)=1 1 1 0 B(k)=1+3i; els

12、eif A(1,b:c)=1 1 1 1 B(k)=3+3i; endend%信道加噪 D=awgn(B,SNR);%16QAM解调过程for n=1:W d=4*n-3; e=4*n; if (real(D(n)-2)&(imag(D(n)-2) C(1,d:e)=0 0 1 1; elseif (real(D(n)-2)&(imag(D(n)0) C(1,d:e)=0 0 0 1; elseif (real(D(n)-2)&(imag(D(n)2) C(1,d:e)=1 0 1 0; elseif (real(D(n)=2) C(1,d:e)=1 0 1 1; elseif (real(D

13、(n)0)&(imag(D(n)-2) C(1,d:e)=0 0 1 0; elseif (real(D(n)0)&(imag(D(n)0) C(1,d:e)=0 0 0 0; elseif (real(D(n)0)&(imag(D(n)2) C(1,d:e)=1 0 0 0; elseif (real(D(n)=2) C(1,d:e)=1 0 0 1; elseif (real(D(n)2)&(imag(D(n)-2) C(1,d:e)=0 1 0 1; elseif (real(D(n)2)&(imag(D(n)0) C(1,d:e)=0 1 0 0; elseif (real(D(n)2

14、)&(imag(D(n)2) C(1,d:e)=1 1 0 0; elseif (real(D(n)=2) C(1,d:e)=1 1 1 0; elseif (real(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2)&(imag(D(n)=2) C(1,d:e)=1 1 1 1; endend%汉明译码F=decode(C,7,4,hamming/binary);%求误比特率num(SNR,1),ber(SNR,1)=biterr(F,E);end%误比特数图plot(num); figure%误比特率图plot(ber);误码率曲线: M

15、= 16; k = log2(M); n = 3e4;x = randint(n,1);xsym = bi2de(reshape(x,k,length(x)/k).,left-msb);y = qammod(xsym,M); ytx = y;EbNo =-5:0.5:10; for i=1:length(EbNo)snr =(i-1)*0.5-5 + 10*log10(k);ynoisy = awgn(ytx,snr,measured);yrx = ynoisy;zsym = qamdemod(yrx,M);z = de2bi(zsym,left-msb);z = reshape(z.,pro

16、d(size(z),1);number(i),Pe(i) = biterr(x,z);endtheoryBer = (1/k)*3/2*erfc(sqrt(k*0.1*(10.(EbNo/10);semilogy(EbNo,Pe,bs-,LineWidth,2);hold on;semilogy(EbNo,theoryBer,ms-,LineWidth,2);legend(理论, 仿真);xlabel(信噪比, dB)ylabel(误码率)title(16QAM误码率)5 结果图: 6 结束语 通过本次仿真实验,我加深了对QAM调制解调的认识和理解,熟悉了对MATLAB仿真软件的应用,提升了动手能力和读写程序的能力。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁