⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plot_snr.m

📁 详细的介绍MATLAB 7 的功能
💻 M
字号:
clear;
%用来仿真QAM的误bit率
snr=1:1:11;
%先来计算理论误bit率
error_theory=(1-(1-(2*(1-1/sqrt(16))*1/2*erfc(1/sqrt(2)*sqrt(3*4*10.^(snr/10)/(16-1))))).^2)/4;
%用理论的误bit率来决定需要仿真的点数
N=floor(1./error_theory)*100+100;
N(find(N<5000))=5000;
%开始仿真
global p;
for i=1:length(N);
    %首先产生随机二进制序列
    source=randsrc(1,N(i),[1,0;p,1-p]);
    %对产生的二进制序列进行QAM调制
    [source1,source2]=Qam_modulation(source); 
    %插值
    sig_insert1=insert_value(source1,8);
    sig_insert2=insert_value(source2,8);
    [source1,source2]=rise_cos(sig_insert1,sig_insert2,0.25,2);
    %====将滤波后的信号加入高斯白噪声
    [x1,x2]=generate_noise(source1',source2',snr(i));    
    sig_noise1=x1';
    sig_noise2=x2';
    [sig_noise1,sig_noise2]=rise_cos(sig_noise1,sig_noise2,0.25,2);
    [x1,x2]=pick_sig(sig_noise1,sig_noise2,8);
    sig_noise1=x1;
    sig_noise2=x2;
    %解调
    signal=demodulate_sig(sig_noise1,sig_noise2);
    %计算误bit率
    error_bit(i)=length(find(signal-source)~=0)/N(i);
end;
%画出图形
semilogy(snr,error_bit,'-b');
hold on
semilogy(snr,error_theory,'-r')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -