约束列表Viterbi算法在噪声信道传输
1 引 言
在现代数字通信中,特别是高效压缩后的多媒体信号,对于传输质量的要求越来越高,这是因为具有庞大数据量的多媒体信号的压缩通常都采用不定长码(Variable Length Codes)来达到最佳熵编码,当经过噪声信
道传输时,某一特定比特的误差将对接收端信号重建产生严重影响[1-3]。因此,多媒体信号传输需要一种纠错性能强大的信道编译码来提高可靠性。
目前普遍采用的译码方法是Viterbi算法,它是一种最大似然(ML)译码算法,在一定条件下等效于最佳译码[4]。众所周知,Viterbi算法最适用于随机误差的信道。在突发误差情况下,即使是很少的连续错误,Viterbi算法的译码性能也将急剧下降。为了在具有突发差错特性的衰落信道中提高图像传输的性能,文献[5]提出在一个方向上应用RCPC/CRC,在另一个方向上应用Reed-Solomon(RS)码的乘积编码方案。但是一旦译码后的数据包不满足CRC校验,整个包中的数据就被全部丢弃。这就在一定程度上造成了巨大的浪费,因为有可能包中的绝大部分比特是正确的。
为了充分利用接受到的每一位有用信息,提高译码性能,本文把文献[6]提到约束Viterbi(CVA)算法的思想,应用于文献[7]中列表Viterbi(LVA)译码算法,形成约束列表Viterbi算法(CLVA),并结合乘积编码方案,在固定信道误码率(BER)的情况下,对CLVA的译码性能进行分析。
2 乘积编码
本文采用二维的乘积码作为信道编码,具体结构如图1所示,压缩后图像数据排列组成图1中m行n列的信源码,其行和列均采用递归系统卷积码 RSC(Recursive Systematic Convolutional Code)进行编码。之所以采用RSC码,这是由其本身的特点决定的。首先,RSC码拥有于其他广泛应用的卷积码相匹配的编码性能[8]。其次,RSC码是系统码,这不会打乱信源码与信道码之间的界限,从而省去乘积编码所引起的二次冗余。传输过程中先传输信息位,再传输校验位。在信源码和信道码之间,又引入循环冗余检测CRC来检测信源码在接收端是否被正确译码,并把行(列)正确译码的结果作为约束信息供相应的列(行)进行再次译码之用。标志为 “double CRC”的部分,是通过双重CRC校验来实现交叉检测的功能,增强行或列CRC校验的可靠性。
上述乘积码总编码速率可由下式计算得出:
其中R1和R2分别对应行和列的编码率,d1、d2分别是行和列所加CRC长度,m和n 是信源码的长和宽。从式(1)可以看出,在R一定的情况下,两个方向上可以选择的不同码率,因此这种编码结构是非常灵活的,可以适应多媒体信号在不同信道情况下的传输,况且不同的码率只需简单地通过凿孔矩阵对相应的母码凿孔即可获得。
相关文章
- 2022-06-27电子产品防盗中嵌入式的应用
- 2024-07-01回转组合体工件轮廓度的测量及误差评定
- 2023-01-09短信收发模块TC35i的外围电路设计
- 2024-06-12新舟60飞机APU排气噪声测量和分析
- 2022-08-02Nand+Flash存储管理在DSP系统中的实现



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。