CN1773868B - 快速维特比检测器的路径衡量运算方法与相关装置 - Google Patents
快速维特比检测器的路径衡量运算方法与相关装置 Download PDFInfo
- Publication number
- CN1773868B CN1773868B CN 200410090761 CN200410090761A CN1773868B CN 1773868 B CN1773868 B CN 1773868B CN 200410090761 CN200410090761 CN 200410090761 CN 200410090761 A CN200410090761 A CN 200410090761A CN 1773868 B CN1773868 B CN 1773868B
- Authority
- CN
- China
- Prior art keywords
- path
- metric
- weighed
- prime
- arithmetic element
- 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
- 238000011017 operating method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims description 31
- 239000000872 buffer Substances 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 9
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 12
- 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
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000014509 gene expression Effects 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
- 238000004364 calculation method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Abstract
本发明提供一种应用于一快速维特比检测器的路径衡量运算方法与装置,用来计算一目前状态的路径衡量值。该运算装置包含有一比较器,用于比较多个先前状态的路径衡量值以产生一控制信号;一组合电路,分别电连接于该比较器,用于分别加总该多个先前状态的路径衡量值与该目前状态的多个分支路径的分支成本来产生多个输出值;以及一多工器,电连接至该比较器与该组合电路,用来依据该控制信号与该多个输出值来设定该目前状态的路径衡量值,其中每一先前状态皆需经由至少二分支路径才到达该目前状态。
Description
技术领域
本发明提供一种应用于维特比检测器以进行路径衡量运算的方法与其相关装置,尤指一种应用平行处理架构的路径衡量运算方法与其相对应运算装置。
背景技术
在数字通讯系统中,最大相似性序列侦测(Maximum likelihood sequence detection,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 tree diagram),且该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,该维特比检测器包含有:一第一分支成本运算单元(branch metric computing unit,BMU),用来运算出一目前状态的第一分支成本;一第二分支成本运算单元,用来运算出该目前状态的第二分支成本;多个对应该目前状态的先前路径衡量值;一第一路径衡量运算单元,电连接至该第一分支成本运算单元,用来依据该多个对应该目前状态的先前路径衡量值以及该第一分支成本,运算出该目前状态的第一路径衡量值;一第二路径衡量运算单元,电连接至该第二分支成本运算单元,用来依据该多个对应该目前状态的先前路径衡量值以及该第二分支成本,分别运算出该目前状态的第二路径衡量值;以及一残存路径存储单元,用来储存该目前状态的残存路径;其中,所有分支成本在计算时,其相关连的输入信号的总长度为q个输入时序,并且q>m。
本发明另揭露一种应用于维特比检测器的路径衡量运算方法,用来依据多个先前路径衡量值与一第一分支成本以产生一第一路径衡量值,其中该维特比检测器接收一输入信号时,依据该输入信号产生一检测结果,并且依据至少两个输入时序所对应的输入信号来计算该第一分支成本(branch cost),该路径衡量运算方法包含有:比较该多个先前状态的路径衡量值来产生一比较信号,其中该控制信号对应该多个先前状态的路径衡量值的最小值;依据该多个先前状态的路径衡量值与该第一分支成本来产生多个第一待选路径衡量值;以及依据该控制信号与该多个第一待选路径衡量值来设定该第一目前状态的所对应的第一路径衡量值。
此外,本发明另揭露一种维特比检测方法,用来于一运算时序下处理m个输入位,且m>=1,该维特比检测方法的步骤包含有:运算出一目前状态的第一分支成本;运算出该目前状态的第二分支成本;依据该目前状态的多个先前状态的路径衡量值以及该第一分支成本,运算出该目前状态的第一路径衡量值;依据该多个先前状态的路径衡量值以及该第二分支成本,分别运算出该目前状态的第二路径衡量值;以及产生该目前状态的残存路径并且储存该残存路径;其中,所有分支成本在计算时,其相关连的输入信号的总长度为q个输入时序,q>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所应用的米利状态机(Mealy state 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,其为一高速比较器310的示意图。如图中所示,在这个高速比较器中,首先利用双输入比较器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 (14)
1.一种应用于维特比检测器的路径衡量运算单元,用来依据多个先前路径衡量值与一第一分支成本以产生一第一路径衡量值,其中该维特比检测器系接收一输入信号时,依据该输入信号产生一检测结果,并且依据至少两个输入时序所对应的输入信号来计算该第一分支成本,该路径衡量运算单元包含有:
一比较器,用以依据多个先前路径衡量值产生一控制信号,其中该控制信号是对应于该多个先前路径衡量值的最小值;
一第一组合电路,用于分别依据该多个先前路径衡量值与该第一分支成本来产生多个第一待选路径衡量值;以及
一第一多工器,电连接至该比较器与该组合电路,用来依据该控制信号与该多个第一待选路径衡量值来设定该第一路径衡量值。
2.如权利要求1所述的路径衡量运算单元,其特征在于,该第一组合电路包含有:
多个加法器,分别用来将该多个先前路径衡量值中的每一个与该第一分支成本相加。
3.如权利要求1所述的路径衡量运算单元,其特征在于,该第一多工器是依据该控制信号自该多个第一待选路径衡量值中选取出最小值,来作为该第一路径衡量值。
4.如权利要求1所述的路径衡量运算单元,其特征在于,该路径衡量运算单元另对应一第二分支成本,且该路径衡量运算单元另包含有:
一第二组合电路,用于分别依据该多个先前路径衡量值与该第二分支成本来产生多个第二待选路径衡量值;以及
一第二多工器,电连接至该比较器与该第二组合电路,用来依据该控制信号与该多个第二待选路径衡量值来设定一第二路径衡量值。
5.如权利要求4所述的路径衡量运算单元,其特征在于,另包含有一第一暂存器与一第二暂存器,分别电连接至该第一、第二多工器,用来暂存该第一路径衡量值以及该第二路径衡量值,并且分别作为下一运算时序的一个先前路径衡量值。
6.如权利要求4所述的路径衡量运算单元,其特征在于,另包含有一残存路径存储单元,电连接至该第一多工器,用来储存该第一路径衡量值所对应的残存路径,其中该第一路径衡量值的残存路径与该第二路径衡量值的残存路径,共享一个残存路径。
7.如权利要求1所述的路径衡量运算单元,其特征在于,所述的比较器,包含有多个双输入比较器以及一对照表;其中每个该双输入比较器依据两输入信号的大小关系产生一输出信号,并且依据该多个双输入比较器的输出信号查询该对照表以产生该控制信号。
8.一种应用于维特比检测器的路径衡量运算方法,用来依据多个先前状态的路径衡量值与一第一分支成本以产生一第一路径衡量值,其中该维特比检测器接收一输入信号时,依据该输入信号产生一检测结果,并且依据至少两个输入时序所对应的输入信号来计算该第一分支成本,该路径衡量运算方法包含有:
比较多个先前状态的路径衡量值来产生一控制信号,其中该控制信号对应该多个先前状态的路径衡量值的最小值;
依据该多个先前状态的路径衡量值与该第一分支成本来产生多个第一待选路径衡量值;以及
依据该控制信号与该多个第一待选路径衡量值来设定一第一目前状态的所对应的第一路径衡量值。
9.如权利要求8所述的路径衡量运算方法,其特征在于,产生多个第一待选路径衡量值的步骤另包含有:
分别将该多个先前状态的路径衡量值中的每一个与该第一分支成本相加。
10.如权利要求8所述的路径衡量运算方法,其特征在于,设定该第一目前状态的所对应的第一路径衡量值的步骤另包含有:
依据该控制信号自该多个第一待选路径衡量值中选取出最小值来作为该第一路径衡量值。
11.如权利要求8所述的路径衡量运算方法,其特征在于,一第二目前状态与该第一目前状态皆对应该多个先前状态,且该路径衡量运算方法另包含有:
依据该多个先前状态的路径衡量值与该第二目前状态所对应的第二分支成本来产生多个第二待选路径衡量值;以及
依据该控制信号与该多个第二待选路径衡量值来设定该第二目前状态所对应的第二路径衡量值。
12.如权利要求11所述的路径衡量运算方法,其特征在于,另包含有:
暂存该第一路径衡量值与该第二路径衡量值,以分别作为下一运算时序的一先前路径衡量值。
13.如权利要求11所述的路径衡量运算方法,其特征在于,另包含有:
利用一残存路径存储单元储存该第一目前状态的残存路径,其中该第一目前状态的残存路径相同于该第二目前状态的残存路径。
14.如权利要求8所述的路径衡量运算方法,其特征在于,比较该多个先前路径衡量值的步骤包含有:
两两比较该先前路径衡量值;以及
依据比较的大小关系查询一对照表以产生该控制信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410090761 CN1773868B (zh) | 2004-11-08 | 2004-11-08 | 快速维特比检测器的路径衡量运算方法与相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410090761 CN1773868B (zh) | 2004-11-08 | 2004-11-08 | 快速维特比检测器的路径衡量运算方法与相关装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010145610.2A Division CN101820290B (zh) | 2004-11-08 | 2004-11-08 | 维特比检测器及其检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1773868A CN1773868A (zh) | 2006-05-17 |
CN1773868B true CN1773868B (zh) | 2010-10-06 |
Family
ID=36760663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410090761 Expired - Fee Related CN1773868B (zh) | 2004-11-08 | 2004-11-08 | 快速维特比检测器的路径衡量运算方法与相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1773868B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201815B (zh) * | 2010-03-25 | 2015-03-18 | 承景科技股份有限公司 | 高运算频率的二进制运算解码装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1058392A1 (en) * | 1999-05-31 | 2000-12-06 | Motorola, Inc. | Method for implementing a plurality of add-compare-select butterfly operations in parallel, in a data processing system |
US20030007578A1 (en) * | 2000-12-22 | 2003-01-09 | Kuo Hung-Chenh | Decoding circuit and method of viterbi decoder |
US20040010748A1 (en) * | 2002-07-12 | 2004-01-15 | Stmicroelectronics, Inc. | E2PR4 viterbi detector and method for adding a branch metric to the path metric of the surviving path while selecting the surviving path |
CN1494221A (zh) * | 2002-10-30 | 2004-05-05 | 联发科技股份有限公司 | 存活路径存储器电路及使用该电路的维特比解码器 |
-
2004
- 2004-11-08 CN CN 200410090761 patent/CN1773868B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1058392A1 (en) * | 1999-05-31 | 2000-12-06 | Motorola, Inc. | Method for implementing a plurality of add-compare-select butterfly operations in parallel, in a data processing system |
US20030007578A1 (en) * | 2000-12-22 | 2003-01-09 | Kuo Hung-Chenh | Decoding circuit and method of viterbi decoder |
US20040010748A1 (en) * | 2002-07-12 | 2004-01-15 | Stmicroelectronics, Inc. | E2PR4 viterbi detector and method for adding a branch metric to the path metric of the surviving path while selecting the surviving path |
CN1494221A (zh) * | 2002-10-30 | 2004-05-05 | 联发科技股份有限公司 | 存活路径存储器电路及使用该电路的维特比解码器 |
Non-Patent Citations (1)
Title |
---|
US 20030007578 A1,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN1773868A (zh) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee | A high-speed low-complexity Reed-Solomon decoder for optical communications | |
CN106909970A (zh) | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 | |
CN201153259Y (zh) | 并行数据循环冗余校验装置及双向数据传输系统 | |
US4958348A (en) | Hypersystolic Reed-Solomon decoder | |
CN101162964A (zh) | 使用一组多项式来确定消息余式 | |
JPS62133826A (ja) | Crcビツトを計算するための装置 | |
CN107153522A (zh) | 一种面向人工神经网络计算的动态精度可配近似乘法器 | |
CN104038232B (zh) | 基于二次异或运算的测试数据压缩与解压缩方法 | |
CN102546089B (zh) | 循环冗余校验crc码的实现方法及装置 | |
CN105791828B (zh) | 二进制算术编码器及其编码方法 | |
CN101140511B (zh) | 串行进位二进制加法器 | |
US7430706B1 (en) | Diagonal interleaved parity calculator | |
CN102945224A (zh) | 基于fpga的高速可变点fft处理器及其处理方法 | |
CN101336416A (zh) | 奇偶生成电路、奇偶生成电路用构成电路、信息处理装置以及编码器 | |
US7623585B2 (en) | Systems and modules for use with trellis-based decoding | |
CN1186385A (zh) | 用于维特比解码器的追逆 | |
CN108964671A (zh) | 一种译码方法及译码器 | |
CN101783688A (zh) | 一种64位并行多模式crc码生成电路的设计方法 | |
CN1773868B (zh) | 快速维特比检测器的路径衡量运算方法与相关装置 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
CN101820290B (zh) | 维特比检测器及其检测方法 | |
CN102270110B (zh) | 一种改进的基16Booth编码器 | |
CN1309471A (zh) | 在支路度量计算处理中具有减少的位数的维特比解码器 | |
CN107017962A (zh) | 动态功耗控制的编码方法及编解码器 | |
US20030065700A1 (en) | High-performance adder |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101006 |