?? rx_init_viterbi.m
字號(hào):
function rx_init_viterbi
global sim_consts;
global prev_state;
global prev_state_outbits;
sim_consts = struct( 'ConvCodeGenPoly', [1 0 1 1 0 1 1;1 1 1 1 0 0 1 ]);%定義卷積編碼器的生成矩陣
prev_state = zeros(64, 2);
prev_state_outbits = zeros(64, 2, 2);
for state = 0:63
state_bits = (fliplr(kron(dec2bin(state,6),1))~=48);%移位寄存器的狀態(tài)
input_bit= state_bits(1)
for transition = 0:1
prev_state_bits = [state_bits(2:6) transition];%上一級(jí)的移位寄存器的狀態(tài)
prev_state(state+1,transition+1) = base2dec(fliplr(prev_state_bits)+48,2);%用來存儲(chǔ)上一級(jí)移位寄存器狀態(tài)
%第一個(gè)生成器的輸出碼字
prev_state_outbits(state+1, transition+1, 1) = 2*(rem(sum(sim_consts.ConvCodeGenPoly(1,:).* ...
[input_bit prev_state_bits ]),2)) - 1;
%第二個(gè)生成器的輸出碼字
prev_state_outbits(state+1, transition+1, 2) = 2*(rem(sum(sim_consts.ConvCodeGenPoly(2,:).* ...
[input_bit prev_state_bits]),2)) - 1;
end
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -