📄 conv_encoder.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -