Jael
2010-06-13, 02:25
有一段卷积编码维特比译码的程序:
% Encode data bits
trel = poly2trellis(3,[6 7]); % Define trellis
msg = randi([0 1],1000,1); % Random data
code = convenc(msg,trel); % Encode
tblen = 5; % Traceback length
% Map "0" bit to 1.0 and "1" bit to -1.0. Also add AWGN.
ucode = real(awgn(1-2*code, 3, 'measured'));
% Hard decision decoding using binary inputs
hcode = ucode<0;
decoded1 = vitdec(hcode,trel,tblen,'cont','hard');
我想计算误码率,于是用biterr指令,出现了错误,我的做法是:
[n,r]=biterr(msg,decoded1);
应该如何改正这个错误才能计算出误码率呢?
% Encode data bits
trel = poly2trellis(3,[6 7]); % Define trellis
msg = randi([0 1],1000,1); % Random data
code = convenc(msg,trel); % Encode
tblen = 5; % Traceback length
% Map "0" bit to 1.0 and "1" bit to -1.0. Also add AWGN.
ucode = real(awgn(1-2*code, 3, 'measured'));
% Hard decision decoding using binary inputs
hcode = ucode<0;
decoded1 = vitdec(hcode,trel,tblen,'cont','hard');
我想计算误码率,于是用biterr指令,出现了错误,我的做法是:
[n,r]=biterr(msg,decoded1);
应该如何改正这个错误才能计算出误码率呢?