课程设计(论文)基于matlab的MQAM通信系统的仿真

上传人:沈*** 文档编号:79438211 上传时间:2022-04-23 格式:DOC 页数:19 大小:505.50KB
收藏 版权申诉 举报 下载
课程设计(论文)基于matlab的MQAM通信系统的仿真_第1页
第1页 / 共19页
课程设计(论文)基于matlab的MQAM通信系统的仿真_第2页
第2页 / 共19页
课程设计(论文)基于matlab的MQAM通信系统的仿真_第3页
第3页 / 共19页
资源描述:

《课程设计(论文)基于matlab的MQAM通信系统的仿真》由会员分享,可在线阅读,更多相关《课程设计(论文)基于matlab的MQAM通信系统的仿真(19页珍藏版)》请在装配图网上搜索。

1、课 程 设 计 学 生 日 志时间设计内容2011-6-28查阅关于M-QAM的相关资料以及与matlab的仿真原理2011-6-29设计总体方案2011-6-30用matlab对方案进行编程 2011-7-1调试程序,并检查错误2011-7-2着手开始写设计报告2011-7-3完善设计报告2011-7-4答辩课 程 设 计 考 勤 表周星期一星期二星期三星期四星期五19课 程 设 计 评 语 表指导教师评语: 成绩: 指导教师: 年 月 日基于matlab的M-QAM通信系统的仿真一、 设计目的和意义(1) 通过仿真进一步掌握M-QAM调制及解调的原理;(2) 学会用matlab编程对通信系

2、统进行仿真;(3) 学会用理论知识去分析结果。二、 设计原理利用Matlab仿真软件,完成如图1所示的一个基本的数字通信系统。信号源产生0、1等概分布的随机信号,映射到16QAM的星座图上,同时一路信号已经被分成了I路和Q路,后边的处理建立在这两路信号的基础上。I路和Q路信号分别经过平方根升余弦滤波器,再加入高斯白噪声,然后通过匹配滤波器(平方根升余弦滤波器)。最后经过采样,判决,得到0、1信号,同原信号进行比较,给出16QAM数字系统的误码。 图1三、 详细设计步骤随机信号的生成利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号。源代码如下所示:global NN=30

3、0;global pp=0.5;source=randsrc(1,N,1,0;p,1-p);星座图映射将等概分布的0、1信号映射到16QAM星座图上。每四个bit构成一个码子,具体实现的方法是,将输入的信号进行串并转换分成两路,分别叫做I路和Q路。再把每一路的信号分别按照两位格雷码的规则进行映射,这样实际上最终得到了四位格雷码。为了清楚说明,参看表1表1两位格雷码的映射规律两位0、1码映射后(按格雷码)0 0-30 1-11 111 03源代码如下所示:function y1,y2=Qam_modulation(x)%QAM_modulation%对产生的二进制序列进行QAM调制%=首先进行串

4、并转换,将原二进制序列转换成两路信号N=length(x);a=1:2:N;y1=x(a);y2=x(a+1); %=分别对两路信号进行QPSK调制 %=对两路信号分别进行24电平变换a=1:2:N/2;temp1=y1(a);temp2=y1(a+1);y11=temp1*2+temp2;temp1=y2(a);temp2=y2(a+1);y22=temp1*2+temp2; %=对两路信号分别进行相位调制a=1:N/4;y1=(y11*2-1-4)*1.*cos(2*pi*a);y2=(y22*2-1-4)*1.*cos(2*pi*a);%=按照格雷码的规则进行映射y1(find(y11=

5、0)=-3;y1(find(y11=1)=-1;y1(find(y11=3)=1;y1(find(y11=2)=3;y2(find(y22=0)=-3;y2(find(y22=1)=-1;y2(find(y22=3)=1;y2(find(y22=2)=3;插值为了能够模拟高斯白噪声的宽频谱特性,以及为了能够显示波形生成器(平方根升余弦滤波器)的效果,所以在原始信号中间添加一些0点。具体实现是分别在信号的I路和Q路中,任意相邻的两个码字之间添加7个0。源代码如下所示:function y=insert_value(x,ratio)%=x是待插值的序列,ratio是插值的比例。%两路信号进行插值首

6、先产生一个长度等于ratio倍原信号长度的零向量y=zeros(1,ratio*length(x);再把原信号放在对应的位置a=1:ratio:length(y);y(a)=x;波形成形(平方根升余弦滤波器)为了避免相邻传输信号之间的串扰,多元符号需要有合适的信号波形。图1中的方波是在本地数字信号处理时常见的波形,但在实际传输时这种方波并不合适。根据奈奎斯特第一准则,在实际通信系统中一般均使接收波形为升余弦滚降信号。这一过程由发送端的基带成形滤波器和接收端的匹配滤波器两个环节共同实现,因此每个环节均为平方根升余弦滚降滤波,两个环节合成就实现了一个升余弦滚降滤波。实现平方根升余弦滚降信号的过程称

7、为“波形成形”,通过采用合适的滤波器对多元码流进行滤波实现,由于生成的是基带信号,因此这一过程又称“基带成形滤波”。平方根升余弦滤波器的冲激响应基带平方根升余弦滤波器具有以下定义的理论函数 其中:是奈奎斯特平率,是滚降系数。下面给出平方根升余弦滤波器的冲激响应曲线,如图2所示。图2平方根升余弦滤波器的冲激响应曲线从上图上不难看出来,平方根升余弦滤波器的冲激响应很显然的引入了符号间干扰(ISI)即它的冲激响应在相邻的抽样点上的值并不象升余弦滤波器那样恒为0。然而造成这一后果的原因在于,当我们引入平方根升余弦滤波器的时候,就是认为整个信道,也就是说,包括信号发送端的滤波器和信号接收端的滤波器,总体

8、的效果是避免了符号间干扰(ISI),所以,单独看这每一个滤波器,勿庸置疑,它们都是存在着符号间干扰(ISI)的。经过平方根升余弦滤波器后源代码如下:%x1、x2是两路输入信号,fd是信号信息位的频率,fs是信号的采样频率function y1,y2=rise_cos(x1,x2,fd,fs)%生成平方根升余弦滤波器yf, tf=rcosine(fd,fs, fir/sqrt);%对两路信号进行滤波y1, to1=rcosflt(x1, fd,fs,filter/Fs, yf);y2, to2=rcosflt(x2, fd,fs,filter/Fs, yf);10倍载波调制将通过成形滤波器后的信

9、号调制到10倍于原频率的载波上。由于在仿真的过程中,只能用离散的点来模拟连续信号,因而为了能够显示出一个正弦曲线,至少需要在一个正弦周期内采样到4个以上的点,这里,我们在一个周期内采10个点。假设最初的0、1信号的频率是1Hz,那么I路和Q路符号传输的频率是1/4Hz,而10倍频是建立在I路或Q路符号频率的基础上,也就是说,载频的频率是2.5Hz。按照前面的假设,那么相邻两个采样点之间的时间间隔是0.04s。而一个完整周期内的正弦波形的幅值是相同的,都是对应的这个周期内的I路和Q路线性叠加,调制后的信号为, 其中,为载波频率。源代码如下:%载波调制%x1,x2代表两路输入信号,f是输入信号的频

10、率,hf是载波的频率function t,y=modulate_to_high(x1,x2,f,hf)%产生两个中间变量,用来存储插值后的输入信号yo1=zeros(1,length(x1)*hf/f*10);yo2=zeros(1,length(x2)*hf/f*10);n=1:length(yo1);%对输入信号分别进行插值,相邻的两个点之间加入9个点,且这9个点的值同第0个点的值相同yo1(n)=x1(floor(n-1)/(hf/f*10)+1);yo2(n)=x1(floor(n-1)/(hf/f*10)+1);%生成输出输出信号的时间向量t=(1:length(yo1)/hf*f/

11、10;%生成载波调制信号y=yo1.*cos(2*pi*hf*t)-yo2.*sin(2*pi*hf*t);加入高斯白噪声将通过成形滤波器后的信号送到具有高斯白噪声特征的加性信道中,相当于在原信号上加入高斯白噪声。由于高斯白噪声加在了通过插值和滤波后的点上,因此在计算信噪比的时候存在一个信噪比换算的问题。当我们把仿真得到的误码率曲线同理论的误码率曲线相比较的时候,两者的信噪比的定义必须是一致的。一致包括两个方面,一是二者均为每bit符号上的信号功率和噪声功率的比值,另一个是信号的功率是指那些信息点上的平均功率,噪声也是指信息点上所对应的噪声的平均功率,但由于噪声的功率谱密度是一个定值,所以噪声

12、的平均功率实际上就是噪声的功率谱密度。对于第二点,由于所有信号的平均功率和信息点上的信号的平均功率不同,所以需要在加入高斯噪声的时候进行纠正,具体的公式推导如下。设是最后理论计算中的信噪比,是加入高斯白噪声后的整体信号(包括插值后的点)的信噪比,是每bit信息点的平均能量,是每bit信号的平均能量,是噪声的平均功率,现在需要推导出与的关系。 ; 即两个信噪比的比值就是平均能量的比值。源程序如下:%对输入的两路信号加高斯白噪声,返回处理后的两路信号,信息点等效bit信噪比为snr的值function y1,y2=generate_noise(x1,x2,snr)%snr1代表snr对应的符号信噪

13、比snr1=snr+10*log10(4); %算出所有信号的平均功率ss=var(x1+i*x2,1); %加入高斯白噪声y=awgn(x1+j*x2,snr1+10*log10(ss/10),measured);y1=real(y);y2=imag(y);给出加入高斯白噪声的两路信号波形。匹配滤波器在数字传输系统中,滤波器是不可缺少的。滤波器的一个作用是使基带信号频谱成形,例如为了满足奈奎斯特第一准则,基带信号频谱通常采用升余弦滚降形状,这一点在波形成形部分已经有了较详细的介绍。而滤波器的另一个重要作用是在接收端限制白噪声,将信号频带外的噪声滤掉,减少它对信号正确判决的影响。为了能够使滤波

14、器输出信噪比在信息抽样时刻的信噪比最大,所以引入了匹配滤波器。假设匹配滤波器的频率传递函数为,时域冲激响应为。滤波器输入为发送信号与噪声的叠加,即 这里,为信号,它的频谱函数为。为白色高斯噪声,其双边功率谱密度为。滤波器的输出为其中信号部分为在时刻输出的信号抽样值为滤波器输出噪声的功率谱密度为平均功率为因此,时刻的输出信噪比为匹配滤波器的传递函数使达到最大。在这里利用Schwartz不等式求解,最后得到传递函数的表达式为即传递函数与信号频谱的复共轭成正比。传递函数的时域响应为匹配滤波器的最大输出信噪比为其中,为观察间隔内的信号能量。具体到这个通信系统中,由于信号的时域响应为其中是平方根升余弦滤

15、波器的冲激响应。结合上式可以得到匹配滤波器实质上是一个具有与发射端的基带成形滤波器相同的滚降系数的平方根升余弦滤波器。接收端的“匹配滤波”是针对发射端的成形滤波而言,与成形滤波相匹配实现了数字通信系统的最佳接收。它与基带成形滤波器共同构成了一个奈奎斯特滤波器。源代码同平方根升余弦滤波器的源代码相同。采样由于从匹配滤波器出来的信号的点数8倍于原来信息的点数,为了恢复出原信号,所以需要对该信号进行采样。从匹配滤波器出来时,首先要剔除卷积过程中冗余的点,接着抽取现在信号中的第1个,第9个,第8k1个点,源代码如下:function y1,y2=pick_sig(x1,x2,ratio)y1=x1(r

16、atio*3*2+1:ratio:length(x1);y2=x2(ratio*3*2+1:ratio:length(x1);判决解调经过前边的匹配滤波器解调或者称为相关解调产生了一组向量,在这里就是一个一维的向量,根据最大后验概率(MAP)准则(由于各个信号的先验概率相等,所以页可以认为是最大似然准则),得到了最小距离检测。具体在本仿真系统中,判断为各个信号的门限如表2所示。判决后得到的数据再按照格雷码的规则还原成0、1信号,最终将两路0、1信号合成一路0、1信号,用来同最初的信号一起决定误码率。表2判决电平对应表判决前的信号的幅度对应的判决后的幅度3113源代码如下:function y=

17、demodulate_sig(x1,x2)%对x1路信号进行判决xx1(find(x1=2)=3;xx1(find(x1=0)=1;xx1(find(x1=-2)&(x10)=-1;xx1(find(x1=2)=3;xx2(find(x2=0)=1;xx2(find(x2=-2)&(x20)=-1;xx2(find(x2-2)=-3;%将x1路信号按格雷码规则还原成0、1信号temp1=zeros(1,length(xx1)*2);temp1(find(xx1=-1)*2)=1;temp1(find(xx1=1)*2-1)=1;temp1(find(xx1=1)*2)=1;temp1(find

18、(xx1=3)*2-1)=1;%将x2路信号按格雷码规则还原成0、1信号temp2=zeros(1,length(xx2)*2);temp2(find(xx2=-1)*2)=1;temp2(find(xx2=1)*2-1)=1;temp2(find(xx2=1)*2)=1;temp2(find(xx2=3)*2-1)=1;%将两路0、1信号合成一路y=zeros(1,length(temp1)*2);y(1:2:length(y)=temp1;y(2:2:length(y)=temp2;误码率曲线对于16QAM信号星座图等效为在两个正交载波上的两个PAM信号,其中每一个具有4个信号点。因为在解

19、调器中可以将相位正交的两个信号分量完全分开,所以QAM的错误概率可以由PAM的错误概率求得。16QAM系统的正确判决概率是式中,是4元PAM的错误概率,在等效QAM系统的每一个正交信号中,4元PAM具有一半的平均功率,通过适当的修改4元PAM的错误概率,可以得到其中是平均符号SNR。因此,16QAM的错误概率是具体的源代码如下:M = 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

20、: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.,prod(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);h

21、old on;semilogy(EbNo,theoryBer,ms-,LineWidth,2);legend(theory, simulation);xlabel(Eb/No, dB)ylabel(Bit Error Rate)title(Bit error probability curve for 16-QAM modulation)四、 设计结果及分析图30、1等概分布的随机信号波形图图416QAM星座图从上边的星座图上可以清楚的看到,任意相邻的两个点之间它们对应的4个bit中只有一个有差别,也就是格雷码的特点。而采用格雷码主要目的是当信噪比较大时,也就是系统的误码率比较低的情况下,当出

22、现一个符号错误的情况下,往往只是这个符号中的一个bit位出现了误码,因此这个情况下误码率和误bit率是4:1,这一特性在后边的误码率计算的过程中会有应用。图5经过插值后的两路信号波形图I路和Q路信号经过平方根升余弦滤波器后,成形后的波形如图6所示图6通过平方根升余弦滤波器后的两路信号图7 载波调制信号展开图图8加入高斯白噪声的两路信号波形图9经过匹配滤波器后的波形将采样的数据映射到星座图上图10 星座图图11 解调出来的序列从图11中可以看出解调出来的信号与输入信号图3基本一致。图12 误码率曲线图图12较为接近地反映了误码率与Eb/No的关系。五、 体会课程设计是培养学生综合运用所学知识,发

23、现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。回顾起此次数字通信课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。同时在设计过程中,发现自己有很多不足,对matlab软件的操作还不熟悉,有许多的函数还不够理解,导致我对这次的设

24、计感觉有很多的困难。皇天不负有心人,在我坚持不懈的情况下,经过多次的修改调试,基本上将设计完成了。通过这次的课程设计,我也学到了很多人生的哲理,懂得怎样去制定一个计划,怎样去实现一个计划,怎样在执行过程中去克服不良情绪。因此在以后的学习和生活中,我一定会把课程设计的精神带到学习和生活当中去,不畏艰难,勇往直前!六、 参考文献1 余兆明、余智数字电视原理西安电子科技大学出版社,200922 刘连青,数字通信技术,机械工业出版社,2003,23 樊昌信,通信原理,国防工业出版社,2005,24 张威.MATLAB基础与编程入门(第二版).西安电子科技大学出版社,2008.15 龚纯、王正林.精通M

25、ATLAB最优化计算机.电子工业出版社,2009clear;%=定义待仿真序列的维数 Nglobal NN=320;%=定义产生1的概率为 pglobal pp=0.5;%=%首先产生随机二进制序列source=randsrc(1,N,1,0;p,1-p);%=%对产生的二进制序列进行QAM调制source1,source2=Qam_modulation(source);%=%画出星座图figure(1);plot_astrology(source1,source2);%=%两路信号进行插值sig_insert1=insert_value(source1,8);sig_insert2=inse

26、rt_value(source2,8);%=%画出两路信号的波形图figure(2);plot_2way(sig_insert1,sig_insert2,length(sig_insert1),0.5);title(两路信号的波形图);%=%通过低通滤波器sig_rcos1,sig_rcos2=rise_cos(sig_insert1,sig_insert2,0.25,2);%=%画出两路信号的波形图figure(3);plot_2way(sig_rcos1,sig_rcos2,length(sig_rcos1)/4,0.5);title(通过低通滤波器后两路信号波形图);%stem_2way

27、(sig_insert1,sig_insert2,length(sig_insert1)/4,0.5);%=%=将基带信号调制到高频上t,sig_modulate=modulate_to_high(sig_rcos1,sig_rcos2,0.25,2.5);figure(4);plot(t(1:500),sig_modulate(1:500);%=%=将滤波后的信号加入高斯白噪声snr=10;x1,x2=generate_noise(sig_rcos1,sig_rcos2,snr);sig_noise1=x1;sig_noise2=x2;end;figure(5)plot_2way(sig_n

28、oise1,sig_noise2,length(sig_noise1)/4,0.5);%=经过匹配滤波器% x1,x2=match_flt(sig_noise1,sig_noise2,0.25,2);% sig_match1=x1;% sig_match2=x2;sig_match1,sig_match2=rise_cos(sig_noise1,sig_noise2,0.25,2);figure(6);plot_2way(sig_match1,sig_match2,length(sig_match1)/4,0.5);%采样x1,x2=pick_sig(sig_match1,sig_match2,8);sig_pick1=x1;sig_pick2=x2;%画出星座图figure(7)plot_astrology(sig_pick1,sig_pick2);%解调signal=demodulate_sig(sig_pick1,sig_pick2);%画出误码率曲线图

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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