本项目提供了一个可在MATLAB环境下运行的卷积编码与维特比译码仿真实验平台,适用于通信系统中纠错编码的教学和研究。
编码函数定义为:function output=cnv_encd(G,k0,input),其中k0表示每一时钟周期输入到编码器的比特数。参数G是决定输入序列的生成矩阵,它有n0行和L*k0列。这里,n0代表输出比特的数量;而参数n0和L由生成矩阵G导出。约束长度定义为L,这是因为卷积码在每一时刻不仅依赖于当前输入序列,还取决于编码器的状态,这个状态是由前(L-1)k0个输入决定的。通常情况下,卷积码表示形式是(n0,k0,m),其中m=(L-1)*k0代表编码器内部存储的数量(即分为L-1段,每一段包含k0个比特)。有人将约束长度定义为m=L*k0。
译码函数定义为:function decoder_output=viterbi_decoder(G,k,channel_output)。