卷积编码
在一个(n,k,m)的卷积编码器中,监督码元组的位数为n-k,这n-k位监督码元与k位信息组链接成n位编码序列。
卷积编码的表达方法有很多种,如离散卷积法、生成矩阵法、码生成多项式法
如图(2,1,2)卷积编码器的结构图
离散卷积法
若两路输出所对应的编码器的脉冲冲击响应为g1,g2,编码器用离散卷积表达式可以表示为
ps:单位冲激响应与系统传递函数互为傅里叶变换关系
当输入的单位冲击为u=(1,0,0,0…)时,可以得出
g1=(1,1,1);g2=(1,0,1);
有了单位冲激响应,将输入卷积单位冲激响应可得输出
生成矩阵法
码多项式法
设
则
代码
function [conv_out] = encoding_213(conv_in)
g1 = [1 0 1];
g2 = [1 1 1];
mem = zeros(1,2)
%详写卷积原理
for ii=1:length(conv_in)
inter_var = [conv_in(ii) mem];
first_out(ii)=mod(sum(g1.*inter_var),2);
second_out(ii)=mod(sum(g2.*inter_var),2);
mem = inter_var(1:end-1);
conv_out(ii*2-1:ii*2)=[first_out(ii) second_out(ii)];
end
conv_out = [conv_out 0 0 0 0]
end
编码结果就是卷积结果,卷积每一位结果都是三位输入和系统函数(翻转)相乘再相加。所以上述代码循环中,每次输入码就取三位进行乘加。