📄 t_turbo.m
字号:
%test for turbo code
clear;
msg_SlotL=1024;
MemLen=3;
msg_L=msg_SlotL-MemLen;
puncture = 1;
[int_table0] = interleave(msg_SlotL, floor(sqrt((msg_SlotL)/2)));
errors=0;
SNR1=1.6;SNR2=1.6;
for SNR=SNR1:SNR2
for k=1:5000
SNR
k
msg=randint(1,msg_L);
msg=[msg zeros(1,MemLen)];
code=turbo_encode(msg,puncture,msg_SlotL,int_table0);
x=(2*code(1:2:end)-1)+j*(2*code(2:2:end)-1);
r=awgn(x,SNR,'measured');
%x=2*code-1;
%r=awgn(x,SNR,'measured');
r=reshape([real(r);imag(r)],1,2*msg_SlotL);
r=2*(10^(SNR/10))*r;
[decod llrc]=logmapdec(r,puncture,msg_SlotL,8,int_table0);
%llr=llrc+r(1:2:end);
%decoded=(sign(llr)+1)/2;
errors=errors+sum(abs(decod(1:msg_L)-msg(1:msg_L)));
errors
if (errors>200 & k>10)
break;
end
ber=errors/k/msg_L
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -