采用MQAM调制的数字通信系统的MATLAB仿真_第1页
采用MQAM调制的数字通信系统的MATLAB仿真_第2页
采用MQAM调制的数字通信系统的MATLAB仿真_第3页
采用MQAM调制的数字通信系统的MATLAB仿真_第4页
采用MQAM调制的数字通信系统的MATLAB仿真_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告书专用纸第1页共x页淮海工学院课程设计报告书课程名称:通信系统的计算机仿真设计题目:采用MQAM调制的数字通信系统MATLAB仿真系(院):电子工程学院学期:2017-2018-1专业班级:通信141姓名:陆泓宇学号:2014120949评语:成绩:签名:日期:课程设计报告书专用纸第第页采用MQAM调制的数字通信系统MATLAB仿真绪论研究背景与研究意义目前,不论是模拟通信还是数字通信,在实际的通信业务中都得到了广泛的应用。不过,近年来随着数字通信的迅速发展,数字通信在整个通信领域中所占的比重日益增长。与模拟通信相比,数字通信在传输质量上,技术、经济上都有显著的优点,如:抗干扰性能强、传输质量与通信线路无关、有高的传输可靠性、经济性、便于加密处理等等。随着无线通信频带日趋紧张,研究和设计自适应信道调制技术体制是建立宽带移动通信网络的关键技术之一。正交振幅调制技术(QAM)是一种功率和带宽相对高效的信道调制技术,因此在大容量数字微波通信系统、有线电视网络高速数据传输、卫星通信系统等领域得到了广泛使用。在移动通信中,随着微蜂窝和微微蜂窝的出现,使用信道传输特性发生了很大变化,过去在传统蜂窝系统中不能应用的正交振幅调制也引起了人们的重视。设计任务本次课程设计是根据“通信工程专业培养计划”要求而制定的。通信系统的计算机仿真设计课程设计是通信工程专业的学生在学完通信工程专业基础课、通信工程专业主干课及科学计算与仿真专业课后进行的综合性课程设计。其目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。课程设计任务如下:(1)使用一种分组码或者卷积码进行信道纠错编码。(2)使用格雷码对数据进行映射。(3)使用MQAM举行调制,M选自8、16、32、64、128、256。(4)选择合适的升余弦参数,使用升余弦对基带信号举行滤波。(5)在解调端,进行滤波、MQAM的解调、格雷码逆映射、纠错解码。(6)改变信噪比,分析系统性能。MQAM调制解调MQAM介绍MQAM(MultipleQuadratureAmplitudeModulation)多进制正交幅度调制。4相相位键控信号其实也是一种二电平正交振幅键控。如果将二电平振幅键控进一步发展为多电平(例如4、8、16电平等)正交振幅键控,显然可以获得更高的频谱利用率。这种方式具有很高的频谱利用率,在调制进制数较高时,信号矢量集的分布也较合理,同时实现起来也较方便。当前在SDH数字微波、LMDS等大容量数字微波通信系统中广泛使用的64QAM、128QAM等均属于这种调制方式。目前QAM最高已达到1024QAM。样点数目越多,其传输效率越高。但并不是样点数目越多越好,随着样点数目的增加,QAM系统的误码率会逐渐增大,所以在对可靠性要求较高的环境,不能使用较多样点数目的QAM。对于4QAM,当两路信号幅度相等时,其产生、解调、性能及相位矢量均与4PSK相同。图2.14QAM星座图图2.216QAM星座图QAM采用格雷编码,采用格雷码的好处在于相邻相位所代表的两个比特只有一位不同,由于因相位误差造成错判至相邻相位上的概率最大,故这样编码使之仅造成一个比特误码的概率最大。下图以16QAM为例,显示了编码:图2.316QAM编码MQAM调制原理正交幅度调制(QAM)是由两个正交载波的多电平振幅键控信号叠加而成的,在同样的符号速率下能够提供更高的比特传输速率,而不影响传输的可靠性。在高速的无线传输系统中,MQAM是一类基本的调制方式,在实际中常用16-QAM及64QAM这两种QAM调制技术。MQAM信号的矢量表达式为:即将其表示为两个归一化正交基函数f1与f2的线性组合。其中:ff系数为Si1S式中的Eg为发送滤波器冲激响应tg(t)的脉冲能量。MQAM解调原理在高斯白噪声的环境下,MQAM信号的最佳解调框图如下:图2.4MQAM信号的最佳解调框图将接收的到的信号采取正交相干解调的方法解调,将接收的信号分成两路,一路与cosωct相乘,另一路与sinωct相乘。然后经过低通滤波器(积分电路)滤除乘法器产生的高频分量,获得有用信号。低通滤波器输出通过抽样判决可恢复出电平信号。然后经过并/串变换得到恢复数据。矩形MQAM信号的最佳接收MQAM设计内容介绍MQAM是一种基本的相位-幅度联合调制方式。研究这种基本的数字调制信号的性能可以帮助学生理解数字通信的基本特点。本次课程设计,选择符合要求的技术,如信道纠错编码可以是分组码或者卷积码,M必须选择数字8、16、32、64、128、256中的至少3个,以分析各种M下的QAM系统性能。应用MATLAB进行仿真,仿真采用蒙特卡罗模型。仿真基本框图是:信号源信号源信道调制解调性能分析信道编码译码图2.1MQAM通信系统的基本框图信号源:基本的二进制数据流。信道编码:可以选择分组码、卷积码等。调制:MQAM,M必须选择数字8、16、32、64、128、256中至少3个。在调制前使用格雷码进行映射。信道:信号经过调制以后,通过信道。信道可以选择高斯加性白噪声信道、多径瑞利(Rayleigh)衰落信道、莱斯(Rician)衰落信道等。设置不同的信道信噪比,对系统进行仿真,分析不同信噪比情况下的系统性能。解调:根据调制方式,选择对应的解调方式。译码:根据信道编码方式,选择对应的信道译码方式。性能分析:信号经过调制、信道、解调过程。在接收端,将得到的数据与原始信号源数据比较,得到在特定信噪比下的误码率。改变系统信噪比,从而得到系统的误码率曲线图。设计流程(1)根据选择的调制信号形式,确定仿真框图。(2)设置模型中各模块的具体参数。(3)编写m文件。在程序中依次改变信噪比,得到在特定信噪比下的误码率。信噪比范围是可以是-50dB~50dB之间,步长为5dB。(4)根据得到的误码率数据,绘出误码率-信噪比曲线图。(5)对所设计的系统进行修改。并同理论数据进行比较。调试仿真分组信道编码、高斯白噪声信道下的16QAM数字调制方式程序:%产生二进制整数流M=16;%调制的数k=log2(M);n=3e4;%数据流长度nsamp=1;%采样率data=randint(n,1);%产生随机二进制数据流figure;%绘出前40个点的柱状图stem(x(1:40),'filled');%选择向量中1到40的数据title('Randombinarynumber');%标题(随机二进制数)xlabel('Binaryvalue');%横坐标(二进制的值)ylabel('BitNumber');%纵坐标(比特数)图1随机产生的前四十个二进制数字信号%定义滤波参数nsamp=4;%采样率filtorder=40;%滤波次顺序delay=filtorder/(nsamp*2);%时延rolloff=0.25;%滚降系数rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay);%升余弦平方根滤波figure;%产生一个新窗体impz(rrcfilter,1);%数字滤波器冲激响应(制作根余弦滤波器)图2信号经过格雷映射之后形成的十进制数值图%分组码纠错编码genmat=[[101;011;010],eye(3)];bianma=encode(x,6,3,'linear',genmat);%姓名编码%准备调制,格雷码映射mapping=[0132457612131514891110].';%绘图xsym=bi2de(reshape(bianma,k,length(bianma)/k).','left-msb');%前几行代码xsym=mapping(xsym+1);figure;stem(xsym(1:10),'filled');%选择向量中1到10的值title('Randomsymbols');%标题(随机符号)xlabel('Thevalueofthesymbol');%横坐标(符号的值)ylabel('IntegralQuantity');%纵坐标(整数值)图3随机符号%进行16QAM调制y=qammod(xsym,M,pi/4);%进行平方根升余弦滤波(旋转45度)ytx=rcosflt(y,1,nsamp,'filter',rrcfilter);%yi表示传送的符号eyediagram(ytx(1:2000),nsamp*2);%生成眼图图4滤波后无噪信号的眼图%加入高斯白噪声EbNo=10;%比特信噪比snr=EbNo+10*log10(k)-10*log10(nsamp);ynoisy=awgn(ytx,snr,'measured');%yn表示加入高斯白噪声的传送信号%滤波yrx=rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);yrx=downsample(yrx,nsamp);%欠采样函数yrx=yrx(2*delay+1:end-2*delay);%产生分布图h=scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,'r.');holdon;scatterplot(yrx(1:5e3),1,0,'y.',h);title('Receivingsignalfiltering');%标题(接收信号滤波)legend('Beforefiltering','Afterfiltering');axis([-55-55]);holdoff;图5信号通过高斯滤波前后接收信号比较分布图%可以看到信号在经过滤波器之后码间距离增大、性能提高。%16QAM解调niyings=qamdemod(yrx,M);%格雷码逆映射(相邻两位之间相差一位)[dummydemapping]=sort(mapping);%sort对mapping排序,排序结果存在dummy中,并把dummy中的数值在mapping中的索引给出,存在demapping中demapping=demapping-1;niyings=demapping(niyings+1);l=de2bi(niyings,'left-msb');%进制转换l=reshape(l.',prod(size(l)),1);%分组码纠错解码l=decode(l,6,3,'linear',genmat);figure;%产生一个新窗体stem(l(1:40),'filled');title('RandomBits');%标题(随机二进制数)xlabel('BitIndex');%横坐标(比特数)ylabel('BinaryValue');%纵坐标(二进制的值)图6终端接收端得到的信号%计算BER[errors,error_rate]=biterr(x,l)errors=25error_rate=8.3333e-004使用(M=16、32、64、126)MQAM进行数字仿真Mvec=[163264128];%vec(向量误差修正)EbNovec=[0:2:20];number_of_errors=zeros(length(Mvec),length(EbNovec));bit_error_rate=zeros(length(Mvec),length(EbNovec));%产生二进制整数流foridxM=1:length(Mvec)foridxEbNo=1:length(EbNovec)M=Mvec(idxM);k=log2(M);n=4.2e4;nsamp=4;x=randint(n,1);%定义滤波参数nsamp=4;filtorder=40;delay=filtorder/(nsamp*2);rolloff=0.25;rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay);%分组码纠错编码genmat=[[101;011;010],eye(3)];bianma=encode(x,6,3,'linear',genmat);%准备调制,格雷码映射Msize=Mvec(idxM);mapping=zeros(Msize);xx=0:Msize-1;yy=bitshift(xx,-1);mapping=bitxor(xx,yy);xsym=bi2de(reshape(bianma,k,length(bianma)/k).','left-msb');xsym=mapping(xsym+1);%进行16QAM调制y=qammod(xsym,M);%进行平方跟升余弦滤波ytx=rcosflt(y,1,nsamp,'filter',rrcfilter);%加入高斯白噪声EbNo=EbNovec(idxEbNo);%Eb(信号平均能量),No(单边噪声功率谱密度)snr=EbNo+10*log10(k)-10*log10(nsamp);ynoisy=awgn(ytx,snr,'measured');yrx=ynoisy;%滤波yrx=rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);yrx=downsample(yrx,nsamp);yrx=yrx(2*delay+1:end-2*delay);%16QAM解调zsym=qamdemod(yrx,M);%格雷码逆映射[dummydemapping]=sort(mapping);demapping=demapping-1;zsym=demapping(zsym+1);z=de2bi(zsym,'left-msb');z=reshape(z.',prod(size(z)),1);%分组码纠错解码z=decode(z,6,3,'linear',genmat);%计算BER[number_of_errors(idxM,idxEbNo),bit_error_rate(idxM,idxEbNo)]=...biterr(x,z);endmarkerchoice='.*oP';plotsym=[markerchoice(idxM)'-'];semilogy(EbNovec,bit_error_rate(idxM,:),plotsym);drawnow;holdon;endtitle('不同M值的M-QAM');xlabel('EbNo(dB)');ylabel('误码率');legend('M=16','M=32','M=64','M=128','Location','SouthWest');图7不同调制系数的误码率clearall;Mvec=[16];EbNovec=[0:1.6:15]number_of_errors=zeros(length(Mvec),length(EbNovec));bit_error_rate=zeros(length(Mvec),length(EbNovec));n=4.2e4;nsamp=4;x=randint(n,1);%定义滤波参数nsamp=4;filtorder=40;delay=filtorder/(nsamp*2);rolloff=0.25;rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay);%分组码纠错编码genmat=[[101;011;010],eye(3)];code=encode(x,6,3,'linear',genmat);%产生二进制整数流foridxM=1:length(Mvec)foridxEbNo=1:length(EbNovec)M=Mvec(idxM)a=log2(M);%准备调制,格雷码映射Msize=Mvec(idxM);mapping=zeros(Msize);xx=0:Msize-1;yy=bitshift(xx,-1);mapping=bitxor(xx,yy);xs=bi2de(reshape(code,a,length(code)/a).','left-msb');xs=mapping(xs+1);%进行16QAM调制y=qammod(xs,M);%进行平方跟升余弦滤波yj=rcosflt(y,1,nsamp,'filter',rrcfilter);%加入高斯白噪声EbNo=EbNovec(idxEbNo);snr=EbNo+10*log10(a)-10*log10(nsamp);yn=awgn(yj,snr,'measured');yf=yn%滤波yf=rcosflt(yn,1,nsamp,'Fs/filter',rrcfilter);yf=downsample(yf,nsamp);yf=yf(2*delay+1:end-2*delay);%16QAM解调zs=qamdemod(yf,M);%格雷码逆映射[dummydemapping]=sort(mapping);demapping=demapping-1;zs=demapping(zs+1);z=de2bi(zs,'left-msb');z=reshape(z.',prod(size(z)),1);%分组码纠错解码z=decode(z,6,3,'linear',genmat);%计算BER[number_of_errors(idxM,idxEbNo),bit_error_rate(idxM,idxEbNo)]=...biterr(x,z);endmarkerchoice='o.';plotsym=[markerchoice(idxM)'-'];semilogy(EbNovec,bit_error_rate(idxM,:),plotsym);drawnow;holdon;end%产生二进制整数流foridxM=1:length(Mvec)foridxEbNo=1:length(EbNovec)M=Mvec(idxM)a=log2(M);%准备调制,格雷码映射Msize=Mvec(idxM);mapping=zeros(Msize);xx=0:Msize-1;yy=bitshift(xx,-1);mapping=bitxor(xx,yy);xs=bi2de(reshape(x,a,length(x)/a).','left-msb');xs=mapping(xs+1);%进行16QAM调制y=qammod(xs,M);%进行平方跟升余弦滤波yj=rcosflt(y,1,nsamp,'filter',rrcfilter);%加入高斯白噪声EbNo=EbNovec(idxEbNo);snr=EbNo+10*log10(a)-10*log10(nsamp);yn=awgn(yj,snr,'measured');yrx=yn;%滤波yf=rcosflt(yn,1,nsamp,'Fs/filter',rrcfilter);yf=downsample(yf,nsamp);yf=yf(2*delay+1:end-2*delay);%16QAM解调zs=qamdemod(yf,M);%格雷码逆映射[dummydemapping]=sort(mapping);demapping=demapping-1;zs=demapping(zs+1);z=de2bi(zs,'left-msb');z=reshape(z.',prod(size(z)),1);%计算BER[number_of_errors(idxM,idxEbNo),bit_er

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论