CN101820290B - 维特比检测器及其检测方法 - Google Patents
维特比检测器及其检测方法 Download PDFInfo
- Publication number
- CN101820290B CN101820290B CN201010145610.2A CN201010145610A CN101820290B CN 101820290 B CN101820290 B CN 101820290B CN 201010145610 A CN201010145610 A CN 201010145610A CN 101820290 B CN101820290 B CN 101820290B
- Authority
- CN
- China
- Prior art keywords
- path
- current state
- remaining path
- prime
- remaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000005259 measurement Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 23
- 238000000034 method Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 10
- 241000209094 Oryza Species 0.000 description 8
- 235000007164 Oryza sativa Nutrition 0.000 description 8
- 235000009566 rice Nutrition 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供一种维特比检测器及其检测方法,用来在一运算时序下处理m个输入位,且m>=1。该维特比检测器包含有一路径衡量运算单元,用来运算出一目前状态的路径衡量值,并产生一控制信号;以及一残存路径存储单元,用来储存该目前状态的残存路径;其中,该目前状态的残存路径的最新m个位与该控制信号有关,并且该维特比检测器选择先前状态的状态名称中的最前面位与该目前状态的状态名称中的最后面位之间的任意位作为该残存路径对应的输入位。本发明的维特比检测器及其检测方法可以减少内存需求。
Description
本发明是申请号为2004100907617,申请日为2004年11月08日,发明名称为“快速维特比检测器的路径衡量运算方法与相关装置”的分案申请。
技术领域
本发明提供一种维特比检测器及其检测方法,尤指一种应用平行处理架构的维特比检测器及其检测方法。
背景技术
在数字通讯系统中,最大相似性序列侦测(Maximum likelihood sequencedetection,MLSD)的技术已被广泛应用于各种通讯架构,其中维特比检测器(Viterbi detector)即为应用最大相似性序列侦测的一种电路。如业界所习知,一般通讯通道中具有附加性白高斯噪声(Additive white Gaussian noise,AWGN)或是其它干扰源,而为了降低侦测信号时发生错误的机率,大多数的通讯系统都会对传送的资料先进行编码,例如,利用特殊的算法来旋积(convolute)欲传送的资料,使得传送资料的位数增加。当接收端进行译码前,就可以利用算法的特性来侦测所接收到的资料是否正确,甚至可以还原发生错误的位。
以维特比算法(Viterbi Algorism,VA)为例,请参阅图1,现有具有六种状态(State)的维特比算法的状态图(state diagram)。如图1中所示,每一状态下都有不同输入值(亦即原始资料),并会产生相对应的输出值(亦即编码信号),其中输出值可为6、4、2、0、-2、-4、-6。当该编码信号送入通讯通道后,该编码信号可能会受到干扰并进而被接收端所误判,例如,一个对应6的编码信号通过通讯通道后被噪声所干扰,因此接收端便收到一个对应5的信号,但是此一信号显然并不正确,所以可以推测正确的编码信号很有可能是6或4,所以该接收端需要一种还原机制将接收到的信号回复成原先的编码信号。
请参阅图2,图2为现有的单一运算时序的Trellis树状图(Trellis treediagram),且该Trellis树的架构系依据图1所示的状态图所建立。Trellis树的架构包括有多个状态S0、S1、S3、S4、S5、S6、S7,以及交错其间的多个分支路径(branch)11、12、13、14、15、16、17、18、19、20。举例来说,在状态S7下,当输入一数值0时,一编码器(encoder)会输出一数值4,并且进入状态S6;当继续输入一数值0时,该编码器则会输出一数值0,并且进入状态S4。同理,一接收端也依据此一Trellis树的架构将所接收到的信号还原成正确的编码信号,例如,若在状态S7下接收到一接收信号具有数值2,则该接收端便依据该接收信号与可能的理想编码信号(亦即先前提及的理想数值6、4)运算出一分支成本,在运算完分支成本后,接收端依据该分支成本以及由多个分支成本累积而成的路径衡量值(path metric)P来推断正确的编码信号为何,其中,在实际的应用上,分支成本可以利用接收信号和可能的理想编码信号的误差的绝对值来计算。此外,每一状态的路径衡量值的运算如下列方程式所示:
PS7=min{(PS7+BS7->S7),(PS3+BS3->S7)} 方程式(一)
PS6=min{(PS7+BS7->S6),(PS3+BS3->S6)} 方程式(二)
PS4=PS6+BS6->S4 方程式(三)
PS3=PS1+BS1->S3 方程式(四)
PS1=min{(PS4+BS4->S1),(PS0+BS0->S1)} 方程式(五)
PS0=min{(PS4+BS4->S0),(PS0+BS0->S0)} 方程式(六)
由于上述Trellis树状态与其相关运作为一业界所习知的技术,故不在本文中详细叙述。然而,为了方便说明在单一运算时序下从状态Si进入另一状态Sj,因此以下将Si称为一先前状态,以及将Sj称为一目前状态。当下一运算时序发生时,上一运算时序中的目前状态Sj自然成为下一运算时序中的先前状态之一,同时不断更新对应于每一目前状态的路径衡量值P。在理想情况下(亦即无噪声干扰的情形),其中必有一路径衡量值P为最佳值(若使用前述的分支成本计算方法的话,则是为零),而累积该路径衡量值的路径即可对应到正确的编码信号。然而,如果没有任何路径衡量值为零,则表示该接收信号可能受到噪声的干扰而被误判,因此,路径衡量值越小的路径便表示越接近正确的编码信号。
请继续参阅图3,图3为用来计算路径衡量值的现有路径衡量运算单元10的示意图。如图3所示,路径衡量运算单元10包含有加法器21、23,一比较器25,一多工器27,以及一暂存器29。以路径衡量值PS7与路径衡量值PS3的相关运算为例,加法器21、23分别加总一先前状态的路径衡量值PS7与相对应的分支成本BS7->S7,以及加总另一先前状态的路径衡量值PS3与相对应的分支成本BS3->S7;比较器25则比较加法器的输出值,并且输出一控制信号Sc至多工器27以反映比较结果;多工器27则依据控制信号Sc来选择输出一较小的输出值以产生对应于目前状态的路径衡量值PS7。同理,其它路径衡量值的运算电路皆与图3所示的电路架构相同且具有相同的操作方式,故不再一一赘述。然而,当单位时间编码资料量(亦即传输资料量)十分庞大时,图3所示的电路架构已不敷使用,而为了提升运算效能,现有技术往往经由提升电路的复杂度来达到处理较多位的目的,而电路的复杂度的增加也造成电路实作不易且生产成本过高。
发明内容
本发明的主要目的之一在于提供一种应用平行运算架构以计算路径衡量值的方法与其相对应装置,以解决上述问题。
本发明揭露一种维特比检测器,其中该维特比检测器用来在一运算时序下处理m个输入位,且m>=1,该维特比检测器包含有:一路径衡量运算单元,用来运算出一目前状态的路径衡量值,并产生一控制信号;以及一残存路径存储单元,用来储存该目前状态的残存路径;其中,该目前状态的残存路径的最新m个位与该控制信号有关,并且该维特比检测器选择先前状态的状态名称中的最前面位与该目前状态的状态名称中的最后面位之间的任意位作为该残存路径对应的输入位。
本发明还揭露一种维特比检测方法,用来在一运算时序下处理m个输入位,且m>=1,该维特比检测方法的步骤包含有:运算出一目前状态的路径衡量值,并产生一控制信号;以及依据该控制信号更新该目前状态的残存路径;其中,该目前状态的残存路径的新产生的m个位与该控制信号有关,并且选择先前状态的状态名称中的最前面位与该目前状态的状态名称中的最后面位之间的任意位作为该残存路径对应的输入位。
本发明路径衡量运算单元与其相关方法可平行处理多个输入位以提升运算速度,但不至大幅增加电路的复杂度,所以不但电路实作容易,且可降低生产成本。
附图说明
图1为现有具有六种状态的维特比算法的状态图;
图2为现有单一运算时序的Trellis树状图;
图3为用来计算路径衡量值的现有路径衡量运算单元的示意图;
图4为本发明路径衡量运算单元的示意图;
图5为图4所示的路径衡量运算单元所应用的莫尔状态机的Trellis树状图;
图6为本发明另一路径衡量运算单元的示意图;
图7为图6所示的路径衡量运算单元所应用的米利状态机的Trellis树状图;
图8为应用时序调整技术的路径衡量运算单元的示意图;
图9为应用时序调整技术的另一路径衡量运算单元的示意图;
图10本发明快速维特比检测器的示意图;
图11为图10所示的快速维特比检测器所应用的米利状态机的Trellis树状图;
图12为本发明的残存路径存储单元250的另一较佳实施例的示意图;
图13为一高速比较器310的示意图;
图14为本发明中各残存路径的联机关系示意图。
符号说明
具体实施方式
请同时参阅图4与图5,图4为本发明路径衡量运算单元30的示意图,而图5为图4所示的路径衡量运算单元30所应用的莫尔状态机的Trellis树状图。路径衡量运算单元30所对应的Trellis树状图是合并现有Trellis树状图的两级(stage)成为一级,亦即路径衡量运算单元30一次处理两个输入位。举例来说,图5所示的一目前状态S12S9(11001)的前四个位(1100)表示S12,而后四个位(1001)表示S9,且该目前状态S12S9对应三个先前状态S15S14、S7S14、S3S6。请注意,当在先前状态S15S14、S7S14、S3S6下输入“01”时,最后都会进入目前状态S12S9;同理,在先前状态S15S14、S7S14、S3S6下输入“00”,则会进入另一目前状态S12S8,此一相同输入值对应到相同目前状态的特性在其它目前状态也都适用,这是由于此种莫尔状态机的Trellis图的输出仅跟其目前状态有关与输入值无关的特性使然。同理可推,由于每一先前状态的对应到该目前状态输入值都相同,所以其分支成本也会相同。因此,本发明路径衡量运算单元30利用此一特性先对多个先前状态的路径衡量值进行比较,在同一时间,分别将多个先前状态的路径衡量值加上同样的分支成本,其结果与先前技术中先加总多个先前状态的路径衡量值与分支成本,然后再进行比较的结果是相同的,不同的是本实施例的运作可以大幅节省处理路径衡量值的时间。
为了便于说明本发明的技术特征,图4所示的路径衡量运算单元30仅计算目前状态S12S9(11001)与S12S8(11000)的路径衡量值。路径衡量运算单元30包含有一比较器31,用来比较先前状态S15S14、S7S14、S3S6的路径衡量值,并且依据比较结果产生一控制信号Sc;一组合电路37,其包含有加法器32、34、36,分别用来加总先前状态的路径衡量值PS15S14、PS7S14、PS3S6与分支成本1BS12S9、2BS12S9以产生多个输出值;一多工器38,用来依据控制信号Sc选择输出一最小的输出值;一暂存器39,用来暂存该最小的输出值,并且视其为目前状态S12S9的路径衡量值PS12S9。图4所示的路径衡量运算单元30另包含有一组合电路47,其包含有加法器42、44、46分别用来加总先前状态的路径衡量值PS15S14、PS7S14、PS3S6与分支成本1BS12S8、2BS12S8以产生多个输出值;一多工器48,用来依据该控制信号选择输出一最小的输出值;一暂存器49,用来暂存该最小的输出值,并且视其为目前状态S12S8的路径衡量值PS12S8,上述路径衡量运算单元30的运作可由下列方程式说明之:
PS12S9=min{PS15S14,PS7S14,PS3S6}+1BS12S9+2BS12S9; 方程式(七)
PS12S8=min{PS15S14,Ps7S14,PS3S6}+1BS12S8+2BS12S8; 方程式(八)
其中取最小值的动作不需配置另一比较器来执行,亦即组合电路37与组合电路47共享同一比较器31即可输出一共享的控制信号Sc来达到驱动多工器38、48正确地输出所要的路径衡量值PS12S8、PS12S9。最后,当本发明的路径衡量运算单元30开始计算下一运算时序所输入的两个位时,会选择将目前状态S12S9与S12S8的先前状态S15S14、S7S14与S3S6其中有最小路径衡量值的先前状态的最左端两个位储存在一业界现有的残存路径存储单元(Survival Path Memory Unit)中,因此每一个目前状态皆有其对应的残存路径,但是由于上述目前状态S12S9与S12S8的残存路径的内容完全相同,所以可共享同一块内存来储存该二位以降低残存路径存储单元的内存大小。其它具有相同先前状态的任何目前状态,例如:目前状态S1S3、S0S1、S0S0皆可利用此一原则以节省所使用的内存。因此,图5所示的电路架构与现有路径衡量运算装置的电路架构相比,不仅可以降低运算时间,同时可以降低电路复杂度并且降低系统所使用的内存容量。
请同时参阅图6与图7,图6为本发明另一路径衡量运算单元50的示意图,而图7为图6所示的路径衡量运算单元50所应用的米利状态机(Mealystate machine)的Trellis树状图。相较于图4所示的莫尔状态机,图7所示的米利状态机同样是在单一运算时序下,一次处理两个输入位,但是,由于米利状态机并不具有单一目前状态仅对应到单一输入值的特性,所以可以大幅减少状态的使用个数以及每一状态所对应位的长度,因此,米利状态机的应用可以降低其相对应的路径衡量运算单元50的电路复杂度。另一方面,此一特性亦会失去莫尔状态机所具有的同一目前状态对应相同分支成本的优点,进而当计算路径衡量时无法同时进行比较与加总的动作,并会增加运算时间,而为了改善上述缺点,本发明便应用时序调整(Retiming)技术,而其相关操作于后详述。
路径衡量运算单元50包含有一比较器51,一组合电路57,一多工器58,以及一暂存器59,其中组合电路57的功能与上述图5的组合电路37、47相同,亦即,组合电路57包含有多个加法器52、54、56。为了便于说明本发明的技术特征,图6所示的路径衡量运算单元50仅计算目前状态S6的路径衡量值。加法器52、54、56分别用来加总先前状态S7的路径衡量值PS7与相对应的分支成本1BCS7->S6、2BCS7->S6,加总先前状态S3的路径衡量值PS3与相对应的分支成本1BCS3->S62、2BCS3->S6,以及加总先前状态S1的路径衡量值PS1与相对应的分支成本1BCS1->S6、2BCS1->S6,并分别产生三个输出值。比较器51用来比较该三个输出值的大小并且产生一个控制信号Sc至多工器58,而多工器58便依据控制信号Sc来选择输出一最小的输出值,其中该最小的输出值系作为目前状态S6的路径衡量值PS6。上述路径衡量运算单元50的运作可由下列方程式来加以说明:
PS6=min{(PS7+1BCS7->S6+2BCS7->S6),(PS3+1BCS3->S6+2BCS3->S6),(PS1+1BCS1->S6+2BCS1->S6)}
方程式(九)
为了降低图7所示的路径衡量运算单元50的运算时间,本发明利用时序调整(retiming)技术加以克服,请同时参阅图7与图8,图8为应用时序调整技术的路径衡量运算单元60的示意图。路径衡量运算单元60包含有一比较器61,一多工器62,一暂存器64,以及多个多工器66、68。请注意,在不影响本发明技术揭露下,本实施例(图8)仅显示处理路径衡量值PS6->S1、PS6->S0的电路。请参阅图7,由于时序调整的辅助,此时将S7->S6、S3->S6、S1->S6视为先前状态,其中时序调整后的状态的相对应路径衡量值PS7->S6、PS3->S6、PS1->S6为:
PS7->S6=PS7+1BCS7->S6+2BCS7->S6 方程式(十)
PS3->S6=PS3+1BCS3->S6+2BCS3->S6 方程式(十一)
PS1->S6=PS1+1BCS1->S6+2BCS1->S6 方程式(十二)
此外,如图8所示,S6->S1、S6->S0视为目前状态,因此对应于目前状态S6->S1的分支成本为1BCS6->S1与2BCS6->S1;同理,对应于目前状态S6->S0的分支成本为1BCS6->S0与2BCS6->S0。如此一来,经过时序调整后,先前状态一样可以先经由比较器61进行比较,然后再透过加法器66、68来分别加总多个先前状态的路径衡量与对应到不同目前状态的分支成本,因此,图8所示的路径衡量运算单元60设置有比较器61来比较路径衡量值PS7->S6、PS3->S6、PS1->S6的大小,并且依据比较结果产生一控制信号Sc至多工器62,接着,多工器62便依据控制信号Sc选出一最小的路径衡量值。暂存器64用来暂存该最小的路径衡量值,此外,加法器66、68用来将该最小的路径衡量值分别加上分支成本1BCS6->S1、2BCS6->S11与BCS6->S0、2BCS6->S0,以得到目前状态S6->S1、S6->S0的相对应路径衡量值PS6->S1、PS6->S0。
请参阅图9,图9为应用时序调整技术的另一路径衡量运算单元70的示意图。路径衡量运算单元70亦是运用图7所示的米利状态机,此外,路径衡量运算单元70可视为将图8所示的路径衡量运算单元60中的加法器66、68移至多工器62之前以节省运算时间。请注意,在不影响本发明技术揭露下,本实施例(图9)仅显示处理路径衡量值PS6->S1、PS6->S0的电路,所以,路径衡量运算单元80包含有一比较器71,多个组合电路77、87,多个多工器78、88,以及多个暂存器79、89。比较器71用来比较先前状态S7->S6、S3->S6、S1->S6的路径衡量值PS7->S6、PS3->S6、PS1->S6的大小,并且依据比较结果产生一控制信号Sc至多工器78、88。组合电路77包含有多个加法器72、74、76,用来分别加总该先前状态S7->S6、S3->S6、S1->S6的路径衡量值PS7->S6、PS3->S6、PS1->S6与分支成本1BCS6->S1、2BCS6->S1以产生多个输出值。多工器78则依据控制信号Sc自多个加法器72、74、76的输出值中选择输出最小的输出值,其中该最小的输出值视为目前状态S6->S1的路径衡量值PS6->S1。此外,另一组合电路87包含有多个加法器82、84、86,用来分别加总路径衡量值PS7->S6、PS3->S6、PS1->S6与分支成本1BCS6->S0、2BCS6->S0以产生多个输出值。本实施例中,多工器88亦依据上述控制信号Sc自多个加法器82、84、86的输出值中选择输出一最小的输出值,其中该最小的输出值视为目前状态S6->S0的路径衡量值PS6->S0,最后,路径衡量运算单元60便使用暂存器79、89来暂存计算出的路径衡量值PS6->S1与PS6->S0。
请同时参阅图10与图11,图10为本发明的快速维特比检测器100的示意图,图11为图10中快速维特比检测器100所使用的Trellis树状图。为了使路径衡量运算单元可同时进行比较与加法的动作,本发明另揭露一种快速维特比检测器100,如图中所示,快速维特比检测器100包含有分支成本运算单元110、120、路径衡量运算单元130、140、以及一残存路径存储单元150。分支成本运算单元110、120用来运算出分支成本BC1以及分支成本BC2,而路径衡量运算单元130依据分支成本BC1与路径衡量值P0、P3’、P4”产生路径衡量值P1’,而路径衡量运算单元140则依据分支成本BC2与路径衡量值P0、P3’、P4”产生路径衡量值P1”,最后,残存路径存储单元150依据路径衡量运算单元130所输出的控制信号Sc自待选的残存路径[S0,00]、[S3,10]、[S4,11]选出其中之一者作为新产生的残存路径S1供下一运算时序产生待选的残存路径所使用。其中待选的残存路径的产生,是将先前运算时序的残存路径串接其对应的输入的字节构成待选的残存路径,其中残存路径S0对应的输入字节为“00”,残存路径S3对应的输入字节为“10”,残存路径S4对应的输入字节为“11”。由于新产生的残存路径S0~S5的产生方式与S1雷同,所以在不影响本发明的揭露情形下以上仅利用残存路径S1的产生方式举例说明。
请继续参阅图10,如图中所示,路径衡量运算单元130中另设置有一比较器131、加法器132、134、136、多工器138、以及暂存器139,路径衡量运算单元140中则设置有加法器142、144、146、多工器148、以及暂存器149,由于上述组件皆与图9中所示的同名组件具有相同的功能与架构故不在此一一赘述。至于残存路径存储单元150中设置有一多工器152、一存储单元154、以及一组合电路156。多工器152用来接收目前状态S1的先前状态S0所对应的残存路径S0及其输入字节“00”、先前状态S3所对应的残存路径S3及其输入字节“10”、以及先前状态S4所对应的残存路径S4及其输入字节“11”,并且依据控制信号Sc选择其中具有最小路径衡量值之一,多工器152的运作可参考下列方程式:
其中待选的残存路径以为例分别说明如下,表示在第n个运算时序上的先前状态的残存路径为并且串接其相对应的输入字节为“00”;则表示在第n个运算时序上,先前状态的残存路径为并且串接其相对应的输入字节为“10”;则表示在第n个运算时序上的先前状态的残存路径为并且串接其相对应的输入字节为“11”。然而,本发明的快速维特比检测器100另设置有对应其它目前状态的残存路径运算单元,但是由于其架构与运作方式皆与残存路径存储单元150相同故不一一说明,其它残存路径运算单元的运作则依据下列方程式:
接着,利用存储单元154记住多工器152在第n个运算时序上选定的残存路径。然后,利用组合电路156将第n个运算时序的残存路径S1串接输入字节“00”构成待选的残存路径[S1,00]以供其它状态的多工器选择所使用。在一般应用上,组合电路156可为两种型态,一种为储存固定长度之位,当输入字节的长度两个位时,所选择的残存路径中最前端的两个位则会被挤出组合电路156。而另外一种组合电路156的长度并不受限制,当每次新增输入字节时,残存路径的长度就会增加两个位,上述两种方法皆可为本发明所使用。
请参阅图14,图14为本发明中各残存路径的联机关系示意图,亦即方程式(十三)与(十四)所表示的关系,请注意,图中所示的信号Sc0、Sc1、Sc2、Sc3、Sc4、Sc5表示分别对应至不同路径衡量单元的比较器输出的控制信号,此外,图中所示的多工器、存储单元、组合电路皆与图10中所示知名组件具有相同的功能与架构,因此不在本文中赘述。
请继续参阅图12,图12为本发明的残存路径存储单元250的另一较佳实施例的示意图。如图中所示,新产生的残存路径S1除了上述方法产生外,也可以利用多工器252自多个先前运算时序的残存路径S0 n、S3 n、S4 n中依据控制信号Sc选择其中之一,并利用多工器254依据控制信号Sc选择对应的输入的字节[00]、[10]、[11],然后利用组合电路256将多工器252选定的先前运算时序的残存路径串接上多工器254选定的字节来构成新产生的残存路径S1 n+1供下一运算时序产生待选的残存路径所使用。其中当选定的残存路径为S0则其对应的输入字节为“00”,当选定的残存路径为S3则其对应的输入字节为“10”,当选定的残存路径为S4则其对应的输入字节为“11”。
请注意,本发明中所使用的三选一比较器31、51、61、71、131的架构并不以上述的实施例为限,请参阅图13,其为一高速比较器3110的示意图。如图中所示,在这个高速比较器中,首先利用双输入比较器312、314、316两两比较所输入的路径衡量值的大小,再根据两两比较的结果查表318以得到最后的比较结果。举例来说,若PS15S14.>PS7S14,PS7S14>PS3S6,PS15S14>PS3S6,我们就可判断PS3S6为最小值,因此,本发明中所使用的三选一比较器皆可以图13中的高速比较器310来实施,由于高速比较器的架构为业界所现有故不在本文中详细说明。
此外清特别注意,本发明的主要特征之一在于当维特比检测器一次产生m个位时(m>=1),本发明的残存路径以该路径所对应的先前状态的状态名称中的最前面m个位作为所对应的输入字节,与现有技术中使用目前状态的状态名称中的最后面m个位作为所对应的输入字节不同,且相较之下本发明可以比现有技术减少内存的需求。以本发明为例,共有状态S0、S1、S2、S3、S4、S5等6个状态,其状态名称分别为(000)、(001)、(011)、(100)、(110)、(111),此例的状态名称的长度为b=3。将先前状态的状态名称中的最前面位与目前状态的状态名称中的最后面位之间去除重叠的部份(b-m,若b>m)或加上额外的部份(m-b,若m>b)构成一长度为b+m的序列,因此只要选择此长度为b+m的序列中的任意连续的m个位作为所对应的输入字节均可以比现有技术减少内存的需求。以m=2且S4到S0的变迁为例,则此长度为b+m的序列为(110)→(000)去除重叠的b-m=3-2=1构成一b+m=5的序列(11000),现有技术选取最后m个位做为状态的对应输入字节即为(00),而本发明揭露可以选取此序列中任意连序m个位做为对应的入字节即可,若以选取最前面m个位为例则对应输入字节即为(11),图14即为此例。
另外,在维特比检测器中的一残存路径会依据路径衡量运算单元产生的控制信号Sc改变残存路径的内容,在检测过程中,一残存路径会有a个输入位一直保持不变。若状态名称由b个位构成,则上一段文字中,残存路径选定其所对应的m个输入字节的方法会影响a的数值。当残存路径选定其所对应的m个输入字节的方法为使用上述长度为b+m的序列其中连续m个位的位置有下列三种方法:(1)取长度为b+m的序列中第i+1个位到第i+m个位时(i=0,2,...,b),则a=i且0<=a<=b;(2)取其中最后面m个位时,即i=b,则a=b;(3)取其中最前面m个位时,即i=0,则a=0。其中方法(2)会使得a=b即为现有技术。当i>m时所对应的m个输入字节都为目前状态的状态名称的部分位,所以与控制信号无关。当i<=m时所对应的m个输入字节会包含先前状态的状态名称的部分位,所以与控制信号有关。
概括而论,与图9中所示的路径衡量运算单元70相比,快速维特比检测器100的特点在于对同一目前状态S1设置有两个路径衡量运算单元130、140以分别计算目前状态S1的路径衡量值P1’与P1”,这是为了达到可同时进行相加与比较的动作的特性,所以,为了使路径衡量运算单元130计算路径衡量值时P1’可对每一先前状态的路径衡量值加上同一分支成本,以达到可同时进行相加与比较的动作,而对先前状态S3、S4的路径衡量值P3、P4进行调整以产生路径衡量值时P3’与P4”,因此,目前状态S1所产生的路径衡量值P1也必须加以调整成P1’与P1”,以供下一运算时序计算路径衡量值时所使用。为详细说明,路径衡量值P0、P1、...P5与新定义的路径衡量值P1’、P1”...P4’、P4”的转换过程以及调整后的分支成本请参照下列方程式:
方程式(十五)
方程式(十六)
方程式(十七)
方程式(十八)
方程式(十九)
方程式(二十)
以方程式(二十)为例,表示第n+1个运算时序时,目前状态S5的路径衡量值,而则表示由第n个运算时序到第n+1个运算时序间由先前状态S2先经过S5产生一分支成本再由S5到S5产生另一分支成本以此类推。然后,将上述方程式(十五)至方程式(二十)整理后可得到:
方程式组(二十一)
因此,图10中的路径衡量运算单元130、140即可依据方程式(二十一)运算出路径衡量值P1’与P1”,并且分支成本运算单元110所产生的BC1即为而分支成本运算单元120所产生的BC2即为至于用来运算其它路径衡量值P0、P2’、P2”、...、P5的路径衡量运算单元,由于架构皆与图10中所示的路径衡量运算单元相同,故在不影响本发明的揭露情形下不再一一赘述。除此之外,由方程式组(二十一)中可知本发明的快速维特比检测器100一共需设置十个路径衡量运算单元来计算所有的路径衡量值,但是只需要使用六个残存路径存储单元,这是因为产生路径衡量值P1’与P1”的路径衡量运算单元可共享一个残存路径存储单元,同理,产生路径衡量值P2’与P2”的路径衡量运算单元亦可共享一个残存路径存储单元。以此类推,本发明的快速维特比检测器100一共只需使用六个残存路径存储单元,因此本发明的快速维特比检测器100可在较少个路径衡量值与较少的残存路径存储单元的条件下,以较快的速度运算出每一目前状态的路径衡量值。
以上的实施例以一次解两个位(亦即m=2)的维特比检测器说明,其中计算分支成时,相关连的输入信号的输入时序包含有第n个运算时序的第一输入位与第二输入位,以及第n+1个运算时序的第一输入位与第二输入位,因此,相关连的输入信号的总长度共有4个输入时序,大于一次要解出的位个数2。所以本实施例的维特比检测器之一主要特性为一次解m个位,且计算分支成时相关连的输入信号的总长度为q,其中q>m,而现有技术为q=m。要附带一提的是,每个分支成本计算时,其相关连的输入信号的长度会随各分支而有所不同,以方程式(二十一)为例,其中计算P0时的分支成本与2个输入时序有关,P1′的分支成本与4个输入时序有关,P2′的分支成本与3个输入时序有关。上述维特比检测器的计算分支成时相关连的输入信号的总长度为q,是指其中所有分支成本相关连的输入信号的联集为计算。
相较于以上的实施例以一次解m=2个位的维特比检测器说明,当m>2时,或当m=1时亦可以推广使用。以下即为当m=1时所整理出的路径衡量值的选取规则:
方程式组(二十二)
且其残存路径的选取规则如下:
方程式组(二十三)
请注意,本发明的残存路径以该路径所对应的先前状态的状态名称中的最前面1个位作为所对应的输入位,与现有技术中使用目前状态的状态名称中的最后面1个位作为所对应的输入位不同。所以只要选择先前状态的状态名称中的最前面位与目前状态的状态名称中的最后面位之间的任意位作为所对应的输入位均可以比现有技术减少内存的需求。
总而言之,相较于现有技术本发明的路径衡量运算单元与其相关方法为利用平行处理的架构来降低运算路径衡量值的时间,但同时又利用时序调整的技术以及莫尔状态机与米利状态机的运作机制来简化分支成本的运算过程与所使用的状态个数,以达到兼顾电路复杂度的优点,除此之外,本发明的残存路径存储单元相较于现有技术使用较少的内存即可实施,因此本发明可同时兼顾提高电路的实作性、加速处理效能以及降低生产成本的考量。此外,以上所述的方法仅以一个输入信号对应一个位的情形为例,另外有些应用是以一个输入信号对应非单一位,以上所述的方法也可以适用。
Claims (6)
1.一种维特比检测器,其中该维特比检测器用来在一运算时序下处理m个输入位,且m>=1,该维特比检测器包含有:
一路径衡量运算单元,用来运算出一目前状态的路径衡量值,并产生一控制信号;以及
一残存路径存储单元,用来储存该目前状态的残存路径;
其中,该目前状态的残存路径的最新m个位与该控制信号有关,并且该维特比检测器选择先前状态的状态名称中的最前面位与该目前状态的状态名称中的最后面位之间的任意位作为该残存路径对应的输入位。
2.如权利要求1所述的维特比检测器,其特征在于,该残存路径存储单元包含有:
一多工器,用来依据该控制信号选择该目前状态的多个待选残存路径中之一,视为该目前状态的残存路径;
一存储单元,电连接至该多工器,用来储存该目前状态的残存路径;以及
一组合电路,电连接至该存储单元,用来串接该目前状态的残存路径与该目前状态所对应的输入字节以构成一待选残存路径供对应的状态所使用。
3.如权利要求1所述的维特比检测器,其特征在于,该残存路径存储单元包含有:
一第一多工器,用来依据该控制信号选择该目前状态对应的多个待选残存路径中之一待选残存路径;
一第二多工器,用来依据该控制信号选择该目前状态对应的多个输入字节中之一输入字节;
一组合电路,电连接至该第一多工器及该第二多工器,用来串接该第一多工器选定的该待选残存路径与该第二多工器选定的该输入字节,以构成该目前状态的残存路径;以及
一存储单元,电连接至该组合电路,用来储存该目前状态的残存路径。
4.一种维特比检测方法,用来在一运算时序下处理m个输入位,且m>=1,该维特比检测方法的步骤包含有:
运算出一目前状态的路径衡量值,并产生一控制信号;以及
依据该控制信号更新该目前状态的残存路径;
其中,该目前状态的残存路径的新产生的m个位与该控制信号有关,并且选择先前状态的状态名称中的最前面位与该目前状态的状态名称中的最后面位之间的任意位作为该残存路径对应的输入位。
5.如权利要求4所述的维特比检测方法,其特征在于,更新该残存路径的步骤包含有:
依据该控制信号选择该目前状态的多个待选残存路径中之一者,视为该目前状态的残存路径;
储存该目前状态的残存路径;以及
串接该目前状态的残存路径与该目前状态所对应的输入字节以构成一待选残存路径供对应的状态所使用。
6.如权利要求4所述的维特比检测方法,其特征在于,更新该残存路径的步骤包含有:
依据该控制信号选择该目前状态对应的多个待选残存路径中之一待选残存路径;
依据该控制信号选择该目前状态对应的多个输入字节中之一输入字节;
串接选定的该待选残存路径与选定的该输入字节,以构成该目前状态的残存路径;以及
储存该目前状态的残存路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010145610.2A CN101820290B (zh) | 2004-11-08 | 2004-11-08 | 维特比检测器及其检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010145610.2A CN101820290B (zh) | 2004-11-08 | 2004-11-08 | 维特比检测器及其检测方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410090761 Division CN1773868B (zh) | 2004-11-08 | 2004-11-08 | 快速维特比检测器的路径衡量运算方法与相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101820290A CN101820290A (zh) | 2010-09-01 |
CN101820290B true CN101820290B (zh) | 2014-02-19 |
Family
ID=42655256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010145610.2A Expired - Fee Related CN101820290B (zh) | 2004-11-08 | 2004-11-08 | 维特比检测器及其检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101820290B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484385A (zh) * | 2002-09-20 | 2004-03-24 | 联发科技股份有限公司 | 相加比较选择电路及使用该电路的维特比解码器 |
CN1494221A (zh) * | 2002-10-30 | 2004-05-05 | 联发科技股份有限公司 | 存活路径存储器电路及使用该电路的维特比解码器 |
US20040177304A1 (en) * | 2003-02-25 | 2004-09-09 | Intel Corporation | Fast bit-parallel viterbi decoder add-compare-select circuit |
-
2004
- 2004-11-08 CN CN201010145610.2A patent/CN101820290B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484385A (zh) * | 2002-09-20 | 2004-03-24 | 联发科技股份有限公司 | 相加比较选择电路及使用该电路的维特比解码器 |
CN1494221A (zh) * | 2002-10-30 | 2004-05-05 | 联发科技股份有限公司 | 存活路径存储器电路及使用该电路的维特比解码器 |
US20040177304A1 (en) * | 2003-02-25 | 2004-09-09 | Intel Corporation | Fast bit-parallel viterbi decoder add-compare-select circuit |
Also Published As
Publication number | Publication date |
---|---|
CN101820290A (zh) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613991B1 (en) | Method and apparatus for concurrent calculation of cyclic redundancy checks | |
Lee | A high-speed low-complexity Reed-Solomon decoder for optical communications | |
US5440570A (en) | Real-time binary BCH decoder | |
WO2010115371A1 (zh) | 一种循环冗余校验crc码的实现方法和装置 | |
JPH05327524A (ja) | ビット・シリアル・ヴィタービ(viterbi)デコーダの加算/比較/選択アレイ | |
EP1983434B1 (en) | Parity generating circuit, arrangement circuit for parity generating circuit, information processing apparatus, and encoder | |
US7430706B1 (en) | Diagonal interleaved parity calculator | |
US20210376953A1 (en) | Architecture for guessing random additive noise decoding (grand) | |
US20090037800A1 (en) | Data parallelizing receiver | |
CN101820290B (zh) | 维特比检测器及其检测方法 | |
KR100731985B1 (ko) | 파이프라인 구조 병렬 순환 중복 검사 장치 및 방법 | |
US20060115023A1 (en) | Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm | |
US7437657B2 (en) | High speed add-compare-select processing | |
CN1773868B (zh) | 快速维特比检测器的路径衡量运算方法与相关装置 | |
CN101361278B (zh) | 奇偶校验位生成电路、计数电路以及计数方法 | |
US7188134B2 (en) | High-performance adder | |
CN1309471A (zh) | 在支路度量计算处理中具有减少的位数的维特比解码器 | |
CN103916138B (zh) | 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法 | |
CN114884517A (zh) | 一种crc硬件计算系统及芯片 | |
US7987412B2 (en) | Reed Solomon decoding of signals having variable input data rates | |
US10623018B2 (en) | Method of arrangement of an algorithm in cyclic redundancy check | |
CN111506293A (zh) | 一种基于srt算法的高基除法器电路 | |
CN109274460A (zh) | 一种多比特并行结构串行抵消译码方法和装置 | |
CN112836456B (zh) | 一种基于sat的电路错误诊断方法 | |
US20050203984A1 (en) | Digital circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |