采用固定长度的判定窗口 对数据信号进行译码的方法 【发明领域】
本发明一般地涉及编码数据通信信号的译码。特别地,本发明涉及一种使用固定长度判别窗口的改进的译码方法。
【发明背景】
图1中显示了一种常规的数字通信系统。信息源10向一个源编码器11提供模拟或数字信息,源编码器11将信息编码成一个信息序列x。信道编码器12通过将冗余项有效地引入信息序列,将信息序列x变换成一个新的信息序列,以提高传输的可靠性。例如,冗余项可以用于由接收机进行误差检测、在接收机进行误差校正、以及实现一个自动重复请求,其中由接收机进行的误差检测将自动开始一个重复传输数据的请求。应该理解,在一个编码消息中的校正误差比检测误差需要更多的冗余项。调制器13从信道编码器12接收编码序列,并使用标准调制技术例如幅度、频率、相位或脉冲调制来产生在一个传输信道14上传输的信道信号。一般说来,传输信道14会出现噪声和其他不利因素,例如频率或相位失真和各种衰落特性。数字解调器15接收通过传输信道传送的信号并对发送信号进行解调,以产生一个编码信息序列的估值。然后信道译码器16应用由信道编码器12提供的冗余位使用该估值来再生出信息序列。最后,源译码器17将重构出的信息序列变换成一种适合于信息接收端18地形式。
信道编码器12一般使用两种常用方法中的一种来引入冗余项:分组编码或卷积编码。An(n,k)分组码根据一预定编码规则增加n-k个奇偶校验(冗余)位,将一组k个信息位变换成一个n位码字。然后在通信信道上传送该n位码字。码率R定义为R=k/n。接收机应用包括由n-k个奇偶校验位引入的冗余的接收序列来估计原来的k个信息位。由于译码器的每个n位码字输出只依赖于当前的k位信息分组,所以分组码是“不用存储器”的。
一般通过将一个信息位流组织成多个k位分组、然后将这些分组通过一个移位寄存器来执行卷积编码。移位寄存器级存储高达v个组的k位分组,这些级连到一个线性代数函数发生器。将发生器输出有选择地进行组合,以产生一个n位的编码输出。卷积编码是需要存储器的,因为每个编码分组不仅依赖于当前的到移位寄存器的k位分组输入,还依赖于v个先前的信息分组。于是,一个卷积代码具有一个v阶存储器。卷积代码的码率R为R=k/n,代码的约束长度是v+1。一般地,k和n是小的整数,通过增加移位寄存器的长度来增加冗余。可以通过网格图或状态图或状态表来描述卷积编码器和译码器的操作,这在本领域中是公知的。
译码器、解调器、均衡器和其他常规数字通信系统设备一般采用维特比(Viterbi)算法来估计用卷积代码编码的发送信号,并且使通信信道的损害最小。维特比算法通过找到通过一个可能状态序列(一个“网格”)的最短转移路径来产生一个发送数据序列的最大似然估计。维特比算法一般地可以被描述为是这样一种方法,其中所有可能的发送序列都与接收序列相关,然后根据最大相关-即具有最佳“度量(metric)”的路径来选择一个“剩下(Survivor)”的序列,以估计所接收的序列。
可以通过为每个估计数据位产生一个可靠性指示项来改进维特比算法。可靠性指示项例如可以是所估计数据位的幅度。这种改进一般被认为是“软(soft)”信息。如果使用了链接码,可以由以后的译码器来使用附加的软信息,以提高系统的性能。对维特比算法的进一步修改在Nill等的欧洲专利申请0 606 724 A1和Nill等的“列表和软码元输出维特比算法:扩展和比较”,IEEE通信学报,Vol.43,No.2/3/4,二月/三月/四月,1995中进行了描述。Nill的公开文本公开了一种译码方法,该方法使用软信息和估计位产生一个以概率下降顺序排列的候选序列列表。可以在以后的级中使用候选序列列表来确定发送序列的最佳估计。例如,可以使用一个例如用在GSM无线电链路协议中的循环冗余校验(CRC)来校验列表中的候选序列,选择具有校正的CRC信息的第一候选序列。通过允许不必再传送误差帧就能进行误差校正,提高了系统性能。
下面可以对Nill的方法进行一般描述。使用维特比算法对接收的码元进行译码,以便与软信息(例如,一个最大似然值)一起产生最可能的数据序列估计。软信息用于对序列中的最不可能(最弱)位进行定位。不是选择(到达移位出最弱位的状态的)最佳输入转移路径,而是由维特比网格中的回溯(back-tracing)来确定另一个输入转移路径。为了产生以下降概率排序的候选序列的有序列表,每个1列表元素具有一个第(l+1)列表元素的候选。将第(l+1)列表元素选择为具有最佳累积度量的候选。重复这些步骤,直到已经产生足够多的备选项。Nill的方法需要保存整个维特比网格,这使得Nill方法对于大多数实际应用来说都是无用的。
在维特比算法中,经过一固定量时间后,网格将会聚。为了最有效地利用存储器,希望只存储网格的一部分(一个判定窗口)。因此,对于一个实际有用的译码方案,希望通过分配多个数据序列的估值而不需要存储整个网格,来提供改进的维特比算法的性能。
发明概述
本发明通过使用一个固定长度的判定窗口提供了一种对发送数据信号进行译码的方法,克服了上述问题,并提供了其他优点,在该固定长度判定窗口中,多个转移路径会聚于一单个状态。对于判定窗口中的每个状态,确定次最佳序列的一个可能候选和相联软值,并将其与一个为次最佳序列存储的候选和相联次最佳软值进行比较。如果与可能的候选序列相联的软值(可靠性指示项)低于与存储的候选序列相联的次最佳软值,并且可能的候选序列和由维特比算法产生的最佳序列会聚在判定窗口内的一个共同状态,则次最佳序列的可能候选取代次最佳序列的存储候选。依据本发明的方法允许从存储器中舍弃先前的软值和最佳转移路径,这样则整个网格不必都保存以完成译码操作。
附图简要说明
下面结合附图进行最佳实施例的详细说明,由此可以获得对本发明更详尽的理解,在附图中相似的标号代表相似的部件,其中:
图1是可以使用本发明方法的一个常规通信系统中的接收机的方框图;
图2是显示依据本发明的一个实施例在维特比网格中的一个代表性判定窗口的示意图;以及
图3是说明依据本发明的一个实施例的方法的流程图。
最佳实施例的详细说明
现在参考图2,显示了一个长度为w”+w’的固定长度判定窗口。可以看出,所有的回溯序列都通过状态S。依据本发明的方法,从该状态可以产生一个可能的候选序列。
常规的维特比算法(VA)在概率意义上估计最大可能的发送的位序列。为了产生该序列的可能选择的一个列表,依据本发明,在译码器中产生或保存下列附加信息:
-关于被VA排除的路径的信息被保存。为t=k和t=k+w’之间的所有状态完成该保存,参见图2。因此,所需的存储器为w’*N*w”位。在t=k+w’判定哪些路径作为次最佳路径被保存(在常规VA中未进行的判定)。在t=k+w’进入状态S列的每个状态中的次最佳路径被存储,直到固定长度判定窗口列已经移出t=k。
-在t=k和t=k+w’之间的每个状态的可靠性测量、也称作“软”测量被保存。这个可靠性测量表示从该状态移出的位的确定性。可以将该可靠性测量例如计算为在时间t=k+w’处导向相同状态的两个输入路径之间的累积度量的绝对差值。一个路径相应于被移出的“1”码元,另一个路径相应于被移出的“0”码元。每次判定窗口移动时,为新列(图2中的最右列)确定下一个最佳路径和软值。
-产生一个阈值M工NSOFT,并用其确定是否需要为一个备选序列产生一个可能的候选。
为了在判定窗口内产生备选序列,执行常规的VA,直到判定窗口充满了估计出的码元。在经过w”+w’位时间之后(从0开始),判定窗口充满,可以导出可能的备选序列。因此,为了在此时为最佳序列产生一个可能的备选,可以将图2中的黑体显示的VA估计序列部分与一个备选序列进行交换。这种操作的条件为:
-要从状态S移出的位具有一个低于当前阈值MINSOFT的软值。也就是说,该位不如其他先前译码的各个位可靠。在时间t=k+w’从最佳路径确定状态S;以及
-由VA估计的序列(如图2所示)和备选序列必须在判定窗口内、即在t=k-w”之前重新合并,以达到备选序列的正确“结束”。
如果这些条件满足了,应该构造一个可能的备选序列。这是通过选择导向状态S的其他路径(由图2中的虚线所示)然后回溯该网格来执行的。MINSOFT被更新到状态S的软值,次最佳序列的前一个候选被新找到的序列所代替。
当构造了可能的备选序列时,就应该作出新的位判定了。判定窗口被移动(向图2中的右方),以便为新接收的位移出空间。不管一个可能的备选序列产生与否,判定窗口的长度是固定的。参见图2,判定窗口现在包含在t=k-w”+1和t=k+w’+1之间的网格。现在可以在t=k+1的列中找到状态S。再次执行前面解释的方案,以检验是否可以产生一个在t=k+1和t=k-w”+1之间的序列(参见图2中的位)。执行这些步骤,直到网格结束,即在当前信号列中的所有位都已经被译码。
为了产生发送序列的两个估值,由常规VA产生最佳估值,并且依据本发明产生次最佳估值。为了产生一些数目(L)的估计序列的列表,可以将上述算法扩展到处理备选序列的可能候选的一个列表,其中,候选序列与其相应的MINSOFT值一起被保存。当进行是否要产生一个新候选序列的判定时,检验列表,是否状态S的软值小于任何一个存储的MINSOFT值。如果是这种情况,执行产生并将新找到的候选插入该列表中。进行该插入以保持按增加的MINSOFT值分选的列表。也就是说,最好根据下降概率来分选列表。判定窗口被位移,重复这种过程。
现在参考图3,显示了描述依据本发明的一个实施例的译码方法的流程图。该方法可以在一个译码器、解调器、均衡器或其他类似设备中实现,以便从一个接收的编码数据序列确定出最可能的数据序列。流程图开始于步骤100,其中,图2中显示的固定长度判定窗口被更新(位移),并且执行一个常规的VA译码,以确定最佳转移路径。如图2所示,判定窗口包括一个状态,其中多个转移路径在时间t=k会聚到该状态,并从时间t=k向前延伸第一时间或位偏移w’,从时间t=k向后延伸第二时间或位偏移w”。
在步骤101,确定是否已经由译码器接收了多于w”位。由于直至w”位没有备选序列与最佳序列不同,所以不需要为前w”位保存任何附加信息。
在步骤102,为在当前时间t=k+w’的每个状态确定一个可能的下一个最佳转移路径和相关软信息(可靠性指示项)。这是通过回溯网格来执行的,以便为在t=k+w’的每个状态确定最佳和次最佳序列。将该软值计算为(度量0-度量1)的绝对值,其中度量0和度量1是累积的幅度度量。在步骤103,确定判定窗口是否是满的。如果是,在步骤104,选定状态S(由回溯网格从在t=k+w’的具有最佳可靠性指示项的状态找到的状态)。
在步骤105,将在步骤104确定的状态S的软信息(可靠性指示项)SOFT与一个阈值可靠性指示项MINSOFT进行比较;如果SOFT不低于MINSOFT,处理返回到步骤100,固定长度判定窗口位移,并确定一个新的最佳状态S。应该理解,如果估计了L序列的一个列表,则有(L-1)个MINSOFT值。
如果SOFT小于MINSOFT,该方法进行到步骤106,其中,确定在由瞬时k、时间偏移w’和下一个最佳路径的长度w”限定的判定窗口结束之前最佳和次最佳路径是否已经在某些点合并。如果下一个最佳路径的最佳和可能候选还没有合并(即,序列在多于w”位中不同),处理返回到步骤100,固定长度判定窗口被位移,并且确定一个新状态S。如果下一个最佳路径的最佳和可能候选已经合并,在步骤107将MINSOFT的值设置为等于SOFT的值,从存储器中舍弃前面的下一个最佳路径,并保存长度为w”的新的下一个最佳路径。
上述方法例如可以在一个如图1所示的GSM系统的信道译码器中实现。可以以机器可读的计算机代码将该方法编码在一种合适的存储介质上,例如计算机磁盘。一个典型的判定窗口例如具有31位的长度和大约14位的偏移w’。应该理解,也可以使用其他判定窗口长度和偏移w’。
在上述说明中,术语“路径”和“序列”可以互换地使用。
虽然上述的说明已经包括了许多细节和特例,应该理解,这些仅仅是例示性的,并不是用于限制本发明。对于本领域普通技术人员来说,在不偏离由附带的权利要求书与其合法等同所限定的本发明的精神和范围的情况下,可以容易地作出很多修改。