资源简介

文中有很多QPSK调制解调程序,包括添加高斯白噪声,仿真了误码率,并且加入了解调中的同步技术,非常有参考价值

资源截图

代码片段和文件信息

clear; 
SNRindB1=0:2:8;                                     % 设置SNR范围 
SNRindB2=0:0.1:8; 
for ii=1:length(SNRindB1) 
 
counter=0;                                          % 计数器置0 
numofsymbolerror=0; 
numofbiterror=0; 
while (numofbiterror<100) 
 
N=1000; 
E=1;                                                % 码元能量 
snr=10^(SNRindB1(ii)/10);                           % 信噪比 
sgma=sqrt(E/snr)/2;                                 % 噪声功率 
s00=[1 0]; s01=[0 -1]; s11=[-1 0]; s10=[0 1];       % 双比特码元映射 
 
% 信源产生 
for i=1:N 
    temp=rand;                                      % 生成取值在0和1之间的服从均匀分布的随机变量 
    if (temp<0.25)                                 % 信源输出00,10,11,01的概率均为1/4 
        dsource1(i)=0; dsource2(i)=0; 
        tt(iii)=complex(s00(1)s00(2)); 
    elseif (temp<0.5)                               
        dsource1(i)=0; dsource2(i)=1; 
        tt(iii)=complex(s01(1)s01(2)); 
    elseif (temp<0.75)                              
        dsource1(i)=1; dsource2(i)=0; 
        tt(iii)=complex(s10(1)s10(2)); 
    else                                             
        dsource1(i)=1; dsource2(i)=1; 
        tt(iii)=complex(s11(1)s11(2)); 
    end; 
end; 
 
% 差错检测及误码率计算 
 
for i=1:N 
        mm=raylrnd(0.7);  
    n=sgma*randn(12);                              % 生成两个服从N(0sgma)的随机变量 
    if ((dsource1(i)==0) & (dsource2(i)==0))  
        r=mm*s00+n;                                    % 加入噪声 
    elseif ((dsource1(i)==0) & (dsource2(i)==1))  
        r=mm*s01+n; 
    elseif ((dsource1(i)==1) & (dsource2(i)==0))  
        r=mm*s10+n; 
    else  
        r=mm*s11+n; 
    end; 
     
    % 判决 
    rr(iii)=complex(r(1)r(2)); 
    c00=dot(rs00); c01=dot(rs01); c10=dot(rs10); c11=dot(rs11); 
    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; 
    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; 
counter=counter+1; 
end; 
ps=numofsymbolerror/(N*counter);                     
pb=numofbiterror/(2*N*counter);                      
 
    smld_bit_err_prb(ii)=pb; 
    smld_symbol_err_prb(ii)=ps; 
    disp([pspb]); 
end; 
 
% 理论值 
for i=1:length(SNRindB2) 
    SNR=10^(SNRindB2(i)/10);                        % 信噪比 
    theo_err_prb(i)=0.5*erfc(sqrt(SNR));            % AWGN信道下的误码率理论值 
    theo_err_ray(i)=0.5*(1-1/sqrt(1+1/SNR));        % Rayleigh衰落信道下的误码率理论值 
end; 
 
% 画图 
figure(1)                                           % BER图 
semilogy(SNRindB1smld_bit_err_prb‘bs‘); 
% legend(‘AWGN Simulation‘); 
hold on; 
semilogy(SNRindB1smld_symbol_err_prb‘ro‘); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3473  2010-09-09 09:37  QPSK\AWGN信道,BER .m

     文件       3046  2010-09-06 19:36  QPSK\QPSK调制完整仿真\QPSK_Modulation.m

     文件       3048  2010-09-06 20:28  QPSK\QPSK调制完整仿真\QPSK_Modulation.asv

     文件       1991  2010-09-07 15:01  QPSK\wang无干扰算法的QPSK仿真\qpsksim.m

     文件       1625  2010-09-06 19:26  QPSK\QPSK定时恢复程序\QPSK4_Weitongbu.rar

     文件       4031  2008-06-23 16:46  QPSK\QPSK定时恢复程序\QPSK4_Weitongbu.m

     文件      56674  2010-09-06 19:34  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\ASK-OOK-FSK-BPSK.rar

     文件       5282  2008-06-15 22:13  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN.zip

     文件        545  2008-03-28 18:32  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\trabajos_MATLAB.txt

     文件        999  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\askd.m

     文件       1048  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\bpskd.m

     文件       2662  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\epsk.m

     文件       1218  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\fskd.m

     文件       1045  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\ookd.m

     文件       1751  2008-03-28 18:52  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN\qpskd.m

     文件     267264  2010-09-09 16:52  QPSK\QPSK系统仿真\QPSK系统仿真.doc

     文件        895  2010-09-07 21:42  QPSK\QPSK信号源的M文件\QPSK_source.m

     文件     203104  2010-09-07 17:01  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序\81404616QPSK+Rayleigh(AWGN)Simulation.zip

     文件       3402  2006-12-06 21:43  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序\BER.m

     文件       5398  2010-09-09 10:12  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序\QPSK.m

     文件     308736  2010-09-08 08:58  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序\分析报告.doc

     文件       5398  2010-09-09 10:09  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序\QPSK.asv

     目录          0  2010-12-08 13:29  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制\Digital_modulation_FCN

     目录          0  2010-12-08 13:29  QPSK\QPSK调制完整仿真

     目录          0  2010-12-08 13:29  QPSK\wang无干扰算法的QPSK仿真

     目录          0  2010-12-08 13:29  QPSK\QPSK定时恢复程序

     目录          0  2010-12-08 13:29  QPSK\matlab实现ASKOOKFSKBPSKQPSK8PSK调制

     目录          0  2010-12-08 13:29  QPSK\QPSK系统仿真

     目录          0  2010-12-08 13:29  QPSK\QPSK信号源的M文件

     目录          0  2010-12-08 13:29  QPSK\QPSK+Rayleigh(AWGN)仿真MATLAB程序

............此处省略5个文件信息

评论

共有 条评论