




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称:QPSK仿真系统一、 实验目的:1、学会QPSK调制与解调系统的构成2、学会QPSK调制与解调系统的各模块的构建3、学会误码率与误符号率的统计方法以及Matlab算法二、实验原理:1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。2、QPSK的调制方法有正交调制方式(双路二相调制合成法或直接调相法)、相位选择法、插入脉冲法。 调制与解调系统的构成:0,1序列产生器QPSK映射AWGN产生器AWGN产生器QPSK反映射比较器误比特统计误符号统计判决器IsQscnsnIrQrbb3、各模块的实现方法:(1)、信源的产生:使用randint(m,n,2) 函数产生一个m行n列的随机二进制数列(2)、QPSK符号映射 :将产生的0,1比特流按照QPSK调制方式进行映射,本实验采用/4 QPSK的调制方式,图为:(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,就算该符号出错。统计出现错误的符号数三、 实验内容:1、 调制与解调clear allclose all% 调制bit_in = randint(1e3, 1, 0 1);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);for i=1:1e4 data_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=;for i=1:20:10000 data_recover=data_recover I(i:1:i+19) Q(i:1:i+19);end;bit_recover=;for i=1:20:20000 if sum(data_recover(i:i+19)0 data_recover_a(i:i+19)=1; bit_recover=bit_recover 1; else data_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);for i=1:2e4 ddd2(i)=ddd1(i);endfor i=1:1e3 if bit_recover(i)=ddd(i) error=error+1; endendp=error/1000;figure(1)subplot(2,1,1);plot(t2,ddd2);axis(0 100 -2 2);title(原序列);subplot(2,1,2);plot(t2,data_recover_a);axis(0 100 -2 2);title(解调后序列);2、 误码率仿真% QPSK误码率分析SNRindB1=0:2:10;SNRindB2=0:0.1:10;for i=1:length(SNRindB1) pb,ps=cm_sm32(SNRindB1(i); smld_bit_err_prb(i)=pb; smld_symbol_err_prb(i)=ps;end;for i=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(0 10 10e-8 1);hold on;% semilogy(SNRindB1,smld_symbol_err_prb,o);semilogy(SNRindB2,theo_err_prb);legend(仿真比特误码率,理论比特误码率);hold off;functiony=Qfunct(x)y=(1/2)*erfc(x/sqrt(2);functionpb,ps=cm_sm32(SNRindB)N=10000;E=1;SNR=10(SNRindB/10);sgma=sqrt(E/SNR)/2;s00=1 0;s01=0 1;s11=-1 0;s10=0 -1;for i=1:N temp=rand; if (temp0.25) dsource1(i)=0; dsource2(i)=0; elseif (temp0.5) dsource1(i)=0; dsource2(i)=1; elseif (temp0.75) dsource1(i)=1; dsource2(i)=0; else dsource1(i)=1; dsource2(i)=1; end;end;numofsymbolerror=0;numofbiterror=0;for i=1:N n=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; else r=s11+n; end; c00=dot(r,s00); c01=dot(r,s01); c10=dot(r,s10); c11=dot(r,s11); c_max=max(c00 c01 c10 c11); if (c00=c_max) decis1=0;decis2=0; elseif(c01=c_max) decis1=0;decis2=1; elseif(c10=c_max) decis1=1;decis2=0; else decis1=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);3、 QPSK在AWGN信道下的仿真close allclcclear allSNR_DB=0:1:12;sum=1000000;data= randsrc(sum,2,0 1);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);for Eb_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)0); remessage(1,m1)=1+j; redata(m1,1)=1; redata(m1,2)=1; m2= find( angle(receive)pi/2&angle(receive)-pi&angle(receive)-pi/2&angle(receive)0.5)-1) + 1i*(2*(rand(1,N)0.5)-1); s = (1/sqrt(2)*p; %归一化n = 10(-Eb_N0(j)/40)*1/sqrt(2)*(randn(1,N) + 1i*randn(1,N); %加性高斯白噪声r = s + n; %解调r_re = real(r); %实部r_im = imag(r); %虚部s_data(r_re 0 & r_im = 0 & r_im 0) = 1 + 1*1i;s_data(r_re = 0) = -1 + 1*1i;s_data(r_re = 0 & r_im 0) = 1 - 1*1i; ErrorCount(j) = size(fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车电子级多晶硅料年度采购与供应协议
- 艺术类教育机构全面承包与教学质量保障协议
- 网络直播平台主播品牌代言授权合同
- 绿色物流电商平台仓储动线规划与实施合同
- 离婚失踪配偶财产安全处置及代管合同
- 《医疗救护基础》课件
- 大型国企资金集中管理体系建设
- 《T培训教程》课件
- 医学研究进度汇报
- 《张华护士长》课件
- 2025投资咨询合同范本
- 2025年北京市海淀区高三语文二模议论文《从知到智》范文
- 饭店员工劳务合同9篇
- 压敏电阻材料在织物上的印刷技术应用
- 2025民宿租赁合同标准范本
- 交通数据分析与决策支持试题及答案
- 《中国国家博物馆》课件
- 上诉状的课件
- 初中数学《轴对称及其性质》教学课件 2024-2025学年北师大版数学七年级下册
- 食用农产品集中交易市场基本情况信息表
- 广西南宁建宁水务投资集团有限责任公司招聘笔试题库2025
评论
0/150
提交评论