?? relypeg.m
字號:
%瑞利信道中誤碼率
function [p1,p2]=RelyPeG(snr_in_dB)
E=1;
snr=10^(snr_in_dB/10);
sgma=sqrt((E/snr)/2);%噪聲方差
N=100;%楨個數
input=round(rand(1,N*25));%信息序列
%經瑞利信道衰減后加高斯燥聲
u1=2*input-1;
x1=randn(size(u1));
y1=randn(size(u1));
r1= sqrt(0.5*(x1.^2 + y1.^2));
u1=sign(u1.*r1+sgma*randn(size(u1))+eps);
u1=(u1+1)/2;
p1=(length(find(input~=u1)))/length(input)%沒有經過信道編譯碼的誤碼率
%信道編碼
for n=0:(N-1)
%外編碼
out_en=T_SCH_EX_EN(input([1:25]+n*25));
%內編碼
in_en=SCH_IN_EN(out_en);
%合成楨
u([1:78]+n*78)=in_en;
end;
%經瑞利信道衰減后加高斯燥聲
u=2*u-1;
x=randn(size(u));
y=randn(size(u));
r = sqrt(0.5*(x.^2 + y.^2));
u=sign(u.*r+sgma*randn(size(u))+eps);
u=(u+1)/2;
%信道譯碼
for n=0:(N-1)
%分離楨
de=u([1:78]+n*78);
%內編碼解碼
in_de=SCH_IN_DE(de);
%外編碼解碼
[cc,output]=cyc_sch_decoder(in_de);
%楨合成
receive([1:25]+n*25)=output;
end;
p2=(length(find(input~=receive)))/length(input)%經過信道編譯碼的誤碼率
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -