CN1183681A - 韦特比解码器中的相加-比较-选择处理器 - Google Patents

韦特比解码器中的相加-比较-选择处理器 Download PDF

Info

Publication number
CN1183681A
CN1183681A CN97116210A CN97116210A CN1183681A CN 1183681 A CN1183681 A CN 1183681A CN 97116210 A CN97116210 A CN 97116210A CN 97116210 A CN97116210 A CN 97116210A CN 1183681 A CN1183681 A CN 1183681A
Authority
CN
China
Prior art keywords
yardstick
decision
pmet
smet
path
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.)
Pending
Application number
CN97116210A
Other languages
English (en)
Inventor
崔荣培
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Publication of CN1183681A publication Critical patent/CN1183681A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

韦特比解码器中的一相加/比较/选择(ACS)处理器,包括有:N个处理元件;分组单元,将对应N个状态的N个处理元件分组成使用同一状态尺度和分支尺度的k个单元的处理元件;多路复用器,将L(L=2k)个路径尺度多路复用成两个路径尺度,并将输出给一相应处理元件;第一多路分解器,接收自相应处理元件得到的两判定位,将它们多路分解成L个判定位;第二多路分解器,接收自相应处理元件得到的两状态尺度,将其多路分解成L个状态尺度。

Description

韦特比解码器中的相加-比较-选择处理器
本发明涉及一种韦特比例解码器中的相加/比较/选择(ACS)处理器,且更具体地,涉及一种通过将对应于几个状态的N个处理元件分组成一预定的使用同一分支尺度(branch metric)和状态尺度(state me tric)处理元件单元,而相对于一处理元件中的多个状态执行相加/比较/选择处理的ACS处理器。
通常,韦特比算法被用作为进行卷积码的最大似然解码的一实用且有效的方法。在韦特比算法中,在一任意状态相会合的两不同路径的路径距离通过使用一格子图(trellis  diagram)被进行比较。通过该比较,具有较短距离的路径。即最低误差发生可能性的一路径被选择作为一残存路径(survivor  path),使用韦特比算法的韦特比解码器例如被用作为进行卫星通信系统中的误差修正,因为该解码器具有高的随机误差修正能力。
参见图1A和1B,将详细地描述韦特比算法,图1A示出了一格子图,其中节点和状态数为2。其垂直和水平方向分别表示状态Si(i=1,2)和时间(t/T:这里,1/T表示传输率),及Si,k表示在时间k的第i个状态。一有限态机器通过图1A中所示的格子图选择一任意路径,并根据所观察状态的转变,计算一时间间隔(k,k+1)的分支尺度λ。即通过格子图,时间k的状态(S1,k,S2,k)通过时间间隔(k,k+1)的各分支与时间k+1的状态(S1,k+1,S2,k+1)相连,在韦特比解码中,计算在对应于接收信号的该分支的码间的距离,即分支尺度。该分支尺度变为硬判定解码的一汉明距离,和一软判定解码的一欧几里德距离。
通过使用所计算的分支尺度,根据时间k的路径尺度γ和时间间隔(k,k+1)的分支尺度λ,在时间k+1的各节点的一新的路径尺度被计算。以下将参照图1B详细描述该计算。
在图1B中,在时间k的节点S1,k,S2,k具有分别作为其分支尺度的累加的路径尺度γ1,k,γ2,k,当时间间隔(k,k+1)的分支尺度为λ11,k,λ12,k,λ21,k,λ22,k小时,在时间k+1的节点S1,k+1,S2,k+1的新路径尺度γ1,k+1,γ2,k+1通过以下公式1获得:
公式1:
γ1,k+1=max〔λ11,k1,k,λ12,k2,k
γ2,k+1=max〔λ21,k1,k,λ22,k2,k
即具有在时间k的状态的一变量的多个路径导向在时间k+1的节点,并使用一分支尺度的概率信息,该路径尺度被确定。对各时间k循环地执行计算该路径尺度的过程以确定一最终的残存路径。
当这些残存路径被追溯时,这些路径与高可能性合拍地在一任意点合并,如图1B所示。在具有可能性的点上合并的时间步数为一残存深度,并且它确定了韦特比解码的执行时间。即,当路径尺度γ在各节点通过公式1被更新时,它们在到达该残存深度之前保持这些对应路径的状态。因此,先于通过追溯所得到的残存深度的这些状态的变化被输出作为经韦特比解码的数据。
图2示出了常规的韦特比解码器的方框图。该韦特比解码器包括一分支尺度发生器100、一ACS单元200、和一残存物存储器300。
在图2中,该分支尺度发生器100接收一经卷积编码的数据,计算一作为对应于一接收信号的各分支上的码间的距离的分支尺度λij,k。在此时,该分支尺度发生单元100的复杂度直接与接收码字的长度有关。随着包括码字的位数的提高,要求有更复杂的电路。例如,当码字由2位组成时,比较2位的接收码字所需的比较码字数为22或4。如果码字由3位组成,比较3位的接收码字所需的比较码字数为23或8。另外,相对于更长的码字计算的分支尺度值更大。因此,由于存储对应分支尺度的存储器容量与分支尺度值和比较码字数增加得一样多,导致了ACS单元200的结构复杂。
该ACS单元200接收来自分支尺度发生器100的分支尺度,将它们加至先前的路径尺度并确定多个候选路径。该ACS单元200然后比较这些候选路径尺度值,并选择一具有最短路径尺度的路径,输出该新选择的路径尺度和该比较结果,即判定位。ACS单元200在各解码周期通过使用自分支尺度发生器100获得的分支尺度来更新该路径尺度,并将N位的判定位输出给残存物存储器300。因此,当格子图包括有总共N个状态时,N位自各解码周期获得。
该残存物存储器300存储自ACS单元200得到的判定位,通过使用该判定位恢复原始信息序列,并输出其作为经韦特比编码的数据。
图3示出了在图2中示出的ACS单元200的一处理元件310的方框图,该处理元件310主要包括一第一处理器320和一第二处理器340。在这儿,第一处理器320包括一第一加法器322、一第二加法器324、一第一比较器326和第一选择器328。第二处理器340包括一第三加法器324、一第四加法器334、一第二比较器346和第二选择器348。
在图3中,γX和γY分别代表输入到处理元件310中的路径尺度。并在此取6位的路径尺度作为一例子来说明处理元件的操作。路径γX被输入到第一处理器320的第一加法器322和第二处理器340的第三加法器。路径尺度γY被输入到第一处理器320的第二加法器324和第二处理器340的第四加法器。分支尺度λX和λY被自图2中的分支尺度发生器提供,并在此取4位的分支尺度作为例子。分支尺度λX被输入到第一处理器320的第一加法器322和第二处理器340的第四加法器344中。分支尺度λY被输入到第一处理器320的第二加法器324和第二处理器340的第三加法器342中。分别自第一和第二处理器320和340的第一和第二比较器326和346输出的第一和第二判定位被提供给图2中的残存物存储器300。
参见图3,将详细描述ACS单元200的处理元件310的操作。
对于第一处理器320,第一加法器322将路径尺度γX加至分支尺度λX,并将相加后的值分别输出给第一比较器326和第一选择器328。第二加法器324将路径尺度γY加至分支尺度λY,并将相加后的值分别输出给第一比较器326和第一选择器328。
第一比较器326将来自第一加法器322的相加值与来自第二加法器324的相加值相比较,并将比较结果,即第一判定位作为选择信号输出给第一选择器328并提供给图2中的残存物存储器300。例如,当来自第一加法器322的相加值大于来自第二加法器324的相加值时,第一比较器326输出第一判定位“0”。当来自第一加法器322的相加值小于来自第二加法器324的相加值时,第一判定位“1”被输出。
第一选择器328根据选择信号选择地输出来自第一加法器322的相加值或来自第二加法器324的相加值。即,当第一判定位“0”时,第一选择器328选择来自第二加法器324的相加值将其作为状态尺度输出,而当第一判定位为“1”时,第一选择器328选择来自第一加法器322的相加值以将其输出作为状态尺度。
对于第二处理器340,第三加法器342将路径尺度γX加至分支尺度λY,并分别将相加值输出给第二比较器346和第二选择器348。第四加法器344将路径尺度γY加至尺度λX,并分别将相加值输出给第二比较器346和第二选择器348。
第二比较器346将来自第三加法器342的相加值与来自第四加法器344的相加值进行比较,并将比较的结果,即第二判定位分别作为选择信号输出给第二选择器348及图2中的残存物存储器300。例如,当来自第三加法器342的相加值大于来自第四加法器344的相加值时,第二比较器346输出第二判定位“0”。当来自第三加法器342的相加值小于来自第四加法器344的相加值时,第二判定位“1”被输出。
第二选择器348根据选择信号有选择地输出来自第三加法器342的相加值或来自第四加法器344的相加值。即,当第二判定位为“0”时,第二选择器348选择来自第四加法器344的相加值以将其输出作为状态尺度,而当第二判定位为“1”时,第二选择器348选择来自第三加法器342的相加值以将其输出作为状态尺度。
通过分组,有可能将使用同一状态尺度的两处理元件组合成一个如图3所示的处理元件。即一个处理元件执行两个状态的相加/比较/选择处理,因此,在64个状态的情况下,ACS处理器需要32个处理元件PEO至PE31。
上述ACS处理器是在一处理元件中处理一种状态的ACS处理器的改进型。但是,它还有许多缺点。近来,随着应用特别集成电路(ASIC)技术迅速发展,在通过一处理元件中处理至少两种状态来设计ASIC时,需要减小硬件的尺寸。
考虑到上述问题,本发明的目的在于提供一ACS处理器,其在一处理元件中相对应多个状态执行相加/比较/选择处理并在ASIC设计中提高了ACS处理器的面积效率。
为了实现上述目的,本发明提供了一用于执行卷积码的最大似然性解码的韦特比解码器中的ACS处理器,该ACS解码器包括有:
N个处理元件,用于接收两个路径尺度和两个分支尺度,比较各相加值,并根据一比较结果输出两判定位和两状态尺度;
一分组单元,用于将对应N个状态的N个处理元件分组成使用同一状态尺度和同一分支尺度的k个单元的处理元件;
一多路复用器,用于根据一预定时钟信号将自分组结果提供的L(L=2K)个路径尺度多路复用成两个路径尺度,并将它们输出给N个处理元件的一相应处理元件;
一第一多路分解器,用于接收自相应处理元件得到的两判定位,并根据该时钟信号将它们多路分解成L个判定位,及
一第二多路分解器,用于接收自相应处理元件得到的两状态尺度,并根据该时钟信号将它们多路分解成L个状态尺度
通过以下结合附图对本发明的优选实施例的描述,本发明的以上及其它目的、特征和优点将变得显然,附图中:
图1A和1B为在韦特比解码算法中使用的格子图;
图2为说明一常规的韦特比解码器的方框图;
图3为说明图2的ACS处理器中一处理元件的方框图;
图4为说明根据本发明的一优选实施例的一韦特比解码器的ACS处理器的方框图。
现将参照附图中所给出的实例对本发明进行详细说明,并且附图中所使用的相同参考数字表示相同或相似的部分。
图4为根据本发明的一优选实施例的一韦特比解码器的ACS处理器的方框图。
该ACS处理器包括一分组单元410、一多路复用器420、一处理元件430,一第一多路分解器440、一第二多路分解器450、和一控制器460。输入到多路复用器420中的路径尺度PA0、PA1、PB0和PB1为6位单元。自多路复用器420输出的路径尺度γX和γY为6位单元。输入到处理元件430中的分支尺度λX和λY为4位单元。判定位DA0、DA1、DB0和DB1被从第一多路分解器440输出。被从第二多路分解器450输出的状态尺度SA0、SA1、SB0和SB1为6位单元
在图4中,分组单元410将N个状态的N个处理元件分组成使用同一状态尺度和同一分支尺度的预定单元的处理元件。在此,在64个状态的情况下,包括四个状态的一分组单元在一处理元件中被处理。在被分组的处理元件中,具有相关性的处理元件在ASIC中被紧密地设置并被确定路由。
多路复用器420接收四个路径长度PA0、PA1、PB0和PB1,并根据时钟信号选择将地两路径尺度γX、γY=PA0、PA1或PB0、PB1输出给处理元件430。
处理元件430是与图3中说明的常规处理元件310相同的类型。处理元件430从多路复用器420接收两个路径尺度γX和γY,及从图1的分支尺度发生器100接收两分支尺度λX和λY,并输出包括第一和第二判定位的两判定位,和两状态尺度。有关该过程的详细描述在本发明领域的背景中被全部详细地给出。
第一多路分解器440从处理元件430接收两判定位,该第一和第二判定位,并根据时钟信号进行多路分解且以四判定位DA0、DA1、DB0和DB1输出它们。
第二多路分解器450从处理元件430接收两状态尺度,并根据时钟信号进行多路分解且以四状态尺度SA0、SA1、SB0和SB1输出它们。
参见图3和4,将对本发明的ACS处理器的操作及效果进行详细的描述。
为处理64个状态,包括有类似图3中结构的处理元件的ACS处理器可通过以下程序由ASIC构成。在该程序中所用的程序语言为甚高定义语言(VHDL),
component T_ACS52

  port(

     bmet_x,bmet_y:in,std_logic_vector(Bit_Branch-1 downto 0):

      pmet_x,pmet_y:in,std_logic_vector(Bit_State-1 downto 0):

      over_flag:out,std_logic;    ---overflow indicator a,b
     decision_a,decision_b:out,std_logic; ---decision bit

     smet_a,smet_b:out,std_logic_vector(Bit_State-1 downto 0)
);
end component;
begin
   PE_ASSIGN:process(bmet0,bmet1,bmet2,bmet3,pmet)
---begin
				
				<dp n="d8"/>
PE0:T_ACS52
 port Map(bmet0,bmet3,pmet(0),pmet(1),

      over_flag(0),decision_a(0),decision_b(0),smet(0),smet(32));
PE1:T_ACS52
 port Map(bmet1,bmet2,pmet(2),pmet(3),

      over_flag(1),decision_a(1),decision_b(1),smet(1),smet(33));
PE2:T_ACS52
 port Map(bmet0,bmet3,pmet(4),pmet(5),

      over_flag(2),decision_a(2),decision_b(2),smet(2),smet(34));
PE3:T_ACS52
 port Map(bmetl,bmet2,pmet(6),pmet(7),

      over_flag(3),decision_a(3),decision_b(3),smet(3),smet(35));
PE4:T_ACS52
 port Map(bmet3,bmet0,pmet(8),pmet(9),

      over_flag(4),decision_a(4),decision_b(4),smet(4),smet(36));
PE5:T_ACS52
 port Map(bmet2,bmet1,pmet(10),pmet(11),

      over_flag(5),decision_a(5),decision_b(5),smet(5),smet(37));
PE6:T_ACS52
 port Map(bmet3,bmet0,pmet(12),pmet(13),

      over_flag(6),decision_a(6),decision_b(6),smet(6),smet(38));
PE7:T_ACS52
				
				<dp n="d9"/>
 port Map(bmet2,bmet1,pmet(14),pmet(15),

      over_flag(7),decision_a(7),decision_b(7),smet(7),smet(39));
PE8:T_ACS52
 port Map(bmet3,bmet0,pmet(16),pmet(17),

      over_flag(8),decision_a(8),decision_b(8),smet(8),smet(40));
PE9:T_ACS52
 port Map(bmet2,bmet1,pmet(18),pmet(19),

      over_flag(9),decision_a(9),decision_b(9),smet(9),smet(41));
PE10:T_ACS52
 port Map(bmet3,bmet0,pmet(20),pmet(21),

      over_flag(10),decision_a(10),decision_b(10),smet(10),smet(42));
PE11:T_ACS52
 port Map(bmet2,bmet1,pmet(22),pmet(23),

      over_flag(11),decision_a(11),decision_b(11),smet(11),smet(43));
PE12:T_ACS52
 port Map(bmet0,bmet3,pmet(24),pmet(25),

      over_flag(12),decision_a(12),decision_b(12),smet(12),smet(44));
PE13:T_ACS52
 port Map(bmet1,bmet2,pmet(26),pmet(27),

      over_flag(13),decision_a(13),decision_b(13),smet(13),smet(45));
PE14:T_ACS52
port Map(bmet0,bmet3,pmet(28),pmet(29),
				
				<dp n="d10"/>
      over_flag(14),decision_a(14),decision_b(14),smet(14),smet(46));
PE15:T_ACS52
 port Map(bmet1,bmet2,pmet(30),pmet(31),

      over_flag(15),decision_a(15),decision_b(15),smet(15),smet(47));
PE16:T_ACS52
 port Map(bmet2,bmet1,pmet(32),pmet(33),

      over_flag(16),decision_a(16),deeision_b(16),smet(16),smet(48));
PE17:T_ACS52
 port Map(bmet3,bmet0,pmet(34),pmet(35),

      over_flag(17),decision_a(17),decision_b(17),smet(17),smet(49));
PE18:T_ACS52
 port Map(bmet2,bmet1,pmet(36),pmet(37),

      over_flag(18),decision_a(18),decision_b(18),smet(18),smet(50));
PE19:T_ACS52
 port Map(bmet3,bmet0,pmet(38),pmet(39),

      over_flag(19),decision_a(19),decision_b(19),smet(19),smet(51));
PE20:T_ACS52
 port Map(bmet1,bmet2,pmet(40),pmet(41),

      over_flag(20),decision_a(20),decision_b(20),smet(20),smet(52));
PE21:T_ACS52
 port Map(bmet0,bmet3,pmet(42),pmet(43),

      over_flag(21),decision_a(21),decision_b(21),smet(21),smet(53));
				
				<dp n="d11"/>
PE22:T_ACS52
 port Map(bmet1,bmet2,pmet(44),pmet(45),

      over_flag(22),decision_a(22),decision_b(22),smet(22),smet(54));
PE23:T_ACS52
 port Map(bmet0,bmet3,pmet(46),pmet(47),

      over_flag(23),decision_a(23),decision_b(23),smet(23),smet(55));
PE24:T_ACS52
 port Map(bmet1,bmet2,pmet(48),pmet(49),

      over_flag(24),decision_a(24),decision_b(24),smet(24),smet(56));
PE25:T_ACS52
 port Map(bmet0,bmet3,pmet(50),pmet(51),

      over_flag(25),decision_a(25),decision_b(25),smet(25),smet(57));
PE26:T_ACS52
 port Map(bmet1,bmet2,pmet(52),pmet(53),

      over_flag(26),decision_a(26),decision_b(26),smet(26),smet(58));
PE27:T_ACS52
 port Map(bmet0,bmet3,pmet(54),pmet(55),

      over_flag(27),decision_a(27),decision_b(27),smet(27),smet(59));
PE28:T_ACS52
 port Map(bmet2,bmet1,pmet(56),pmet(57). 

      over_flag(28),decision_a(28),decision_b(28),smet(28),smet(60));
PE29:T_ACS52
				
				<dp n="d12"/>
 port Map(bmet3,bmet0,pmet(58),pmet(59),

      over_flag(29),decision_a(29),decision_b(29),smet(29),smet(61));
PE30:T_ACS52
 port Map(bmet2,bmet1,pmet(60),pmet(61),

      over_flag(30),decision_a(30),decision_b(30),smet(30),smet(62));
PE31:T_ACS52
 port Map(bmet3,bmet0,pmet(62),pmet(63),

      over_flag(31),decision_a(31),decision_b(31),smet(31),smet(63));
--end process;   ---End of PE_ASSIGN
在上述程序中,T-ACS52代表当设计ASIC时这些处理元件的一标志,并且pmet和smet分别代表路径尺度和状态尺度。对应状态的状态尺度smet通过ACS处理器的处理元件被计算并被输出。在下一个时钟,该两输出状态尺度中,作为一路径尺度pmet一个被反馈回同一处理元件而另一个被输入给其它相应处理元件。例如,自第0个处理元件PE0输出的状态尺度中的一个作为两个路径尺度输入中的一个被反馈回给第0个处理元件PE0,而另一个状态尺度作为两个路径尺度输入中的一个被输入给一第16处理元件PE16。而且,自第一处理元件PE1输出的两状态尺度中的一个作为两路径尺度输出之一被输入给第0处理元件PE0,而另一状态尺度作为两路径尺度输出之一被输入给第16处理元件PE16。同样,其余的处理元件PE2-PE31如上所述地被相互连接。
在上述程序内的处理元件中,PE0、PE2、PE12、PE14、PE21、PE23、PE27和PE29通常使用(bmet0,bmet3)作为分支尺度。处理元件PE1、PE3、PE13、PE15、PE20、PE22、PE24、和PE26通常使用(bmet1、bmet2)作为分支尺度。处理元件PE4、PE6、PE8、PE10、PE17、PE19、PE29和PE31使用(bmet3、bmet0)作为分支尺度。处理元件PE5、PE7、PE9、PE11、PE16、PE18、PE28和PE30使用(bmet2、bmet1)作为分支尺度。即,状态0、2、12、14、21、23、27、29、32、34、44、46、53、55、57和59使用(bmet0,bmet3),状态1、3、13、15、20、22、24、26、33、35、45、47、52、64、56和58使用(bmet1,bmet2),状态4、6、8、10、17、19、29、31、36、38、40、42、49、51、61和63使用(bmet3,bmet0),及状态5、7、9、11、16、18、28、30、37、39、41、43、48、50、60和62使用(bmet2,bmet1)。
在本发明的ACS处理器中,分组单元410根据系统最高操作速度和ASIC单元程序库的特性确定组单位。例如,假定ASIC单元程序库具有0.5微米的芯片尺寸且最高操作速度大于80MHZ,分组单元410将分别使用(bmet0,bmet3)、(bmet1,bmet2)、(bmet3,bmet0)和(bmet2,bmet1)的从PE0到PE31的各八个处理元件分组成四个组。因此,总共32个处理元件被分组成四个八处理元件的组,接着,在同一组中的八个处理元件被分成两处理元件的单元,使得采用分支尺度(bmet0,bmet3)的该组的两处理元件PE0和PE2包括以构成该组内四个单元中的一个单元。
多路复用器420接收来自该分组单元410中被分组的2单元的处理元件的路径尺度,即四个6位路径尺度PA0、PA1、PB0、PB1,并根据时钟信号选择地输出PA0和PA1,或PB0和PB1。这里,自控制器460提供的时钟信号CLK作为多路复用器420的选择信号进行操作,即,当时钟信号CLK为“高”逻辑电平时,路径尺度PA0和PA1被选择输出给处理元件430。而当时钟信号CLK为“低”逻辑电平时,路径尺度PB0和PB1被选择。
处理元件430接收在多路复用器420中所选择的路径尺度γX、γY=PA0,PA1或PB0,PB1及来自图2中的分支尺度发生器100的分支尺度λX,λY,并输出两判定位,即第一和第二判定位,和两状态尺度。在处理元件430中,由于使用同一状态尺度的两状态被处理,两结果值被生成。即,路径尺度γX和分支尺度λX被相加以输出一第一相加值,路径尺度γY和分支尺度λY被相加以输出第二相加值。而且,路径尺度γX和分支尺度λX被相加以输出第三相加值,及路径尺度γY和分支尺度λX被相加输出一第四相加值。在第一、第二、第三和第四相加值被分别比较后,第一和第二判定位根据比较结果被输出为“0”或“1”。该第一或第二判定位被用于选择两相加值中的一个,且所选择值被输出作为状态尺度。
第一多路分解器440接收在处理元件430中获得第一和第二判定位,根据时钟信号CLK执行多路分解以输出四个判定位DA0,DA1,DB0和DB1。即,当时钟信号CLK为“高”逻辑电平时,第一和第二判定位被输出作为DA0和DA1,而当时钟信号CLK为“低”逻辑电平时,第一和第二判定位被输出作为DB0和DB1。在此时,在一时钟周期被输出的四个判定位DA0,DA1,DB0和DB1被存储在图2的残存物存储器300中。残存物存储器300值通过使用这些判定位恢复初始信息序列。
第二多路分解器450接收在处理元件430中获得的第一和第二状态尺度,根据时钟信号CLK执行多路分解以输出四个状态尺芳SA0,SA1和SB0,SB1。即,当时钟信号CLK为“高”逻辑电平时,第一和第二状态尺度被输出作为SA0和SA1,而当时钟信号CLK为“低”逻辑电平时,第一和第二状态尺度被输出作为SB0和SB1。在此时,在一时钟周期内被输出的四个状态尺度SA0,SA1,SB0和SB1被提供给相应的处理元件。
控制器460生成并输出用于控制多路复用器420,第一多路分解器440、第二多路分解器450的操作的时钟信号。在这里,时钟信号CLK的一周期内的操作数被设为2,然而,当使用一较小的ASIC单元程序库或以一小于欧洲数字视频广播标准的80MHZ的频率操作时,它可被设置成高于4。
在先有技术中,对于64个状态,使用同一状态尺度的两状态在一处理元件中被处理,故需要32个处理元件。但是,根据本发明,由于使用相同状态尺度的32个处理元件中的使用同一分支尺度的处理元件被合并,因此只需要16个处理元件。所以,硬件尺寸可被降低50%。该尺寸的减小不仅是由于处理元件数降低所引起的,而且还由于减少了ASIC中的连接区域的这些处理元件内所共享的分支尺度所致。
如上所述,对于N个状态,使用相同状态尺度的N/2个处理元件被分组成使用相同分支尺度的L个单元的处理元件以使只需要N/2L个处理元件,以而显著地减小了ASIC中硬件的尺寸。
结合当前被认为是最实用及最佳的实施例对本发明进行了描述。但可以理解到本发明并不限于所公开的实施例,而是相反的,期望覆盖包括在所附权利要求的精神及范围内的各种改型和等效配置。

Claims (5)

1.用于执行卷积码的最大似然解码的韦特比解码器中的一相加/比较/选择(ACS)处理器,其特征在于包括有:
N个处理元件,用于接收两路径尺度和两分支尺度,比较各相加值,并根据比较结果输出两判定位和两状态尺度;
一分组单元,用于将对应N个状态的N个处理元件分组成使用同一状态尺度和同一分支尺度的k个单元的处理元件;
一多路复用器,用于根据一预定时钟信号将自分组结果提供的L(L=2k)个路径尺度多路复用成两个路径尺度,并将它们输出给所述N个处理元件的一相应处理元件;
一第一多路分解器,用于接收自相应处理元件得到的两判定位,并根据时钟信号将它们多路分解成L个判定位;及
一第二多路分解器,用于接收自相应处理元件得到的两状态尺度,并根据时钟信号将它们多路分解成L个状态尺度。
2.根据权利要求1的ACS处理器,其特征在于还包括有一控制器,用于生成该时钟信号,并控制一时钟周期内的所述多路复用器,所述第一多路分解器和所述第二多路分解器的操作数。
3.根据权利要求1的ACS处理器,其特征在于,在64个状态的情况下,各所述k个单元包括用于处理四个状态的两处理元件。
4.根据权利要求1的ACS处理器,其特征在于,所述多路复用器根据该时钟信号的一时钟周期内的“高”逻辑电平和“低”逻辑电平,执行多路复用。
5.根据权利要求1的ACS处理器,其特征在于,所述第一和第二多路分解器根据该时钟信号的一钟周期内的“高”逻辑电平和“低”逻辑电平,执行多路分解。
CN97116210A 1996-08-23 1997-08-25 韦特比解码器中的相加-比较-选择处理器 Pending CN1183681A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019960035229A KR100195745B1 (ko) 1996-08-23 1996-08-23 비터비 복호화기의 가산 비교 선택 장치
KR35229/96 1996-08-23

Publications (1)

Publication Number Publication Date
CN1183681A true CN1183681A (zh) 1998-06-03

Family

ID=19470598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97116210A Pending CN1183681A (zh) 1996-08-23 1997-08-25 韦特比解码器中的相加-比较-选择处理器

Country Status (5)

