?? plot_snr.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 + -