初始化解码码距.pdf

上传人:54 文档编号:4335420 上传时间:2018-09-14 格式:PDF 页数:17 大小:1.74MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180017518.0

申请日:

2011.07.21

公开号:

CN102835062A

公开日:

2012.12.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 5/12申请日:20110721|||公开

IPC分类号:

H04L5/12

主分类号:

H04L5/12

申请人:

联发科技(新加坡)私人有限公司

发明人:

提摩斯·佩林·费雪-杰夫斯; 罗家明; 杨赣宁

地址:

新加坡市

优先权:

2010.07.27 US 12/843,896

专利代理机构:

北京三友知识产权代理有限公司 11127

代理人:

任默闻

PDF下载: PDF下载
内容摘要

本发明提供的方法中,用于解码卷积编码数据元素的第一解码器,在第一次迭代中,确定第一路径码距的第一值。该方法也包含,在该第一解码器的第二次迭代中,经由使用该第一路径码距的第一值作为该第一路径码距的初始值而确定该第一路径码距的第二值。

权利要求书

1.一种方法,包含:在一第一解码器的一第一次迭代中,确定第一路径码距的第一值;以及在该第一解码器的第二次迭代中,经由使用该第一路径码距的该第一值作为该第一路径码距的初始值,而确定该第一路径码距的第二值,其中,该第一解码器用于解码卷积编码数据元素。2.如权利要求1所述的方法,进一步包含:在该第一解码器的第一次迭代中,确定第二路径码距的第一值,以及在该第一解码器的第二次迭代中,经由使用该第二路径码距的该第一值作为该第二路径码距的初始值,而确定该第二路径码距的第二值。3.如权利要求1所述的方法,其中,确定该第一路径码距的第一值包含:在前向方向穿过网格计算一全跟踪。4.如权利要求1所述的方法,进一步包含:在该第一解码器的第一次迭代中,从该第一解码器提供外在数据至第二解码器。5.如权利要求4所述的方法,进一步包含:在该第二解码器的第二次迭代之前,从该第二解码器接收该第一解码器的外在数据。6.如权利要求4所述的方法,其中,该第一解码器为涡轮解码器的线性解码器。7.如权利要求4所述的方法,其中,该第二解码器为涡轮解码器的交织解码器。8.如权利要求2所述的方法,其中,该第一路径码距为前向路径码距,该第二路径码距为后向路径码距,以及交替在随后的迭代中确定该第一路径码距以及该第二路径码距。9.一种计算装置,包含:第一解码器,该第一解码器用于解码卷积编码数据元素,以及该第一解码器配置为在第一次迭代中确定第一路径码距的第一值;以及该第一解码器进一步配置为在第二次迭代中,经由使用该第一路径码距的该第一值作为该第一路径码距的初始值确定该第一路径码距的第二值。10.如权利要求9所述的计算装置,其中,该第一解码器进一步配置为:在该第一次迭代中,确定第二路径码距的第一值,以及在该第二次迭代中,经由使用该第二路径码距的该第一值作为该第二路径码距的初始值,而确定该第二路径码距的第二值。11.如权利要求9所述的计算装置,其中,为了确定该第一路径码距的第一值,该第一解码器在反向方向穿过网格计算一全跟踪。12.如权利要求9所述的计算装置,进一步包含:第二解码器,该第二解码器用于在该第一次迭代中接收外在数据,其中,该外在数据来自该第一解码器。13.如权利要求9所述的计算装置,其中,在该第一解码器的第二次迭代之前,该第一解码器从该第二解码器接收外在数据。14.一种计算器程序产品,该计算器程序产品有形地体现在信息载波中以及包含指令,当该指令由以处理器实施一方法时而实施,该方法包含:在第一解码器的第一次迭代中确定一第一路径码距的第一值,;以及在该第一解码器的第二次迭代,经由使用该第一路径码距的该第一值作为该第一路径码距的初始值,而确定该第一路径码距的第二值,其中,该第一解码器用于解码卷积编码数据元素。15.如权利要求14所述的计算器程序产品,进一步包含该指令包含:在该第一解码器的第一次迭代中,确定第二路径码距的第一值,以及在该第一解码器的第二次迭代中,经由使用该第二路径码距的该第一值作为该第二路径码距的初始值,而确定该第二路径码距的第二值。16.如权利要求14所述的计算器程序产品,其中,确定该第一路径码距的第一值包含:在前向方向穿过网格计算一全跟踪。17.如权利要求14所述的计算器程序产品,其中,确定该第一路径码距的第一值包含:在反向方向透过网格计算一全跟踪。18.如权利要求14所述的计算器程序产品,其中,该第一路径码距为前向路径码距。19.如权利要求14所述的计算器程序产品,其中,该第一路径码距为后向路径码距。20.如权利要求14所述的计算器程序产品,进一步包含:该指令包含:在该第一解码器的第一次迭代中,从该第一解码器提供外在数据至第二解码器。

说明书

初始化解码码距

背景技术

本发明有关于一种解码数据中使用的初始化码距的系统以及装置,上述数据为例如,
使用卷积(convolutional)码编码的数据。

对于数据传送以及接收,各种错误校正码(error correcting codes)已经随对应解码算法发
展起来。为了提供更强的错误校正能力,这些困难以及复杂的解码器可以利用接近数据传
送的理论极限的码,理论极限例如信道容量(1948年Claude Shannon引入了这个概念,所
以以Claude Shannon命名为Shannon极限)。为了降低复杂度,在一方面,多个相对简单的
码(其中每一个均不能独立提供显著的错误校正能力)级联在一起而产生一个较长的码,也
可提供增强的错误校正能力。

发明内容

一般说来,在一个方面中,本发明提供的包含包含,用于解码卷积编码数据元素的第
一解码器在第一次迭代中,确定第一路径码距的第一值。该方法也包含在该第一解码器的
第二次迭代中,经由使用该第一路径码距的第一值作为该第一路径码距的初始值而确定该
第一路径码距的第二值。

本发明的实现可以包含如下一个或者多个特征。本发明提供的方法也包含,在第一解
码器的第一次迭代过程中,确定第二路径码距的第一值,以及在该第一解码器的第二次迭
代中,经由使用该第二路径码距的第一值作为初始值而确定该第二路径码距的第二值。确
定该第一路径码距的第一值可以包含:在前向方向(forward direction))穿过网格(trellis)
而计算全跟踪(full trace)。确定该第二路径码距的第一值可以包含在反向方向(reverse 
direction),穿过网格而计算全跟踪。该第一路径码距可以为前向路径码距。该第一路径码
距可以为一个后向(backward)路径码距。该方法也可以包含:在该第一解码器的第一次
迭代中,从该第一解码器提供外在(extrinsic)数据给第二解码器。该方法也可以包含:在
该第一解码器的第二次迭代之前,在该第一解码器从第二解码器接收外在数据。该第一解
码器可以为一个涡轮(turbo)解码器的线性解码器,以及该第二解码器可以为涡轮解码器
的交织解码器。进一步说,该第一路径码距可以为前向路径码距,该第二路径码距可以为
后向路径码距,以及确定该第一路径码距以及该第二路径码距的值可以在随后的迭代中交
替进行。

一般说来,在另一方面,本发明提供一种计算装置,该计算装置包含用于解码卷积编
码数据元素的第一解码器,该第一解码器配置为,在第一次迭代中,确定该第一路径码距
的第一值。该第一解码器进一步配置为,在第二次迭代中,经由使用该第一路径码距的第
一值作为初始值而确定该第一路径码距的第二值。

本发明的实施例可以包含如下一个或者多个特征。该第一解码器可以进一步配置为,
在第一次迭代中,确定第二路径码距的第一值以及在第二次迭代中,经由使用该第二路径
码距的第一值作为初始值而确定该第二路径码距的第二值。为了确定该第一路径码距的第
一值,该第一解码器可以在正向穿过网格计算一全跟踪。为了计算该第二路径码距的第一
值,该第一解码器可以在反向穿过网格计算一全跟踪。该第一路径码距可以为一正向路径
码距或者后向路径码距。该计算装置可以进一步包含一第二解码器,用于解码来在该第一
次迭代中来自该第一解码器的外在数据。该第一解码器进一步在该第一解码器的第二次迭
代前,可以从该第二解码器接收外在数据。该第一解码器可以为涡轮解码器的线性解码器,
以及该第二解码器可以为涡轮解码器的交织解码器。该第一路径码距可以为前向路径码
距,该第二路径码距可以为后向路径码距,以及确定该第一路径码距以及该第二路径码距
的值可以在随后的迭代中交替进行。

一般说来,在另一方面,本发明提供一种计算机程序产品,有形地体现为信息载体,
以及包含指令,其中,当该指令被一处理器执行以实施一方法,该方法包含:用于解码卷
积编码数据元素的第一解码器的第一次迭代中,确定第一路径码距的第一值。该方法也包
含在该第一解码器的第二次迭代中,经由使用该第一路径码距的第一值作为该第一路径码
距的初始值而确定该第一路径码距的第二值。

本发明的实施例可以包含如下一个或者多个特征。本发明提供的计算机程序产品可以
进一步包含一组指令,该指令被该处理器执行以实施以方法,该方法包含:在该第一解码
器的第一次迭代中,确定第二路径码距的第一值。该方法也可以包含,经由使用该第二路
径码距的第一值作为初始值确定该第二路径码距的第二值。确定该第一路径码距的第一值
可以包含在正向穿过网格计算一全跟踪。确定该第二路径码距的第一值包含在反向穿过网
格计算一全跟踪。该第一路径码距为一正向路径码距或者后向路径码距。该方法也包含,
在该第一解码器的第一次迭代中,从该第一解码器提供外在数据给第二解码器。该方法也
可以包含,在该第一解码器的第二次迭代之前,在该第一解码器从该第二解码器接收外在
数据。该第一解码器可以为涡轮解码器的线性解码器,该第二解码器可以为涡轮解码器的
交织解码器。该第一路径码距可以为正向路径码距,该第二路径码距可以为后向路径码距,
以及确定该第一路径码距以及该第二路径码距的值可以在随后的迭代中交替进行。

上述方面以及其他特征,或者各种组合,均可以应用于本发明的方法、装置、系统或
者实现上述功能的装置、计算机程序,以及其他方式中。

本发明的其他特征以及有意效果将在说明书中详细描述,然说明书的实施例以及等同
变形,只要未脱离本发明的精神,均在本发明的保护范围内,本发明的保护范围以权利要
求内容为准。

附图说明

图1为编码系统一部分方块示意图。

图2为解码系统一部分方块示意图。

图3以及图4为表示数据解码运作的迭代的刘程序。

图5为解码器一部分的方块示意图。

图6为解码器运作流程图。

具体实施方式

请参考图1,图1为根据本发明实施例的示例编码系统100的示意图。示例编码系统
100在通信信道上,使用一个或者多个编码技术准备数据(例如,数据元素例如符号)以用于
传送。实现这样的编码技术可以用于在接收器一侧校正所检测到的错误。在特别的情况下,
编码系统100实现涡轮(turbo)码结构,其中,例如经由为包含在输入数据中的每一个比特
产生三个输入比特,将两个卷积码用在已编码输入数据102中。如图所示,每个输入比特
也提供作为输出(称作系统格式)和两个卷积码的输出一起用于传输。一般说来,涡轮码由
交织器分开的两个码的平行级联而形成。这样编码器104以及编码器106实施以及以相似
方式运作,以将一个或者多个码(例如,递归系统卷积码,Recursive Systematic Convolutional,
RSC)应用到输入数据102。为了将编码器104以及编码器106应用的码分开,在将输入数
据提供给编码器106之前,交织器108处理输入数据102。这样,已交织输入数据102使
得编码器106输出与从编码器104输出的数据截然不同的数据。这样,就产生了两个码,
该两个码可以平行(parrallel)组合。这样的组合使得已组合码的一部分分开解码。进一步
说,经由交换分别从每个解码器中提取的信息可以提高每个解码器的效能。由于交织器108
为编码器106提供不同的输入数据(与编码器104的输入数据相比),编码器106的输出和
编码器104的输出是不同的(例如,不相关的,uncorrelated)。这样,即可以传送更多信息,
该信息由接收器用来检测错误以及可能地校正已传送数据中的错误。

一般说来,交织器108可以被认为将输入资料102的数据元素(data element)以伪随机
方式重新排序,虽然为确定性(deterministic)顺序。为了提供该功能,交织器108也实现一
个或者多个交织器技术,例如行列(row-column)交织、螺旋状(helical)交织、奇-偶(odd-even)
交织,伪随机(pseudo-random)交织等等。与系统输出数据(图标标记为系统(systematic))一起,
编码器104以及编码器106每一者输出同位数据(标记为同位(parity),以及同位’(parity’)),
其中,也传送同位数据以提供用于错误检测以及校正的附加信息。

请参考图2,图2为根据本发明实施例的示例性解码系统200的示意图。示例性解码
系统200能够解码已经使用一个或者多个技术编码的数据。在此情况下,编码系统100提
供的三个数据集合(set)由解码系统200所接收。特别地,和系统数据(标记为系统202)一起,
同位数据(例如,同位204以及同位’206)集合被接收,以及为已传送数据提供受控冗余
(redundancy),这样解码系统200可以检测传送错误的存在,可能的话校正该错误。

可以使用多种解码技术揭示已传送已编码数据。举例说明,在一些实现(arrangement)
中,与解码系统相关的接收器可以提供有关已接收数据位的确定(例如,代表0或者1的二
进制值)。一旦确定,数据位就可以提供给解码系统用于进一步的处理。对于这样的技术,
一些数据比特典型地比其他数据位具有更大确定性,尽管如此,用于确定的信息可能不提
供给解码系统以及被解码系统所利用。在一些情况下,解码系统可能被提供一个数值
(numerical value)(称作”软”输入)而不是来自接收器的”硬”确定。假设有此输入,解码系
统可以输出(为每一个数据位)一估计,该估计反应与已传送数据位相关的概率(即,二进制
值0或者1的该率)。

在此特别情况下,解码系统200包含两个解码器208以及210,解码器208以及解码
器210可以使用解码技术,例如维特比解码(Viterbi)(或者另一种类型的技术)。一般情况下,
解码系统200使用递归(recursive)解码技术,这样解码器208提供外在(extrinsic)输出(标记
为外在(Extrinsic)),该外在输出可以认为是系统输入202的错误估计。相似地,解码器210
提供外在输出(标记为外在’(Extrinsic’))。与系统输入(系统202)(透过累加器212以及累加器
214)联合,累加和值分别提供给解码器208以及解码器210,其中累和值(例如,系统+外
在(Systematic+Extrinsic)以及系统+外在’(Systematic+Extrinsic’))称作内在(intrinsic)数据
(例如,内在=系统+外在(Intrinsic=Systematic+Extrinsic),以及内在’=系统+外在’(Intrinsic’
=Systematic+Extrinsic’))。相似地,已接收同位204以及同位’206数据分别提供给解码器
208以及解码器210。因为各种技术都可以使用,典型地,资料(例如,同位、同位’、内在、
内在’/外在、外在’以及系统)储存在一个或者多个存储器中,该一个或者多个存储器由分别
的解码器208、解码器210用于恢复(retrieval)而存取。

经由使用三个数据集合(例如,系统202,同位204以及同位’206)传送信息,编码系统
100以及解码系统200被认为是三倍码率(rate three code)。尽管如此,随着对于更高码率的
增长的需求,系统需要接近一倍码率(rate one code),主要从系统数据提供的信息中提取,
以及尝试减少对于同位数据(例如,同位以及同位’)所提供的信息的需求。尽管如此,同位
数据的数量显著减少到一倍码率典型地将效能降低到低于可用级别。这样,当一倍码率可
以接近时,需要同位数据的一部分提供适当的效能。这样,提高系统效能应当包含输入数
据(例如,系统202,同位204以及同位’206)提供的信息以及解码系统从输入数据产生的信
息(例如外在数据)的使用。

解码器运作在系统以及同位信息的全部输入数据集合上,通常该解码器作为全追溯
(full traceback)解码器而被熟知,以及该解码器被认为是优化的,但是实际上没有可观的负
载情况下是不可实现的。可实现的涡轮解码器的一个实际结构方面,典型地,不会在系统
信息以及同位信息的全部输入数据集合上执行解码运作,但是却将数据分解为更小更多可
管理的窗口。提供全追溯效能的已窗口化解码器在用于计算初始值时可以耗费大量(如果不
是理论上不可实现的)计算成本(computational overhead),以初始化解码窗口。这样,用于
已窗口化解码器的一些理论可以包含减少用于储存于计算有关参数(例如,路径码距)的需
求以及减少计算初始值的计算成本,以初始化解码窗口。

由于解码系统200执行处理过程的递归(recursive)特性,处理迭代(iteration)中可以
使用多个技术,以使用以及重复使用信息,其中,迭代可以在一个或者多个前面的(previous)
迭代中确定。举例说明,在一次迭代中,解码器208(称作线性码解码器)计算的处理码距
(processing metrics)可以储存以及在随后的处理迭代中使用。相似地,一个处理迭代中解码
器210(既然输入由交织器216提供,所以称作交织码解码器)计算的处理码距,可以在随后
的迭代中使用。在此情况下,处理码距是路径码距(path metrics),路径码距用来计算外在
输出(例如,外在,外在’),该外在输出储存以及用在下一次迭代中。在一些传统系统中,
这样的路径码距可以初始设定为零值,用于每一个解码器窗口迭代(虽然对于后向
(backward)或者反向(reverse)路径码距不是必要的)。尽管如此,在较高码速率情况下,这样
的零值初始化可以降低效能。为了确定这样的路径码距,可以使用一个或者多个处理技术。
举例说明,一次迭代中可以计算与解码器窗口的尾端比特位置相关的路径码距,以及储存
为初始值,以及提供给适当的解码器窗口开始位置,以用于多次(或者全部)后面计算的随
后的迭代。但是,这样的情况可能为初始路径码距(随后的处理迭代)提供值,随着时间(以
及迭代)的改变,这些初始值可以变得不那么有效。为了使得初始值不会变得陈旧(stale),
可以使用一个或者多个技术。举例说明,在一次迭代中已经计算的与解码器窗口尾端比特
位置对齐的路径码距(在一次,通常对于后向或者反向路径码距是不必要的)可以在替换的
线性以及交织处理迭代中储存,以及用于初始化解码器窗口开始位置路径码距,在后面的
类似循环(like-cycle)的迭代中。对于线性以及交织迭代,为了执行这样的运作通常需要储
存初始值路径码距。在另一个实现中,路径码距(可替换的在后向/反向路径码距以及前向
路径码距)可以和解码器窗口尾端位位置对齐,该路径码距可以在一次迭代计算,以及用于
在替换的线性以及交织处理迭代中储存。路径码距可以用于初始化解码器窗口开始位位置
路径码距在随后的类似循环(like-cycle)的迭代中。这样的运作可以优化地保存初始值的
新鲜(与陈旧相比),却没有实施全部追溯的昂贵开销(costly overhead)。为了执行样的运作,
相关解码器的结构可能需要进一步的调整。举例说明,解码器可能需要在前向以及反向方
向中实施等效运作。

各种类型结构以及技术可以使用,用以为随后的解码迭代提供路径码距。举例说明,
解码器208、解码器210存取的存储器可以用于储存以及提取码距值。解码器208、210可
以共享码距储存以及提取的存储器或者指定专用的存储器(例如,独立的缓冲器)。在每一
个储存运作过程中,可以储存多个数量的码距值,例如,储存的数量可以基于解码系统中
实现的窗口结构。

一旦产生,解码器208以及210的每一者提供外在数据(例如,解交织器218提供来自
解码器210的重新排序外在数据)至分别的累加器212以及214,以继续系统数据202的递
归处理。

请参考图3,图3为根据本发明的一个实施例在多次解码器迭代中计算以及使用码距
的示意图300。示意图300的左手边代表线性解码器(例如,图2所示的解码器200)的运作,
而示意图300的右手边代表交织解码器(例如,图2所示的解码器210)的运作。对于示意图
300的两边,轴线302代表时间,以及从图示顶部延伸到底部。轴线304以及轴线306对
应地代表与每个解码器相关的信息比特位置。为了容易表示,4个窗口(例如,W0,W1,W2以
及W3)与每个解码器相关,尽管如此,典型的也可以有附加窗口(例如,右测,等等)。当
然,在特别的情况下,与线性解码器有关的运作在时间上初始进行。尽管如此,已交织解
码器的运作可以相似地初始执行。

示意图300描述了以替换方式在两个解码器之间执行的多次迭代308、310以及312。
特别地,线性解码器执行迭代308以产生提供给解交织器的外在输出。在迭代310中处理
外在输出(和其他数据,例如同位以及系统数据),交织解码器计算外在输出,该外在输出
提供给线性解码器用在迭代312处理中。虽然使用三次迭代示意交换数据,但解码已传送
数据元素可能需要很多额外次的迭代。

为了计算用于每次迭代的外在输出,路径码距(也称作状态代码距)分别由线性以及交
织解码器使用。一个路径码距,前向(forward)路径码距(α)透过(网格的,trellis)前向递归
(recursion)得到,以及第二路径码距(β)透过(网格的的)后向(back)递归确定。如迭代308所
示,α路径码距可移动每一个窗口前向(箭头314代表的从左到右)穿过窗口(称作全追踪(full 
trace forward))而计算。不是从网格的开始计算,β路径码距从网格的后端计算。如箭头316
所描述,用于每一个窗口的β路径码距从右到左以反向方向移动一个窗口计算得到(称作全
追溯(full trace back))。

虽然使用α路径码距以及β路径码距计算外在输出(用于迭代308),码距值可以为随后
的迭代而储存。传统的解码器使用滑动窗口结构初始将或者α或者β路径码距,在每一个
窗口的开始设定为零值。这样,在一次迭代中收集的码距信息不用来帮助随后的迭代。但
是透过提供与一个或者多个前面的迭代相关的路径码距值(例如,提取已储存值),随后的
迭代提高用于初始值的近似性。在特别的例子中,β路径码距由线性解码器储存,以及在
迭代312中使用(如箭头316所代表)以初始化对应β码距。

与线性解码器相似,路径码距α以及β也透过交织解码器(如图2的解码器210所示)
的运作而确定。基于线性解码器提供的外在信息以及附加信息(例如,同位’数据)计算路径
码距α以及β。在特别情况下,交织解码器透过网格(如箭头320所代表)执行全追溯,以
确定β路径码距以及全追踪(如箭头322所代表)以在前向方向确定α路径码距。一旦确定,
就储存β路径码距,于在交织解码器随后的迭代中使用,以提供初始值(如箭头324所表示)。
附加地,经交织解码器执行其他运作,例如,计算外在数据(例如,如图2所示的外在’)然
后提供给线性解码器在下一次迭代中(例如,迭代312)使用,如箭头326所代表。

透过存取路径码距以及使用码距作为初始值,全追溯运作可能对于每一个随后的迭代
是不必要的。这样,经由使用前一次迭代中确定的路径码距,节约了处理时间以及资源。
在这个例子中,获取到β路径码距(例如,从存储器)以及使用作为收敛窗口(convergence 
window)的初始值。如迭代312所示,透过网格,经由全追踪,确定α路径码距,而β路
径码距从存储器中得到。在迭代312之后继续随后的迭代,β路径码距适当地以类似方式
从存储器中得到,以及用于计算(例如,计算外在数据)。在迭代312过程之后,继续随后
的迭代,β路径码距以相似方式从存储器适当获取以及用于计算(例如,计算外在数据)。对
于交织解码器,迭代310中的已确定以及已储存β路径码距也用在交织解码器随后的迭代
中(没有在图示中表示出来),因此,进一步减少了对于计算资源的需求。

在此特别情况下,对于线性以及交织解码器当β路径码距初始确定(从全追溯)(以用于
所有随后的迭代)时,也可以采用其他方法。举例说明,α路径码距也可以计算、储存以及
获取用于后面的迭代使用。在一种情况下,在相同的迭代中,可确定α路径码距,也确定
以及储存β路径码距(用于后面的使用)。路径码距也可以及于替换的迭代而确定,或者是
用迭代样态(pattern)的其他类型而确定。举例说明,在一次迭代中可以确定β路径码距,而
在下一次迭代中确定α路径码距。这样的技术提供相对当前路径码距,因为每一个码距不
在是一个从全跟踪(full trace)的迭代创建。

请参考图4,图4为根据本发明的一个实施例的数据解码运作的示意图400。不在随
后的迭代的使用中计算以及储存一个类型的路径码距(例如,β路径码距),解码器安排示意
图400的给出了在替换的解码器迭代中计算不同路径码距。在此特别的例子中,α路径码
距首先计算(在网格的前向全trace)以及储存。在下一个次迭代中,使用已储存α路径码距,
在全追溯中计算β路径码距以及与已储存α路径码距一起使用。储存已计算β路径码距以
及在后面的迭代中使用。经由在每一次迭代中交替确定α以及β路径码距,相对当前路径
码距在每一次迭代中存在。这样”状态”路径码距信息不在时间的表示周期中使用,或者不
在几次迭代中使用。

与调度(schelduling)示意图300相似(如图3所示),示意图400的左手边代表线性解
码器(例如,图2所示的解码器208)的运作,以及右手边代表交织解码器(例如,解码器210
也如图2所示)的运作。垂直轴线402代表时间,水平轴线404以及406分别与解码器相关
的代表4个窗口(例如,W0,W1,W2and W3)信息比特位置。附加窗口是很典型的,但是在
图示中只以4个窗口为例作为说明。当然,与线性解码器相关的运作也给出示意图,并且
初始执行,交织解码器的运作可以描述为在其他情况中初始执行。也与示意图300相似,
与两个解码器相关的迭代408、410、412以及414给出示意,并且以替换的方式中执行。

对于迭代408,从全追踪(full trace)中确定α路径码距,如箭头416所示,以及从预先
确定的初始值(例如,零值)中确定β路径码距。从提供给线性解码器的路径码距,计算外
在数据并且提供给已交织解码器。额外地,储存在随后的迭代(例如,迭代412)中使用的α
路径码距(如箭头418所描述)。在此情况下,在迭代410中由交织解码器执行的运作与线
性解码器在迭代408中执行的运作相似。举例说明,全追踪(如箭头420所描述)确定α路
径码距,以及从预先确定初始值中以部分方式计算β路径码距。一旦确定,交织解码器使
用α以及β路径码距以确定外在数据,其中,该外在数据提供给线性解码器(如箭头422
所描述)。额外地,储存在已交织解码器的下一次迭代中使用的α路径码距(如箭头424所
描述)。

对于下一次迭代,迭代412,线性解码器获得已储存α路径码距以及经由执行全追溯
(full trace back)而确定β路径码距,如箭头426所描述。与较早的迭代相似,使用α以及β
路径码距计算外在数据,其中,该外在数据由该交织解码器在下一次迭代414中使用(如箭
头428所描述)。线性解码器的随后的迭代中使用的β路径码距也储存(如箭头430所描述)。
经由在路径码距计算中交替,因为路径码距已经从全跟踪在一个或其他方向中计算得出,
所以不会再通过一次迭代。在相似方式中,对于已交织解码器的下一次迭代,迭代414,
α路径码距来自储存装置,以及β路径码距从全追溯(如箭头432所描述)中确定。也储存
β路径码距(如箭头434所描述),用于已交织解码器的下一次迭代的执行。

如图3以及图4所示的安排示意图代表为相对当前路径码距提供给每个解码器的两个
方法,尽管如此,其他技术也可以使用。举例说明,路径码距可以计算以及储存,以在两
个或者多次迭代中使用。为了实施于这些技术有关的运作,在特定的全追踪以及全追溯中,
线性以及交织解码器的功能可能需要在前向以及反向方向中运作。例如,与能够在前向以
及反向方向执行的交织器运作一起,错误校正(例如,迭代冗余校正(cyclic redundancy check,
CRC))以及其他解码运作可能需要双向执行。

请参考图5,图5为根据本发明的一个实施例的解码器500的示意图,解码器500代
表最大事后机率(maximum a posteriori,MAP)解码器,其中,该解码器实现窗口运作,而且
能够在任意方向(例如前向以及后向方向)能够穿过(traversing)网格。与图4的运作相似,
MAP解码器能够从码块的一端到另一端的穿过网格全跟踪。对于线性以及交织解码部分解
码器可替换地在确定前向以及后向路径码距(对于每相隔一次迭代))。在预先确定窗口长度
位置,全跟踪路径码距值储存在初始缓冲器502中,以及之后获得以用作初始值。典型地,
码块大小近似5114位,因此64位的80个窗口,每一个可以用于产生用于初始缓冲器502
的码距。在此实现中,单一缓冲器502能够储存用于线性以及交织解码器运作的初始路径
码距,尽管如此,也可以使用多个缓冲器。举例说明,可以整合一个缓冲器用于线性解码
器运作,第二缓冲器用于交织解码运作。

在此情况下,多个输入缓冲器504接收输入(例如,同位、系统以及外在信息)用以解
码运作。输入信息提供给分支码距单元(Branch Metric Unit,BMU)506,BMU 506计算输入
缓冲器504提供的数据中的分支码距(例如,代表已接收符号以及可能的符号之间的距离)。
与BMU 506提供的分支码距一起,来自初始缓冲器502的码距(透过初始累加-比较-选择
(InitialAdd-Compare-Select,ACS)单元508)分别提供给αACS 510、βACS 512,用于产生α
路径码距以及β路径码距。在此情况下,依赖于穿过的方向,码距缓冲器514储存α路径
码距或者β路径码距。一对多任务器516、518提供α路径码距以及β路径码距(或者来自
ACS单元,或者来自储存在码距缓冲器514)至对数似然比(Log-Likelihood Ratio,LLR)单元
520,以计算代表位值(外在数据)的可能性。

请参考图6,图6为根据本发明一个实施例的解码器运作流程图600,流程图600代
表解码器的一些运作,其中,解码器为例如线性解码器(例如,解码器208)或者交织解码器
(例如,解码器210)的解码器。这样的解码器可以实现在一个或者多个硬件结构中,例如,
基于结构的处理器,或者其他类型的设计。在一些基于结构的处理器中,解码器可以在单
片(single)处理器或上执行或者分布在多个处理器之间执行。各种类型电路(例如,组合逻辑,
序列逻辑等等)以及计算装置可以单独用于或者组合用来执行解码器的运作。举例说明,在
基于处理器的系统设计中,指令可以由处理器执行(例如,微处理器)以提供解码器的运作。
这样的指令可以储存在存储器装置中(例如,硬驱动、CD-ROM等等)以及提供给处理器(或
者多个处理器)执行。

解码器的运作可以包含,在第一解码迭代中,计算路径码距(例如,α路径码距、β路
径码距)以及对应来自输入数据的外在数据,输入数据例如,系统数据、同位数据等等(步
骤602,在第一次迭代中,计算用于第一(线性)解码器的路径码距以及外在数据)。在此例
子中,流程图600的运作根据线性解码器(例如,解码器208,如图2所示)进行描述,尽管
如此,这样的运作可以映像到交织解码器(例如解码器210,也如图2所示)。一旦码距计算
完毕,运作也可以包含储存路径码距(步骤604,储存已计算路径码距)以及提供外在数据给
第二解码器(例如,交织解码器)(步骤606,为第二(交织)解码器提供外在数据)。透过提供
外在资料,第二解码器可以相似地(在分开的解码迭代中)计算路径码距以及计算来自输入
数据(例如系统数据、同位数据等等)的外在数据(第一解码器提供)。一旦完成,在第二解码
迭代中,外在数据与对应输入数据(例如,系统数据,同位数据等等)可以由解码器(来自第
二解码器)接收(步骤608,在第二次迭代中,接收输入数据以及来自交织解码器的外在数
据)。也在第二次迭代中,运作包含接收第一次迭代中储存的路径码距(步骤610,接收在第
一次迭代中储存的路径码距)。从已接收路径码距,解码器计算与第二解码迭代相关的路径
码距(步骤612,基于已接收路径码距计算路径码距)。例如,在第一解码迭代中,计算以及
储存α路径码距。经由在第二次迭代中提取已储存α路径码距,在该随后的迭代中,解码
器可以使用已提取码距作为初始α路径码距值。这样,已提取码距就可以用在其他计算中,
该其他计算涉及到其他码距(例如,β路径码距)。在此例子中,在一次迭代中储存α路径码
距,以及在随后的解码迭代中提取α路径码距。相似地,在一些情况下,可以在一次迭代
中计算以及储存β路径码距,以在一个或者多个随后的解码迭代中使用。

如上所述,在一些解码系统中,可以基于处理器而设计。这样,根据本发明的实施例,
为了实施如流程图600所描述的运作,解码器以及优化的与解码器系统的其他部分可以实
施任何前面描述的计算器实施的方法。举例说明,解码系统可以包含用于执行与解码数据
元素相关的计算器指令的计算装置(例如,计算器系统)。计算装置可以包含处理器、存储
器、储存装置,以及输入/输出装置。每一个组件可以使用系统总线或者其他相似结构而互
相连接。处理器可以处理计算装置内执行的处理指令。在一个实现中,处理器为单线程
(thread)处理器。在另一个实现中,处理器是多线程处理器。处理器可以处理储存在存储器
或者储存装置中的指令,以在输入/输出装置的用户界面(interface)显示图形信息。

存储器在计算装置中储存信息。在一个实现中,存储器为计算器可读媒体。在一个实
现中,存储器为易失性(volatile)存储器单元。在另一个实现中,存储器为非可易失性
(non-volatile)存储器单元。

储存装置能够为计算装置提供大容量储存空间。在一个实现中,储存装置为计算器可
读媒体。在各种不同的实现中,储存装置可以为软软式磁盘片(floppy disk)、硬盘(hard disk)、
光盘(optical disk)或者磁带(tape)装置。

输入/输出装置为计算装置提供输入/输出运作。在一个实现中,输入/输出装置包含键
盘以及/或者点击(pointing)装置。在另一个实现中,输入/输出装置包含用于显示图形用户
界面的显示单元。

所述特征(例如解码系统200)可以在数字电子电路中、或者计算器硬件、轫体、软件或
者上述几者的组合中实现。上述装置(apparatus)可以实现在明确体现为一信息载体的计算
器程序产品中,以用于由可程序化处理器执行,其中,计算器程序产品例如,机器可读储
存装置或者传播信号(propagated signal)中;以及方法步骤可以由可程序化处理器实施,其
中,可程序化处理器执行指令的程序以实施在所述输入数据以及产生输入的运作的功能。
所述特征可以在一个或者多个计算器程序中具有优势地实现,其中,一个或者多个计算器
程序为在可程序化系统中执行,可程序化系统包含至少一个可程序化处理器,该至少一个
可程序化处理器耦接以从下列装置接收数据以及指令,以及将数据以及指令传送给下列装
置:数据储存系统、至少一个输入设备,以及至少一个输出装置。计算器程序为一组指令,
该组指令可以直接或者间接使用在计算器中,以实施某一活动或者带来某一结果。计算器
程序可以任何形式可程序化语言形式书写,其中,可程序化语言包含:汇编(compiled)语言
或者翻译语言,以及计算器程序可以以下列任何形式展开(deploy),包含单独存在的程序或
者模块、组件、子程序(subroutine)、或者其他用在计算环境中的适合单元。

用于执行指令程序的适合处理器包含(举例说明)通用以及专用微处理器以及单独处理
器或者一个或者多个任何类型的计算器处理器。一般说来,处理器可以从只读存储器或者
随机存取存储器或者上述两者接收指令以及数据。计算器的关键元素为使用于执行指令的
处理器以及用于储存指令以及数据的一个或者多个存储器。一般说来,计算器可以包含,
或者运作上耦接以与下列装置通信:用于储存数据文件的一个或者多个大容量储存装置;
这样的装置包含磁盘(magnetic disks),例如内部硬盘(internal hard disks)以及可移除碟
(removable disks),磁光盘(magneto-optical)以及光盘。适合有形地体现计算器程序指令以及
数据的储存装置包含所有形式的非可挥发存储器,包含但是不限于半导体存储器装置,例
如EPROM、EEPROM、闪存装置、磁盘,例如内部硬盘以及可移除碟,磁光盘以及CD-ROM
以及DVD-ROM碟。处理器以及存储器可以实现在ASIC中,或者由ASIC所支持。

多个特征可以实现在计算器系统中,计算器系统包含后端(back-end)组件,例如,数据
服务器,或者包含中间软件(middleware)组件,例如应用服务器或者因特网服务器,或者包
含前端组件,例如客户端计算器具有图形用户界面,或者因特网浏览器,或者上述几者的
任何组合。系统的组件可以由数字数据通信媒体或者任何形式而链接,其中,数字数据通
信媒体例如通信网路。通信网路的例子包含:LAN、WAN以及计算器和形成因特网的网
络。

计算器系统可以包含客户端以及服务器。客户端以及服务器一般彼此远离,典型地,
透过网络相互作用,其中,网络可以如上述任意一者。客户端以及服务器之间的关系凭借
运行在分别的计算器上的计算器程序而产生,以及凭借彼此具有客户端服务器关系而产
生。

任何所属领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,
因此本发明的保护范围当视所附权利要求所界定者为准。

初始化解码码距.pdf_第1页
第1页 / 共17页
初始化解码码距.pdf_第2页
第2页 / 共17页
初始化解码码距.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《初始化解码码距.pdf》由会员分享,可在线阅读,更多相关《初始化解码码距.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102835062 A (43)申请公布日 2012.12.19 C N 1 0 2 8 3 5 0 6 2 A *CN102835062A* (21)申请号 201180017518.0 (22)申请日 2011.07.21 12/843,896 2010.07.27 US H04L 5/12(2006.01) (71)申请人联发科技(新加坡)私人有限公司 地址新加坡市 (72)发明人提摩斯佩林费雪-杰夫斯 罗家明 杨赣宁 (74)专利代理机构北京三友知识产权代理有限 公司 11127 代理人任默闻 (54) 发明名称 初始化解码码距 (57) 摘要 本发明提供的方。

2、法中,用于解码卷积编码数 据元素的第一解码器,在第一次迭代中,确定第一 路径码距的第一值。该方法也包含,在该第一解码 器的第二次迭代中,经由使用该第一路径码距的 第一值作为该第一路径码距的初始值而确定该第 一路径码距的第二值。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.09.29 (86)PCT申请的申请数据 PCT/US2011/044906 2011.07.21 (87)PCT申请的公布数据 WO2012/015672 EN 2012.02.02 (51)Int.Cl. 权利要求书2页 说明书10页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请。

3、 权利要求书 2 页 说明书 10 页 附图 4 页 1/2页 2 1.一种方法,包含:在一第一解码器的一第一次迭代中,确定第一路径码距的第一值; 以及在该第一解码器的第二次迭代中,经由使用该第一路径码距的该第一值作为该第一路 径码距的初始值,而确定该第一路径码距的第二值,其中,该第一解码器用于解码卷积编码 数据元素。 2.如权利要求1所述的方法,进一步包含: 在该第一解码器的第一次迭代中,确定第二路径码距的第一值,以及在该第一解码器 的第二次迭代中,经由使用该第二路径码距的该第一值作为该第二路径码距的初始值,而 确定该第二路径码距的第二值。 3.如权利要求1所述的方法,其中,确定该第一路径码。

4、距的第一值包含:在前向方向穿 过网格计算一全跟踪。 4.如权利要求1所述的方法,进一步包含: 在该第一解码器的第一次迭代中,从该第一解码器提供外在数据至第二解码器。 5.如权利要求4所述的方法,进一步包含: 在该第二解码器的第二次迭代之前,从该第二解码器接收该第一解码器的外在数据。 6.如权利要求4所述的方法,其中,该第一解码器为涡轮解码器的线性解码器。 7.如权利要求4所述的方法,其中,该第二解码器为涡轮解码器的交织解码器。 8.如权利要求2所述的方法,其中,该第一路径码距为前向路径码距,该第二路径码距 为后向路径码距,以及交替在随后的迭代中确定该第一路径码距以及该第二路径码距。 9.一种计。

5、算装置,包含: 第一解码器,该第一解码器用于解码卷积编码数据元素,以及该第一解码器配置为在 第一次迭代中确定第一路径码距的第一值;以及该第一解码器进一步配置为在第二次迭代 中,经由使用该第一路径码距的该第一值作为该第一路径码距的初始值确定该第一路径码 距的第二值。 10.如权利要求9所述的计算装置,其中,该第一解码器进一步配置为:在该第一次迭 代中,确定第二路径码距的第一值,以及在该第二次迭代中,经由使用该第二路径码距的该 第一值作为该第二路径码距的初始值,而确定该第二路径码距的第二值。 11.如权利要求9所述的计算装置,其中,为了确定该第一路径码距的第一值,该第一 解码器在反向方向穿过网格计。

6、算一全跟踪。 12.如权利要求9所述的计算装置,进一步包含: 第二解码器,该第二解码器用于在该第一次迭代中接收外在数据,其中,该外在数据来 自该第一解码器。 13.如权利要求9所述的计算装置,其中,在该第一解码器的第二次迭代之前,该第一 解码器从该第二解码器接收外在数据。 14.一种计算器程序产品,该计算器程序产品有形地体现在信息载波中以及包含指令, 当该指令由以处理器实施一方法时而实施,该方法包含: 在第一解码器的第一次迭代中确定一第一路径码距的第一值,;以及在该第一解码器 的第二次迭代,经由使用该第一路径码距的该第一值作为该第一路径码距的初始值,而确 定该第一路径码距的第二值,其中,该第一。

7、解码器用于解码卷积编码数据元素。 15.如权利要求14所述的计算器程序产品,进一步包含该指令包含: 权 利 要 求 书CN 102835062 A 2/2页 3 在该第一解码器的第一次迭代中,确定第二路径码距的第一值,以及在该第一解码器 的第二次迭代中,经由使用该第二路径码距的该第一值作为该第二路径码距的初始值,而 确定该第二路径码距的第二值。 16.如权利要求14所述的计算器程序产品,其中,确定该第一路径码距的第一值包含: 在前向方向穿过网格计算一全跟踪。 17.如权利要求14所述的计算器程序产品,其中,确定该第一路径码距的第一值包含: 在反向方向透过网格计算一全跟踪。 18.如权利要求14。

8、所述的计算器程序产品,其中,该第一路径码距为前向路径码距。 19.如权利要求14所述的计算器程序产品,其中,该第一路径码距为后向路径码距。 20.如权利要求14所述的计算器程序产品,进一步包含:该指令包含: 在该第一解码器的第一次迭代中,从该第一解码器提供外在数据至第二解码器。 权 利 要 求 书CN 102835062 A 1/10页 4 初始化解码码距 背景技术 0001 本发明有关于一种解码数据中使用的初始化码距的系统以及装置,上述数据为例 如,使用卷积(convolutional)码编码的数据。 0002 对于数据传送以及接收,各种错误校正码(error correcting code。

9、s)已经随对应 解码算法发展起来。为了提供更强的错误校正能力,这些困难以及复杂的解码器可以利用 接近数据传送的理论极限的码,理论极限例如信道容量(1948年Claude Shannon引入了这 个概念,所以以Claude Shannon命名为Shannon极限)。为了降低复杂度,在一方面,多个 相对简单的码(其中每一个均不能独立提供显著的错误校正能力)级联在一起而产生一个 较长的码,也可提供增强的错误校正能力。 发明内容 0003 一般说来,在一个方面中,本发明提供的包含包含,用于解码卷积编码数据元素的 第一解码器在第一次迭代中,确定第一路径码距的第一值。该方法也包含在该第一解码器 的第二次迭。

10、代中,经由使用该第一路径码距的第一值作为该第一路径码距的初始值而确定 该第一路径码距的第二值。 0004 本发明的实现可以包含如下一个或者多个特征。本发明提供的方法也包含,在 第一解码器的第一次迭代过程中,确定第二路径码距的第一值,以及在该第一解码器的第 二次迭代中,经由使用该第二路径码距的第一值作为初始值而确定该第二路径码距的第二 值。确定该第一路径码距的第一值可以包含:在前向方向(forward direction)穿过网格 (trellis)而计算全跟踪(full trace)。确定该第二路径码距的第一值可以包含在反向方 向(reverse direction),穿过网格而计算全跟踪。该。

11、第一路径码距可以为前向路径码距。 该第一路径码距可以为一个后向(backward)路径码距。该方法也可以包含:在该第一解码 器的第一次迭代中,从该第一解码器提供外在(extrinsic)数据给第二解码器。该方法也可 以包含:在该第一解码器的第二次迭代之前,在该第一解码器从第二解码器接收外在数据。 该第一解码器可以为一个涡轮(turbo)解码器的线性解码器,以及该第二解码器可以为涡 轮解码器的交织解码器。进一步说,该第一路径码距可以为前向路径码距,该第二路径码距 可以为后向路径码距,以及确定该第一路径码距以及该第二路径码距的值可以在随后的迭 代中交替进行。 0005 一般说来,在另一方面,本发明。

12、提供一种计算装置,该计算装置包含用于解码卷积 编码数据元素的第一解码器,该第一解码器配置为,在第一次迭代中,确定该第一路径码距 的第一值。该第一解码器进一步配置为,在第二次迭代中,经由使用该第一路径码距的第一 值作为初始值而确定该第一路径码距的第二值。 0006 本发明的实施例可以包含如下一个或者多个特征。该第一解码器可以进一步配置 为,在第一次迭代中,确定第二路径码距的第一值以及在第二次迭代中,经由使用该第二路 径码距的第一值作为初始值而确定该第二路径码距的第二值。为了确定该第一路径码距的 第一值,该第一解码器可以在正向穿过网格计算一全跟踪。为了计算该第二路径码距的第 说 明 书CN 102。

13、835062 A 2/10页 5 一值,该第一解码器可以在反向穿过网格计算一全跟踪。该第一路径码距可以为一正向路 径码距或者后向路径码距。该计算装置可以进一步包含一第二解码器,用于解码来在该第 一次迭代中来自该第一解码器的外在数据。该第一解码器进一步在该第一解码器的第二次 迭代前,可以从该第二解码器接收外在数据。该第一解码器可以为涡轮解码器的线性解码 器,以及该第二解码器可以为涡轮解码器的交织解码器。该第一路径码距可以为前向路径 码距,该第二路径码距可以为后向路径码距,以及确定该第一路径码距以及该第二路径码 距的值可以在随后的迭代中交替进行。 0007 一般说来,在另一方面,本发明提供一种计算。

14、机程序产品,有形地体现为信息载 体,以及包含指令,其中,当该指令被一处理器执行以实施一方法,该方法包含:用于解码卷 积编码数据元素的第一解码器的第一次迭代中,确定第一路径码距的第一值。该方法也包 含在该第一解码器的第二次迭代中,经由使用该第一路径码距的第一值作为该第一路径码 距的初始值而确定该第一路径码距的第二值。 0008 本发明的实施例可以包含如下一个或者多个特征。本发明提供的计算机程序产品 可以进一步包含一组指令,该指令被该处理器执行以实施以方法,该方法包含:在该第一解 码器的第一次迭代中,确定第二路径码距的第一值。该方法也可以包含,经由使用该第二路 径码距的第一值作为初始值确定该第二路。

15、径码距的第二值。确定该第一路径码距的第一值 可以包含在正向穿过网格计算一全跟踪。确定该第二路径码距的第一值包含在反向穿过网 格计算一全跟踪。该第一路径码距为一正向路径码距或者后向路径码距。该方法也包含, 在该第一解码器的第一次迭代中,从该第一解码器提供外在数据给第二解码器。该方法也 可以包含,在该第一解码器的第二次迭代之前,在该第一解码器从该第二解码器接收外在 数据。该第一解码器可以为涡轮解码器的线性解码器,该第二解码器可以为涡轮解码器的 交织解码器。该第一路径码距可以为正向路径码距,该第二路径码距可以为后向路径码距, 以及确定该第一路径码距以及该第二路径码距的值可以在随后的迭代中交替进行。 。

16、0009 上述方面以及其他特征,或者各种组合,均可以应用于本发明的方法、装置、系统 或者实现上述功能的装置、计算机程序,以及其他方式中。 0010 本发明的其他特征以及有意效果将在说明书中详细描述,然说明书的实施例以及 等同变形,只要未脱离本发明的精神,均在本发明的保护范围内,本发明的保护范围以权利 要求内容为准。 附图说明 0011 图1为编码系统一部分方块示意图。 0012 图2为解码系统一部分方块示意图。 0013 图3以及图4为表示数据解码运作的迭代的刘程序。 0014 图5为解码器一部分的方块示意图。 0015 图6为解码器运作流程图。 具体实施方式 0016 请参考图1,图1为根据。

17、本发明实施例的示例编码系统100的示意图。示例编码 系统100在通信信道上,使用一个或者多个编码技术准备数据(例如,数据元素例如符号) 说 明 书CN 102835062 A 3/10页 6 以用于传送。实现这样的编码技术可以用于在接收器一侧校正所检测到的错误。在特别的 情况下,编码系统100实现涡轮(turbo)码结构,其中,例如经由为包含在输入数据中的每 一个比特产生三个输入比特,将两个卷积码用在已编码输入数据102中。如图所示,每个输 入比特也提供作为输出(称作系统格式)和两个卷积码的输出一起用于传输。一般说来, 涡轮码由交织器分开的两个码的平行级联而形成。这样编码器104以及编码器10。

18、6实施以 及以相似方式运作,以将一个或者多个码(例如,递归系统卷积码,Recursive Systematic Convolutional,RSC)应用到输入数据102。为了将编码器104以及编码器106应用的码分 开,在将输入数据提供给编码器106之前,交织器108处理输入数据102。这样,已交织输 入数据102使得编码器106输出与从编码器104输出的数据截然不同的数据。这样,就产 生了两个码,该两个码可以平行(parrallel)组合。这样的组合使得已组合码的一部分分 开解码。进一步说,经由交换分别从每个解码器中提取的信息可以提高每个解码器的效能。 由于交织器108为编码器106提供不同。

19、的输入数据(与编码器104的输入数据相比),编码 器106的输出和编码器104的输出是不同的(例如,不相关的,uncorrelated)。这样,即可 以传送更多信息,该信息由接收器用来检测错误以及可能地校正已传送数据中的错误。 0017 一般说来,交织器108可以被认为将输入资料102的数据元素(data element)以 伪随机方式重新排序,虽然为确定性(deterministic)顺序。为了提供该功能,交织器108 也实现一个或者多个交织器技术,例如行列(row-column)交织、螺旋状(helical)交织、 奇-偶(odd-even)交织,伪随机(pseudo-random)交织等。

20、等。与系统输出数据(图标标记 为系统(systematic)一起,编码器104以及编码器106每一者输出同位数据(标记为同 位(parity),以及同位(parity),其中,也传送同位数据以提供用于错误检测以及校正 的附加信息。 0018 请参考图2,图2为根据本发明实施例的示例性解码系统200的示意图。示例性解 码系统200能够解码已经使用一个或者多个技术编码的数据。在此情况下,编码系统100提 供的三个数据集合(set)由解码系统200所接收。特别地,和系统数据(标记为系统202) 一起,同位数据(例如,同位204以及同位 206)集合被接收,以及为已传送数据提供受控 冗余(redund。

21、ancy),这样解码系统200可以检测传送错误的存在,可能的话校正该错误。 0019 可以使用多种解码技术揭示已传送已编码数据。举例说明,在一些实现 (arrangement)中,与解码系统相关的接收器可以提供有关已接收数据位的确定(例如,代 表0或者1的二进制值)。一旦确定,数据位就可以提供给解码系统用于进一步的处理。对 于这样的技术,一些数据比特典型地比其他数据位具有更大确定性,尽管如此,用于确定的 信息可能不提供给解码系统以及被解码系统所利用。在一些情况下,解码系统可能被提供 一个数值(numerical value)(称作”软”输入)而不是来自接收器的”硬”确定。假设有 此输入,解码系。

22、统可以输出(为每一个数据位)一估计,该估计反应与已传送数据位相关的 概率(即,二进制值0或者1的该率)。 0020 在此特别情况下,解码系统200包含两个解码器208以及210,解码器208以及 解码器210可以使用解码技术,例如维特比解码(Viterbi)(或者另一种类型的技术)。 一般情况下,解码系统200使用递归(recursive)解码技术,这样解码器208提供外在 (extrinsic)输出(标记为外在(Extrinsic),该外在输出可以认为是系统输入202的 错误估计。相似地,解码器210提供外在输出(标记为外在 (Extrinsic)。与系统输 说 明 书CN 10283506。

23、2 A 4/10页 7 入(系统202)(透过累加器212以及累加器214)联合,累加和值分别提供给解码器208 以及解码器210,其中累和值(例如,系统+外在(Systematic+Extrinsic)以及系统+外 在 (Systematic+Extrinsic)称作内在(intrinsic)数据(例如,内在=系统+外在( Intrinsic=Systematic+Extrinsic),以及内在=系统+外在(Intrinsic=Systematic+ Extrinsic)。相似地,已接收同位204以及同位206数据分别提供给解码器208以及解 码器210。因为各种技术都可以使用,典型地,资料。

24、(例如,同位、同位、内在、内在/外在、 外在以及系统)储存在一个或者多个存储器中,该一个或者多个存储器由分别的解码器 208、解码器210用于恢复(retrieval)而存取。 0021 经由使用三个数据集合(例如,系统202,同位204以及同位206)传送信息,编码 系统100以及解码系统200被认为是三倍码率(rate three code)。尽管如此,随着对于更 高码率的增长的需求,系统需要接近一倍码率(rate one code),主要从系统数据提供的信 息中提取,以及尝试减少对于同位数据(例如,同位以及同位 )所提供的信息的需求。尽 管如此,同位数据的数量显著减少到一倍码率典型地将效。

25、能降低到低于可用级别。这样,当 一倍码率可以接近时,需要同位数据的一部分提供适当的效能。这样,提高系统效能应当包 含输入数据(例如,系统202,同位204以及同位206)提供的信息以及解码系统从输入数 据产生的信息(例如外在数据)的使用。 0022 解码器运作在系统以及同位信息的全部输入数据集合上,通常该解码器作为全追 溯(full traceback)解码器而被熟知,以及该解码器被认为是优化的,但是实际上没有可 观的负载情况下是不可实现的。可实现的涡轮解码器的一个实际结构方面,典型地,不会 在系统信息以及同位信息的全部输入数据集合上执行解码运作,但是却将数据分解为更小 更多可管理的窗口。提供。

26、全追溯效能的已窗口化解码器在用于计算初始值时可以耗费大 量(如果不是理论上不可实现的)计算成本(computational overhead),以初始化解码窗 口。这样,用于已窗口化解码器的一些理论可以包含减少用于储存于计算有关参数(例如, 路径码距)的需求以及减少计算初始值的计算成本,以初始化解码窗口。 0023 由于解码系统200执行处理过程的递归(recursive)特性,处理迭代(iteration) 中可以使用多个技术,以使用以及重复使用信息,其中,迭代可以在一个或者多个前面的 (previous)迭代中确定。举例说明,在一次迭代中,解码器208(称作线性码解码器)计算 的处理码距(。

27、processing metrics)可以储存以及在随后的处理迭代中使用。相似地,一个 处理迭代中解码器210(既然输入由交织器216提供,所以称作交织码解码器)计算的处理 码距,可以在随后的迭代中使用。在此情况下,处理码距是路径码距(path metrics),路径 码距用来计算外在输出(例如,外在,外在),该外在输出储存以及用在下一次迭代中。在 一些传统系统中,这样的路径码距可以初始设定为零值,用于每一个解码器窗口迭代(虽 然对于后向(backward)或者反向(reverse)路径码距不是必要的)。尽管如此,在较高码 速率情况下,这样的零值初始化可以降低效能。为了确定这样的路径码距,可以。

28、使用一个或 者多个处理技术。举例说明,一次迭代中可以计算与解码器窗口的尾端比特位置相关的路 径码距,以及储存为初始值,以及提供给适当的解码器窗口开始位置,以用于多次(或者全 部)后面计算的随后的迭代。但是,这样的情况可能为初始路径码距(随后的处理迭代) 提供值,随着时间(以及迭代)的改变,这些初始值可以变得不那么有效。为了使得初始值 不会变得陈旧(stale),可以使用一个或者多个技术。举例说明,在一次迭代中已经计算的 说 明 书CN 102835062 A 5/10页 8 与解码器窗口尾端比特位置对齐的路径码距(在一次,通常对于后向或者反向路径码距是 不必要的)可以在替换的线性以及交织处理迭。

29、代中储存,以及用于初始化解码器窗口开始 位置路径码距,在后面的类似循环(like-cycle)的迭代中。对于线性以及交织迭代,为了 执行这样的运作通常需要储存初始值路径码距。在另一个实现中,路径码距(可替换的在 后向/反向路径码距以及前向路径码距)可以和解码器窗口尾端位位置对齐,该路径码距 可以在一次迭代计算,以及用于在替换的线性以及交织处理迭代中储存。路径码距可以用 于初始化解码器窗口开始位位置路径码距在随后的类似循环(like-cycle)的迭代中。这 样的运作可以优化地保存初始值的新鲜(与陈旧相比),却没有实施全部追溯的昂贵开销 (costly overhead)。为了执行样的运作,相关。

30、解码器的结构可能需要进一步的调整。举例 说明,解码器可能需要在前向以及反向方向中实施等效运作。 0024 各种类型结构以及技术可以使用,用以为随后的解码迭代提供路径码距。举例说 明,解码器208、解码器210存取的存储器可以用于储存以及提取码距值。解码器208、210 可以共享码距储存以及提取的存储器或者指定专用的存储器(例如,独立的缓冲器)。在每 一个储存运作过程中,可以储存多个数量的码距值,例如,储存的数量可以基于解码系统中 实现的窗口结构。 0025 一旦产生,解码器208以及210的每一者提供外在数据(例如,解交织器218提供 来自解码器210的重新排序外在数据)至分别的累加器212以。

31、及214,以继续系统数据202 的递归处理。 0026 请参考图3,图3为根据本发明的一个实施例在多次解码器迭代中计算以及使用 码距的示意图300。示意图300的左手边代表线性解码器(例如,图2所示的解码器200) 的运作,而示意图300的右手边代表交织解码器(例如,图2所示的解码器210)的运作。 对于示意图300的两边,轴线302代表时间,以及从图示顶部延伸到底部。轴线304以及 轴线306对应地代表与每个解码器相关的信息比特位置。为了容易表示,4个窗口(例如, W0,W1,W2以及W3)与每个解码器相关,尽管如此,典型的也可以有附加窗口(例如,右测,等 等)。当然,在特别的情况下,与线性。

32、解码器有关的运作在时间上初始进行。尽管如此,已交 织解码器的运作可以相似地初始执行。 0027 示意图300描述了以替换方式在两个解码器之间执行的多次迭代308、310以及 312。特别地,线性解码器执行迭代308以产生提供给解交织器的外在输出。在迭代310中 处理外在输出(和其他数据,例如同位以及系统数据),交织解码器计算外在输出,该外在 输出提供给线性解码器用在迭代312处理中。虽然使用三次迭代示意交换数据,但解码已 传送数据元素可能需要很多额外次的迭代。 0028 为了计算用于每次迭代的外在输出,路径码距(也称作状态代码距)分别由线 性以及交织解码器使用。一个路径码距,前向(forwar。

33、d)路径码距()透过(网格的, trellis)前向递归(recursion)得到,以及第二路径码距()透过(网格的的)后向 (back)递归确定。如迭代308所示,路径码距可移动每一个窗口前向(箭头314代表的 从左到右)穿过窗口(称作全追踪(full trace forward)而计算。不是从网格的开始计 算,路径码距从网格的后端计算。如箭头316所描述,用于每一个窗口的路径码距从 右到左以反向方向移动一个窗口计算得到(称作全追溯(full trace back))。 0029 虽然使用路径码距以及路径码距计算外在输出(用于迭代308),码距值可 说 明 书CN 102835062 A 6。

34、/10页 9 以为随后的迭代而储存。传统的解码器使用滑动窗口结构初始将或者或者路径码 距,在每一个窗口的开始设定为零值。这样,在一次迭代中收集的码距信息不用来帮助随后 的迭代。但是透过提供与一个或者多个前面的迭代相关的路径码距值(例如,提取已储存 值),随后的迭代提高用于初始值的近似性。在特别的例子中,路径码距由线性解码器储 存,以及在迭代312中使用(如箭头316所代表)以初始化对应码距。 0030 与线性解码器相似,路径码距以及也透过交织解码器(如图2的解码器210 所示)的运作而确定。基于线性解码器提供的外在信息以及附加信息(例如,同位数据) 计算路径码距以及。在特别情况下,交织解码器透。

35、过网格(如箭头320所代表)执 行全追溯,以确定路径码距以及全追踪(如箭头322所代表)以在前向方向确定路 径码距。一旦确定,就储存路径码距,于在交织解码器随后的迭代中使用,以提供初始值 (如箭头324所表示)。附加地,经交织解码器执行其他运作,例如,计算外在数据(例如, 如图2所示的外在)然后提供给线性解码器在下一次迭代中(例如,迭代312)使用,如箭 头326所代表。 0031 透过存取路径码距以及使用码距作为初始值,全追溯运作可能对于每一个随后 的迭代是不必要的。这样,经由使用前一次迭代中确定的路径码距,节约了处理时间以 及资源。在这个例子中,获取到路径码距(例如,从存储器)以及使用作为。

36、收敛窗口 (convergence window)的初始值。如迭代312所示,透过网格,经由全追踪,确定路径 码距,而路径码距从存储器中得到。在迭代312之后继续随后的迭代,路径码距适当 地以类似方式从存储器中得到,以及用于计算(例如,计算外在数据)。在迭代312过程之 后,继续随后的迭代,路径码距以相似方式从存储器适当获取以及用于计算(例如,计算 外在数据)。对于交织解码器,迭代310中的已确定以及已储存路径码距也用在交织解 码器随后的迭代中(没有在图示中表示出来),因此,进一步减少了对于计算资源的需求。 0032 在此特别情况下,对于线性以及交织解码器当路径码距初始确定(从全追溯) (以用。

37、于所有随后的迭代)时,也可以采用其他方法。举例说明,路径码距也可以计算、 储存以及获取用于后面的迭代使用。在一种情况下,在相同的迭代中,可确定路径码距, 也确定以及储存路径码距(用于后面的使用)。路径码距也可以及于替换的迭代而确 定,或者是用迭代样态(pattern)的其他类型而确定。举例说明,在一次迭代中可以确定 路径码距,而在下一次迭代中确定路径码距。这样的技术提供相对当前路径码距,因为 每一个码距不在是一个从全跟踪(full trace)的迭代创建。 0033 请参考图4,图4为根据本发明的一个实施例的数据解码运作的示意图400。不在 随后的迭代的使用中计算以及储存一个类型的路径码距(例。

38、如,路径码距),解码器安排 示意图400的给出了在替换的解码器迭代中计算不同路径码距。在此特别的例子中,路 径码距首先计算(在网格的前向全trace)以及储存。在下一个次迭代中,使用已储存 路径码距,在全追溯中计算路径码距以及与已储存路径码距一起使用。储存已计算 路径码距以及在后面的迭代中使用。经由在每一次迭代中交替确定以及路径码 距,相对当前路径码距在每一次迭代中存在。这样”状态”路径码距信息不在时间的表示周 期中使用,或者不在几次迭代中使用。 0034 与调度(schelduling)示意图300相似(如图3所示),示意图400的左手边代表 线性解码器(例如,图2所示的解码器208)的运作。

39、,以及右手边代表交织解码器(例如,解 说 明 书CN 102835062 A 7/10页 10 码器210也如图2所示)的运作。垂直轴线402代表时间,水平轴线404以及406分别与 解码器相关的代表4个窗口(例如,W 0 ,W 1 ,W 2 and W 3 )信息比特位置。附加窗口是很典型的, 但是在图示中只以4个窗口为例作为说明。当然,与线性解码器相关的运作也给出示意图, 并且初始执行,交织解码器的运作可以描述为在其他情况中初始执行。也与示意图300相 似,与两个解码器相关的迭代408、410、412以及414给出示意,并且以替换的方式中执行。 0035 对于迭代408,从全追踪(full。

40、 trace)中确定路径码距,如箭头416所示,以 及从预先确定的初始值(例如,零值)中确定路径码距。从提供给线性解码器的路径码 距,计算外在数据并且提供给已交织解码器。额外地,储存在随后的迭代(例如,迭代412) 中使用的路径码距(如箭头418所描述)。在此情况下,在迭代410中由交织解码器执 行的运作与线性解码器在迭代408中执行的运作相似。举例说明,全追踪(如箭头420所 描述)确定路径码距,以及从预先确定初始值中以部分方式计算路径码距。一旦确 定,交织解码器使用以及路径码距以确定外在数据,其中,该外在数据提供给线性解 码器(如箭头422所描述)。额外地,储存在已交织解码器的下一次迭代中。

41、使用的路径 码距(如箭头424所描述)。 0036 对于下一次迭代,迭代412,线性解码器获得已储存路径码距以及经由执行全 追溯(full trace back)而确定路径码距,如箭头426所描述。与较早的迭代相似,使 用以及路径码距计算外在数据,其中,该外在数据由该交织解码器在下一次迭代414 中使用(如箭头428所描述)。线性解码器的随后的迭代中使用的路径码距也储存(如 箭头430所描述)。经由在路径码距计算中交替,因为路径码距已经从全跟踪在一个或其他 方向中计算得出,所以不会再通过一次迭代。在相似方式中,对于已交织解码器的下一次迭 代,迭代414,路径码距来自储存装置,以及路径码距从全追。

42、溯(如箭头432所描述) 中确定。也储存路径码距(如箭头434所描述),用于已交织解码器的下一次迭代的执 行。 0037 如图3以及图4所示的安排示意图代表为相对当前路径码距提供给每个解码器的 两个方法,尽管如此,其他技术也可以使用。举例说明,路径码距可以计算以及储存,以在两 个或者多次迭代中使用。为了实施于这些技术有关的运作,在特定的全追踪以及全追溯中, 线性以及交织解码器的功能可能需要在前向以及反向方向中运作。例如,与能够在前向以 及反向方向执行的交织器运作一起,错误校正(例如,迭代冗余校正(cyclic redundancy check,CRC)以及其他解码运作可能需要双向执行。 003。

43、8 请参考图5,图5为根据本发明的一个实施例的解码器500的示意图,解码器500 代表最大事后机率(maximum a posteriori,MAP)解码器,其中,该解码器实现窗口运作,而 且能够在任意方向(例如前向以及后向方向)能够穿过(traversing)网格。与图4的运 作相似,MAP解码器能够从码块的一端到另一端的穿过网格全跟踪。对于线性以及交织解码 部分解码器可替换地在确定前向以及后向路径码距(对于每相隔一次迭代)。在预先确定 窗口长度位置,全跟踪路径码距值储存在初始缓冲器502中,以及之后获得以用作初始值。 典型地,码块大小近似5114位,因此64位的80个窗口,每一个可以用于产。

44、生用于初始缓冲 器502的码距。在此实现中,单一缓冲器502能够储存用于线性以及交织解码器运作的初 始路径码距,尽管如此,也可以使用多个缓冲器。举例说明,可以整合一个缓冲器用于线性 解码器运作,第二缓冲器用于交织解码运作。 说 明 书CN 102835062 A 10 8/10页 11 0039 在此情况下,多个输入缓冲器504接收输入(例如,同位、系统以及外在信息)用 以解码运作。输入信息提供给分支码距单元(Branch Metric Unit,BMU)506,BMU 506计 算输入缓冲器504提供的数据中的分支码距(例如,代表已接收符号以及可能的符号之 间的距离)。与BMU 506提供的。

45、分支码距一起,来自初始缓冲器502的码距(透过初始累 加-比较-选择(InitialAdd-Compare-Select,ACS)单元508)分别提供给ACS 510、 ACS 512,用于产生路径码距以及路径码距。在此情况下,依赖于穿过的方向,码 距缓冲器514储存路径码距或者路径码距。一对多任务器516、518提供路径码 距以及路径码距(或者来自ACS单元,或者来自储存在码距缓冲器514)至对数似然比 (Log-Likelihood Ratio,LLR)单元520,以计算代表位值(外在数据)的可能性。 0040 请参考图6,图6为根据本发明一个实施例的解码器运作流程图600,流程图600 。

46、代表解码器的一些运作,其中,解码器为例如线性解码器(例如,解码器208)或者交织解码 器(例如,解码器210)的解码器。这样的解码器可以实现在一个或者多个硬件结构中,例 如,基于结构的处理器,或者其他类型的设计。在一些基于结构的处理器中,解码器可以在 单片(single)处理器或上执行或者分布在多个处理器之间执行。各种类型电路(例如,组 合逻辑,序列逻辑等等)以及计算装置可以单独用于或者组合用来执行解码器的运作。举 例说明,在基于处理器的系统设计中,指令可以由处理器执行(例如,微处理器)以提供解 码器的运作。这样的指令可以储存在存储器装置中(例如,硬驱动、CD-ROM等等)以及提 供给处理器(。

47、或者多个处理器)执行。 0041 解码器的运作可以包含,在第一解码迭代中,计算路径码距(例如,路径码距、 路径码距)以及对应来自输入数据的外在数据,输入数据例如,系统数据、同位数据等等 (步骤602,在第一次迭代中,计算用于第一(线性)解码器的路径码距以及外在数据)。在 此例子中,流程图600的运作根据线性解码器(例如,解码器208,如图2所示)进行描述, 尽管如此,这样的运作可以映像到交织解码器(例如解码器210,也如图2所示)。一旦码 距计算完毕,运作也可以包含储存路径码距(步骤604,储存已计算路径码距)以及提供外 在数据给第二解码器(例如,交织解码器)(步骤606,为第二(交织)解码器。

48、提供外在数 据)。透过提供外在资料,第二解码器可以相似地(在分开的解码迭代中)计算路径码距 以及计算来自输入数据(例如系统数据、同位数据等等)的外在数据(第一解码器提供)。 一旦完成,在第二解码迭代中,外在数据与对应输入数据(例如,系统数据,同位数据等等) 可以由解码器(来自第二解码器)接收(步骤608,在第二次迭代中,接收输入数据以及来 自交织解码器的外在数据)。也在第二次迭代中,运作包含接收第一次迭代中储存的路径码 距(步骤610,接收在第一次迭代中储存的路径码距)。从已接收路径码距,解码器计算与 第二解码迭代相关的路径码距(步骤612,基于已接收路径码距计算路径码距)。例如,在 第一解码。

49、迭代中,计算以及储存路径码距。经由在第二次迭代中提取已储存路径码 距,在该随后的迭代中,解码器可以使用已提取码距作为初始路径码距值。这样,已提取 码距就可以用在其他计算中,该其他计算涉及到其他码距(例如,路径码距)。在此例子 中,在一次迭代中储存路径码距,以及在随后的解码迭代中提取路径码距。相似地, 在一些情况下,可以在一次迭代中计算以及储存路径码距,以在一个或者多个随后的解 码迭代中使用。 0042 如上所述,在一些解码系统中,可以基于处理器而设计。这样,根据本发明的实施 说 明 书CN 102835062 A 11 9/10页 12 例,为了实施如流程图600所描述的运作,解码器以及优化的与解码器系统的其他部分可 以实施任何前面描述的计算器实施的方法。举例说明,解码系统可以包含用于执行与解码 数据元素相关的计算器指令的计算装置(例如,计算器系统)。计算装置可以包含处理器、 存储器、储存装置,以及输入/输出装置。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1