📄 cp0201_puncture.m
字号:
function punctured_bits = cp0201_puncture(in_bits)
numbits=1024;
[bits]=cp0201_bits(numbits);
message=bits;
[encoded_sequence]=cp0201_convlenc(message)
in_bits=encoded_sequence
punc_patt=[1 3 4 7 9 12 13 15];
punc_patt_size = 15;
% Remainder bits are the bits in the end of the packet that are not integer multiple of the puncture window size
num_rem_bits = rem(length(in_bits), punc_patt_size);
puncture_table = reshape(in_bits(1:length(in_bits)-num_rem_bits), punc_patt_size, fix(length(in_bits)/punc_patt_size));
tx_table = puncture_table(punc_patt,:);
%puncture the remainder bits
rem_bits = in_bits(length(in_bits)-num_rem_bits+1:length(in_bits));
rem_punc_patt = find(punc_patt<=num_rem_bits);
rem_punc_bits = rem_bits(rem_punc_patt)';
punctured_bits = [tx_table(:)' rem_punc_bits'];
stem(punctured_bits)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -