?? liu5.asv
字號:
%實驗五 升余弦滾降濾波系統的誤碼率
global dt t f df N T %全局變量
close all
clear Eb_N0 Pe
N=2^15; %采樣點數
L=4; %每碼元的采樣點數
M=N/L %碼元數
Rb=2; %碼速率是2Mb/s
Ts=1/Rb; %碼元間隔
dt=Ts/L; %時域采樣間隔
df=1/(N*dt) %頻域采樣間隔
T=N*dt %截短時間
Bs=N*df/2 %系統帶寬
alpha=0.5 %滾降系數=0.5
t=linspace(-T/2,T/2,N); %時域橫坐標
f=linspace(-Bs,Bs,N)+eps; %頻域橫坐標
figure(1)
set(1,'Position',[10,30,500,200])
%設定窗口位置及大小
hr1=sin(pi*t/Ts)./(pi*t/Ts);
hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
hr=hr1.*hr2;
HR=abs(t2f(hr));
GT=sqrt(HR);
GR=GT;
for loop1=1:10
Eb_N0(loop1)=(loop1-1) %分貝值變為真值
eb_n0(loop1)=10^(Eb_N0(loop1)/10);
Eb=1;
n0=Eb/eb_n0(loop1); %信道噪聲譜密度
sita=n0*Bs; %噪聲功率
n_err=0; %誤碼計數
for loop2=1:3
a=sign(randn(1,M)); %發送碼元
imp=zeros(1,N);
imp(L/2:L:N)=a/dt;
IMP=t2f(imp);
n_ch=sqrt(sita)*randn(size(t)); %信道噪聲
nr=real(f2t(t2f(n_ch).*GR));
sr=real(f2t(IMP.*HR))+nr;
y=sr(L/2:L:N); %以L/2為起點,步長L,取樣點N
aa=sign(y); %接收碼元
n_err=n_err+length(find(aa~=a)) ;
end
Pe(loop1)=n_err/(M*loop2); %誤碼率Pe'=n_err/(M*loop2)
figure(1)
semilogy(Eb_N0,Pe,'g');
eb_n0=10.^(Eb_N0/10); %還原為真值
hold on
semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)));
axis([0,9,1e-4,1])
xlabel('Eb/N0')
ylabel('Pe')
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -