conv_encoder.m
来自「该文件夹为空时块码-卷积码级联系统的仿真程序」· M 代码 · 共 20 行
M
20 行
function encoded_bits=conv_encoder(infobits, biting_pattern)
% 802.16 OFDMA Convolutional Encoder, coding rate 1/2
% constraint length k=7
% generator: G1=171oct for X, G2=133oct for Y
L=length(infobits);
encoded_bits=zeros(1,2*L);
% Initial encoder register for tail biting
if biting_pattern=='zero',
encoder_reg=zeros(1,6);
else
encoder_reg=fliplr(infobits(end-5:end));
end
for loop=1:L
encoded_bits(2*loop-1)=mod(infobits(loop)+encoder_reg(1)+encoder_reg(2)+encoder_reg(3)+encoder_reg(end),2); % X-G1
encoded_bits(2*loop)=mod(infobits(loop)+encoder_reg(2)+encoder_reg(3)+encoder_reg(5)+encoder_reg(end),2); % Y-G2
encoder_reg=[infobits(loop),encoder_reg(1:5)];
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?