




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./实验名称:QPSK仿真系统实验目的:1、学会QPSK调制与解调系统的构成2、学会QPSK调制与解调系统的各模块的构建3、学会误码率与误符号率的统计方法以及Matlab算法二、实验原理:1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。2、QPSK的调制方法有正交调制方式〔双路二相调制合成法或直接调相法、相位选择法、插入脉冲法。调制与解调系统的构成:00,1序列产生器QPSK映射AWGN产生器AWGN产生器QPSK反映射比较器误比特统计误符号统计判决器IsQscnsnIrQrbˆb3、各模块的实现方法:〔1、信源的产生:使用randint<m,n,2>函数产生一个m行n列的随机二进制数列〔2、QPSK符号映射:将产生的0,1比特流按照QPSK调制方式进行映射,本实验采用π/4QPSK的调制方式,图为:〔3、AWGN信号产生:AWGN产生器就是产生满足均值为0,方差为1的高斯白噪声。实验中使用randn<m,n>函数产生一个m行n列的高斯噪声序列。〔4、信号幅度控制:根据AWGN信道模型,接收信号可以分别表示为α就是当噪声功率归一化为1〔0均值,方差为1时,根据信噪比关系而计算出来的信号平均幅度〔5、QPSK反映射及判决:对接收到的信号在4种可能的四种信号向量[<1,0>,<0,1>,<-1,0>,<0,-1>]上投影<即进行点积>。投影最大的值所对应的信号向量就是所发送信号的符号值,然后恢复出比特流〔6、误码率及误符号率统计:误码率:将检测出来的比特流和发送的原始比特流进行比较,统计出出现错误的比特数误符号率:将检测出来的比特流变成两组,构成符号,和发送端符号映射后的符号流进行比较,只要符号中任错一bit,就算该符号出错。统计出现错误的符号数实验容:调制与解调clearallcloseall%调制bit_in=randint<1e3,1,[01]>;bit_I=bit_in<1:2:1e3>;bit_Q=bit_in<2:2:1e3>;data_I=-2*bit_I+1;data_Q=-2*bit_Q+1;data_I1=repmat<data_I',20,1>;data_Q1=repmat<data_Q',20,1>;fori=1:1e4data_I2<i>=data_I1<i>;data_Q2<i>=data_Q1<i>;end;f=0:0.1:1;xrc=0.5+0.5*cos<pi*f>;data_I2_rc=conv<data_I2,xrc>/5.5;data_Q2_rc=conv<data_Q2,xrc>/5.5;f1=1;t1=0:0.1:1e3+0.9;n0=rand<size<t1>>;I_rc=data_I2_rc.*cos<2*pi*f1*t1>;Q_rc=data_Q2_rc.*sin<2*pi*f1*t1>;QPSK_rc=<sqrt<1/2>.*I_rc+sqrt<1/2>.*Q_rc>;QPSK_rc_n0=QPSK_rc+n0;%解调I_demo=QPSK_rc_n0.*cos<2*pi*f1*t1>;Q_demo=QPSK_rc_n0.*sin<2*pi*f1*t1>;%低通滤波I_recover=conv<I_demo,xrc>;Q_recover=conv<Q_demo,xrc>;I=I_recover<11:10010>;Q=Q_recover<11:10010>;t2=0:0.05:1e3-0.05;t3=0:0.1:1e3-0.1;%抽样判决data_recover=[];fori=1:20:10000data_recover=[data_recoverI<i:1:i+19>Q<i:1:i+19>];end;bit_recover=[];fori=1:20:20000ifsum<data_recover<i:i+19>>>0data_recover_a<i:i+19>=1;bit_recover=[bit_recover1];elsedata_recover_a<i:i+19>=-1;bit_recover=[bit_recover-1];endenderror=0;dd=-2*bit_in+1;ddd=[dd'];ddd1=repmat<ddd,20,1>;fori=1:2e4ddd2<i>=ddd1<i>;endfori=1:1e3ifbit_recover<i>~=ddd<i>error=error+1;endendp=error/1000;figure<1>subplot<2,1,1>;plot<t2,ddd2>;axis<[0100-22]>;title<'原序列'>;subplot<2,1,2>;plot<t2,data_recover_a>;axis<[0100-22]>;title<'解调后序列'>;误码率仿真%QPSK误码率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;fori=1:length<SNRindB1>[pb,ps]=cm_sm32<SNRindB1<i>>;smld_bit_err_prb<i>=pb;smld_symbol_err_prb<i>=ps;end;fori=1:length<SNRindB2>SNR=exp<SNRindB2<i>*log<10>/10>;theo_err_prb<i>=Qfunct<sqrt<2*SNR>>;end;title<'QPSK误码率分析'>;semilogy<SNRindB1,smld_bit_err_prb,'*'>;axis<[01010e-81]>;holdon;%semilogy<SNRindB1,smld_symbol_err_prb,'o'>;semilogy<SNRindB2,theo_err_prb>;legend<'仿真比特误码率','理论比特误码率'>;holdoff;function[y]=Qfunct<x>y=<1/2>*erfc<x/sqrt<2>>;function[pb,ps]=cm_sm32<SNRindB>N=10000;E=1;SNR=10^<SNRindB/10>;sgma=sqrt<E/SNR>/2;s00=[10];s01=[01];s11=[-10];s10=[0-1];fori=1:Ntemp=rand;if<temp<0.25>dsource1<i>=0;dsource2<i>=0;elseif<temp<0.5>dsource1<i>=0;dsource2<i>=1;elseif<temp<0.75>dsource1<i>=1;dsource2<i>=0;elsedsource1<i>=1;dsource2<i>=1;end;end;numofsymbolerror=0;numofbiterror=0;fori=1:Nn=sgma*randn<size<s00>>;if<<dsource1<i>==0>&<dsource2<i>==0>>r=s00+n;elseif<<dsource1<i>==0>&<dsource2<i>==1>>r=s01+n;elseif<<dsource1<i>==1>&<dsource2<i>==0>>r=s10+n;elser=s11+n;end;c00=dot<r,s00>;c01=dot<r,s01>;c10=dot<r,s10>;c11=dot<r,s11>;c_max=max<[c00c01c10c11]>;if<c00==c_max>decis1=0;decis2=0;elseif<c01==c_max>decis1=0;decis2=1;elseif<c10==c_max>decis1=1;decis2=0;elsedecis1=1;decis2=1;end;symbolerror=0;if<decis1~=dsource1<i>>numofbiterror=numofbiterror+1;symbolerror=1;end;if<decis2~=dsource2<i>>numofbiterror=numofbiterror+1;symbolerror=1;end;if<symbolerror==1>numofsymbolerror=numofsymbolerror+1;end;end;ps=numofsymbolerror/N;pb=numofbiterror/<2*N>;QPSK在AWGN信道下的仿真closeallclcclearallSNR_DB=[0:1:12];sum=1000000;data=randsrc<sum,2,[01]>;[a1,b1]=find<data<:,1>==0&data<:,2>==0>;message<a1>=-1-j;[a2,b2]=find<data<:,1>==0&data<:,2>==1>;message<a2>=-1+j;[a3,b3]=find<data<:,1>==1&data<:,2>==0>;message<a3>=1-j;[a4,b4]=find<data<:,1>==1&data<:,2>==1>;message<a4>=1+j;scatterplot<message>title<'B点信号的星座图'>A=1;Tb=1;Eb=A*A*Tb;P_signal=Eb/Tb;NO=Eb./<10.^<SNR_DB/10>>;P_noise=P_signal*NO;sigma=sqrt<P_noise>;forEb_NO_id=1:length<sigma>noise1=sigma<Eb_NO_id>*randn<1,sum>;noise2=sigma<Eb_NO_id>*randn<1,sum>;receive=message+noise1+noise2*j;resum=0;total=0;m1=find<angle<receive><=pi/2&angle<receive>>0>;remessage<1,m1>=1+j;redata<m1,1>=1;redata<m1,2>=1;m2=find<angle<receive>>pi/2&angle<receive><=pi>;remessage<1,m2>=-1+j;redata<m2,1>=0;redata<m2,2>=1;m3=find<angle<receive>>-pi&angle<receive><=-pi/2>;remessage<1,m3>=-1-j;redata<m3,1>=0;redata<m3,2>=0;m4=find<angle<receive>>-pi/2&angle<receive><=0>;remessage<1,m4>=1-j;redata<m4,1>=1;redata<m4,2>=0;[resum,ratio1]=symerr<data,redata>;pbit<Eb_NO_id>=resum/<sum*2>;[total,ratio2]=symerr<message,remessage>;pe<Eb_NO_id>=total/sum;endscatterplot<receive>title<'C点信号的星座图'>Pe=1-<1-1/2*erfc<sqrt<10.^<SNR_DB/10>/2>>>.^2;Pbit=1/2*erfc<sqrt<10.^<SNR_DB/10>/2>>;figure<3>semilogy<SNR_DB,pe,':s',SNR_DB,Pe,'-*',SNR_DB,pbit,'-o',SNR_DB,Pbit,':+'>legend<'QPSK仿真误码率','QPSK理论误码率','QPSK仿真误比特率','QPSK理论误比特率',1>xlabel<'信噪比/dB'>ylabel<'概率P'>girdon结果:QPSK在AWGN信道下的性能检测clearall;%对随机序列产生的方法初始化s=RandStream<'mt19937ar','Seed',5489>;RandStream.setDefaultStream<s>;s=RandStream<'mcg16807','Seed',0>;RandStream.setDefaultStream<s>;N=10^5;%码元数Eb_N0=-4:20;%Eb/N0比特信噪比s_data=zeros<1,N>;ErrorCount=zeros<1,length<Eb_N0>>;%预先分配存,用于记录错误的码元数forj=1:length<Eb_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手车评估师劳动合同范本
- 代储代销合同范本
- 别墅代理销售合同范本
- 卡座安装合同范例
- 变更营业执照合同范本
- 单位对外担保合同范本
- 中式快餐合同范本
- 质量管理 第4版 教案 12-QM Homework Assignments for students
- 门诊卧位护理
- 胰腺手术护理案例分析
- 第2课唐朝建立与“贞观之治”课件-七年级历史下册(统编版)
- 智研咨询发布:2025年中国减速器行业市场现状及投资前景分析报告
- 2025年七下道德与法治教材习题答案
- 部编2024版历史七年级下册第二单元第12课《宋元时期经济的繁荣》检测卷
- 家政服务员(母婴护理员)五级模拟试题及答案
- 2024-2025学年七年级历史下册 13 宋元时期的科技与中外交通说课稿 新人教版
- 2025年湖北省宏泰国有资本投资运营集团有限公司招聘笔试参考题库附带答案详解
- 夜景照明吊绳施工方案
- 2025借款合同范本个人向公司借款
- 互联网智慧养老综合服务平台建设与运营方案
- 【大学课件】审计的发展史
评论
0/150
提交评论