?? bpsk_awgncwr.m
字號(hào):
%BPSK的AWGN分析
clear
df=0.15;
fs=20;%20MHz
fc=2;
rb=0.2;
ts=1/fs;
m=256;%m是碼元數(shù),自己隨便定義
n=40;%n是每個(gè)碼元取點(diǎn)數(shù),即對(duì)應(yīng)的正弦波4個(gè)周期取多少個(gè)點(diǎn)
a=sj(m,n);
%sj(m,n)的解釋參見sj.m,sj(m,20)的作用相當(dāng)于上面的for循環(huán)
t=0:1:m*n-1;
Fc1=sin(8*pi*t/n);%碼元0發(fā)射的載波
Fc2=sin(8*pi*t/n+pi);%碼元1發(fā)射的載波
b=1-a;
u0=a.*Fc2+b.*Fc1;
for k=1:20 %對(duì)應(yīng)程序結(jié)尾的end
%產(chǎn)生白噪聲
snr=k;%S/N
snr_lin=10^(snr/10);%線性信噪比
signal_power=(norm(u0)^2)/length(u0);
noise_power=signal_power/snr_lin;
noise_std=sqrt(noise_power);
noise=noise_std*randn(1,length(u0));
u1=u0+noise;%加白噪聲
u=u1;
%求瞬時(shí)平方包絡(luò)
v=blpf(u);
%均值
miu=mean(v);
%方差
delt=var(v);
%求R參數(shù)
r(k)=delt/(miu^2);
% %信號(hào)平方
% sqrtu=u.*u;
%求功率譜
nfft=1024;
u2=Rx_set(u,nfft); %這個(gè)100是取了100個(gè)自相關(guān)系數(shù)a
u3=fftshift(abs(fft(u2)));%求功率譜
ff=-1*fs/2:fs/nfft:fs/2;
%求AWGN因子
e1=mean(u3);
j=0;
for i=1:nfft+1
if u3(i)>e1
j=j+1;
ee(j)=u3(i);
end
end
e2=mean(ee);
j=0;
for i=1:nfft+1
if u3(i)>e2
j=j+1;
eee(j)=u3(i);
end
end
e3=mean(eee);
a1(k)=(e2-e1)/e1;
a2(k)=(e3-e2)/e1;
%求CW因子
%頻譜分析
[U,u1,df1]=fftseq(u,ts,df);
U=U*ts;
f=[0:df1:df1*(length(u1)-1)]-fs/2;
absu=abs(U);
max1=max(absu);
max2=0;
for i=1:length(U)
if absu(i)>max2 & absu(i)<max1
max2=absu(i);
end
end
cw(k)=max1/max2;
end %對(duì)應(yīng)18行的for
i=1:k;
figure(14)
hold on;
plot(i,a1,'r+')
plot(i,a2,'r*')
plot(i,r,'b.')
plot(i,cw,'go')
hold off;
xlabel('信噪比(dB)')
title('BPSK AWGN因子(a1:+,a2:*)、R參數(shù)(R:.)、CW因子(CW:O)')
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -