ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:176.28KB ,
资源ID:3085156      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3085156.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(QPSK调制解调课设完整版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

QPSK调制解调课设完整版.docx

1、QPSK调制解调课设完整版 2012专业综合课程设计 通信专业 姓名:* 班级:0902402 学号:090240212 题目:利用matlab设计并仿真数字通信系统一、题目要求利用matlab软件设计并仿真下面的无线通信系统要求:1、输入信号为比特流形式,比特速率通常为100kbps数量级。2、载波频率自定。通常为MHz数量级。3、信道为多径信道(仿真中2径即可),信道中噪声为加性高斯白噪声。4、信噪比自行设定。5、画出图中各点波形。6、画出系统误码率与接收端信噪比SNR的关系(蒙特卡洛仿真)。7、在给定信噪比情况下,分析多径延时大小对系统性能有没有影响? 画出系统误码率与多径延时大小之间的

2、关系。2、设计过程 1)概念理解: QPSK即四进制移向键控(Quaternary Phase Shift Keying),它利用载波的四种不同相位来表示数字信息,由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。两个二进制码元中的前一个码元用a表示,后一个码元用b表示。 2)调制: QPSK信号可以看作两个载波正交2PSK信号的合成,下图表示 QPSK正交调制器。原理分析:由randint函数产生一个1x20的二进制随机矩阵,作为基带信号data;然后转换成极性码(极性NRZ电平编码器);然后按奇偶次序抽出随机数后组成1x10的矩阵(分离器);将这两个矩

3、阵中码元宽度增大为原来的2倍(采用增加点数);如图在a路Idata与余弦载波相乘,b路同理;最后代数相加,此时便产生QPSK调制信号作为输出。 3)解调:解调原理图如下所示。 1(t) 同相信道 门限0 2(t) 正交信道 门限0 原理分析:同相支路和正交支路分别采用相干解调方式解调,得到和,经过低通滤波器(LPF)抽样判决和并/串交换器,将上下支路得到的并行数据恢复成串行数据demodata(1x20),此过程在复接器实现,此时便得到QPSK解调信号(应该和基带信号一样)。4)高斯信道:应题目要求,通过无线信道传输的调制信号会加入高斯噪声,使用awgn(si,SNR)函数来实现;实现多径信道

4、,将延时后的信号s1加到未延时信号s0合并作为输出信号即可。5)带通滤波器(BPF): 使用butter(N ,wp1,wp2,)和filter函数实现,其中的参数通过计算公式可知 Wp1=2*delta_t*(fc-f); Wp2=2*delta_t*(fc+f);三、仿真结果及分析 图一 随机产生一个1x20的二进制随机矩阵data,图中基带每个码元由抽样间隔delta_t间隔的离散点构成,总共2000个点(即每个码元由100个点构成),I/Q路信号的码元应该为原来的2倍,所以每个码元由200个点构成,这样长度才能和原序列等长。 实现的部分代码如下:data=randint(1,nb);

5、% 调用一个随机函数(0 or 1),输出到一个1*100的矩阵datanrz=data.*2-1; % 变成极性码data1=zeros(1,2000); % 创建一个1*nb/delta_T的零矩阵%将基带信号变换成对应波形信号data0=zeros(1,2000); % 创建一个1*nb/delta_T的零矩阵for q=1:nb data0(q-1)*100+1:q*100)=data(q); % 将非极性码变成对应的波形信号end % 串并转换,将奇偶位数据分开idata=datanrz(1:ml:(nb-1); % 将奇偶位分开,因此间隔m1为2idata0=zeros(1,200

6、0); % 创建一个1*nb/delta_T的零矩阵for q=1:nb/2 idata0(2*(q-1)*100+1:2*q*100)=idata(q); % 将其码元宽度扩展成为原来码元的2倍end qdata=datanrz(2:ml:nb);qdata0=zeros(1,2000); for q=1:nb/2 qdata0(2*(q-1)*100+1:2*q*100)=qdata(q);end 图二:部分代码如下:% QPSK信号的调制%for ii=1:N a(ii)=cos(2*pi*fc*t(ii); endidata1=idata0.*a; % 奇数位数据与余弦函数相乘,得到一

7、路的调制信号for jj=1:N b(jj)=-sin(2*pi*fc*t(jj);endqdata1=qdata0.*b; % 偶数位数据与余弦函数相乘,得到另一路的调制信号s0=idata1+qdata1; % 将奇偶位数据合并,s即为QPSK调制信号%延迟信号%delay=0.0019;for ii0=1:N a_dl(ii0)=cos(2*pi*fc*t(ii0)+delay); endidata1_dl=idata0.*a_dl; % 奇数位数据与余弦函数相乘,得到一路的调制信号for jj0=1:N b_dl(jj0)=-sin(2*pi*fc*t(jj0)+delay);endq

8、data1_dl=qdata0.*b_dl; % 偶数位数据与余弦函数相乘,得到另一路的调制信号 s1=idata1_dl+qdata1_dl; % 将奇偶位数据合并,s即为QPSK调制信号% 高斯信道 si=s0+s1;图三: 通过带通滤波器(PLF)后,上下的毛刺(即高斯噪声)得到了很好的滤除,但是和图二中的调制信号相比,有点儿失真。部分代码如下:% 高斯信道 si=s0+s1;sk=awgn(si,SNR); % 通过高斯信道之后的信号%butter数字带通滤波器B,A=butter(4,0.08,0.12,bandpass);sr=filter(B,A,sk);图四: 在通过同相支路和

9、正交支路分别采用相干解调方式解调后,得到和,其中包络为低频,在经过低通滤波器后(LPF)后,能很好的滤除高频部分(载波),得到低频部分,和图一的I/Q路信号对比,基本不失真;然后进行抽样判决和并/串交换器,将上下支路得到的并行数据恢复成串行数据demodata(1x20),此时便得到QPSK解调信号,基本保持不失真。 部分代码如下: %解调部分 idata_lpf=sr.*a; % 这里面其实隐藏了一个串并转换的过程qdata_lpf=sr.*b; % 对应的信号与正余弦信号相乘 %低通滤波器%W,M=butter(4,0.03365,low);idata2=filter(W,M,idata_

10、lpf);qdata2=filter(W,M,qdata_lpf);idata3=zeros(1,nb/2);% 建立1*nb/2数组,以存放解调之后的信号qdata3=zeros(1,nb/2);% 抽样判决的过程,与0作比较,data=0,则置1,否则置0for n=1:nb/2 if sum(idata2(n-1)*200+1:n*200)=0 idata3(n)=1; else idata3(n)=0; endif sum(qdata2(n-1)*200+1:n*200)=0 qdata3(n)=1; else qdata3(n)=0; end end % 将判决之后的数据存放进数组d

11、emodata=zeros(1,nb); %解调信号demodata(1:ml:(nb-1)=idata3; % 存放奇数位demodata(2:ml:nb)=qdata3; % 存放偶数位%为了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平)demodata1=zeros(1,2000); % 创建一个1*nb/delta_T的零矩阵for q=1:nb demodata1(q-1)*100+1:q*100)=demodata(q); % 将极性码变成对应的波形信号end%图五: 系统误码率与接收端信噪比SNR的关系(蒙特卡洛仿真)。本实验将SNR=0:6设为大循环,里面包含一个f

12、or循环(10000次);每当循环10000次,统计误码数p(h),计算出误码率perror;随着信噪比的增大,误码率呈现下降趋势,在SNR=5,6时,基本误码率为0。部分代码如下:for SNR=0:6 % 信噪比for f=1:500 . . end% 误码率计算for v=1:length(data); if data(v)=demodata(v); p(h)=p(h)+1; endend end perror(y)=p(h)/10000; y=y+1; h=h+1;End figure(8) SNR=0:6;plot(SNR,perror);title(误码率和信噪比的关系);axis

13、(0 6 0 0.008);图六:误码率和延时的关系:在一个周期内,可以看出00.2.1.21.4之间呈现上升趋势,这是因为误码率随着延时在一定范围的增大而增大,而在整个02内,具有周期性变化,周期为1/fc。部分代码如下:clc;y=1;h=1; dd=1;SNR=3.6; %此处涉信噪比为3.6MINtime=0;MAXtime=50*1e-7;delay_t=1e-7;p=zeros(1,50);perror=zeros(1,50);for delay=MINtime:delay_t:MAXtime-delay_t for. . End %在SNR=3.6,每取定一个delay,就得出一

14、个误码率Endfigure(9)delay=MINtime:delay_t:MAXtime-delay_t;stem(delay,perror);title(PERROR&DELAY); axis(MINtime MAXtime 0 0.01);四、实验小结1)设计缺点:用了for循环的方式一增加点数实现对I/Q路信号的码元宽度进行拓宽,可以参考ceil函数;低通滤波器的截止频率并没有设置为2*delta_t*f,因为这样误码率非常大,所以设置了一个比其稍大的参数;最后的误码率和延时的关系图由于取点(n=20)较少,所以并没有很好的反映出他们的关系。2)设计优点:程序进一步优化后,再取大量点时运行速度较为理想;误码率实现了10*(-4)级的理想化;判决时通过使用sum(.)与0的比较来更为准确的做出判决,减小了误码率,若采用中点取点(如:0200,在100处来判决),这样偶然误差较大,从而译码器准度不高。 3)学到

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1