📄 n_encoder.m
字号:
function [coded,t,real_len] = N_encoder(code_rate,raw_bits,lens)
if code_rate==1||code_rate==0
coded=raw_bits;t=[];
elseif code_rate==1/2
t = poly2trellis(7,[171 133]); % Define trellis.
code = convenc(raw_bits,t); % Length is 2*len.
coded=code; %rate 1/2
elseif code_rate==1/3 % % Puncture by removing every third value.
t = poly2trellis(7,[171 165 133]); % Define trellis.
code = convenc(raw_bits,t); % Length is 2*len.
coded=code; %rate 1/2
elseif code_rate==2/3
t = poly2trellis(7,[171 133]); % Define trellis.
punctcode = convenc(raw_bits,t); % Length is (2*len)*2/3.;
punctcode(4:4:end)=[]; % Length is (2*len)*2/3.
coded=punctcode;
end
real_len = length(coded);
if real_len < lens;
coded(end+1:lens) = zeros(1,lens-real_len);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -