在维特比译码器中储存线路节拍的方法

文档序号:7538918阅读:310来源:国知局
专利名称:在维特比译码器中储存线路节拍的方法
技术领域
本发明涉及一项由本专利权利要求1的前序部分所限定的在维特比译码器中储存线路节拍(Pfadmetriken)的新方法,该方法特别适合于移动无线电接收机中的维特比译码对通道编码的移动无线电信号执行译码。
在大多数的知名数字移动无线电接收机中都使用了维特比译码器。维特比译码器是一种所谓的“最大似真性译码器”(Maximun-LiklihoodDecodierer),一般用于对通道编码的、特别是对褶合式编码的(faltungscodiert)移动无线电信号执行译码。在通道编码情况下,发射机常需在传输的符号上附加冗余的信息来提高传输的安全性。然而,这种附加的冗余信息会在传输移动无线电信号时迭加噪音。因此,接收机应具有的功能在于凭借接收的顺序要从全部可能的发射顺序中挑选出好些与具有最大可能的概率的实际发射顺序相符的发射顺序来。而这个任务就要由维特比译码器来实现。
在通道编码情况下使用的编码规范可用适当的特立斯图(Trellis-Diagramm)来说明。通过计算所谓的“线路节拍”,维特比译码器就能计算出特立斯图中那些具有最大或最小节拍的线路来,而这些线路的节拍是与相应译码器的结构相关的。借助于特立斯图的线路人们乃能求出译码的顺序并予以表达。
下面将图简要地细说维特比译码的基本原理在图4中典型地示出一个相对于时间点t……t+3的四种不同状态的特立斯图,这些状态例如可相当于“00”、“10”、“01”和“11”的二进制数位状态。在该特立斯图中的每一个符号顺序都指定了相应的线路。每一条线路包含着一系列的在时间上相互跟随的两个状态之间的分支。每一个分支标志着在时间上互相跟随的两个状态之间的一种状态过渡(Zustandiibergang),对比举例来说从某一状态出发的上面分支用一二进制“0”来作为接收符号,从同一状态出发的下面分支则用二进制“1”来作为接收符号。每一个状态过渡、称之为“分支节拍”(BM)λt,相当于一个发射符号。
分支节拍λt的定入如下λt=|yt’-γt2|在上式中,γt相当于在时刻t的接收符号,而yt’则是作为其在时刻t的函数的发射信号。
除此之外,通过特立斯图,每一条线路在时间点或时间步骤t都有一个线路节拍γt。
图4所示的特立斯图是一个特别涉及具有称为蝶形结构的特立斯图,它意味着该特立斯图的某一时间步骤t+1的两个状态必有其先前时间步骤t的两个状态与之相对应,而且它们的分支可导向时间步骤t+1的前述状态,而且从不同状态出发的分支的两个分支节拍可能是一致的。例如在图4所示的各个状态具有γt(1)、γt(3)、γt+1(2)和γt+1(3)的线路节拍,就构成了这样的蝶形结构,从具有线路节拍γt(1)的状态到具有线路节拍γt+1(2)的状态的分支的分支节拍就相当于从具有线路节拍γt(3)的状态到具有线路节拍γt+1(3)的状态的分支的分支节拍λt(3);而另一方面,从具有线路节拍γt(1)的状态到具有线路节γt+1(3)的状态的分支的分支节拍也与相当从具有线路节拍γt(3)的状态到具有线路节拍γt+1(3)的状态的分支的分支节拍λt(1)相当。因此,通常用γt(S)来标志状态S在时间步骤t的线路节拍,而用λt(S)来标志与信号S相当的状态过渡在时间点t的分支节拍。
现在,维特比译码器必须借助于一个与该特立斯图相应的算法来求出具有最佳线路节拍的线路。一般而言,根据定义的最佳线路是具有最小线路节拍的线路。
导致某一定状态的线路的每一个线路节拍都是由一个先前时间的状态的线路节拍和导致从该先前状态至该一定状态的分支的分支节拍所组成。因此,人们并不一定需要求出特立斯图上的所有可能的线路和线路节拍,而只需对特立斯图上每一种状态和每一个时间步骤直至该时间点求出其中具有最佳线路节拍的线路来。这条线路可称之为“存活线路”(Survivor Path),只有这种存活线路和它的线路节拍才必须储存起来,所有其它导至这个状态的线路都可以忽略不计。但要注意的是根据这个原则,在每一个时间步骤上有多少个不同的状态,就会相应地有相同数目的这种“存活线路”。
上面的叙述清楚表明线路节拍γt+1(s)的计算取决于通过一个分支与状态S相关联的先前时间步骤t的各项线路节拍。因此这些线路节拍的计算可以用一种递推的算法来实现,这个算法可在维特比译码器中由一个具有称为加法比较选择(ACS)单元执行。
图5示出一种维特比译码器的典型结构。在这个结构中,ACS单元2带有一个存储器(或称寄存器)3,除了ACS单元2还设有一个分支度量单元(BMU)1和一个存活记忆单元(Survivor Memory Unitji即SMU)4。分支度量单元BMU的功能是计算各项分支节拍λt(S),而这些分支节拍就是一个接收符号与在特立斯图中产生相应状态过渡的那个符号之间的差别的一种量度。由分支度量单元BMU1计算出来的分支节拍将输入到ACS单元2来求出最佳线路(即存活线路),与此同时存活记忆单元4会把这些存活线路储存起来,从而能接着借助那条具有最佳线路节拍的存活线路进行译码。与这条具有最佳线路节拍的存活线路相对应的符号顺序就最大地似真于实际发射的顺序。
ACS单元2包含多个处理器元件(Prozessorelemente),一般而言单个的处理器元件的任务是要从两条互相竞争的线路(即存活线路)中选出一条具有最佳(即最小)线路节拍的线路(即存活线路)来,这两条竞争线路都会在特立斯图中导至一个状态。紧接着导致这个状态的“存活线路”及其线路节拍的存储数值就可以更新了。
从图4所示的特立斯图中可以看出时间点t+1上的每一个状态S都是通过一个上面分支和一个下面分支而与一个相应的先前的状态相联系的。因此在求取与这个状态S相关的“存活线路”时,必须把通过上面分支导至状态S的线路的线路节拍与通过下面分支导致状态S的线路的线路节拍相比较,也就是说,每一个处理器元件的任务在于为了求取具有线路节拍γt-1(S)的“存活线路”,选出通过具有线路节拍γt(u)的先前上面状态和具有分支节拍λt(u)的上面分支而引导的线路,其线路节拍相当于γt(u)+λt(u)之和;或者选出通过具有线路节拍γt(l)的下面状态和具有分支节拍λt(l)的下面分支而引导的线路,其线路节拍相当于γt(l)+λt(l)。
因属于每一个为在时间步骤t中的某一状态计算出来的结果γt(s)同时也是计算在时间上随后出现的状态的线路节拍的基础,所以在图5中所示的ACS单元2的反馈必须通过存储器3,使计算出来的线路节拍能在存储器3内储存。
存储器3的结构必须根据相应的特立斯图的结构来设计和建造。在每一个符号周期期间必须要能将特立斯图中的状态数相对应的线路节拍数从存储器3中读出并再写入存储器3内去。对于特立斯图中每一个蝶形而言,要能同时处理两个状态,使能从存储器3中读出两个初始线路节拍,并能将由此计算出来的两个线路节拍写入存储器3。
然而由此产生的问题是在线路节拍未读出之前,不能将它们重写。
为了更清楚地说明这个问题,在图6中示出另一个具有8个状态的特立斯图。这个特立斯图也具有已介绍的蝶形结构,这个典型的蝶形以虚线示出,它包含初始状态St的No.1和No.5与目的状态St+1的No.2和No.3。为了计算目标状态No.2和3的线路节拍,必须首先读出初始状态No.1和No.5的线路节拍。
这种在读出过程和写入过程之间形成的竞争态势使人们设计出一种在文献中又称之为“乒乓”(“Ping-Pong”)自动编码结构形式的存储器3,这种存储器被分成两个存储库,其中一个存储库仅用于读出过程,另一个仅用于写入过程。
借助于这种技术虽能可靠地避免了那些不良的竞争,然而存储器3的体积却必须增大一倍,因为它的两个存储库必须要能储存全部状态St和St+1的线路节拍。
另一个与线路节拍存储器相关的问题是在存储器上的线路节拍的布局问题。也就是说要按不同的存储器地址安排好各个线路节拍。根据现有技术来选择,这种布局的选择使线路节拍的读出过程和写入过程使用不同的存储区域,从而使读出过程和写入过程之间的矛盾得到可靠的避免。
本发明的任务在于提供一种在维特比译码器中储存线路节拍的新型方法,这种方法要能在一个较小存储器的需求条件下实现,并能可靠地避免各种写入/读出矛盾。
本发明的上述任务已通过由本专利权利要求1所阐明的一种方法的各项特征而获得了解决。本专利的其它各项权利要求则阐明了本发明的各项优点及各种优先采用的结构形式。
借助于本发明的内容,我们介绍一种在维特比译码器中的储存线路节拍的方法,这种方法是建立在时间变化的特立斯图的原理基础上的,而且特别适于具有蝶形结构和相应的加法比较选择单元(ACS-Einheiten)的特立斯图的情况。
本发明的方法需要一个存储器并可使线路节拍的读出和储存在相同的存储器区域内实现,也就是说根据两个初始线路节拍计算出来的相应与目标状态的线路节拍可以在读出先前两个初始线路节的那个存储器地址上储存起来。存储器的容量不取决于特立斯图选定的平行度而且必须只相当于由各种特立斯状态的数目和每一个存储字的二进制数位的数目构成的乘积。特别是当需要把多个处理器元件的线路节拍综合起来储存,也只需要使用一个存储器就够了。
写入/读出矛盾可得到可靠的避免。
本发明为维特比译码所使用的芯片的面积需求和功率消耗都极小,因为为储存两个线路节拍只需要一个存储器地址。本发明既适合于正向编码(Feedforward Codes),例如SDSL,也适合于反向编码(FeedbackCodes),而且可使用可编程维特比译码器,对于每一个蝶形图形都可以将相应的线路节拍很容易编制出程序。
在下面将利用各附图借助于一个优选实施例对本发明的内容做比较详细的说明

图1示出一个包含8个状态的特立斯图,用来说明本发明对一个SDSL-维特比译码器所设定的原理。
图2示出一个示意图,用来说明一个函数,借助于这个函数取依靠一个计数器读出可以求出一个状态,这个状态根据本发明的一个优选实施例对于把各个线路节拍布置在ASC单元的存储器的各不同存储地址上是起决定性作用的。
图3示出一个示意图,用来说明继本发明的另一种方法。
图4示出一个具有蝶形结构和4种状态的典型的特立斯图。
图5示出一种维特比译码器的一般结构。
图6示出一个具有蝶形结构的特立斯图,用来说明与现有技术相关的问题。
在比较详细说明本发明的各项细节之前,还应在下面简要地介绍一下几个专门名词,因为在以后说明本发明的各项内容时还需要使用这些专门名词。
假设一个具有总储存容量为Mt储存字的特立斯编码器,可获得一个具有NTS=2Mt的特立斯码,其中的NTS是在相应的特立斯图中绘出的各种不同的状态的数目。对于一个编码率为1/2的正向编码而言,其脉冲应答词的长度为MT+1。在特立斯图中的各个状态过渡如前介绍的那样是取决于某些编码的二进制数位B的,而且时间点t+1的状态是St+1是按下列关系式先前状态St产生的S(t)=(2·St)mod(NTS+B)设若特立斯图具有在图6中所示的典型蝶形结构(前面已经介绍过),那么每一个蝶形都会有两个初始状态和两个目标状态与之相关,而且根据特立斯图的几何形状可以区分为一个用标记(u)(为上面)标识的上面状态和一个用标记(1)(为下面)标识的下面状态。在图6中用虚昼出的蝶形中,例如状态St(u)=1,St(l)=5,和状态St+1(u)=2,St+1(l)=3,其中St(u)和St(l)是初始状态,而St+1(u)和St+1(l)=1则是目标状态。
从图6中还可以看出一个蝶形的下面初始状态St(l)和目标状态St+1(u)及St-1(l)是取决于上面初始状态St(u)的,而且具有下列的关系O≤St(U)≤NTS2-1]]>St(l)=St(U)+NTS2]]>St+1(U)=(2·St(U)mod(Nrs+0)St+1(t)=(2·St(U)mod(NTS+1)=(2·St(1)mod(NTS+1)在用NTS=8和St(U)=1来评价上列公式时,对于图6用虚线所示蝶形图形而言,修正值St(l)=5,St+1(u)=2,St+1(l)=3本发明是以这样一个“设想”作基础的即为目标状态计算出来的本发明是以这样一个“设想”作基础的即为目标状态计算出来的某个蝶形图形的各个线路节拍都应当储存在其相应的各个初始线路节拍被读出来的相同的储存的地址上,才能避免在存储器3中不必要地重迭写入线路节拍。这个措施可导致特立斯图的结构随时间而改变,使由此产生的特立斯图可以称之为随时间变化的特立斯(TVT)。
在图6中示出的特立斯结构的TVT示于图3。由图3可以看出虽然各个蝶形的状态过渡是与图6中示出的状态过渡相一致,但随着每一个时间步骤或随着每一次迭代各个状态的顺序都会重新排列,使某个蝶形的每一个目标状态由一条水平分支与该蝶形的相应的初始状态相连系。在图3中,对各次迭代都有两个蝶形,它们分别包含初始状态No.2、No.6和No.3、No.7以及目标状态No.4、No.5和No.6和No.7,它们分别用短横线和点划线表示出来,于是特别借助于这些蝶形,就可以清楚理解特立斯结构随时间重排的原理了。
在图3中示出的特立斯图的每一行列相当于存储器3的一个储存地址,举例来说可在某一储存地址及其随后的储存地址中写入No.2、N0.4、No.1和No.2等状态的线路节拍(即图3中所示特立斯图的第3行列)。可以证明经过MT次迭代后(对上述例子而言,MT=3次迭代),又可以获得原来的状态顺序。
上面介绍的TVT设计防止了在存储器3中不必要地重迭写入线路节拍。然而还存在这样一个问题,那就是为了使用ACS单元2可以按蝶形结构原理来计算线路节拍起见,还必须同时读出和写入两个线路节拍,为此就必须将存储器做相应地划分开来,然而,这对采用TVT设想来说是不可能实现的。
因此,这个TVT设计还必须为适应蝶形结构而另行开发设计,我们在下面将借助于图1和图2来说明这个可称之为蝶形导向的随时间变化的特立斯(BFTVT)的设计方案。出来的某个蝶形的目标状态的线路节拍不能同时代表另一个蝶形的初始线路节拍。为了说明这事实起见,在下面将把某个蝶形的初始线路节拍和目标的线路节拍分别写作[St(u),St(l)]和[St+1(u),St+1(l)]的形式。对于图3所示特立斯图的各个蝶形(迭代1)来说,据此就产生了下列的几个状态过渡

[1,5]→[2,3][2,6]→[4,5][3,7]→[6,7]可以看出举例而言,具有初始状态
的蝶形的目标状态
不同时代表迭代2的一个共同蝶形的初始状态。因此,若把每一个蝶形的各个初始线路节拍和目标线路节拍都以一个共同的储存字形式储存起来就是毫无意义的了。
然而,另一方面很清楚的是举例来说,分别具有初始状态
和[2,6]的两个蝶形的目标状态
和[4,5]可以同时利用来作为特立斯图中随后的分别具有初始状态
和[1,5]的两个蝶形的初始状态。人们可证明全部2MT-1个蝶形都可以按此规则成对地组合起来,使某对蝶形的目标状态的线路节拍同时被利用作为两个其它蝶形的初始线路节拍,只要把为目标状态求出的线路节拍做出适当的重新排列即可。
图1用来示明这一新的设计。存储器3的每一个储存字的字宽可根据现有技术成倍加大,因此,两个成对的蝶形的目标状态的线路节拍至少可以每个储存字为两个线路节拍的方式储存起来是可能的,特别值得指出的是存储器的容量不取决于所使用的处理器元件的数目,只是写入/读出过程的数目会改变。
在图1中每一个圆圈相当于一个蝶形的两个初始状态或它们的初始线路节拍,以S(u)/S(l)形式表示。通过把各个蝶形成对组合就得出图1所示的上位的蝶形特立斯结构,通过图1所示的特立斯图可以确定几个成对组合的原始的蝶形有那些目标状态的线路节拍可以用做那些随后的蝶形的初始状态的线路节拍。例如在图1中有一个用虚线标出的蝶形,它就是由具有初始状态分别为
和[2,6]以及目标的状态分别为
和[4,5]的两个原始蝶形组成的,把由此合成的两个目标状态成对重新排列为
和[1,5],从而使这对重新排列的目标状态对可以同时用作随后两个蝶形的初始状态(请参见图6所示的蝶形结构,由此图可见初始状态
和[1,5]原是与一个蝶形相对应的)。
另外一个例子以下是相似于图3所示由TVT结构形式的重新的上位的特立斯结构。图1所示特立斯图的每一个行列相当于存储器3的一个存储地址,因而举例说明从所示特立斯的第2行列看,状态对[1,5],[2,6]和[1,5]的线路节拍可以一个接一个地被储存在同一个存储地址上。
从图1的说明可以看出,设若由于各个“蝶形”的成对组合而使特立斯图的容积与图3相比减至2M-1T个状态,那么迭代的数目与图3相比相应地也会减少1个,这是直至重新恢复原始状态顺序所需要的。其结果是,由于存储器3地址的再生的可以相应地把编制地址耗费降低。
前面已经指出一个蝶形的全部状态可以从这个蝶形的上面初始状态S(u)推导出来。因此图1所示的各成对线路节拍的适合的储存地址就可以通过相对简单的方法求得这个方法需要使用一个计数器,其计数范围C可以在[0...NTS2-1]]]>之间调节。于是人们可以借助于一个函数 求出各蝶形对的上面初始状态S(u),因为S(u)是与瞬时计数C相关的;然后接着借助于一个地址编制函数faddr(S(u),I),从已求出的上面状态S(u)和当时的实际迭代数I确定各个适当的储存地址。对于各线路节拍需要由多个处理器元件来组合的情况而言,计数器的计数范围必须要给在[0...NTS2ld(NPE)-1]]]>之间调节,其中NPE代表处理器元件的数目,1d(x)则代表对数log2(x)。
函数 是非线性的。可以证明这个函数可以一个简单的二进制数位图解来实现,如图2所示。图中的MSB代表最高价有效数位,LSB则代表最低价有效数位。
地址编制函数faddr(S(u),I)可以根据正向特立斯编码器的性质用下列的关系式来描述ADDR=[(21·S(u)mod(NT-1)]+[21-MT+1·S(u))]此式中的ADDR代表取决于S(u),MT和I的某个线路节拍对的储存地址的函数,这个线路节拍对具有I∈
。这个地址编制函数甚易实现,因为它相当于式中所示的第1项和第2项的(MT-1)次的数位相加,而不必考虑会发生某种可能的溢出。所列式中的所有乘法都可以用简单的数位位移运算来实现。
对于要把本发明的方法用在多个处理器元件的情况而言,地址编制函数faddr(S(u),I)可以用下列的关系式来描述 本发明的方法在前面已对使用各种正向编码器的情况,例如使用一个SDSL编码器,做了说明。然而,本发明的方法也可以应用于反向编码器的情况。反向编码器的维特比译码器的特立斯结构与正向编码器的维特比译码器的虽然有很大的区别,但反向编码器也可以在特立斯蝶形方面也可以这样成对地组合,使各个目标状态的相应线路节拍同时代表在特立斯图中两个随后的蝶形的初始线路节拍。与正向编码器情况相反的只是在反向编码器的情况下,直至在特立期图中再次出现原始状态顺序所需要进行的迭代的次数不直接取决于MT的值。在反向编码器情况下也可以用类似于在正向编码器情况下所采取的实施方式来求得 和faddr(s(u),I)两个函数的关系式,但在此处我们不再陈述其推导和演算。
权利要求
1.一种在维特比译码器储存线路节拍的方法,线路节拍是借助一个与给特比译码器相适应的特立斯图来确定,在该特立斯图中某一特定时间步骤(t+1)的两个目标状态与其先前时间步骤(t)的两个初始状态构成一个蝶形结构,通过这个蝶形结构,该一定时间步骤(t+1)的两个目标状态可以通过当时存在的一个状态过渡分支而与先前时间步骤(t)的两个初始状态连接起来;对每一个时间步骤(t+1),每一个目标状态的线路节拍(γt+1)都取决于与该目标状态构成一个蝶形结构的先前时间步骤(t)的那个初始状态的线距节拍(γt)的函数;为此需从存储器(3)中读出相应的两个初始状态的线路节拍(γt),从而作为它的函数确定时间步骤(t+1)的目标状态的线路节拍(γt+1)将该目标状态的线路节拍(γt+1)储存在存储器(3)中;其特征在于每个时间步骤(t)的特立斯图的蝶形结构都可以至少成对地组合起来,对于时间步骤(t)的每一双蝶形结构对而言,特立期图中的两个蝶形结构的目标状态同时可成为随后时间步骤(t+1)的两个蝶形结构的初始状态,而且在确定一对蝶形结构对的两个蝶形结构的目标状态的线路节拍后,可将该蝶形结构对的两个蝶形结构的目标状态的线路节拍以一个共同的存储字的形式储存在存储器(3)中,所述的该蝶形结构对的目标状态同时也成为随后时间步骤(t+1)的两个蝶形结构的初始状态。
2.如权利要求1所述的方法,其特征在于同属于一个蝶形结构的在某一时间步骤(t)上两个初始状态的线路节拍以一个共同的存储字形式储存在存储器(3)中,在确定蝶形结构对的两个蝶形结构的目标状态的线路节拍后,可将该对蝶形结构对的两个目标状态,其同时也是随后时间步骤(t+1)的蝶形结构的初始状态的线路节拍,储存在存储器3中的同一个储存地址上作为两个初始状态的线路节拍,该两初始状态与两目标状态构成一个蝶形结构。
3.如权利要求1或2所述的方法,其特征在于每一个目标状态的线路节拍(γt+1)都可以作为相应的蝶形结构的两个初始状态的线路节拍(γt)和与该蝶形结构的两个状态过渡分支相对应的分支节拍来确定。
4.如权利要求3所述的方法,其特征在于在每一个蝶形结构中,用于把第一个初始状态与第一个目标状态连接起来的状态过渡分支和把第二个初始状态与第二个目标状态连接起来的状态过渡分支的分支节拍的第一个分支节拍具有相同的大小;用于把第一个初始状态与第二个目标状态连接起来的状态过渡分支和把第二个初始状态与第一个目的状态连接起来的状态过渡分支的分支节拍的第二个分支节拍也具有相同的大小。
5.如上述任一权利要求所述的方法,其特征在于所述的方法用于对用正向编码编码的信号执行译码。
6.如权利要求5所述的方法,其特征在于所述的方法用于对SDSL编码的信号执行译码。
7.如权利要求1至4中任一项所述的方法,其特征在于所述的方法用于对用反向编码编码的信号执行译码。
全文摘要
本发明涉及在维特比译码器中储存线路节拍的方法。对于一个维特比译码器而言,将其相关的特立斯图中的各个蝶形结构这样地成对组合起来:使每一双蝶形结构对在同一时间的特立斯图中的两个蝶形结构的目标状态的线路节拍构成该对蝶形结构对的初始状态,在确定该蝶形结构对的两蝶形结构的目标状态的线路节拍之后,该该蝶形结构对的两目标状态的线路节拍以一个共同的存储字的形式储存,该两目标状态同时形成另一蝶形结构的初始状态。
文档编号H03M13/41GK1311620SQ0110937
公开日2001年9月5日 申请日期2001年3月2日 优先权日2000年3月2日
发明者马里奥·特雷贝尔 申请人:印菲内奥技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1