The invention discloses a high-speed Viterbi decoding method and a receiver. The high-speed Viterbi decoding method is highly optimized according to the system architecture and instruction characteristics of the DSP processor. The assembly instructions used in each step are directly specified by the built-in functions of the C66x series of DSP cores, and the resource constraints of the DSP are comprehensively considered. Compared with the existing DSP Viterbi decoding technology, the invention achieves greater performance improvement.
【技术实现步骤摘要】
一种DSP小端模式下的高速维特比译码方法及其接收机
本专利技术涉及一种维特比译码方法,尤其涉及一种在DSP小端模式下运行的高速维特比译码方法,同时涉及采用该高速维特比译码方法的接收机,属于无线通信
技术介绍
在无线通信系统中,由于信道传输特性不理想以及噪声的存在,会导致接收端出现接收信号的错误,因此用于纠错的信道编码是极为重要的技术环节。所谓信道编码,是在发送端对原数据添加和原数据相关的冗余信息,再在接收端根据这种相关性来检测和纠正传输过程产生的差错。卷积码是一种在无线通信系统中广泛使用的信道编码技术,20世纪70年代就应用在深空和卫星通信中。其中,(3,1,7)型卷积码由于在误码性能和译码复杂度上取得了较好的折衷,许多通信系统都采用了该型卷积码,例如LTE系统等。维特比(Viterbi)译码是卷积码的最优译码算法,在实际中得到了广泛的应用。维特比译码包括计算路径回溯和路径度量两部分。针对路径回溯问题,在专利号为ZL200910008300.3的中国专利技术专利中,华为公司提出了一种增强译码方法,用于降低在DSP里实现增强VITERBI译码算法路径回溯过程中的运算量。该增强译码方法包括如下步骤:获取从不可靠节点开始的、并且回溯长度与预定回溯长度相等的回溯路径;将所述回溯路径转换为对应的译码结果;用所述译码结果替换最大似然译码序列中与所述回溯路径对应位置的译码结果;输出替换过译码结果的译码序列。路径度量的计算需要通过加-比-选操作来完成。通常情况下,其计算量远大于路径回溯。在申请号为US19950558745的美国专利中,提出了一种专门针对维特比译 ...
【技术保护点】
1.一种高速维特比译码方法,基于C66x系列DSP核实现,其特征在于利用C66x系列DSP核的内置函数直接指定每一步操作所使用的汇编指令。
【技术特征摘要】
1.一种高速维特比译码方法,基于C66x系列DSP核实现,其特征在于利用C66x系列DSP核的内置函数直接指定每一步操作所使用的汇编指令。2.如权利要求1所述的高速维特比译码方法,其特征在于所述高速维特比译码方法在C66x系列DSP核的小端模式下运行。3.如权利要求1或2所述的高速维特比译码方法,其特征在于所述内置函数包括但不限于_amem8、_dadd、_loll、_hill、_maxu4、_cmpeq4、_packh4、_packl4、_minu4、_packlh2、_sub4。4.如权利要求3所述的高速维特比译码方法,其特征在于包括如下步骤:1)将累积度量数组cum_metrics清零,将已读数据计数器counter清零;2)读入三个连续的输入数据,得到路径度量的增量local_metric_0和local_metric_1在查找表lookup_0和lookup_1中的偏移量;计数器counter加3;3)k为偶数时,八个一组,利用C66x的内置函数_amem8、_dadd、_loll和_hill依次计算累计度量的可能新值update_metrics0[k];4)k为奇数时,八个一组,利用C66x的内置函数_amem8、_dadd、_loll和_hill依次计算累计度量的可能新值update_metrics0[k];5)k为偶数时,八个一组,利用C66x的内置函数_amem8、_dadd、_loll和_hill依次计算累计度量的可能新值update_metrics1[k];6)k为奇数时,八个一组,利用C66x的内置函数_amem8、_dadd、_loll和_hill依次计算累计度量的可能新值update_metrics1[k];7)k为偶数时,四个一组,利用C66x的内置函数_maxu4比较update_metrics0[k]和update_metrics1[k]中的最大值;8)k为奇数时,四个一组,利用C66x的内置函数_maxu4比较update_metrics0[k]和update_metrics1[k]中的最大值;9)k为偶数时,四个一组,利用C66x的内置函数_cmpeq4记录幸存路径;10)k为奇数时,四个一组,利用C66x的内置函数_cmpeq4记录幸存路径;11)k为所有数时,八个一组,利用C66x的内置函数_packh4和_packl4整理累积度量的格式;12)k为所有数时,利用C66x的内置函数_minu4、_packlh2、_packl4和_packh4搜索累积度量的最小值;13)k为所有数时,四个一组,利用C66x的内置函数_sub4从累积度量中减去最小值;14)k为所有数时,四个一组,存储累积度量;15)判断counter是否小于3×(N+6),其中N为卷积码编码之前的数据长度;如果是,转入步骤2),否则,进行步骤16);16)进行最深路径回溯,估计出发射数据;其中,在步骤3)至步骤14)中,k为状态索引;其中,在步骤3)和步骤5)中,“k为偶数时,八个一组”是指将状态索引k按照如下表格分组组号状态索引第1组k=0,2,4,6,8,10,12,14第2组k=16,18,20,22,24,26,28,30第3组k=32,34,36,38,40,42,44,46第4组k=48,50,52,54,56,58,60,62其中,在步骤4)和步骤6)中,“k为奇数时,八个一组”是指将状态索引k按照如下表格分组:组号状态索引第1组k=1,3,5,7,9,11,13,15第2组k=17,19,21,23,25,27,29,31第3组k=33,35,37,39,41,43,45,47第4组k=49,51,53,55,57,59,61,63其中,在步骤7)和步骤9)中,“k为偶数时,四个一组”是指将状态索引k按照如下表格分组:其中,在步骤8)和步骤10)中,“k为奇数时,四个一组”是指将状态索引k按照如下表格分组:组号状态索引第1组k=1,3,5,7第2组k=9,11,13,15第3组k=17,19,21,23第4组k=25,27,29,31第5组k=33...
【专利技术属性】
技术研发人员:马慧,王旭,陈南希,舒睿俊,徐景,张武雄,
申请(专利权)人:上海无线通信研究中心,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。