关键词不能为空

当前您在: 苍耳解梦网 > 运势 >

毕业设计基于matlab的QPSK系统仿真 (1)

作者:苍耳解梦网
来源:https://www.cange.org.cn
日期:2020-03-20 13:22
四基本星座
基于MATLAB的QPSK仿真设计与实现 一.前言 1.1QPSK系统的应用背景简介 QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
1.2 QPSK实验仿真的意义 通过完成设计内容, 复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。 理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。
复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。
在完成要求任务的条件下,尝试优化程序。 通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推广,让更多的学生来深入一层的了解QPSK以至其他调制方式的原理和实现方法。
可以方便学生进行测试和对比。足不出户便可以做实验。

1.3 实验平台和实验内容
1.
3.1实验平台 本实验是基于Matlab的软件仿真,只需PC机上安装MATLAB
6.0或者以上版本即可。 (本实验附带基于Matlab Simulink (模块化)仿真,如需使用必须安装simulink 模块)
1.
3.2实验内容
1.构建一个理想信道基本QPSK仿真系统,要求仿真结果有 a.基带输入波形及其功率谱 信号及其功率谱 信号星座图
2.构建一个在AWGN(高斯白噪声)信道条件下的QPSK仿真系统,要求仿真结果有 信号及其功率谱 信号星座图 c.高斯白噪声信道条件下的误码性能以及高斯白噪声的理论曲线,要求所有误码性能曲线在同一坐标比例下绘制 3验可选做扩展内容要求: 构建一个先经过Rayleigh(瑞利衰落信道),再通过AWGN(高斯白噪声)信道条件下的条件下的QPSK仿真系统,要求仿真结果有 信号及其功率谱 b.通过瑞利衰落信道之前和之后的信号星座图,前后进行比较 c.在瑞利衰落信道和在高斯白噪声条件下的误码性能曲线,并和二.
2.c中所要求的误码性能曲线在同一坐标比例下绘制 二、系统实现框图和分析
2.

1、QPSK调制部分,原理框图如图1所示 1(t)=2cos(2fct) T二进制 数据序列 极性NRZ 电平编码器 分离器 QPSK 信号(st) 2(t)=2Tsin(2fct) 图1 原理分析: 基本原理及系统结构 QPSK与二进制PSK一样,传输信号包含的信息都存在于相位中。的别的载波相位取四个等间隔值之一,如л/4, 3л/4,5л/4,和7л/4。相应的,可将发射信号定义为 2E/tcos[2ft(2i1)/4] 0≤t≤T Si(t) = 0。
, 其他 其中,i=1,2,2,4;E为发射信号的每个符号的能量,T为符号持续时间,载波频率f等于nc/T,nc为固定整数。每一个可能的相位值对应于一个特定的二位组。
例如,可用前述的一组相位值来表示格雷码的一组二位组:10,00,01,11。 下面介绍QPSK信号的产生和检测。
如果a为典型的QPSK发射机框图。输入的二进制数据序列首先被不归零(NRZ)电平编码转换器转换为极性形式,即负号1和0分别用Eb和-Eb表示。
接着,该二进制波形被分接器分成两个分别由输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用a1(t),和a2(t)表示。
容易注意到,在任何一信号时间间隔内a1(t),和a2(t)的幅度恰好分别等于Si1和 Si2,即由发送的二位组决定。这两个二进制波形a1(t),和a2(t)被用来调制一对正交载波或者说正交基本函数:1(t)=2cos(2f)ct,2(t)=2sin(2f)这样就得到一对二进制PSKct。TT信号。
1(t)和2(t)的正交性使这两个信号可以被独立地检测。最后,将这两个二进制PSK信号相加,从而得期望的QPSK。

2.

2、QPSK解调部分,原理框图如图2所示: 1(t) 同相信道 门限=0 低通filrer 判决门限 接收信 号 x(t) 复接器 发送二进制序列的低通filrer 判决门限 2(t) 正交信道 门限=0 图2 原理分析: QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号1(t)和2(t)。相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号1;如果x1<0 ,则判决同相信道的输出为符号0。;类似地。如果正交通道也是如此判决输出。最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。在AWGN信道中,判决结果具有最小的负号差错概率。 三、实验结果及分析 根据图1和图2的流程框图设计仿真程序,得出结果并且分析如下:
3.

