⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t_turbo.m

📁 B3g_phase2_C语言_Matlab程序及说明
💻 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 + -