什么是Viterbi译码的译码深度?
例如对(2,1,3)卷积码译码,接收到的序列为(10 10 00 01 00 00)。译码过程中的加比选模块每一个时刻为状态更新一次累积度量,并存储 1 比特幸存信息。只有当接收序列(10 10 00 01 00 00)的全部 L =6组信息接收完毕之后,才能找到最大似然路径,得出译码结果。此时每个状态所存幸存信息长度就是接收长度,存储幸存信息共需要L*2^(K-1)比特存储空间。其中K为约束长度,K-1即为移位寄存器的个数。
对于实际通信中的海量数据处理,接收序列长度很大,这使得所需译码器的存储空间十分巨大而难以实用。 即使存储空间足够大,译码延时也难以满足实时通信系统的要求。怎么办呢?
答案是:不用等到全部信息组接收完再找最大似然路径,让Viterbi译码器只存储长度为t的幸存信息,t 的长度远小于接收信息的总长度。第t组接收信息被译码器处理完后,译码器存储空间已经存满,此时必须对第一个存储信息做出判决译码下一时刻,第 t+1个幸存信息覆盖刚刚处理完的第一个幸存信息的存储空间,以此类推循环利用存储空间。这里的t也称为译码深度。
通俗点讲,接收到的序列长度太长,需要消耗很多存储资源。现在不需要对整个序列长度进行viterbi译码,而是选择每个译码深度的长度进行分段viterbi译码。所以提出译码深度的概念是为了降低存储资源和复杂度。一般译码深度t的长度选取为
t=(5~10)K