專利名稱:韋特比解碼器中的相加-比較-選擇處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種韋特比例解碼器中的相加/比較/選擇(ACS)處理器,且更具體地,涉及一種通過將對應(yīng)于幾個狀態(tài)的N個處理元件分組成一預(yù)定的使用同一分支尺度(branch metric)和狀態(tài)尺度(state me tric)處理元件單元,而相對于一處理元件中的多個狀態(tài)執(zhí)行相加/比較/選擇處理的ACS處理器。
通常,韋特比算法被用作為進(jìn)行卷積碼的最大似然解碼的一實(shí)用且有效的方法。在韋特比算法中,在一任意狀態(tài)相會合的兩不同路徑的路徑距離通過使用一格子圖(trellis diagram)被進(jìn)行比較。通過該比較,具有較短距離的路徑。即最低誤差發(fā)生可能性的一路徑被選擇作為一殘存路徑(survivor path),使用韋特比算法的韋特比解碼器例如被用作為進(jìn)行衛(wèi)星通信系統(tǒng)中的誤差修正,因?yàn)樵摻獯a器具有高的隨機(jī)誤差修正能力。
參見
圖1A和1B,將詳細(xì)地描述韋特比算法,圖1A示出了一格子圖,其中節(jié)點(diǎn)和狀態(tài)數(shù)為2。其垂直和水平方向分別表示狀態(tài)Si(i=1,2)和時間(t/T這里,1/T表示傳輸率),及Si,k表示在時間k的第i個狀態(tài)。一有限態(tài)機(jī)器通過圖1A中所示的格子圖選擇一任意路徑,并根據(jù)所觀察狀態(tài)的轉(zhuǎn)變,計算一時間間隔(k,k+1)的分支尺度λ。即通過格子圖,時間k的狀態(tài)(S1,k,S2,k)通過時間間隔(k,k+1)的各分支與時間k+1的狀態(tài)(S1,k+1,S2,k+1)相連,在韋特比解碼中,計算在對應(yīng)于接收信號的該分支的碼間的距離,即分支尺度。該分支尺度變?yōu)橛才卸ń獯a的一漢明距離,和一軟判定解碼的一歐幾里德距離。
通過使用所計算的分支尺度,根據(jù)時間k的路徑尺度γ和時間間隔(k,k+1)的分支尺度λ,在時間k+1的各節(jié)點(diǎn)的一新的路徑尺度被計算。以下將參照圖1B詳細(xì)描述該計算。
在圖1B中,在時間k的節(jié)點(diǎn)S1,k,S2,k具有分別作為其分支尺度的累加的路徑尺度γ1,k,γ2,k,當(dāng)時間間隔(k,k+1)的分支尺度為λ11,k,λ12,k,λ21,k,λ22,k小時,在時間k+1的節(jié)點(diǎn)S1,k+1,S2,k+1的新路徑尺度γ1,k+1,γ2,k+1通過以下公式1獲得公式1γ1,k+1=max〔λ11,k+γ1,k,λ12,k+γ2,k〕γ2,k+1=max〔λ21,k+γ1,k,λ22,k+γ2,k〕即具有在時間k的狀態(tài)的一變量的多個路徑導(dǎo)向在時間k+1的節(jié)點(diǎn),并使用一分支尺度的概率信息,該路徑尺度被確定。對各時間k循環(huán)地執(zhí)行計算該路徑尺度的過程以確定一最終的殘存路徑。
當(dāng)這些殘存路徑被追溯時,這些路徑與高可能性合拍地在一任意點(diǎn)合并,如圖1B所示。在具有可能性的點(diǎn)上合并的時間步數(shù)為一殘存深度,并且它確定了韋特比解碼的執(zhí)行時間。即,當(dāng)路徑尺度γ在各節(jié)點(diǎn)通過公式1被更新時,它們在到達(dá)該殘存深度之前保持這些對應(yīng)路徑的狀態(tài)。因此,先于通過追溯所得到的殘存深度的這些狀態(tài)的變化被輸出作為經(jīng)韋特比解碼的數(shù)據(jù)。
圖2示出了常規(guī)的韋特比解碼器的方框圖。該韋特比解碼器包括一分支尺度發(fā)生器100、一ACS單元200、和一殘存物存儲器300。
在圖2中,該分支尺度發(fā)生器100接收一經(jīng)卷積編碼的數(shù)據(jù),計算一作為對應(yīng)于一接收信號的各分支上的碼間的距離的分支尺度λij,k。在此時,該分支尺度發(fā)生單元100的復(fù)雜度直接與接收碼字的長度有關(guān)。隨著包括碼字的位數(shù)的提高,要求有更復(fù)雜的電路。例如,當(dāng)碼字由2位組成時,比較2位的接收碼字所需的比較碼字?jǐn)?shù)為22或4。如果碼字由3位組成,比較3位的接收碼字所需的比較碼字?jǐn)?shù)為23或8。另外,相對于更長的碼字計算的分支尺度值更大。因此,由于存儲對應(yīng)分支尺度的存儲器容量與分支尺度值和比較碼字?jǐn)?shù)增加得一樣多,導(dǎo)致了ACS單元200的結(jié)構(gòu)復(fù)雜。
該ACS單元200接收來自分支尺度發(fā)生器100的分支尺度,將它們加至先前的路徑尺度并確定多個候選路徑。該ACS單元200然后比較這些候選路徑尺度值,并選擇一具有最短路徑尺度的路徑,輸出該新選擇的路徑尺度和該比較結(jié)果,即判定位。ACS單元200在各解碼周期通過使用自分支尺度發(fā)生器100獲得的分支尺度來更新該路徑尺度,并將N位的判定位輸出給殘存物存儲器300。因此,當(dāng)格子圖包括有總共N個狀態(tài)時,N位自各解碼周期獲得。
該殘存物存儲器300存儲自ACS單元200得到的判定位,通過使用該判定位恢復(fù)原始信息序列,并輸出其作為經(jīng)韋特比編碼的數(shù)據(jù)。
圖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中的分支尺度發(fā)生器提供,并在此取4位的分支尺度作為例子。分支尺度λX被輸入到第一處理器320的第一加法器322和第二處理器340的第四加法器344中。分支尺度λY被輸入到第一處理器320的第二加法器324和第二處理器340的第三加法器342中。分別自第一和第二處理器320和340的第一和第二比較器326和346輸出的第一和第二判定位被提供給圖2中的殘存物存儲器300。
參見圖3,將詳細(xì)描述ACS單元200的處理元件310的操作。
對于第一處理器320,第一加法器322將路徑尺度γX加至分支尺度λX,并將相加后的值分別輸出給第一比較器326和第一選擇器328。第二加法器324將路徑尺度γY加至分支尺度λY,并將相加后的值分別輸出給第一比較器326和第一選擇器328。
第一比較器326將來自第一加法器322的相加值與來自第二加法器324的相加值相比較,并將比較結(jié)果,即第一判定位作為選擇信號輸出給第一選擇器328并提供給圖2中的殘存物存儲器300。例如,當(dāng)來自第一加法器322的相加值大于來自第二加法器324的相加值時,第一比較器326輸出第一判定位“0”。當(dāng)來自第一加法器322的相加值小于來自第二加法器324的相加值時,第一判定位“1”被輸出。
第一選擇器328根據(jù)選擇信號選擇地輸出來自第一加法器322的相加值或來自第二加法器324的相加值。即,當(dāng)?shù)谝慌卸ㄎ弧?”時,第一選擇器328選擇來自第二加法器324的相加值將其作為狀態(tài)尺度輸出,而當(dāng)?shù)谝慌卸ㄎ粸椤?”時,第一選擇器328選擇來自第一加法器322的相加值以將其輸出作為狀態(tài)尺度。
對于第二處理器340,第三加法器342將路徑尺度γX加至分支尺度λY,并分別將相加值輸出給第二比較器346和第二選擇器348。第四加法器344將路徑尺度γY加至尺度λX,并分別將相加值輸出給第二比較器346和第二選擇器348。
第二比較器346將來自第三加法器342的相加值與來自第四加法器344的相加值進(jìn)行比較,并將比較的結(jié)果,即第二判定位分別作為選擇信號輸出給第二選擇器348及圖2中的殘存物存儲器300。例如,當(dāng)來自第三加法器342的相加值大于來自第四加法器344的相加值時,第二比較器346輸出第二判定位“0”。當(dāng)來自第三加法器342的相加值小于來自第四加法器344的相加值時,第二判定位“1”被輸出。
第二選擇器348根據(jù)選擇信號有選擇地輸出來自第三加法器342的相加值或來自第四加法器344的相加值。即,當(dāng)?shù)诙卸ㄎ粸椤?”時,第二選擇器348選擇來自第四加法器344的相加值以將其輸出作為狀態(tài)尺度,而當(dāng)?shù)诙卸ㄎ粸椤?”時,第二選擇器348選擇來自第三加法器342的相加值以將其輸出作為狀態(tài)尺度。
通過分組,有可能將使用同一狀態(tài)尺度的兩處理元件組合成一個如圖3所示的處理元件。即一個處理元件執(zhí)行兩個狀態(tài)的相加/比較/選擇處理,因此,在64個狀態(tài)的情況下,ACS處理器需要32個處理元件PEO至PE31。
上述ACS處理器是在一處理元件中處理一種狀態(tài)的ACS處理器的改進(jìn)型。但是,它還有許多缺點(diǎn)。近來,隨著應(yīng)用特別集成電路(ASIC)技術(shù)迅速發(fā)展,在通過一處理元件中處理至少兩種狀態(tài)來設(shè)計ASIC時,需要減小硬件的尺寸。
考慮到上述問題,本發(fā)明的目的在于提供一ACS處理器,其在一處理元件中相對應(yīng)多個狀態(tài)執(zhí)行相加/比較/選擇處理并在ASIC設(shè)計中提高了ACS處理器的面積效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一用于執(zhí)行卷積碼的最大似然性解碼的韋特比解碼器中的ACS處理器,該ACS解碼器包括有N個處理元件,用于接收兩個路徑尺度和兩個分支尺度,比較各相加值,并根據(jù)一比較結(jié)果輸出兩判定位和兩狀態(tài)尺度;一分組單元,用于將對應(yīng)N個狀態(tài)的N個處理元件分組成使用同一狀態(tài)尺度和同一分支尺度的k個單元的處理元件;一多路復(fù)用器,用于根據(jù)一預(yù)定時鐘信號將自分組結(jié)果提供的L(L=2K)個路徑尺度多路復(fù)用成兩個路徑尺度,并將它們輸出給N個處理元件的一相應(yīng)處理元件;一第一多路分解器,用于接收自相應(yīng)處理元件得到的兩判定位,并根據(jù)該時鐘信號將它們多路分解成L個判定位,及一第二多路分解器,用于接收自相應(yīng)處理元件得到的兩狀態(tài)尺度,并根據(jù)該時鐘信號將它們多路分解成L個狀態(tài)尺度通過以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例的描述,本發(fā)明的以上及其它目的、特征和優(yōu)點(diǎn)將變得顯然,附圖中圖1A和1B為在韋特比解碼算法中使用的格子圖;圖2為說明一常規(guī)的韋特比解碼器的方框圖;圖3為說明圖2的ACS處理器中一處理元件的方框圖;圖4為說明根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的一韋特比解碼器的ACS處理器的方框圖。
現(xiàn)將參照附圖中所給出的實(shí)例對本發(fā)明進(jìn)行詳細(xì)說明,并且附圖中所使用的相同參考數(shù)字表示相同或相似的部分。
圖4為根據(jù)本發(fā)明的一優(yōu)選實(shí)施例的一韋特比解碼器的ACS處理器的方框圖。
該ACS處理器包括一分組單元410、一多路復(fù)用器420、一處理元件430,一第一多路分解器440、一第二多路分解器450、和一控制器460。輸入到多路復(fù)用器420中的路徑尺度PA0、PA1、PB0和PB1為6位單元。自多路復(fù)用器420輸出的路徑尺度γX和γY為6位單元。輸入到處理元件430中的分支尺度λX和λY為4位單元。判定位DA0、DA1、DB0和DB1被從第一多路分解器440輸出。被從第二多路分解器450輸出的狀態(tài)尺度SA0、SA1、SB0和SB1為6位單元在圖4中,分組單元410將N個狀態(tài)的N個處理元件分組成使用同一狀態(tài)尺度和同一分支尺度的預(yù)定單元的處理元件。在此,在64個狀態(tài)的情況下,包括四個狀態(tài)的一分組單元在一處理元件中被處理。在被分組的處理元件中,具有相關(guān)性的處理元件在ASIC中被緊密地設(shè)置并被確定路由。
多路復(fù)用器420接收四個路徑長度PA0、PA1、PB0和PB1,并根據(jù)時鐘信號選擇將地兩路徑尺度γX、γY=PA0、PA1或PB0、PB1輸出給處理元件430。
處理元件430是與圖3中說明的常規(guī)處理元件310相同的類型。處理元件430從多路復(fù)用器420接收兩個路徑尺度γX和γY,及從圖1的分支尺度發(fā)生器100接收兩分支尺度λX和λY,并輸出包括第一和第二判定位的兩判定位,和兩狀態(tài)尺度。有關(guān)該過程的詳細(xì)描述在本發(fā)明領(lǐng)域的背景中被全部詳細(xì)地給出。
第一多路分解器440從處理元件430接收兩判定位,該第一和第二判定位,并根據(jù)時鐘信號進(jìn)行多路分解且以四判定位DA0、DA1、DB0和DB1輸出它們。
第二多路分解器450從處理元件430接收兩狀態(tài)尺度,并根據(jù)時鐘信號進(jìn)行多路分解且以四狀態(tài)尺度SA0、SA1、SB0和SB1輸出它們。
參見圖3和4,將對本發(fā)明的ACS處理器的操作及效果進(jìn)行詳細(xì)的描述。
為處理64個狀態(tài),包括有類似圖3中結(jié)構(gòu)的處理元件的ACS處理器可通過以下程序由ASIC構(gòu)成。在該程序中所用的程序語言為甚高定義語言(VHDL),
<pre listing-type="program-listing"><![CDATA[component T_ACS52 port( bmet_x,bmet_yin,std_logic_vector(Bit_Branch-1 downto 0) pmet_x,pmet_yin,std_logic_vector(Bit_State-1 downto 0) over_flagout,std_logic;---overflow indicator a,b decision_a,decision_bout,std_logic; ---decision bit smet_a,smet_bout,std_logic_vector(Bit_State-1 downto 0));end component;begin PE_ASSIGNprocess(bmet0,bmet1,bmet2,bmet3,pmet)---beginPE0T_ACS52 port Map(bmet0,bmet3,pmet(0),pmet(1), over_flag(0),decision_a(0),decision_b(0),smet(0),smet(32));PE1T_ACS52 port Map(bmet1,bmet2,pmet(2),pmet(3), over_flag(1),decision_a(1),decision_b(1),smet(1),smet(33));PE2T_ACS52 port Map(bmet0,bmet3,pmet(4),pmet(5), over_flag(2),decision_a(2),decision_b(2),smet(2),smet(34));PE3T_ACS52 port Map(bmetl,bmet2,pmet(6),pmet(7), over_flag(3),decision_a(3),decision_b(3),smet(3),smet(35));PE4T_ACS52 port Map(bmet3,bmet0,pmet(8),pmet(9), over_flag(4),decision_a(4),decision_b(4),smet(4),smet(36));PE5T_ACS52 port Map(bmet2,bmet1,pmet(10),pmet(11), over_flag(5),decision_a(5),decision_b(5),smet(5),smet(37));PE6T_ACS52 port Map(bmet3,bmet0,pmet(12),pmet(13), over_flag(6),decision_a(6),decision_b(6),smet(6),smet(38));PE7T_ACS52port Map(bmet2,bmet1,pmet(14),pmet(15), over_flag(7),decision_a(7),decision_b(7),smet(7),smet(39));PE8T_ACS52 port Map(bmet3,bmet0,pmet(16),pmet(17), over_flag(8),decision_a(8),decision_b(8),smet(8),smet(40));PE9T_ACS52 port Map(bmet2,bmet1,pmet(18),pmet(19), over_flag(9),decision_a(9),decision_b(9),smet(9),smet(41));PE10T_ACS52 port Map(bmet3,bmet0,pmet(20),pmet(21), over_flag(10),decision_a(10),decision_b(10),smet(10),smet(42));PE11T_ACS52 port Map(bmet2,bmet1,pmet(22),pmet(23), over_flag(11),decision_a(11),decision_b(11),smet(11),smet(43));PE12T_ACS52 port Map(bmet0,bmet3,pmet(24),pmet(25), over_flag(12),decision_a(12),decision_b(12),smet(12),smet(44));PE13T_ACS52 port Map(bmet1,bmet2,pmet(26),pmet(27), over_flag(13),decision_a(13),decision_b(13),smet(13),smet(45));PE14T_ACS52port Map(bmet0,bmet3,pmet(28),pmet(29),over_flag(14),decision_a(14),decision_b(14),smet(14),smet(46));PE15T_ACS52 port Map(bmet1,bmet2,pmet(30),pmet(31), over_flag(15),decision_a(15),decision_b(15),smet(15),smet(47));PE16T_ACS52 port Map(bmet2,bmet1,pmet(32),pmet(33), over_flag(16),decision_a(16),deeision_b(16),smet(16),smet(48));PE17T_ACS52 port Map(bmet3,bmet0,pmet(34),pmet(35), over_flag(17),decision_a(17),decision_b(17),smet(17),smet(49));PE18T_ACS52 port Map(bmet2,bmet1,pmet(36),pmet(37), over_flag(18),decision_a(18),decision_b(18),smet(18),smet(50));PE19T_ACS52 port Map(bmet3,bmet0,pmet(38),pmet(39), over_flag(19),decision_a(19),decision_b(19),smet(19),smet(51));PE20T_ACS52 port Map(bmet1,bmet2,pmet(40),pmet(41), over_flag(20),decision_a(20),decision_b(20),smet(20),smet(52));PE21T_ACS52 port Map(bmet0,bmet3,pmet(42),pmet(43), over_flag(21),decision_a(21),decision_b(21),smet(21),smet(53));PE22T_ACS52 port Map(bmet1,bmet2,pmet(44),pmet(45), over_flag(22),decision_a(22),decision_b(22),smet(22),smet(54));PE23T_ACS52 port Map(bmet0,bmet3,pmet(46),pmet(47), over_flag(23),decision_a(23),decision_b(23),smet(23),smet(55));PE24T_ACS52 port Map(bmet1,bmet2,pmet(48),pmet(49), over_flag(24),decision_a(24),decision_b(24),smet(24),smet(56));PE25T_ACS52 port Map(bmet0,bmet3,pmet(50),pmet(51), over_flag(25),decision_a(25),decision_b(25),smet(25),smet(57));PE26T_ACS52 port Map(bmet1,bmet2,pmet(52),pmet(53), over_flag(26),decision_a(26),decision_b(26),smet(26),smet(58));PE27T_ACS52 port Map(bmet0,bmet3,pmet(54),pmet(55), over_flag(27),decision_a(27),decision_b(27),smet(27),smet(59));PE28T_ACS52 port Map(bmet2,bmet1,pmet(56),pmet(57). over_flag(28),decision_a(28),decision_b(28),smet(28),smet(60));PE29T_ACS52port Map(bmet3,bmet0,pmet(58),pmet(59), over_flag(29),decision_a(29),decision_b(29),smet(29),smet(61));PE30T_ACS52 port Map(bmet2,bmet1,pmet(60),pmet(61), over_flag(30),decision_a(30),decision_b(30),smet(30),smet(62));PE31T_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]]></pre>
在上述程序中,T-ACS52代表當(dāng)設(shè)計ASIC時這些處理元件的一標(biāo)志,并且pmet和smet分別代表路徑尺度和狀態(tài)尺度。對應(yīng)狀態(tài)的狀態(tài)尺度smet通過ACS處理器的處理元件被計算并被輸出。在下一個時鐘,該兩輸出狀態(tài)尺度中,作為一路徑尺度pmet一個被反饋回同一處理元件而另一個被輸入給其它相應(yīng)處理元件。例如,自第0個處理元件PE0輸出的狀態(tài)尺度中的一個作為兩個路徑尺度輸入中的一個被反饋回給第0個處理元件PE0,而另一個狀態(tài)尺度作為兩個路徑尺度輸入中的一個被輸入給一第16處理元件PE16。而且,自第一處理元件PE1輸出的兩狀態(tài)尺度中的一個作為兩路徑尺度輸出之一被輸入給第0處理元件PE0,而另一狀態(tài)尺度作為兩路徑尺度輸出之一被輸入給第16處理元件PE16。同樣,其余的處理元件PE2-PE31如上所述地被相互連接。
在上述程序內(nèi)的處理元件中,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)作為分支尺度。即,狀態(tài)0、2、12、14、21、23、27、29、32、34、44、46、53、55、57和59使用(bmet0,bmet3),狀態(tài)1、3、13、15、20、22、24、26、33、35、45、47、52、64、56和58使用(bmet1,bmet2),狀態(tài)4、6、8、10、17、19、29、31、36、38、40、42、49、51、61和63使用(bmet3,bmet0),及狀態(tài)5、7、9、11、16、18、28、30、37、39、41、43、48、50、60和62使用(bmet2,bmet1)。
在本發(fā)明的ACS處理器中,分組單元410根據(jù)系統(tǒng)最高操作速度和ASIC單元程序庫的特性確定組單位。例如,假定ASIC單元程序庫具有0.5微米的芯片尺寸且最高操作速度大于80MHZ,分組單元410將分別使用(bmet0,bmet3)、(bmet1,bmet2)、(bmet3,bmet0)和(bmet2,bmet1)的從PE0到PE31的各八個處理元件分組成四個組。因此,總共32個處理元件被分組成四個八處理元件的組,接著,在同一組中的八個處理元件被分成兩處理元件的單元,使得采用分支尺度(bmet0,bmet3)的該組的兩處理元件PE0和PE2包括以構(gòu)成該組內(nèi)四個單元中的一個單元。
多路復(fù)用器420接收來自該分組單元410中被分組的2單元的處理元件的路徑尺度,即四個6位路徑尺度PA0、PA1、PB0、PB1,并根據(jù)時鐘信號選擇地輸出PA0和PA1,或PB0和PB1。這里,自控制器460提供的時鐘信號CLK作為多路復(fù)用器420的選擇信號進(jìn)行操作,即,當(dāng)時鐘信號CLK為“高”邏輯電平時,路徑尺度PA0和PA1被選擇輸出給處理元件430。而當(dāng)時鐘信號CLK為“低”邏輯電平時,路徑尺度PB0和PB1被選擇。
處理元件430接收在多路復(fù)用器420中所選擇的路徑尺度γX、γY=PA0,PA1或PB0,PB1及來自圖2中的分支尺度發(fā)生器100的分支尺度λX,λY,并輸出兩判定位,即第一和第二判定位,和兩狀態(tài)尺度。在處理元件430中,由于使用同一狀態(tài)尺度的兩狀態(tài)被處理,兩結(jié)果值被生成。即,路徑尺度γX和分支尺度λX被相加以輸出一第一相加值,路徑尺度γY和分支尺度λY被相加以輸出第二相加值。而且,路徑尺度γX和分支尺度λX被相加以輸出第三相加值,及路徑尺度γY和分支尺度λX被相加輸出一第四相加值。在第一、第二、第三和第四相加值被分別比較后,第一和第二判定位根據(jù)比較結(jié)果被輸出為“0”或“1”。該第一或第二判定位被用于選擇兩相加值中的一個,且所選擇值被輸出作為狀態(tài)尺度。
第一多路分解器440接收在處理元件430中獲得第一和第二判定位,根據(jù)時鐘信號CLK執(zhí)行多路分解以輸出四個判定位DA0,DA1,DB0和DB1。即,當(dāng)時鐘信號CLK為“高”邏輯電平時,第一和第二判定位被輸出作為DA0和DA1,而當(dāng)時鐘信號CLK為“低”邏輯電平時,第一和第二判定位被輸出作為DB0和DB1。在此時,在一時鐘周期被輸出的四個判定位DA0,DA1,DB0和DB1被存儲在圖2的殘存物存儲器300中。殘存物存儲器300值通過使用這些判定位恢復(fù)初始信息序列。
第二多路分解器450接收在處理元件430中獲得的第一和第二狀態(tài)尺度,根據(jù)時鐘信號CLK執(zhí)行多路分解以輸出四個狀態(tài)尺芳SA0,SA1和SB0,SB1。即,當(dāng)時鐘信號CLK為“高”邏輯電平時,第一和第二狀態(tài)尺度被輸出作為SA0和SA1,而當(dāng)時鐘信號CLK為“低”邏輯電平時,第一和第二狀態(tài)尺度被輸出作為SB0和SB1。在此時,在一時鐘周期內(nèi)被輸出的四個狀態(tài)尺度SA0,SA1,SB0和SB1被提供給相應(yīng)的處理元件。
控制器460生成并輸出用于控制多路復(fù)用器420,第一多路分解器440、第二多路分解器450的操作的時鐘信號。在這里,時鐘信號CLK的一周期內(nèi)的操作數(shù)被設(shè)為2,然而,當(dāng)使用一較小的ASIC單元程序庫或以一小于歐洲數(shù)字視頻廣播標(biāo)準(zhǔn)的80MHZ的頻率操作時,它可被設(shè)置成高于4。
在先有技術(shù)中,對于64個狀態(tài),使用同一狀態(tài)尺度的兩狀態(tài)在一處理元件中被處理,故需要32個處理元件。但是,根據(jù)本發(fā)明,由于使用相同狀態(tài)尺度的32個處理元件中的使用同一分支尺度的處理元件被合并,因此只需要16個處理元件。所以,硬件尺寸可被降低50%。該尺寸的減小不僅是由于處理元件數(shù)降低所引起的,而且還由于減少了ASIC中的連接區(qū)域的這些處理元件內(nèi)所共享的分支尺度所致。
如上所述,對于N個狀態(tài),使用相同狀態(tài)尺度的N/2個處理元件被分組成使用相同分支尺度的L個單元的處理元件以使只需要N/2L個處理元件,以而顯著地減小了ASIC中硬件的尺寸。
結(jié)合當(dāng)前被認(rèn)為是最實(shí)用及最佳的實(shí)施例對本發(fā)明進(jìn)行了描述。但可以理解到本發(fā)明并不限于所公開的實(shí)施例,而是相反的,期望覆蓋包括在所附權(quán)利要求的精神及范圍內(nèi)的各種改型和等效配置。
權(quán)利要求
1.用于執(zhí)行卷積碼的最大似然解碼的韋特比解碼器中的一相加/比較/選擇(ACS)處理器,其特征在于包括有N個處理元件,用于接收兩路徑尺度和兩分支尺度,比較各相加值,并根據(jù)比較結(jié)果輸出兩判定位和兩狀態(tài)尺度;一分組單元,用于將對應(yīng)N個狀態(tài)的N個處理元件分組成使用同一狀態(tài)尺度和同一分支尺度的k個單元的處理元件;一多路復(fù)用器,用于根據(jù)一預(yù)定時鐘信號將自分組結(jié)果提供的L(L=2k)個路徑尺度多路復(fù)用成兩個路徑尺度,并將它們輸出給所述N個處理元件的一相應(yīng)處理元件;一第一多路分解器,用于接收自相應(yīng)處理元件得到的兩判定位,并根據(jù)時鐘信號將它們多路分解成L個判定位;及一第二多路分解器,用于接收自相應(yīng)處理元件得到的兩狀態(tài)尺度,并根據(jù)時鐘信號將它們多路分解成L個狀態(tài)尺度。
2.根據(jù)權(quán)利要求1的ACS處理器,其特征在于還包括有一控制器,用于生成該時鐘信號,并控制一時鐘周期內(nèi)的所述多路復(fù)用器,所述第一多路分解器和所述第二多路分解器的操作數(shù)。
3.根據(jù)權(quán)利要求1的ACS處理器,其特征在于,在64個狀態(tài)的情況下,各所述k個單元包括用于處理四個狀態(tài)的兩處理元件。
4.根據(jù)權(quán)利要求1的ACS處理器,其特征在于,所述多路復(fù)用器根據(jù)該時鐘信號的一時鐘周期內(nèi)的“高”邏輯電平和“低”邏輯電平,執(zhí)行多路復(fù)用。
5.根據(jù)權(quán)利要求1的ACS處理器,其特征在于,所述第一和第二多路分解器根據(jù)該時鐘信號的一鐘周期內(nèi)的“高”邏輯電平和“低”邏輯電平,執(zhí)行多路分解。
全文摘要
韋特比解碼器中的一相加/比較/選擇(ACS)處理器,包括有:N個處理元件;分組單元,將對應(yīng)N個狀態(tài)的N個處理元件分組成使用同一狀態(tài)尺度和分支尺度的k個單元的處理元件;多路復(fù)用器,將L(L=2k)個路徑尺度多路復(fù)用成兩個路徑尺度,并將輸出給一相應(yīng)處理元件;第一多路分解器,接收自相應(yīng)處理元件得到的兩判定位,將它們多路分解成L個判定位;第二多路分解器,接收自相應(yīng)處理元件得到的兩狀態(tài)尺度,將其多路分解成L個狀態(tài)尺度。
文檔編號G06F11/10GK1183681SQ97116210
公開日1998年6月3日 申請日期1997年8月25日 優(yōu)先權(quán)日1996年8月23日
發(fā)明者崔榮培 申請人:大宇電子株式會社