打印

用C6416做Turbo码的问题

[复制链接]
1728|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xudinggen|  楼主 | 2008-4-18 08:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大狭:
在turbo码6416实现的时候,是按一组数据来编码和译码的(我们称作帧)。编码是通过这帧数据和其交织结果分别递归卷积,再复接删余来实现;在解码中,两个分量译码器(MAP或者SOVA)也都是对接收到这一帧数据来译码的,然后提供一个软的外信息给下一个分量译码器。现在的问题是:在实际工程应用中,解调器的结果都是按照一定速率提供给译码器的,那译码器怎么定位这一组数据,也就是怎么知道哪个地方是帧开始,哪个地方是帧结束。
自己考虑了三种方案,但都觉得有问题。一是:编码之后加上长度一定、序列相位已知的固定序列(例如小m序列),在译码的时候就监测这个序列,监测到了就认为是帧头,接着就是数据,但问题是这个所谓的帧头没有参与Turbo编码,它没有Turbo编码增益,如果这个所谓的帧头有错了(由于没有Turbo编码增益很容易出错),那编码的数据就定位不了,译码就没有办法进行,这就好像是木桶效应,帧头就是木桶的短板,整个系统优越性(Turbo码编码增益就体现不出来)。二是:帧头作为数据的一部分放在一帧数据最前面,并参与编码,由于Turbo采用的系统递归卷积码,编码出的编码比特总是有一路是原始数据,这样在译码的时候,每接收一组连续数据(长度是一帧编码后的长度),首先监测帧头(在编码的系统位上位置固定),如果接收到的帧头与原始帧头相差在一定范围之内(门限),我们就先假设是帧头,并对这一组数据进行Turbo码译码,译码后得到原始数据副本,提取其帧头,看是否是原始定义的帧头,如果是说明前面假设是对的,接着按照帧长提取数据和译码就行了,不行就在继续上面的过程,这有两个问题,这个帧头怎么选择以及在帧头监测过程中门限怎么设置;Turbo码长度比较大和有一定译码时延,在译一帧数据的时候解调器依然不断的向译码器输入一定速率的数据,为不使数据丢失,这个就需要很大的缓存器。三是:依然把帧头加在数据开始位置并随数据一起编码,在译码器端只要收到一组长度为帧长的数据就Turbo码译码,译码后再看是不是帧头,不是就向下滑动一个位继续译码找帧头,知道找到为止,这里的问题就是和第二种方案一样,译码器中缓存器的长度受不了,缓存器的长度比第二种方案更大。
有兴趣讨论一下,请这方面有经验的大侠给一指教。 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