买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】Turbo码快速实现方法_西南电子技术研究所(中国电子科技集团公司第十研究所)_202010010775.2 

申请/专利权人:西南电子技术研究所(中国电子科技集团公司第十研究所)

申请日:2020-01-06

公开(公告)日:2024-04-23

公开(公告)号:CN111130572B

主分类号:H03M13/29

分类号:H03M13/29;H03M13/27;H04L1/00

优先权:

专利状态码:有效-授权

法律状态:2024.04.23#授权;2020.06.02#实质审查的生效;2020.05.08#公开

摘要:本发明公开的一种Turbo编码快速实现方法,旨在提供一种硬件实现简单,实用性强,运算量低的Turbo编码实现方法,本发明通过下述技术方案实现:数据交织时,待编码的二进制序列输入信息数据写入伪双口RAM,根据存储于ROM表中的交织关系读出数据完成交织;待编码的码字序列输入数据信息分为两路,一路输入信息X1输入分量编码器1,得到输出序列O1,另一路输入信息通过交织器交织,对得到的信息序列X2输入分量编码器2进行编码,输出序列O2;将两个分量编码器的输出序列O1、O2送入打孔器进行码率调整,打孔器根据所需的码率进行打孔编码,并与原始信息序列输出OO进行复用,产生码字输出。本发明可以兼容不同交织关系。

主权项:1.一种Turbo编码快速实现方法,具有如下技术特征:基于现场可编程门阵列FPGA,利用MATLAB算法数学工具软件,生成第二路编码所用的交织关系,用于时序控制和两路编码数据对齐的延迟器、分量编码器,特定码率Turbo码编码输出的打孔器,用于寄存器清零的输入先入先出队列FIFO,用于时序控制及输出数据调整的输出FIFO,并串转换器,以及交织器和用于交织路分量编码器编码的交织ROM表;交织时,将待编码的二进制序列x顺序写入一个伪双口RAM;而读的地址由交织器对应的交织ROM表提供;根据交织ROM表提供的地址一次读出RAM中的信息即完成交织,得到交织序列X2;待编码的二进制序列x的码字序列输入数据信息分为两路,一路信息经过延迟器,得到信息X1输入分量编码器1,输出序列O1,另一路输入信息通过交织器,交织之后的信息序列X2输入分量编码器2进行编码,得到输出序列O2;两个分量编码器编码后,将输出序列O1、O2送入打孔器进行码率调整,根据所需的码率进行打孔编码,通过打孔器打孔复接成需要的码序列,并和原始信息序列输出OO进行复用,产生最终的码字输出,实现不同码率的Turbo码编码;在FPGA实现交织算法时,将交织关系存储于交织ROM表;在数据交织时,Turbo待编码数据通过伪双口RAM顺序写入,读出时则根据交织ROM表输出的数据读出;交织ROM表中的数据是原始信息下标的交织序列,交织ROM表中的前面K个数据是交织数据,后面m个数据没有交织,对应交织RAM的读出地址,不同的交织关系,替换对应的交织ROM表;交织器完成对信息序列的交织,对信息序列后面的补充数据不做交织,每一帧编码完之后,两个分量编码器的状态都归零,将两个分量编码器同时归于特定状态;交织时,首先,将两个分量编码器的所有寄存器初始化为0,运行486+4比特为一个周期,产生一个长为980的码块;每个编码周期的前486个比特,与分量编码器相关的输入开关在低位时,接收输入数据,而最后四比特,开关切换到高位,从分量编码器的移位寄存器中接收反馈信号,该反馈信号和最左边的加法器反馈抵消,对寄存器进行清零操作;寄存器清零期间,两个分量编码器仍将继续输出非零编码序列;分量编码器1的输出序列O1=[O1,1O1,2O1,3…O1,490],分量编码器2的输出序列O2=[O2,1O2,2O2,3…O2,490],之后打孔器结合信息序列打孔复用后得到整体输出980个比特的码字;Turbo码编码器由2个相同的RSC分量编码器和一个交织器构成;编码时原始输入信息X,经过延迟器输出X1,送入分量编码器1进行编码,输出序列O1;原始信息X经过交织器进行交织操作得到交织后的序列X2,将X2送入分量编码器2进行编码,得到输出序列O2;分量编码器1和分量编码器2的输出送入打孔处器生成特定码率的Turbo码,打孔之后的数据和原始信息序列复用生成最后的码字;分量编码器采用具有记忆深度为4,对应16种状态的四个寄存器及后向连接多项式和前向连接矢量共同实现分量编码器,其对应的多项式生成矩阵为: 其中,D表示延迟;在实现Turbo编码时,首先在输入数据的信息比特末尾补4个1得到新的信息序列,使得每一帧编码完毕后分量编码器移位寄存器的状态均归零,然后对该信息序列分别进行编码,两个分量编码器同时进行编码,分量编码器2的输入数据先通过一个伪双口RAM,根据交织ROM提供的交织关系进行交织,并且利用分量编码器1进行编码之前,将输入信息先送入一个延迟模块进行数据延迟,对齐数据,数据对齐之后,两个分量编码器同时进行编码,分量编码器1通过右侧编码路径,使用递归卷积码进行编码,分量编码器2通过左侧编码路径,使用递归卷积码进行编码;两路编码输出数据同时送入打孔器进行打孔,打孔器每次输出多个比特,将打孔之后的数据通过输出FIFO隔断使能信号,控制编码器的时序,经后面的串转换器串并转换,将使能不连续的并行数据转化为使能连续的串行数据输出;分量编码器以bit为单位编码,每一次输入一比特,按不同的码率输出多个比特,两个分量编码器编码从第i=1个比特开始,输入1比特信息之后,首先计算反馈多项式的反馈量Fd,Fd=lfsr3xorlfsr4,其中“xor”表示异或,并且采用四阶编码线性反馈移位寄存器lfsr4、lfsr3、lfsr2、lfsr1对应四个延迟单元,计算线性反馈移位寄存器本次计算的反馈量ad=Fdxorlfsr4,得到反馈量Fd为lfsr4与lfsr3的异或结果,接着计算线性反馈移位寄存器的更新量ad=Fdxordin和两个分量编码器的串行数据输出值Dout,得到Dout1=输入信息比特din,寄存器更新值ad与lfsr4、lfsr3、lfsr1异或的结果Dout2=adxorlfsr1xorlfsr3xorlfsr4,得到输出之后,更新线性反馈移位寄存器lfsr,利用线性反馈移位寄存器lfsr更新值ad替换线性反馈移位寄存器lfsr1的值,线性反馈移位寄存器lfsr中的原1,2,3个位置的值左移,则线性反馈移位寄存器lfsr4to3=lfsr3to1,lfsr1=ad,此时,分量编码器完成了输入1比特的信息的编码,继续下一比特的编码,i=i+1;然后对移位寄存器的清零,并对输入数据的数量进行判断,判断是否iLen+1,是则还未到对寄存器清零时,输入下一个比特继续上边的编码过程,否则,首先计算反馈量Fd=lfsr4xorlfsr3,其次计算线性反馈移寄存器更新值ad=0;之后计算两个分量编码器的输出值Dout1=fd和Dout2=adxorlfsr1xorlfsr3xorlfsr4,然后更新线性反馈移位寄存器lfsr:i=i+1,由新线性反馈移位寄存器更新值ad替换lfsr1的值,原1,2,3位置的值左移,lfsr4to3=lfsr3to1,lfsr1=ad,如果iLen+4,则继续下一个比特的编码,完成当前所有比特信息的编码,编码器状态清零,编码结束,直到下一帧数据到来再继续以上编码。

全文数据:

权利要求:

百度查询: 西南电子技术研究所(中国电子科技集团公司第十研究所) Turbo码快速实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。