?? conv_code.m
字號:
%卷積碼的性能,(7,5), R=1/2
clear all;close all;
R=1/2;
EbN0dB = 0:1:6;
%BPSK調制
EsN0dB = EbN0dB + 10*log10(R);
N0 = 10.^(-EsN0dB/10); %求AWGN信道的單邊功率譜密度
sigma = sqrt(N0/2);
%卷積碼的結構
trellis = poly2trellis(3,[7,5]);
error = zeros(1,length(N0));
for k=1:length(N0)
n = 0;
while n<100 %每個信噪比下,仿真100幀
%信源產生
d1 = (sign(randn(1,1000))+1)/2;
d = [d1 zeros(1,2)]; %添加尾比特使編碼后狀態歸0
%卷碼編碼
s = convencoder(d,trellis);
%BPSK、經過AWGN信道
r = (2*s-1) + sigma(k)*randn(1,length(s));
%譯碼
dd = viterbi(r,trellis);
%誤碼計數
error(k) = error(k) + sum( abs( dd(1:length(d1)) - d1) )
n = n+1 %計數仿了多少幀
end
ber(k) = error(k)/(n*1000);
end
semilogy(EbN0dB,ber);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -