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

📄 turbo_demo.m

📁 B3g_phase2_C语言_Matlab程序及说明
💻 M
字号:

% turbo code

poly_g1 = 5;			                                                % 1 0 1
poly_g2 = 7;			                                                % 1 1 1
MemLen = 2;
poly_g1 = 11;			                                                % 1 0 1 1
poly_g2 = 13;			                                                % 1 1 0 1
MemLen = 3;
puncture =0;		                                                	% puncture = 0,rate=1/2;puncture = 1,no puncture rate =1/3
nIter = 6;
CodeRate = 1/(2+puncture);


[Inner_intl_table] = interleave(Packet_msg_L+MemLen, floor(sqrt((Packet_msg_L+MemLen)/2)));
[Outer_intl_table] = interleave(Packet_code_L*Packet_number,floor(sqrt((Packet_code_L*Packet_number)/2)))+1;

% Main loop


msg=randint(Packet_number,Packet_msg_L,2);                          % Random data

for np=1:Packet_number 
    %code_p(np,:)=turbo_encode(msg(np,:),1,length(Inner_intl_table),Inner_intl_table);
    code_p(np,:) = TuEnc(msg(np,:), puncture, Inner_intl_table, poly_g1, poly_g2);
end
code=reshape(code_p,1,Packet_code_L*Packet_number);
code=code(Outer_intl_table);


for np=1:Packet_number
    %[decoded LLR_all(np,:)]=logmapdec(Dem_signal_p(np,:),1,length(Inner_intl_table),max(nIter-n,3),Inner_intl_table);
    [decoded, LLR_all(np,:)] = TuDecLogMapNew(Dem_signal_p(np,:), puncture, nIter, Inner_intl_table, 1, 1, poly_g1, poly_g2);
    errors(n+1)=errors(n+1)+sum(abs(decoded(1:Packet_msg_L)-msg(np,1:Packet_msg_L)));
    
end
            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -