您好!
我遇到的是6474tcp2关于interleaver的问题。文档中说,interleaver可以通过edma输入tcp2,a模式下,acnt长度应设置成8*ceil((framelength+3)/4),请问为什么要加这个3呢?是原始比特的长度加上了编码后的3个尾比特吗?可是,turbo编码的时候,内交织器的长度只是原始比特的长度,而并没有尾比特呀。请给予较为详细的解答,谢谢!
Best Regards!
Andy Yin:
您好,
加3应该是往上取整得到相应的字节数。
cheng ge:
回复 Andy Yin:
您好,
谢谢您的解答,但是我还是不怎么清楚。
我再把问题描述得更详细一点吧。
在发送端,我产生了40个数据,然后送入turbo编码器进行编码,interleaver是自己生成的。1/3码率编码后,系统位加上校验位120个bits,再加上12个尾比特,共132个bits,通过信道、软解调后产生132个软信息。
然后,我按照tcp2用户手册里的格式,将前120个软信息每三个一组组成一个word,这样就有40个word,用edma写入tcp,12个尾比特也同样按照格式写入。出问题的是interleaver,按理说,发送端turbo编码器的interleaver长度是40,那么解码器interleaver长度也应该是40。但是,6474自带的例子里面,给出的interleaver长度是44个字节,那么这44是怎么得来的呢?是不是前面的40个字节就是interleaver,后面的4个字节就是41、42、43、44这个顺序呢?我试过,但是不对。我也试过编码器不进行交织,即interleaver=1:40,解码器输入的interleaver=1:44这种情况,但解码还是不对。请问我错在哪里呢?可不可能是我“软信息每三个一组组成一个word”这个过程有问题呢?
Thanks a lot!
cheng ge:
回复 Andy Yin:
您好,
谢谢您的解答,但是我还是不怎么清楚。
我再把问题描述得更详细一点吧。
在发送端,我产生了40个数据,然后送入turbo编码器进行编码,interleaver是自己生成的。1/3码率编码后,系统位加上校验位120个bits,再加上12个尾比特,共132个bits,通过信道、软解调后产生132个软信息。
然后,我按照tcp2用户手册里的格式,将前120个软信息每三个一组组成一个word,这样就有40个word,用edma写入tcp,12个尾比特也同样按照格式写入。出问题的是interleaver,按理说,发送端turbo编码器的interleaver长度是40,那么解码器interleaver长度也应该是40。但是,6474自带的例子里面,给出的interleaver长度是44个字节,那么这44是怎么得来的呢?是不是前面的40个字节就是interleaver,后面的4个字节就是41、42、43、44这个顺序呢?我试过,但是不对。我也试过编码器不进行交织,即interleaver=1:40,解码器输入的interleaver=1:44这种情况,但解码还是不对。请问我错在哪里呢?可不可能是我“软信息每三个一组组成一个word”这个过程有问题呢?
Thanks a lot!