Country Link
US (1) US5928378A (zh)
JP (1) JPH10200421A (zh)
KR (1) KR100195745B1 (zh)
CN (1) CN1183681A (zh)
GB (1) GB2316587A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100392987C (zh) * 2003-03-12 2008-06-04 印芬龙科技股份有限公司 解码装置、网格处理器及方法
CN100456878C (zh) * 2003-02-18 2009-01-28 高通股份有限公司 Cdma网络中的快速帧差错检测

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0851591B1 (en) * 1996-12-24 2001-09-12 Matsushita Electric Industrial Co., Ltd. Data processor and data processing method
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6070263A (en) * 1998-04-20 2000-05-30 Motorola, Inc. Circuit for use in a Viterbi decoder
US6219389B1 (en) * 1998-06-30 2001-04-17 Motorola, Inc. Receiver implemented decoding method of selectively processing channel state metrics to minimize power consumption and reduce computational complexity
JP2002533991A (ja) * 1998-12-18 2002-10-08 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 高速帰納的最大復号化のための方法及び装置
US6343368B1 (en) 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
DE19937506A1 (de) * 1999-08-09 2001-04-19 Infineon Technologies Ag ACS-Einheit für einen Viterbi-Decodierer
US6415415B1 (en) 1999-09-03 2002-07-02 Infineon Technologies North America Corp. Survival selection rule
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
US6769090B1 (en) 2000-08-14 2004-07-27 Virata Corporation Unified technique for multi-rate trellis coding and decoding
EP1220455A1 (en) * 2000-12-29 2002-07-03 Motorola, Inc. Viterbi decoder, method and unit therefor
US6693975B2 (en) 2001-01-26 2004-02-17 Virata Corporation Low-order HDSL2 transmit filter
US6788236B2 (en) * 2001-12-18 2004-09-07 Globespanvirata, Inc. Method and system for implementing a sigma delta analog-to-digital converter
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit
US7020223B2 (en) * 2002-04-16 2006-03-28 Intel Corporation Viterbi decoder and method using sequential two-way add-compare-select operations
GB2389020B (en) * 2002-05-23 2006-02-01 Ubinetics Ltd Blind transport format detection for transmission link
US7463702B2 (en) * 2002-11-12 2008-12-09 Agere Systems Inc. System and method for one-pass blind transport format detection
US20040255230A1 (en) * 2003-06-10 2004-12-16 Inching Chen Configurable decoder
DE102004003096B3 (de) * 2004-01-21 2005-11-24 Infineon Technologies Ag Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität
US8185810B1 (en) * 2007-04-13 2012-05-22 Link—A—Media Devices Corporation Low power viterbi trace back architecture
US7847626B2 (en) * 2008-03-04 2010-12-07 Micron Technology, Inc. Structure and method for coupling signals to and/or from stacked semiconductor dies
CN101321035B (zh) * 2008-07-09 2012-03-21 上海华为技术有限公司 差值上限获取方法、定点方法及装置
TWI422165B (zh) * 2009-10-16 2014-01-01 Mstar Semiconductor Inc 解碼方法及其裝置
KR102025338B1 (ko) * 2011-12-28 2019-09-26 삼성전자 주식회사 신호 처리 장치, 이를 구비한 디스플레이 장치 및 신호 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291499A (en) * 1992-03-16 1994-03-01 Cirrus Logic, Inc. Method and apparatus for reduced-complexity viterbi-type sequence detectors
US5414738A (en) * 1993-11-09 1995-05-09 Motorola, Inc. Maximum likelihood paths comparison decoder
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100456878C (zh) * 2003-02-18 2009-01-28 高通股份有限公司 Cdma网络中的快速帧差错检测
CN100392987C (zh) * 2003-03-12 2008-06-04 印芬龙科技股份有限公司 解码装置、网格处理器及方法

Also Published As

Publication number Publication date
JPH10200421A (ja) 1998-07-31
KR19980015791A (ko) 1998-05-25
GB9717810D0 (en) 1997-10-29
GB2316587A (en) 1998-02-25
KR100195745B1 (ko) 1999-06-15
US5928378A (en) 1999-07-27

Similar Documents

Publication Publication Date Title
CN1183681A (zh) 韦特比解码器中的相加-比较-选择处理器
US4905317A (en) Path memory control method in Viterbi decoder
JP2531479B2 (ja) 読取装置
EP1102408B1 (en) Viterbi decoder
JPS60173930A (ja) パイプライン処理ビタビ復号器
CN1168224C (zh) 维特比译码器的高速相加-比较-选择
US6041433A (en) Viterbi decoder and viterbi decoding method
US7185268B2 (en) Memory system and method for use in trellis-based decoding
JP2003509943A (ja) 並列ターボ符号化の実装
US5608737A (en) Maximum likelihood decoder and decoding method
CN1168571A (zh) 使用踪迹消除方法的维特比译码器的生存者存储器
EP0467522B1 (en) Maximum likelihood sequence detector
US6532337B1 (en) Digital-signal playback apparatus
US20060115023A1 (en) Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm
US20040196918A1 (en) Low-latency high-speed trellis decoder
CN1309471A (zh) 在支路度量计算处理中具有减少的位数的维特比解码器
US6910177B2 (en) Viterbi decoder using restructured trellis
US6263473B1 (en) Viterbi decoder and Viterbi decoding method
JP3119025B2 (ja) 符号化装置及び復号化装置
JPH01295533A (ja) ビタビ復号器
JP2592681B2 (ja) セル同期回路
CN1175581C (zh) 相加-比较选择电路
US7852960B2 (en) Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
CN1484385A (zh) 相加比较选择电路及使用该电路的维特比解码器
JP2014506022A (ja) マルチコア型ターボ復号処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication