MAP译码器嵌入式状态信息存储机制设计
时间:08-06
来源:互联网
点击:
1.引言
在无线通信系统中,可靠的数据传输是一个非常重要的论题。Turbo编码得到逼近香农限的译码性能,成为研究和应用的热点。Turbo码的译码采用迭代运算的方式,即将前级译码器的输出作为外信息输入到本级译码运算,如此反复进行直到达到相应收敛度才结束译码。
Turbo码有多种译码算法,基于Bahl-Cocke-Je-linek-Raviv(BCJR)算法的MAP译码是最为广泛应用的一种。MAP算法可以通过系统信息和外信息来获得对一个比特良好的概率估计,其译码输出的信息可以作为外信息由其他译码器在下一次迭代过程中使用。经过一定次数的迭代运算之后,对外部信息的运输结果收敛时,译码器盼陛能逼近香农限。
尽管Turbo码的性能接近最优值,但在实际集成电路硬件设计中,对于MAP算法的实现面临两个主要问题:
(1)时间延迟过大。
(2)对于存储器容量空间需求大。
MAP译码器采用迭代的方式工作,即在每次迭代过程中,MAP译码器首先利用前一次迭代中得到的外信息和信道接收信息,对待译码的码字从头部到尾部再从尾部到头部两个方向收集译码信息;利用收集到的译码信息,译码器做最大释然估计,估计值可以作为其他译码器做下一次迭代过程中的外信息使用。对于比特长度为n的数据帧,前向和后向的信息提取共需2n步处理,另外估计数据需要n步。从而MAP算法共需要3n步操作,因此其译码延迟较大。MAP译码器在新的外部信息生成之前需要保存之前所有的译码信息,对于一个长度为n比特的数据帧,且Turho码空间为S,则需要2×n × S个存储单元来保存信息。例如,在CDMA2000系统中的Turbo码中S=8,且n=20730,则MAP译码器需要331680个存储单元,这对于存储器的需求压力较大。为了降低对存储空间的要求以及提高MAP及其改进算法Log_MAP[3,4]的度量信息计算速度,本文提出了嵌入式度量存储(ESMS)。
本文内容组织结构如下:在第二部分介绍了Log_MAP算法;第三部分介绍了ESMS方法;第四部分给出ESMS方法的性能分析;第五部分是我们的结论。
2.Log_MAP算法
Turbo编码器根据编码约束关系利用源数据比特形成冗余的校验比特,源数据比特与校验比特形成码字一同被发送。接收机收到的是被噪声“污染”了的码字,MAP译码器根据编码约束关系对接收数据从头部到尾部扫描得到前向搜索网格状态信息,然后从尾部到头部扫描得到反向搜索网格状态信息。译码器通过得到的网格状态信息从所有可能路径中找到最佳译码路径,最佳路径即是对所有输人数据的最佳估计的译码路径。
每个译码器的输出为码字中每个比特的估计概率概率值,常用对数释然比(LLR)来表示,第k个比特的LLR定义为:
可以使用下面的公式简化Log_MAP算法中的幂运算。
在实际应用中,In(1+exp(-|b-a|))可以用查找表来实现。研究表明长度为8的表可以提供足够的精确度。在Log_MAP算法中对网格信息的归一化操作如下:
3.嵌入式状态信息存储(ESMS)
根据Log_MAP算法的原理,每步中的状态信息为0到负无穷间的一组数(实际应用中为0到一个有界的负数之间)。一个状态的度量接近0意味着该状态最优译码路径上的正确的状态的概率最大。如果αk(s)是最大值,αk(s)=0,s为前向搜索第k步正确状态的概率最大。如果βk(s)是最大值,βk(s)=0,s是反向搜索第k步正确状态的概率最大。
从(9)式可知,LLek的值取决于{αk-1(s′)}中的最大值和{βk-1(s′}中的最大值。如果编码器的输出为dsk=+1且译码器的估计正确,则LLek为正。如果编码器的输出为dsk=-1且译码器的估计正确,LLek为负。LLek的绝对值越大,第k步估计为正确估计的概率越大。如果LLek最大值与次大值之差越大,LLek会越快收敛于正确估计。因此,译码的关键在于得到最大信息的状态,而状态信息的绝对值不影响结果,即这个最大值是否为0并不影响结果。
在Log_MAP译码算法中使用模圆周上的相对位置的状态信息度量而不是绝对位置的度量。令
由此,我们将状态转移到了新的位置,这里αk(0)和βk(0)永远为0。因此不需要存储{αk(0)}={α0(0), α1,(0)……αtength(0)和{β(0)}={β0(0),β1,(0)……βtength(0)。我们将这种技术称为嵌入式状态信息存储(ESMS)。它可以降低实际应用对存储器的要求。
ESMS使用二进制补码加法器和减法器。使用ESMS技术需要对Log_MAP算法进行如下修改。
在无线通信系统中,可靠的数据传输是一个非常重要的论题。Turbo编码得到逼近香农限的译码性能,成为研究和应用的热点。Turbo码的译码采用迭代运算的方式,即将前级译码器的输出作为外信息输入到本级译码运算,如此反复进行直到达到相应收敛度才结束译码。
Turbo码有多种译码算法,基于Bahl-Cocke-Je-linek-Raviv(BCJR)算法的MAP译码是最为广泛应用的一种。MAP算法可以通过系统信息和外信息来获得对一个比特良好的概率估计,其译码输出的信息可以作为外信息由其他译码器在下一次迭代过程中使用。经过一定次数的迭代运算之后,对外部信息的运输结果收敛时,译码器盼陛能逼近香农限。
尽管Turbo码的性能接近最优值,但在实际集成电路硬件设计中,对于MAP算法的实现面临两个主要问题:
(1)时间延迟过大。
(2)对于存储器容量空间需求大。
MAP译码器采用迭代的方式工作,即在每次迭代过程中,MAP译码器首先利用前一次迭代中得到的外信息和信道接收信息,对待译码的码字从头部到尾部再从尾部到头部两个方向收集译码信息;利用收集到的译码信息,译码器做最大释然估计,估计值可以作为其他译码器做下一次迭代过程中的外信息使用。对于比特长度为n的数据帧,前向和后向的信息提取共需2n步处理,另外估计数据需要n步。从而MAP算法共需要3n步操作,因此其译码延迟较大。MAP译码器在新的外部信息生成之前需要保存之前所有的译码信息,对于一个长度为n比特的数据帧,且Turho码空间为S,则需要2×n × S个存储单元来保存信息。例如,在CDMA2000系统中的Turbo码中S=8,且n=20730,则MAP译码器需要331680个存储单元,这对于存储器的需求压力较大。为了降低对存储空间的要求以及提高MAP及其改进算法Log_MAP[3,4]的度量信息计算速度,本文提出了嵌入式度量存储(ESMS)。
本文内容组织结构如下:在第二部分介绍了Log_MAP算法;第三部分介绍了ESMS方法;第四部分给出ESMS方法的性能分析;第五部分是我们的结论。
2.Log_MAP算法
Turbo编码器根据编码约束关系利用源数据比特形成冗余的校验比特,源数据比特与校验比特形成码字一同被发送。接收机收到的是被噪声“污染”了的码字,MAP译码器根据编码约束关系对接收数据从头部到尾部扫描得到前向搜索网格状态信息,然后从尾部到头部扫描得到反向搜索网格状态信息。译码器通过得到的网格状态信息从所有可能路径中找到最佳译码路径,最佳路径即是对所有输人数据的最佳估计的译码路径。
每个译码器的输出为码字中每个比特的估计概率概率值,常用对数释然比(LLR)来表示,第k个比特的LLR定义为:
![]() |
![]() |
可以使用下面的公式简化Log_MAP算法中的幂运算。
![]() |
在实际应用中,In(1+exp(-|b-a|))可以用查找表来实现。研究表明长度为8的表可以提供足够的精确度。在Log_MAP算法中对网格信息的归一化操作如下:
![]() |
3.嵌入式状态信息存储(ESMS)
根据Log_MAP算法的原理,每步中的状态信息为0到负无穷间的一组数(实际应用中为0到一个有界的负数之间)。一个状态的度量接近0意味着该状态最优译码路径上的正确的状态的概率最大。如果αk(s)是最大值,αk(s)=0,s为前向搜索第k步正确状态的概率最大。如果βk(s)是最大值,βk(s)=0,s是反向搜索第k步正确状态的概率最大。
从(9)式可知,LLek的值取决于{αk-1(s′)}中的最大值和{βk-1(s′}中的最大值。如果编码器的输出为dsk=+1且译码器的估计正确,则LLek为正。如果编码器的输出为dsk=-1且译码器的估计正确,LLek为负。LLek的绝对值越大,第k步估计为正确估计的概率越大。如果LLek最大值与次大值之差越大,LLek会越快收敛于正确估计。因此,译码的关键在于得到最大信息的状态,而状态信息的绝对值不影响结果,即这个最大值是否为0并不影响结果。
![]() |
在Log_MAP译码算法中使用模圆周上的相对位置的状态信息度量而不是绝对位置的度量。令
![]() |
由此,我们将状态转移到了新的位置,这里αk(0)和βk(0)永远为0。因此不需要存储{αk(0)}={α0(0), α1,(0)……αtength(0)和{β(0)}={β0(0),β1,(0)……βtength(0)。我们将这种技术称为嵌入式状态信息存储(ESMS)。它可以降低实际应用对存储器的要求。
ESMS使用二进制补码加法器和减法器。使用ESMS技术需要对Log_MAP算法进行如下修改。
- 基于MSP430单片机的多路数据采集系统的设计(06-20)
- LED照明全方位渗透,高能效驱动方案点亮前景(11-17)
- 使用L6506 实现步进电机的电流控制(12-10)
- 激光微加工系统及基于DSP+FPGA的控制单元的研究(03-05)
- Si472x射频收发芯片的交通状况提示装置(02-18)
- 红外方式数字图像采集报警系统的设计(03-15)