1、理想信道下的仿真,实验结果如图3所示 实验结果分析: 图3 如图上结果显示,完成了QPSK信号在理想信道上的调制,传输,解调的过程,由于调制过程中加进了载波,因此调制信号的功率谱密度会发生变化。并且可以看出调制解调的结果没有误码。

3.

2、高斯信道下的仿真,结果如图4所示: 图4 实验结果分析: 由图4可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和QPSK信号的星座图。 在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图1中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,在各个频率上其功率是均匀的,因此此结果是真确的。
星座图反映可接收信号早高斯噪声的影响下发生了误码,但是大部分还是保持了原来的特性。
3.

3、先通过瑞利衰落信道再通过高斯信道的仿真。
实验结果如图5所示: 图5 实验结果分析: 由图5可以得到瑞利衰落信道前后的星座图,调制信号的曲线图及其功率谱密度。
最后显示的是高斯信道和瑞利衰落信道的误码率对比。
由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。 至此,仿真实验就全部完成。 四、致谢 感谢指导老师**老师对我们的指导,帮我们解决了不少的问题。也感谢队友之间的相互合作。希望以后再接再厉,努力学习。 附录 参考文献:

1、《MATLAB 宝典》 陈杰等编著 电子工业出版社

2、《MATLAB信号处理》 刘波, 文忠, 曾涯编著 北京电子工业出版社

3、《数字信号处理的MATLAB实现》 万永革编著 北京科学出版社

4、网上资料 Simulink 仿真数据:

1、调制框图,如图6所示

2、解调模块如图7所示 图6 图7

3、调制信号及其功率谱密度如图8所示 图8

4、调制信号的星座图如图9所示: 图9

5、基带信号与调制信号之间的关系如图10所示: 图10 附录
2: %主文件 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%题目: 理想信道 瑞利衰落信道 高斯信道 下的QPSK仿真 %%%%%%%作者: 陈镇沅 %%%%%%%完成日期: 2011-4-6 %%%%%%%邮箱:forgiveme1989@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; %%%%%%%%%%%%%%%%%%%%% %%% 初始化参数 %%%%%%%%%%%%%%%%%%%%% T=1; % 基带信号宽度,也就是频率 fc=10/T; % 载波频率 ml=2; % 调制信号类型的一个标志位(选取2的原因见23行) nb=100; % 传输的比特数 delta_T=T/200; % 采样间隔 fs=1/delta_T; % 采样频率 SNR=0; % 信噪比 t=
0:delta_T:nb*T-delta_T; % 限定t的取值范围 N=length(t); % 采样数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% 调制部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 基带信号的产生 data=randn(1,nb)>
0.5; % 调用一个随机函数(0 or 1),输出到一个1*100的矩阵 datanrz=data.*2-1; % 变成极性码 data1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=
1:nb data1((q-1)/delta_T+
1:q/delta_T)=datanrz(q); % 将极性码变成对应的波形信号 end % 将基带信号变换成对应波形信号 data0=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=
1:nb data0((q-1)/delta_T+
1:q/delta_T)=data(q); % 将极性码变成对应的波形信号 end % 发射的信号 data2=abs(fft(data1)); % 串并转换,将奇偶位数据分开 idata=datanrz(
1:ml:(nb-1)); % 将奇偶位分开,因此间隔m1为2 qdata=datanrz(
2:ml:nb); % QPSK信号的调制 ich=zeros(1,nb/delta_T/2); % 创建一个1*nb/delta_T/2的零矩阵,以便后面存放奇偶位数据 for i=
1:nb/2 ich((i-1)/delta_T+
1:i/delta_T)=idata(i); end for ii=
1:N/2 a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii)); end idata1=ich.*a; % 奇数位数据与余弦函数相乘,得到一路的调制信号 qch=zeros(1,nb/2/delta_T); for j1=
1:nb/2 qch((j1-1)/delta_T+
1:j1/delta_T)=qdata(j1); end for jj=
1:N/2 b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj)); end qdata1=qch.*b; % 偶数位数据与余弦函数相乘,得到另一路的调制信号 s=idata1+qdata1; % 将奇偶位数据合并,s即为QPSK调制信号 ss=abs(fft(s)); % 快速傅里叶变换得到频谱 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% 瑞利衰落信道和高斯信道 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 瑞利衰落信道 ray_ich=raylrnd(
0.8,1,nb/2/delta_T); ray_qch=raylrnd(
0.8,1,nb/2/delta_T); Ray_idata=idata
1.*ray_ich; Ray_qdata=qdata
1.*ray_qch; Ray_s=Ray_idata+Ray_qdata; %%%%%%%%%%%%%%%%%%%%%%%%%% % 高斯信道 s1=awgn(s,SNR); % 通过高斯信道之后的信号 s11=abs(fft(s1)); % 快速傅里叶变换得到频谱 s111=s1-s; % 高斯噪声曲线 %%%%%%%%%%%%%%%%%%%%%%%%%% Awgn_s=awgn(Ray_s,SNR); % 通过高斯信道再通过瑞利衰落信道 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% QPSK 解调部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 解调部分(高斯信道) idata2=s
1.*a; % 这里面其实隐藏了一个串并转换的过程 qdata2=s
1.*b; % 对应的信号与正余弦信号相乘 idata3=zeros(1,nb/2); % 建立1*nb数组,以存放解调之后的信号 qdata3=zeros(1,nb/2); % 抽样判决的过程,与0作比较,data>=0,则置1,否则置0 for n=
1:nb/2 % A1(n)=sum(idata2((n-1)/delta_T+
1:n/delta_T)); if sum(idata2((n-1)/delta_T+
1:n/delta_T))>=0 idata3(n)=1; else idata3(n)=0; end % A2(n)=sum(qdata2((n-1)/delta_T+
1:n/delta_T)); if sum(qdata2((n-1)/delta_T+
1:n/delta_T))>=0 qdata3(n)=1; else qdata3(n)=0; end end % 为了显示星座图,将信号进行处理 idata4=zeros(1,nb/2); qdata4=zeros(1,nb/2); for n=
1:nb/2 Awgn_ichsum(n)=sum(idata2((n-1)/delta_T+
1:n/delta_T))*delta_T; if Awgn_ichsum(n)>=0 idata4(n)=1; else idata4(n)=0; end Awgn_qchsum(n)=sum(qdata2((n-1)/delta_T+
1:n/delta_T))*delta_T; if Awgn_qchsum(n)>=0 qdata4(n)=1; else qdata4(n)=0; end end % 将判决之后的数据存放进数组 demodata=zeros(1,nb); demodata(
1:ml:(nb-1))=idata3; % 存放奇数位 demodata(
2:ml:nb)=qdata3; % 存放偶数位 %为了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平) demodata1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=
1:nb demodata1((q-1)/delta_T+
1:q/delta_T)=demodata(q); % 将极性码变成对应的波形信号 end % 累计误码数 % abs(demodata-data)求接收端和发射端 % 数据差的绝对值,累计之后就是误码个数 Awgn_num_BER=sum(abs(demodata-data)) %%%%%%%%%%%%%%%%%%% % 解调部分(瑞利+高斯) Ray_idata2=Ray_s.*a; % 这里面其实隐藏了一个串并转换的过程 Ray_qdata2=Ray_s.*b; % 对应的信号与正余弦信号相乘 % Ray_idata3=zeros(1,nb/2); % 建立1*nb数组,以存放解调之后的信号 % Ray_qdata3=zeros(1,nb/2); % 抽样判决的过程,与0作比较,data>=0,则置1,否则置0 % for n=
1:nb/2 % if Ray_sum(Ray_idata2((n-1)/delta_T+
1:n/delta_T))>=0 % Ray_idata3(n)=1; % else Ray_idata3(n)=0; % end % if Ray_sum(Ray_qdata2((n-1)/delta_T+
1:n/delta_T))>=0 % Ray_qdata3(n)=1; % else Ray_qdata3(n)=0; % end % end % 为了显示星座图,将信号进行处理 Ray_idata4=zeros(1,nb/2); Ray_qdata4=zeros(1,nb/2); for n=
1:nb/2 Ray_ichsum(n)=sum(idata2((n-1)/delta_T+
1:n/delta_T))*delta_T; if Ray_ichsum(n)>=0 Ray_idata4(n)=1; else Ray_idata4(n)=0; end Ray_qchsum(n)=sum(qdata2((n-1)/delta_T+
1:n/delta_T))*delta_T; if Ray_qchsum(n)>=0 Ray_qdata4(n)=1; else Ray_qdata4(n)=0; end end % 将判决之后的数据存放进数组 Ray_demodata=zeros(1,nb); Ray_demodata(
1:ml:(nb-1))=Ray_idata4; % 存放奇数位 Ray_demodata(
2:ml:nb)=Ray_qdata4; % 存放偶数位 %为了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平) Ray_demodata1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=
1:nb Ray_demodata1((q-1)/delta_T+
1:q/delta_T)=Ray_demodata(q); % 将极性码变成对应的波形信号 end % 累计误码数 % abs(demodata-data)求接收端和发射端 % 数据差的绝对值,累计之后就是误码个数 Ray_num_BER=sum(abs(Ray_demodata-data)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 误码率计算 %% 调用了cm_sm32();和cm_sm33()函数 %%声明: 函数声明在另外俩个M文件中 %%作用: cm_sm32()用于瑞利信道误码率的计算 %% cm_sm33()用于高斯信道误码率的计算 %% ecoh on/off 作用在于决定是否显示指令内容 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SNRindB1=
0:
1:6; SNRindB2=
0:
0.
1:6; % 瑞利衰落信道 for i=
1:length(SNRindB1), [pb,ps]=cm_sm32(SNRindB1(i)); % 比特误码率 smld_bit_ray_err_prb(i)=pb; smld_symbol_ray_err_prb(i)=ps; disp([ps,pb]); echo off; end; % 高斯信道 echo on; for i=
1:length(SNRindB1), [pb1,ps1]=cm_sm33(SNRindB1(i)); smld_bit_awgn_err_prb(i)=pb1; smld_symbol_awgn_err_prb(i)=ps1; disp([ps1,pb1]); echo off; end; % 理论曲线 echo on; for i=
1:length(SNRindB2), SNR=exp(SNRindB2(i)*log(10)/10); % 信噪比 theo_err_awgn_prb(i)=
0.5*erfc(sqrt(SNR)); % 高斯噪声理论误码率 theo_err_ray_prb(i)=
0.5*(1-1/sqrt(1+1/SNR)); % 瑞利衰落信道理论误码率 echo off; end; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% h = % 类似于C语言的宏定义,方便以下的调用 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% 输出显示部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 第一部分(理想) figure(1) subplot(3,2,1); plot(data0),title('基带信号'); axis([0 20000 -2 2]); subplot(3,2,2); psd(h,data1,'fs',fs),title('基带信号功率谱密度'); subplot(3,2,3); plot(s),title('调制信号'); axis([0 500 -3 3]); subplot(3,2,4); psd(h,s,'fs',fs),title('调制信号功率谱密度'); subplot(3,2,5); plot(demodata1),title('解调输出'); axis([0 20000 -2 2]); subplot(3,2,6); psd(h,demodata1,'fs',fs),title('解调输出功率谱密度'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 通过高斯信道 figure(2) subplot(2,2,1); plot(s1),title('调制信号(Awgn)'); axis([0 500 -5 5]); subplot(2,2,2); psd(h,s1,'fs',fs),title('调制信号功率谱密度(Awgn)'); subplot(2,2,3); plot(s111),title('高斯噪声曲线'); axis([0 2000 -5 5]); subplot(2,2,4); for i=
1:nb/2 plot(idata(i),qdata(i),'r+'),title('QPSK信号星座图(Awgn)');hold on; axis([-2 2 -2 2]); plot(Awgn_ichsum(i),Awgn_qchsum(i),'*');hold on; legend('理论值(发射端)','实际值(接收端)'); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %通过高斯信道再通过瑞利衰落信道 figure(3) subplot(2,2,1) plot(Ray_s),title('调制信号(Ray+Awgn)'); axis([0 500 -5 5]); subplot(2,2,2); psd(h,Ray_s,'fs',fs),title('调制信号功率谱密度(Ray)'); subplot(2,2,3); for i=
1:nb/2 plot(idata(i),qdata(i),'r+'),title('QPSK信号星座图(Awgn+Ray)');hold on; axis([-2 2 -2 2]); plot(Ray_ichsum(i),Ray_qchsum(i),'*');hold on; legend('理论值(发射端)','实际值(接收端)'); end subplot(2,2,4) semilogy(SNRindB2,theo_err_awgn_prb,'r'),title('误码率曲线');hold on; semilogy(SNRindB1,smld_bit_awgn_err_prb,'r*');hold on; semilogy(SNRindB2,theo_err_ray_prb);hold on; semilogy(SNRindB1,smld_bit_ray_err_prb,'*'); xlabel('Eb/No');ylabel('BER'); legend('理论AWGN','仿真AWGN','理论Rayleigh','仿真Rayleigh'); %文件2 function [pb,ps]=cm_sm32(snr_in_dB) % [pb,ps]=cm_sm32(snr_in_dB) % CM_SM3 finds the probability of bit error and symbol error for % the given value of snr_in_dB, signal to noise ratio in dB. N=100; E=1; % energy per symbol numofsymbolerror=0; numofbiterror=0; counter=0; snr=10^(snr_in_dB/10); % signal to noise ratio sgma=sqrt(E/snr)/2; % noise variance s00=[1 0]; s01=[0 1]; s11=[-1 0]; s10=[0 -1]; % signal mapping % generation of the data source while(numofbiterror<100) for i=
1:N, temp=rand; % a uniform random variable between 0 and 1 if (temp<
0.25), % with probability 1/4, source output is "00" dsource1(i)=0; dsource2(i)=0; elseif (temp<
0.5), % with probability 1/4, source output is "01" dsource1(i)=0; dsource2(i)=1; elseif (temp<
0.75), % with probability 1/4, source output is "10" dsource1(i)=1; dsource2(i)=0; else % with probability 1/4, source output is "11" dsource1(i)=1; dsource2(i)=1; end; end; % detection and the probability of error calculation for i=
1:N, ray=raylrnd(
0.8); n=sgma*randn(1,2); % 2 normal distributed r.v with 0, variance sgma if ((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; else r=s11*ray+n; end; % The correlation metrics are computed below c00=dot(r,s00); c01=dot(r,s01); c10=dot(r,s10); c11=dot(r,s11); % The decision on the ith symbol is made next 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; % Increment the error counter, if the decision is not correct 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 counter=counter+1; end ps=numofsymbolerror/(N*counter); % since there are totally N symbols pb=numofbiterror/(2*N*counter); % since 2N bits are transmitted %文件3 function [pb1,ps1]=cm_sm32(snr_in_dB) % [pb,ps]=cm_sm32(snr_in_dB) % CM_SM3 finds the probability of bit error and symbol error for % the given value of snr_in_dB, signal to noise ratio in dB. N=100; E=1; % energy per symbol snr=10^(snr_in_dB/10); % signal to noise ratio sgma=sqrt(E/snr)/2; % noise variance s00=[1 0]; s01=[0 1]; s11=[-1 0]; s10=[0 -1]; % signal mapping % generation of the data source numofsymbolerror=0; numofbiterror=0; counter=0; while(numofbiterror<100) for i=
1:N, temp=rand; % a uniform random variable between 0 and 1 if (temp<
0.25), % with probability 1/4, source output is "00" dsource1(i)=0; dsource2(i)=0; elseif (temp<
0.5), % with probability 1/4, source output is "01" dsource1(i)=0; dsource2(i)=1; elseif (temp<
0.75), % with probability 1/4, source output is "10" dsource1(i)=1; dsource2(i)=0; else % with probability 1/4, source output is "11" dsource1(i)=1; dsource2(i)=1; end; end; % detection and the probability of error calculation for i=
1:N, % the received signal at the detection, for the ith symbol,is: n=sgma*randn(1,2); % 2 normal distributed r.v with 0, variance sgma 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; % The correlation metrics are computed below c00=dot(r,s00); c01=dot(r,s01); c10=dot(r,s10); c11=dot(r,s11); % The decision on the ith symbol is made next 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; % Increment the error counter, if the decision is not correct 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 counter=counter+1; end ps1=numofsymbolerror/(N*counter); % since there are totally N symbols pb1=numofbiterror/(2*N*counter); % since 2N bits are transmitted 四基本星座。
梦见老鼠是什么意思, 梦见吃饺子, 梦见大便, 梦见去世的亲人, 梦见好多蛇, 梦见很多蛇, 梦见好多鱼, 梦见和老公吵架, 梦见老房子, 梦见人死了, 梦见谈恋爱, 做梦梦见猫, 梦见电梯, 梦见自己游泳, 梦见流星雨, 梦见自己生小孩, 梦见花圈, 梦见被鬼追, 梦见大房子, 梦见撒尿, 做梦梦见掉牙, 梦见摘草莓, 梦见观音, 梦见燕子, 梦见抱着婴儿, 周公解梦梦见棺材, 梦见找不到家, 梦见知了, 梦见自己的牙齿掉了, 梦见自己溺水, 做梦梦见好多蛇, 梦见海水涨潮, 梦见死小孩, 梦见奔丧, 梦见玉碎了, 梦见有人跳楼自杀, 做梦梦见别人结婚, 梦见蛇代表什么, 梦见捡假钱, 周公解梦大全梦见, 梦见自己过桥, 梦见猫追我, 梦见死人对我笑, 梦见拿别人的钱, 梦见吊死人, 孕妇梦见, .梦见狗, 梦见被蛇, .梦见肉, 梦见爬爬, 梦见衣服穿, 梦见受伤, 梦见吗, 梦见前, 梦见门, 梦见她, 我梦见朋友, 梦见大哭, 梦见黑狗, 梦见戒指, 怀孕梦见蛇, 我梦见什么, 梦见白菜, 梦见梦见钱, 梦见干活, 梦见自己鱼, 梦见公鸡, 梦见很高, 梦见摩托车, 梦见土豆, 梦见烧香, 梦见追赶., 梦见空中, 梦见鹅, 梦见全, 梦见包子, 梦见醒了, 梦见厨房, 梦见大狗, 梦见追蛇, 梦见接吻, 梦见自己水, 梦见别人鞋, 梦见蛤蟆, 梦见角, 梦见去世的母亲, 梦见豆腐., 一梦见同事, 梦见蛇吃, 梦见拥抱, 梦见桃花, 梦见花蛇, 梦见屎拉, 梦见大-蛇, 梦见不理我, 梦见被家人, 梦见蛇脚, 梦见水意思, 梦见的事情, 梦见捡鸡蛋, 梦见猫头, 梦见紫色的, 梦见猫在, 梦见的 夜, 梦见吃鸡, 梦见快死, 梦见l, 梦见摘葡萄, 孕妇梦见屎, 梦见在猪, 梦见自己枪, 孕妇梦见跑, 梦见蚕, 梦见湖, 梦见被大蛇, 梦见打死人, 梦见死猫, 梦见B, 梦见给同事, 梦见花开的, 梦见海浪, 梦见摘豆角, 梦见从井, 梦见好的鱼, 梦见左手被, 梦见外国人, 梦见船翻了, 梦见姐姐死了, 梦见捅刀, 梦见宝石, 梦见与客户, 梦见又新车, 梦见好的鸡, 梦见死了鸡, 梦见聊, 梦见小孩尿, 梦见梳子了, 梦见牙坏, 梦见牙齿碎了, 梦见自己得病, 梦见在谷子, 梦见水浇, 梦见同事家, 梦见在水中, 梦见没出血, 梦见锁的, 梦见有头发, 梦见被下跪, 梦见红衣服, 梦见怀孕猫, 梦见粪坑里, 梦见在捞鱼, 梦见升官, 孕妇梦见椒, 梦见掉颗牙, 梦见摘杏, 梦见着火了, 梦见和男朋友分手, 梦见上大便, 梦见题, 梦见飞机掉下来, 梦见洗盆, 梦见蛇鼠, 梦见被乌龟咬, 梦见发吃的, 女人梦见死, 梦见胳膊, 梦见血带, 梦见买的鞋, 梦见与明星, 梦见别人帮, 梦见妻子出轨, 梦见猪仔, 梦见被油炸, 梦见把龙, 梦见没钱了, 梦见花盛开, 梦见亲自己, 梦见男孩尿, 梦见乌云, 梦见吃萝卜, 梦见蛇窝, 梦见解大便, 梦见在淋雨, 梦见很黑的, 梦见照婚纱, 梦见雪糕, 梦见被抢救, 梦见出殡的, 梦见出殡了, 梦见红布, 梦见蛇吞蛇, 梦见水很清, 梦见人以死, 梦见河冰, 么 梦见狼, 梦见蛇缠住, 梦见卫生纸, 梦见姐怀孕, 梦见要东西, 梦见煮鸡蛋, 梦见买糖给, 梦见女儿穿, 梦见女人来, 梦见水船, 做梦见哭, 梦见和跳舞, 我梦见家人, 梦见自己又结婚了, 梦见自己逃, 梦见大象在, 梦见莲子,
本文来自网络,不代表本网站立场,转载请注明出处:https://www.cange.org.cn/104425.html

毕业设计基于matlab的QPSK系统仿真 (1)的相关文章

  • 消防演习预案及流程

    2008年消防演习方案 保安部 2008-10-27 一、演习时间 2008年XX月X日上午9:30 (周X) 二、演习地点 嘉都大厦A座五层 三、参加演习人员 嘉都大厦全体物业服务人员及A座客户 四、演习目的

    运势
  • 我是一座活火山作文

    我是一座活火山作文 【篇一:游火山口公园(800字)作文】 精选作文:游火山口公园(800字)作文 大年初二,天气晴朗,艳阳高照,是一个适合出去游山玩水的好日子。本命年的 我马不停蹄

    运势
  • 亡命安葬山向吉凶断仙命坐山立向宜忌

    亡命安葬山向吉凶断|仙命坐山立向宜忌 1、申子辰命不葬巳午未丙丁山。 2、寅午戌命不葬亥子丑壬癸山。 3、巳酉丑命不葬寅卯辰甲乙山。 4、亥卯未命不葬申酉戌庚辛山。 子命不葬午

    运势
  • 《花儿与少年》带火欧洲游 揭欧洲最有故事的十座城市

    《花儿与少年》带火欧洲游 揭欧洲最有故事的十座城市 继《爸爸去哪儿》后,芒果卫视又推出了明星姐弟自助行真人秀节目《花儿与少年》,由“少年”张翰领队,“花儿”郑佩佩、

    运势
  • “冒险家”汪丹妮:每个人身体里都藏着一座“火山”

    龙源期刊网 “冒险家”汪丹妮:每个人身体里都藏着一座“火山” 作者:张临军 来源:《分忧》2016年第05期 舍命拍《离离》,震动上海制作圈 汪丹妮1989年出生在安徽省铜陵市,妈妈

    星座
  • 走进中国最大的泥火山

    走进中国最大的泥火山 2002年,我们在阿勒泰为新疆地矿局博物馆拍摄图片资料时,偶然获得了地质专家在乌苏市白洋沟发现中国最大泥火山群的消息。报道称,这座泥火山群共有80多个喷发

    星座