多径衰落信道下不同调制方式的误码率性能.docx

上传人:scccc 文档编号:14740299 上传时间:2022-02-16 格式:DOCX 页数:12 大小:68.77KB
返回 下载 相关 举报
多径衰落信道下不同调制方式的误码率性能.docx_第1页
第1页 / 共12页
多径衰落信道下不同调制方式的误码率性能.docx_第2页
第2页 / 共12页
多径衰落信道下不同调制方式的误码率性能.docx_第3页
第3页 / 共12页
多径衰落信道下不同调制方式的误码率性能.docx_第4页
第4页 / 共12页
多径衰落信道下不同调制方式的误码率性能.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《多径衰落信道下不同调制方式的误码率性能.docx》由会员分享,可在线阅读,更多相关《多径衰落信道下不同调制方式的误码率性能.docx(12页珍藏版)》请在三一文库上搜索。

1、多径衰落信道下 不同调制方式的 BER性能院:业:名:号:一、原理本次仿真内容为基于平坦瑞利衰落信道下 QPSK及DQPSK的误比特率 性能分析,下面简单介绍一下瑞利衰落信道及两种调制方式的原理。瑞利衰落信道是一种无线电信号传播环境的统计模型。 这种模型假设信 号通过无线信道之后,其信号幅度是随机的,表现为 衰落”特性,并且多径 衰落的信号包络服从瑞利分布。由此,这种多径衰落也称为瑞利衰落。 这一 信道模型能够描述由电离层和对流层反射的短波信道,以及建筑物密集的城市环境。另外,瑞利衰落只适用于从发射机到接收机不存在视距信号的情况。QPSK是利用载波的四种不同相位差来表征输入的数字信息,是四进制

2、相移键控。它规定了四种载波相位,分别为45 135 225 275调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来, 则 需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每 两个比特分成一组,共有四种组合,即00, 01, 10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。 QPSK中每次调制可传输2个信息比特, 这些信息比特是通过载波的四种相位来传递的。 解调器根据星座图及接收到 的载波信号的相位来判断发送端发送的信息比特。DQPSK调制将信息插入到发送信号的相位差中,若以前一码元相位作

