发明名称 一种具有低运算复杂度的卷积码快速译码方法
摘要 本发明公开了一种具有低运算复杂度的卷积码快速译码方法,属于数字通信中的信道编译码技术领域。本方法充分利用现有数字通信系统中数据帧结构特点,采用帧头辅助卷积译码,同时综合考虑代数译码和概率译码的优势,将二者融入到一种译码体系结构中,使得新译码方法既具有接近代数译码的运算复杂度,又具有不亚于概率译码的纠错性能。使用此方法,译码器可以节省硬件资源,提高通信系统工作速率,保证实时输出译码数据,特别是在信道情况较好的环境下,能够大幅度降低译码复杂度,具有良好的应用前景。
申请公布号 CN102523005B 申请公布日期 2013.11.20
申请号 CN201210001258.4 申请日期 2012.01.04
申请人 北京理工大学 发明人 杨杰;崔诵祺;熊玉洁
分类号 H03M13/23(2006.01)I 主分类号 H03M13/23(2006.01)I
代理机构 代理人
主权项 1.一种具有低运算复杂度的卷积码快速译码方法,其特征在于包括以下步骤: 步骤一、对于卷积编码器(n,k,L),将每一帧数据帧头的前k*(L-1)位作为编码器的初始状态,并计算后N_head-k*L+k位数据的编码输出,记为code_head,其中N_head为帧头长度且N_head&gt;k*(L-1); 步骤二、将code_head与接收序列作线性相关运算,设定门限值TH=n/k*(N_head–k*L+k),当滑动相关值大于或等于门限值TH时,即认为搜索到帧头位置; 步骤三、从搜索到帧头时刻起,连续储存n/k*N_data个数据,其中N_data为编码前每帧有效数据的长度; 步骤四、计算校正子S=R*H<sup>T</sup>,式中,R为步骤三中连续储存的n/k*N_data个接收数据,H是(n,k,L)卷积编码器以固定帧头的后k*(L-1)位作为编码器初始状态时的N_data*(n-k)×N_data*n阶截短监督矩阵; 步骤五、判断本帧数据错误情形,若S为全0的矢量,则判定本帧接收数据无错,转到步骤八;若S不为全0的矢量,但与监督矩阵H中的某一列完全相同,则判定本帧接收数据有1个错误,转到步骤七;否则判定本帧接收数据有多个错误,转到步骤六; 步骤六、利用维特比纠错方法,对本帧数据进行纠错,并输出纠错后的编码序列,转到步骤八; 步骤七、搜索确定监督矩阵H中的第m列与校正子S完全相同,将本帧数据的第m个数据取反纠错,并输出纠错后的编码序列,转到步骤八; 步骤八、将无错或经过纠错的编码序列反编码,输出本帧数据的最终译码序列; 步骤九、从本帧接收数据后开始,跳过n/k*N_head个数据,再连续储存n/k*N_data个数据,循环回到步骤四,即可对后续的每一帧数据连续不断的进行 译码输出; 上述过程中,所述步骤八的序列反编码按如下方式递推进行: 首先,以固定帧头的后k*(L-1)位作为编码器初始状态d<sub>L-1</sub>、d<sub>L-2</sub>、…、d<sub>1</sub>,其中d<sub>L-1</sub>、d<sub>L-2</sub>、…、d<sub>1</sub>均为k维矢量; 然后,根据编码器结构写出输出方程: <img file="FDA00003190630200021.GIF" wi="1641" he="319" />其中,d<sub>0</sub>为当前待求解的k维编码输入数据矢量,C<sub>1</sub>、C<sub>2</sub>、…、C<sub>n</sub>为接收序列的前n个数据,g<sub>ij</sub>(1≤i≤n,0≤j≤L-1)为已知编码器的生成系数;求解上述线性方程组得到一组k维译码输出数据d<sub>0</sub>; 最后,将新得到的数据d<sub>0</sub>作为新的编码器输入数据送入本地编码器,更新编码器初始状态为d<sub>L-2</sub>、d<sub>L-3</sub>、…、d<sub>0</sub>,重新进入方程(1),将C<sub>1</sub>、C<sub>2</sub>、…、C<sub>n</sub>更新为上一次参与递推数据的后n个数据,即可得到一组新的k维译码输出数据;重复递推过程直至本帧数据译码完毕为止。 
地址 100081 北京市海淀区中关村南大街5号
您可能感兴趣的专利