3、 为参考,并令 为本码元与前一码元的初相差,则信息编码与载波相位变 化仍可用QPSK信号相位编码逻辑关系表来表示。不过, 应变为机对 于DQPSK而言,可先将输入的双比特码经码型变换,再用码型变换器输出 的双比特码进行四相绝对移相,贝U所得到的输出信号便是四相相对移相信号。在多径信道下,QP SK的理论误比特率为1 ?P( Y= 2?1 -2V2 - ?C= ?1 + 2?Y 一 ?DQPSK的理论误比特率为1P( 丫) = 2?1 - /2 V22?C =1 + 2?二、仿真程序设计说明QPSK误码率仿真设计框图上图为平坦瑞利衰落信道下QPSK的误码率仿真原理图。首先使用rand函数产生0到

4、1的随机数,根据随机数的大小,将数据映射为QPSK复包络信号,复包络信号分别对应着不同的相位信息。使用raylrnd()函数产生服从瑞利分布的随机数,由于在平坦衰落情况下,多径衰落模型可以用乘性失真来表示,因此将信号与瑞利随机数相 乘。根据所输入的归一化信噪比信息,计算出噪声的功率谱密度,产生相对应的高斯 随机噪声。将噪声与信号相加。然后将经过平坦衰落及高斯信道的信号进行判决,恢 复复包络信号,并与加噪声之前信号相比对,统计误比特个数,计算出误码率。在仿 真程序中,为保证数据的准确性,加入while循环语句,使之产生一定数量的错误比特。QPSK不同的是,先产生二F图为平坦瑞利衰落信道下 DQP

5、SK的误码率仿真原理图。相对于QPSK,DQPSK中多了编码部分,后半部分大体一致。在仿真程序中,与进制随机序列,然后使用xor函数,将产生的随机数列编码,将编码后的数据按进行奇偶位串并转换,将转换后的数据按一定的规则映射为复包络信号,后面经过瑞利衰 落以及加噪声、判决与 QPSK 一致,最后再使用xor译码恢复原随机序列,然后比对统计误比特个数,计算出误码率。产生瑞利随机数据产生高斯 噪声数据产生二进制 随机数据编码串并转换映射为QPSKJ复包络信号LI加法运算判决乘法运算逆映射并串转换误比特率统计译码DQPS1误码率仿真设计框图三、仿真结果上图为在平坦瑞利衰落信道下两种调制方式的仿真信噪比

6、及理论信噪比。从图中可以看出,在相同误码率情况下,DQPSK所需Eb/No比QPSK要高2dB左右。附录: %RayleighFading.m clear all;EbNo1=0:1:16;EbNo2=0:0.5:16;% QPSK 调制for i=1:length(EbNo1), pb=qpsk(EbNo1(i); sim_qpsk_err_bit(i)=pb; disp(pb); echo off;end;%DQPSK 调试 echo on;for i=1:length(EbNo1), pb=dqpsk(EbNo1(i); sim_dqpsk_err_bit(i)=pb; disp(pb)

7、; echo off;end;% 理论曲线 echo on;for i=1:length(EbNo2),EbN0=exp(EbNo2(i)*log(10)/10); theo_qpsk_err_bit(i)=0.5*(1-1/sqrt(1+1/EbN0);theo_dq psk_err_bit(i)=0.5*(1-EbN0/sqrt(EbN0A2 + 2*EbN0 + 0.5); echo off;end;semilogy(EbNo2,theo_d qp sk_err_bit,r),title(平坦瑞利衰落信道下误码率曲 线);hold on;semilogy(EbNo1,sim_dqpsk_

8、err_bit,r*-);hold on;semilogy(EbNo2,theo_qpsk_err_bit,b);hold on;semilogy(EbNo1,sim_qpsk_err_bit,b*-);xlabel(Eb/No);ylabel(BER);lege nd(理论 DQP SK,仿真 DQP SK,理论 QP SK,仿真 QP SK);%qpsk.m%符号数function pb=qpsk(EbNo_dB) N=100;Eb=1;num_err_bit=0;counter=0;EbNo=10A(EbNo_dB/10);sgma=sqrt(Eb/EbNo)/2;s00=1 0; s0

9、1=0 1; s11=-1 0; s10=0 -1;while(num_err_bit80)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; elsedsource1(i)=1; dsource2(i)=1; end;end;for i=1:N, ray=raylrnd(0.7); n=sgma*randn(1,2); if (

10、dsource1(i)=0) & (dsource2(i)=0), r=ray*s00+n;elseif (dsource1(i)=0) & (dsource2(i)=1), r=ray*s01+n;elseif (dsource1(i)=1) & (dsource2(i)=0), r=s10*ray+n;elser=s11*ray+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;

11、elseif (c01=c_max), decis1=0; decis2=1; elseif (c10=c_max), decis1=1; decis2=0; else decis1=1; decis2=1; end;if (decis1=dsource1(i), num_err_bit=num_err_bit+1; end;if (decis2=dsource2(i), num_err_bit=num_err_bit+1; end;end counter=counter+1;end pb=num_err_bit/(2*N*counter);%dqpsk.m function pb=dqpsk

12、(EbNo_dB)%符号数N=100;Eb=1; num_err_bit=0; counter=0;EbNo=10A(EbNo_dB/10);sgma=sqrt(Eb/EbNo)/2;s00=1 0; s01=0 1; s11=-1 0; s10=0 -1;while(num_err_bit80) data_pr = round(rand(1,2*N); data_com = zeros(1,2*N); data_mod1 = zeros(1,N); data_mod2 = zeros(1,N); data_demod1 = zeros(1,N);data_demod2 = zeros(1,N

13、);s_rece1 = zeros(1,N);s_rece2 = zeros(1,N);datab_rece = zeros(1,2*N);dataa_rece = zeros(1,2*N); data_com(1) = xor(0,data_pr(1);for l = 2:(2*N)data_com(l) = xor(data_pr(l),data_com(-l 1); end for i = 1:Nif data_com(2*i - 1)=0 & data_com(2*i)=0 data_mod1(i) = 1,data_mod2(i) = 0;elseif data_com(2*i-1)

14、=0 & data_com(2*i)=1 data_mod1(i) = 0,data_mod2(i) = 1;elseif data_com(2*i-1)=1 & data_com(2*i)=0 data_mod1(i) = 0,data_mod2(i) =-1;elseif data_com(2*i-1)=1 & data_com(2*i)=1 data_mod1(i) = -1,data_mod2(i) = 0;end end ray=raylrnd(0.7,1,length(data_mod1);n=sgma*randn(1,length(data_mod1);s_rece1 = dat

15、a_mod1.*ray + n; s_rece2 = data_mod2.*ray + n; for k = 1:Nc00=dot(s_rece1(k),s_rece2(k),s00);c01=dot(s_rece1(k),s_rece2(k),s01);c10=dot(s_rece1(k),s_rece2(k),s10);c11=dot(s_rece1(k),s_rece2(k),s11);c_max=max(c00,c01,c10,c11);if (c00=c_max)data_demod1(k) = 0;data_demod2(k) = 0; elseif (c01=c_max)data

16、_demod1(k) = 0;data_demod2(k) = 1; elseif (c10=c_max)data_demod1(k) = 1;data_demod2(k) = 0; else data_demod1(k) = 1;data_demod2(k) = 1; end;datab_rece(2*k-1) = data_demod1(k); datab_rece(2*k) = data_demod2(k);enddataa_rece(1) = xor(0,datab_rece(1); for n = 2:(2*N)dataa_rece(n) = xor(datab_rece(n),datab_rece-(1n); endfor m = 1:(2*N)if (dataa_rece(m) = data_pr(m) num_err_bit = num_err_bit + 1;end endcounter = counter + 1;end pb=num_err_bit/(2*N*counter);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1