TWI394378B - 維特比解碼器及寫入與讀取方法 - Google Patents
維特比解碼器及寫入與讀取方法 Download PDFInfo
- Publication number
- TWI394378B TWI394378B TW099115685A TW99115685A TWI394378B TW I394378 B TWI394378 B TW I394378B TW 099115685 A TW099115685 A TW 099115685A TW 99115685 A TW99115685 A TW 99115685A TW I394378 B TWI394378 B TW I394378B
- Authority
- TW
- Taiwan
- Prior art keywords
- backtracking
- survival
- previous
- state
- measure
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
本發明係指一種維特比解碼器及儲存與讀取方法,尤指一種可有效減少記憶體使用量之維特比解碼器及儲存與讀取方法。
最大相似性序列估測的技術已被廣泛應用於各種數位解碼中,而維特比檢測器(Viterbi detector)即是利用最大相似性序列估測一序列旋積編碼(convolution codes)的一種裝置。如業界所習知,一般通訊通道中具有附加性白高斯雜訊(Additive white Gaussian noise,AWGN)或是其他干擾源,而為了降低偵測訊號時發生錯誤的機率,大多數的通訊系統都會對傳送的資料先進行編碼,例如,利用特殊的演算法對欲傳送的資料進行旋積(convolution)運算,以適當地增加冗餘位元。如此一來,接收機進行解碼前,就可以利用演算法的特性來偵測所接收到的資料是否正確,甚至可以還原發生錯誤的位元。
請參考第1圖,第1圖為一習知維特比解碼器10之功能方塊示意圖。維特比解碼器10包含有一分支衡量值產生器102、一加法比較選擇器104、一存活記憶體單元106、一回溯單元108及一後進先出緩衝儲存器(last in first out buffer)110。分支衡量值產生器102可接收一序列訊號Data_seq將其轉換為軟決定資訊(soft decision information),並據以輸出分支衝量值(branch metric)至加法比較選擇器104。加法比較選擇器104可根據分支衝量值產生各狀態之路徑衡量值(path metric)及存活衡量值(survivor metric),並將存活衡量值寫入存活記憶體單元106。回溯(trace back)單元108可讀取儲存於存活記憶體單元106中的存活衡量值以進行回溯,並於回溯超過一預設路徑深度後(即路徑確定收斂),輸出解碼資料至後進先出緩衝儲存器110,後進先出緩衝儲存器110可將最先儲存之資料最後輸出,即輸入順序與輸出順序相反,以產生一解碼序列訊號Dec_seq。
關於維特比解碼器10之運作情形,請參考第2圖。第2圖為習知具有四種狀態S00、S01、S10、S11之維特比演算法之格子樹狀圖(Trellis tree diagram)之示意圖。第2圖所示之格子樹的架構包含有對應於序列訊號Data_seq之一資料Data_x之四種當前狀態S00、S01、S10、S11、對應於一先前資料Data_x-1之四種先前狀態S00’、S01’、S10’、S11’及其間分支,各分支分別用來表示於編碼為1或0時,各當前狀態與各先前狀態的關係。維特比解碼器10於接收到資料Data_x時,分支衡量值產生器102計算對應於各分支之分支衡量值,接著加法比較選擇器104依據分支衡量值及由複數個分支衡量值累積而成的路徑衡量值,判斷各狀態之路徑衡量值及存活衡量值。其中,每一狀態的路徑衡量值的運算如下列方程式所示:
PS00
=min{(PS00’
+BS00’->S00
),(PS01’
+BS01’->S00
)} 方程式(一)
PS10
=min{(PS00’
+BS00’->S10
),(PS01’
+BS01’->S10
)} 方程式(二)
PS01
=min{(PS10’
+BS10’->S01
),(PS11’
+BS11’->S01
)} 方程式(三)
PS11
=min{(PS10’
+BS10’->S11
),(PS11’
+BS11’->S11
)} 方程式(四)
接著,請參考第3圖,第3圖為第1圖中加法比較選擇器104之示意圖。加法比較選擇器104包含有加法器302、304、一比較器306及一多工器308。加法器302、304分別可將分支衡量值BS00’->S00
及BS0'1’->S00
加總先前狀態S00’及S01’之路徑衡量值PS00’
及PS01’
,以產生加法結果Add1及Add2。比較器306可根據加法結果Add1及Add2,輸出一存活衡量值Sur至多工器308以反映比較結果;多工器308可根據存活衡量值Sur,選擇輸出加法結果Add1及Add2中較小的輸出值為路徑衡量值PS00
。同理,其他路徑衡量值的運算電路皆與第3圖所示之電路架構相同且具有相同的操作方式,於此不再贅述。其中,當序列訊號Data_seq之下一資料進入時,上一資料之狀態成為下一資料之一先前狀態,同時不斷更新對應於每一目前狀態的路徑衡量值。
關於維特比解碼器10之寫入與讀取操作,請參考第4圖,第4圖為習知對第1圖中存活記憶體單元106進行循序寫入時,寫入與讀取之示意圖。存活記憶體單元106包含有區塊Bank_1~Bank_4,區塊Bank_1~Bank_4分別另包含欄位Col_1~Col_n,欄位Col_1~Col_n分別用來儲存對應於序列訊號Data_seq之各資料時,各狀態之存活衡量值。加法比較選擇器104對寫入區塊wr進行寫入動作,回溯單元108對回溯區塊tb與解碼區塊dc進行讀取動作,即回溯超過一預設路徑深度後(圖中為兩個區塊的大小)開始進行解碼。其中,由於回溯與解碼同為讀取動作,因此寫入速度與讀取速度比為1:3。如第4圖所示,習知技術採循序寫入,因此加法比較選擇器104係由區塊Bank_1之欄位Col_1開始進行寫入動作,直到寫完區塊Bank_1之欄位Col_n後,才跳至區塊Bank_2之欄位Col_1繼續寫入,而回溯單元108進行讀取動作時,需根據與寫入順序相反之順序,即由區塊Bank_4之欄位Col_n開始進行回溯動作,直到回溯完區塊Bank_4之欄位Col_1後,才跳至區塊Bank_3之欄位Col_n繼續回溯,並於回溯超過預設路徑深度後開始進行解碼。
然而,由於回溯單元108進行回溯解碼時,必須按寫入順序相反之讀取順序讀取資料,因此於時脈之各時間點中,只有一個記憶體區塊用作寫入,另一個記憶體區塊用作讀取,餘下的兩個記憶體區塊處於閒置狀態,造成記憶體使用效率低。此外,習知技術之架構雖可透過將記憶體切割更多區塊,使讀寫速度比增加以減少記憶體使用量,但卻會因此增加路徑延遲,且於記憶體切割過多時反而會增加記憶體使用量。有鑑於此,習知技術實有改進之必要。
因此,本發明之主要目的即在於提供一種維特比解碼器及儲存與讀取方法。
本發明揭露一種維特比解碼器,可有效減少記憶體使用量。該維特比解碼器包含有一存活記憶體單元,包含有複數個區塊,用來於一時脈之相間隔時間點,根據一寫入區塊順序及一寫入欄位順序,將相對應複數個狀態之複數個存活衡量值儲存至該複數個區塊中一寫入區塊之一寫入欄位中;以及一回溯單元,耦接於該存活記憶體單元,用來於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之一讀取區塊順序及一讀取欄位順序,讀取該複數個區塊中未執行儲存動作之各區塊之一讀取欄位,並於讀取資料超過一預設路徑深度後,輸出複數個解碼資料。
本發明另揭露一種寫入與讀取方法,用於一維特比解碼器中,可有效減少記憶體使用量。該寫入與讀取方法包含有於一時脈之相間隔時間點,根據一寫入區塊順序及一寫入欄位順序,將相對應複數個狀態之複數個存活衡量值儲存至一存活記憶體單元之複數個區塊中一寫入區塊之一寫入欄位中;以及於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之一讀取區塊順序及一讀取欄位順序,讀取該複數個區塊中未執行儲存動作之各區塊之一讀取欄位。
請參考第5圖,第5圖為本發明實施例使用分散式寫入之一維特比解碼器50之功能方塊示意圖。維特比解碼器50包含有一分支衡量值產生器502、一加法比較選擇器504、一存活記憶體單元506、一回溯單元508及一後進先出緩衝儲存器510。比較第1圖與第5圖可知,維特比解碼器50之架構與維特比解碼器10之架構相同,然而兩者相異之處在於加法比較選擇器504對存活記憶體單元506係採分散式寫入,即加法比較選擇器504於寫完存活記憶體單元506中一寫入區塊之一寫入欄位後,即跳至下一個寫入區塊之一寫入欄位進行寫入動作,如此回溯單元508在進行讀取時,可同時對存活記憶體單元506中未進行寫入之各區塊之一讀取欄位進行讀取動作,以增加記憶體使用效率,進而有效減少後進先出緩衝儲存器510所需的記憶體空間。
詳細說明,請參考第6圖,第6圖為本發明對第5圖中存活記憶體單元506進行分散式寫入時,寫入與讀取之示意圖。如第6圖所示,存活記憶體單元506包含有區塊Bank_1~Bank_3,區塊Bank_1~Bank_3分別另包含欄位Col_1~Col_n。加法比較選擇器504可於一時脈之相間隔時間點,根據一寫入區塊順序及一寫入欄位順序,將相對應各狀態之存活衡量值,寫入區塊Bank_1~Bank_3中一寫入區塊WR之一寫入欄位中,即於時間點T1、T3、T5...,加法比較選擇器504分別將各狀態之存活衡量值依區塊Bank_1之欄位Col_1→區塊Bank_2之欄位Col_1→區塊Bank_3之欄位Col_1→Bank_1之欄位Col_2...之順序寫入至存活記憶體單元506。回溯單元508則於時脈之各時間點,根據與寫入區塊順序及寫入欄位順序相反之一讀取區塊順序及一讀取欄位順序,讀取區塊Bank_1~Bank_3中未執行儲存動作之各讀取區塊RD之一讀取欄位,即於時間點T0時,回溯單元508依區塊Bank_3之欄位Col_n→區塊Bank_2之欄位Col_n→區塊Bank_1之欄位Col_n的順序讀取;於時間點T1時,依區塊Bank_3之欄位Col_n-1→區塊Bank_2之欄位Col_n-1的順序讀取;於時間點T2時,依區塊Bank_1之欄位Col_n-1→區塊Bank_3之欄位Col_n-2→區塊Bank_2之欄位Col_n-2的順序讀取,其餘依此類推。其中,於時間點T1時,由於加法比較選擇器504對區塊Bank_1進行寫入動作,因此回溯單元508先不對區塊Bank_1之欄位Col_n-1進行讀取,而於時間點T2時,才由區塊Bank_1之欄位Col_n-1開始依序讀取。在此情況下,由於每兩個時間點僅做一次寫入動作,因此寫入速度與讀取速度比可視為1:5,相較於習知技術,本發明增加記憶體使用效率,進而有效減少記憶體使用量。
此外,請參考第7圖,第7圖為本發明實施例第5圖中加法比較選擇器504之示意圖。為清楚說明本發明之精神,與第3圖作用及結構相同之元件,其圖示及符號與皆沿用第3圖之圖示及符號,以求簡潔。加法比較選擇器504與加法比較選擇器104之差別在於:加法比較選擇器504另包含一預先回溯單元710,用來根據存活衡量值Sur,進行預先回溯產生一先前存活衡量值PreSur,而加法比較選擇器504可於相間隔時間點將先前存活衡量值PreSur與存活衡量值Sur一同寫入寫入區塊WR之寫入欄位中,使得回溯單元508讀取時能同時讀取存活衡量值Sur及先前存活衡量值PreSur(即一次回溯兩筆序列訊號Data_seq之資料),以兩倍速度進行回溯。如此一來,雖然相較於先前技術寫入速度與讀取速度比為1:3,本發明之寫入速度與讀取速度比為1:5,但由於預先回溯單元710可進行預先回溯,使回溯單元508回溯速度加倍,因此路徑延遲可縮減為與寫入速度與讀取速度比為1:3時相同,以減少路徑延遲;此外,雖然加法比較選擇器504將先前存活衡量值PreSur與存活衡量值Sur一同寫入存活記憶體單元506使得欄位長度加倍,但因記憶體使用效率增加,仍可有效減少記憶體使用量。
以透過衛星傳送之數位視訊廣播(digital video broadcasting over satellite,DVB-S)系統為例,其維特比編碼有64個狀態,假設路徑深度大於160時開始收斂,在此情況下,習知技術於寫入速度與讀取速度比為1:3時(即寫入速度:解碼速度:回溯速度為1:1:2),各區塊最小值寬度(路徑深度除以回溯速度比),乘上區塊數目,再乘上欄位長度,可得記憶體使用量為(160/2)*4*64位元;同樣地,與習知技術中寫入速度與讀取速度比為1:3具有相同路徑延遲之本發明,其速度與讀取速度比為1:5,可得記憶體使用量為(160/4)*3*64*2位元,記憶體使用量僅為習知技術之3/4。由上述可知,本發明可增加記憶體使用效率,進而有效減少記憶體使用量。此外,相較於後進先出緩衝儲存器110需160/2*2位元之記憶體,本發明之後進先出緩衝儲存器510僅需160/4*2位元之記憶體,亦少於習知技術之記憶體使用量。
另外,預先回溯單元710之實現可參考第8圖,第8圖為第7圖中預先回溯單元710之示意圖。預先回溯單元710包含有暫存器802、804及多工器806。暫存器802、804分別可儲存先前狀態之存活衡量值Sur_A、Sur_B,而多工器806可依存活衡量值Sur,決定以先前存活衡量值Sur_A或Sur_B為先前存活衡量值PreSur輸出。舉例來說,若先前狀態S00’為對應於目前狀態S00之存活衡量值,則多工器806可由先前狀態S00’及S01’之存活衡量值中,以先前狀態S00’之存活衡量值為先前存活衡量值PreSur輸出。如此一來,預先回溯單元710可進行預先回溯動作,產生先前存活衡量值PreSur,使加法比較選擇器504能將先前存活衡量值PreSur與存活衡量值Sur一同寫入寫入區塊WR之寫入欄位中。
另一方面,回溯單元508之實現可參考第9圖,第9圖為第5圖中回溯單元508之示意圖。回溯單元508包含有回溯元件902、904、906、一時間點選擇器908及一狀態暫存器910。狀態暫存器910可輸出一回溯狀態TBSta_A至回溯元件902,以指示開始進行回溯之狀態。回溯元件902包含有多工器Mux_S、Mux_PS及一回溯狀態產生器912。多工器Mux_S、Mux_PS可根據回溯狀態TBSta_A,分別輸出讀取欄位中對應於回溯狀態TBSta_A之存活衡量值Sur及先前存活衡量值PreSur,回溯狀態產生器912可產生回溯狀態TBSta_B及一回溯結果TBResult予下一回溯元件。依此類推,回溯元件904、906可分別產生回溯狀態TBSta_C、TBSta_A及回溯結果TBResult至回溯元件906及狀態暫存器910。其中,於回溯大於一預設路徑深度時,可將回溯結果TBResult輸出為解碼資料至後進先出緩衝儲存器510,以產生一解碼序列訊號Dec_seq。此外,由於時間點選擇器908於相間隔時間點(即於時間點T1、T3、T5...),跳過回溯元件902之運作(因不對寫入區塊讀取,所以少一次回溯動作),即於相間隔時間點,回溯元件904以狀態暫存器910輸出之回溯狀態TBSta_A為輸入。
值得注意的是,本發明之主要精神在於對存活記憶體單元506進行分散式寫入以增加記憶體使用效率,進而有效減少記憶體使用量,以及加法比較選擇器504可進行預先回溯,將先前存活衡量值與存活衡量值一同寫入寫入區塊之寫入欄位中,使得回溯單元508能同時讀取存活衡量值及先前存活衡量值(即一次回溯兩筆序列訊號Data_seq之資料),以兩倍速度進行回溯,等效縮減路徑延遲。本領域具通常知識者當可依此精神修改或變化而不限於此。舉例來說,預先回溯功能係為使分散式寫入時,將路徑延遲減少至與讀取速度較慢時相等,並非必須與分散式寫入同時存在,即僅進行分散式寫入而未預先回溯時,加法比較選擇器504可不包含預先回溯單元710,而回溯元件902、904、906可不包含多工器Mux_PS。此外,預先回溯單元710與回溯元件902、904、906之實現亦不限於本發明之電路,只要能完成其功能即可。另一方面,於最初回溯元件906尚未產生回溯狀態TBSta_A至狀態暫存器910儲存時,由於回溯超過路徑深度後路徑會收斂,因此狀態暫存器910可以任意狀態為最初的回溯狀態TBSta_A。
維特比解碼器50採分散式寫入時之讀取與寫入運作可歸納為一寫入與讀取流程100,如第10圖所示。寫入與讀取流程100包含以下步驟:步驟1000:開始。
步驟1002:於時脈之相間隔時間點,根據寫入區塊順序及寫入欄位順序,將各狀態之存活衡量值寫入至存活記憶體單元506之區塊Bank_1~Bank_3中寫入區塊WR之寫入欄位中。
步驟1004:於時脈之各時間點,根據與寫入區塊順序及寫入欄位順序相反之讀取區塊順序及讀取欄位順序,讀取區塊Bank_1~Bank_3中未執行儲存動作之各讀取區塊RD之讀取欄位。
步驟1006:結束。
寫入與讀取流程100可參考前述,在此不予贅述,以求簡潔。
在習知技術中,維特比解碼器10採循序式寫入,使得回溯單元108進行回溯解碼時,記憶體使用效率低,雖可將記憶體切割更多區塊,以減少記憶體使用量,但減少有限且會增加路徑延遲。相較之下,本發明之維特比解碼器50採分散式寫入且具有預先回溯功能,不但可以增加記憶體使用效率,進而有效減少記憶體使用量,同時回溯單元508能同時讀取存活衡量值及先前存活衡量值,以兩倍速度進行回溯,等效縮減路徑延遲。
綜上所述,本發明可增加記憶體使用效率,有效減少記憶體使用量,同時以兩倍速度進行回溯,等效縮減路徑延遲。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10、50...維特比解碼器
102、502...分支衡量值產生器
104、504...加法比較選擇器
106、506...存活記憶體單元
108、508...回溯單元
110、510...後進先出緩衝儲存器
302、304...加法器
306...比較器
308、806、Mux_S、Mux_PS...多工器
710...預先回溯單元
802、804...暫存器
902、904、906...回溯元件
908...時間點選擇器
910...狀態暫存器
912、914、916...回溯狀態產生器
100...寫入與讀取流程
1000‧‧‧步驟
Data_seq‧‧‧序列訊號
Dec_seq‧‧‧解碼序列訊號
S00、S01、S10、S11、S00’、S01’、S10’、S11’‧‧‧狀態
Data_x、Data_x-1‧‧‧資料
PS00
、PS00’
、PS01’
‧‧‧路徑衡量值
BS00’->S00
、BS01’->S00
‧‧‧分支衡量值
Add1、Add2‧‧‧加法結果
Sur、Sur_A、Sur_B‧‧‧存活衡量值
Bank_1~Bank_4‧‧‧區塊
Col_1~Col_n‧‧‧欄位
wr、WR‧‧‧寫入區塊
tb‧‧‧回溯區塊
dc‧‧‧解碼區塊
RD‧‧‧讀取區塊
T0、T1、T2、T3、T4、T5‧‧‧時間點
PreSur‧‧‧先前存活衡量值
TBResult‧‧‧回溯結果
TBSta_A、TBSta_B、TBSta_C‧‧‧回溯狀態
第1圖為一習知維特比解碼器之功能方塊示意圖。
第2圖為習知具有四種狀態之維特比演算法之Trellis樹狀圖之示意圖。
第3圖為第1圖中一加法比較選擇器之示意圖。
第4圖為習知對第1圖中一存活記憶體單元進行循序寫入時,寫入與讀取之示意圖。
第5圖為本發明實施例使用分散式寫入之一維特比解碼器之功能方塊示意圖。
第6圖為本發明對第5圖中一存活記憶體單元進行分散式寫入時,寫入與讀取之示意圖。
第7圖為本發明實施例第5圖中一加法比較選擇器之示意圖。
第8為第7圖中一預先回溯單元之示意圖。
第9圖為第5圖中一回溯單元之示意圖。
第10圖為本發明實施例一寫入與讀取流程之示意圖。
50...維特比解碼器
502...分支衡量值產生器
504...加法比較選擇器
506...存活記憶體單元
508...回溯單元
510...後進先出緩衝儲存器
Data_seq...序列訊號
Dec_seq...解碼序列訊號
Claims (20)
- 一種維特比解碼器,可有效減少記憶體使用量,包含有:一存活記憶體(survival memory)單元,包含有複數個區塊(bank),用來於一時脈之相間隔時間點,根據一寫入區塊順序及一寫入欄位順序,將相對應複數個狀態之複數個存活衡量值(survivor metric)儲存至該複數個區塊中一寫入區塊之一寫入欄位中;以及一回溯(trace back)單元,耦接於該存活記憶體單元,用來於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之一讀取區塊順序及一讀取欄位順序,讀取該複數個區塊中未執行儲存動作之各區塊之一讀取欄位;其中,該回溯單元包含有;複數個回溯元件,各回溯元件用來根據一第一回溯狀態,讀取一第一讀取欄位中對應於該第一回溯狀態之一存活衡量值,以輸出一第二回溯狀態至另一回溯元件;以及一時間點選擇器,用來於該時脈之相間隔時間點,跳過一回溯元件之運作。
- 如請求項1所述之維特比解碼器,其另包含一加法比較選擇器,耦接於該存活記憶體單元,用來產生該複數個存活衡量值。
- 如請求項2所述之維特比解碼器,其中該加法比較選擇器包含有:一第一加法器,用來加總一第一先前狀態之一第一分支衡量值(branch metric)及一第一路徑衡量值(path metric),以產生一第一加法結果;一第二加法器,用來加總一第二先前狀態之一第二分支衡量值及一第二路徑衡量值,以產生一第二加法結果;一比較器,耦接於該第一加法器及該第二加法器,用來比較該第一加法結果及該第二加法結果,以產生一存活衡量值;以及一多工器,耦接於該比較器,用來根據該存活衡量值,產生一路徑衡量值。
- 如請求項2所述之維特比解碼器,其中該加法比較選擇器另用來根據該複數個存活衡量值,預先回溯至該複數個狀態之複數個先前狀態,並取得該複數個先前狀態之複數個先前存活衡量值,以輸出該複數個先前存活衡量值。
- 如請求項4所述之維特比解碼器,其中該存活記憶體單元另於該寫入區塊之該寫入欄位,寫入該複數個先前存活衡量值。
- 如請求項4所述之維特比解碼器,其中該加法比較選擇器包含有: 一第一加法器,用來加總一第一先前狀態之一第一分支衡量值及一第一路徑衡量值,以產生一第一加法結果;一第二加法器,用來加總一第二先前狀態之一第二分支衡量值及一第二路徑衡量值,以產生一第二加法結果;一比較器,耦接於該第一加法器及該第二加法器,用來比較該第一加法結果及該第二加法結果,以產生一存活衡量值;一第一多工器,耦接於該比較器,用來根據該存活衡量值,產生一路徑衡量值;以及一預先回溯單元,耦接於該第一多工器,用來根據該存活衡量值,產生一先前存活衡量值。
- 如請求項6所述之維特比解碼器,其中該預先回溯單元另包含:一第一暫存器,用來儲存該第一先前狀態之一第一存活衡量值;一第二暫存器,用來儲存該第二先前狀態之一第二存活衡量值;以及一第二多工器,耦接於該第一暫存器及該第二暫存器,用來根據該存活衡量值、該第一存活衡量值及該第二存活衡量值,輸出該先前存活衡量值。
- 如請求項1所述之維特比解碼器,其中各回溯元件為一多工器,用來根據該第一回溯狀態,輸出該第一讀取欄位中對應於該第一回溯狀態之該存活衡量值;以及一回溯狀態產生器,用來根據該第一回溯狀態及該存活衡量 值,輸出該第二回溯狀態。
- 如請求項4所述之維特比解碼器,其中該回溯單元包含有;複數個回溯元件,各回溯元件用來根據一第一回溯狀態,讀取一第一讀取欄位中對應於該第一回溯狀態之一存活衡量值及一先前存活衡量值,以輸出一第二回溯狀態至另一回溯元件;以及一時間點選擇器,用來於該時脈之相間隔時間點,跳過一回溯元件之運作。
- 如請求項9所述之維特比解碼器,其中各回溯元件包含有:一第一多工器,用來根據該第一回溯狀態,輸出該第一讀取欄位中對應於該第一回溯狀態之該存活衡量值;一第二多工器,用來根據該第一回溯狀態,輸出該第一讀取欄位中對應於該第一回溯狀態之該先前存活衡量值;以及一回溯狀態產生器,用來根據該第一回溯狀態、該存活衡量值及該先前存活衡量值,輸出該第二回溯狀態。
- 一種寫入與讀取方法,用於一維特比解碼器中,可有效減少記憶體使用量,包含有:於一時脈之相間隔時間點,根據一寫入區塊順序及一寫入欄位順序,將相對應複數個狀態之複數個存活衡量值(survivor metric)儲存至一存活記憶體單元之複數個區塊中一寫入區 塊之一寫入欄位中;以及於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之一讀取區塊順序及一讀取欄位順序,讀取該複數個區塊中未執行儲存動作之各區塊之一讀取欄位;其中,於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之該讀取區塊順序及該讀取欄位順序,讀取該複數個區塊中未執行寫入動作之各區塊之該讀取欄位之步驟,另包含有:進行複數個回溯動作;以及於該時脈之相間隔時間點,跳過一回溯動作。
- 如請求項11所述之寫入與讀取方法,其另包含產生該複數個存活衡量值。
- 如請求項12所述之寫入與讀取方法,其中於該時脈之相間隔時間點,計算該複數個存活衡量值之步驟,包含有:加總一第一先前狀態之一第一分支衡量值(branch metric)及一第一路徑衡量值(path metric),以產生一第一加法結果;加總一第二先前狀態之一第二分支衡量值及一第二路徑衡量值,以產生一第二加法結果;比較該第一加法結果及該第二加法結果,以產生一存活衡量值;以及根據該存活衡量值,產生一路徑衡量值。
- 如請求項12所述之寫入與讀取方法,其另包含有;根據該複數個存活衡量值,預先回溯至該複數個狀態之複數個先前狀態;取得該複數個先前狀態之複數個先前存活衡量值;以及輸出該複數個先前存活衡量值。
- 如請求項14所述之寫入與讀取方法,其另包含於該寫入區塊之該寫入欄位,寫入該複數個先前存活衡量值。
- 如請求項14所述之寫入與讀取方法,其中根據該複數個存活衡量值,預先回溯至該複數個先前狀態取得該複數個先前存活衡量值之步驟,另包含有:加總一第一先前狀態之一第一分支衡量值及一第一路徑衡量值,以產生一第一加法結果;加總一第二先前狀態之一第二分支衡量值及一第二路徑衡量值,以產生一第二加法結果;比較該第一加法結果及該第二加法結果,以產生一存活衡量值;根據該存活衡量值,產生一路徑衡量值;以及根據該存活衡量值,產生一先前存活衡量值。
- 如請求項16所述之寫入與讀取方法,其中根據該存活衡量值,產生一先前存活衡量值之步驟,包含有: 儲存該第一先前狀態之一第一存活衡量值;儲存該第二先前狀態之一第二存活衡量值;以及根據該存活衡量值、該第一存活衡量值及該第二存活衡量值,輸出該先前存活衡量值。
- 如請求項11所述之寫入與讀取方法,其中各回溯動作包含根據一第一回溯狀態,讀取一第一讀取欄位中對應於該第一回溯狀態之一存活衡量值,以輸出一第二回溯狀態至另一回溯動作。
- 如請求項14所述之寫入與讀取方法,其中於該時脈之各時間點,根據與該寫入區塊順序及該寫入欄位順序相反之該讀取區塊順序及該讀取欄位順序,讀取該複數個區塊中未執行寫入動作之各區塊之該讀取欄位之步驟,另包含有:進行複數個回溯動作;以及於該時脈之相間隔時間點,跳過一回溯動作。
- 如請求項19所述之寫入與讀取方法,其中各回溯動作包含根據一第一回溯狀態,讀取一第一讀取欄位中對應於該第一回溯狀態之一存活衡量值及一先前存活衡量值,以輸出一第二回溯狀態至另一回溯動作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099115685A TWI394378B (zh) | 2010-05-17 | 2010-05-17 | 維特比解碼器及寫入與讀取方法 |
US12/839,413 US8407572B2 (en) | 2010-05-17 | 2010-07-20 | Viterbi decoder and writing and reading method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099115685A TWI394378B (zh) | 2010-05-17 | 2010-05-17 | 維特比解碼器及寫入與讀取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201143303A TW201143303A (en) | 2011-12-01 |
TWI394378B true TWI394378B (zh) | 2013-04-21 |
Family
ID=44912804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099115685A TWI394378B (zh) | 2010-05-17 | 2010-05-17 | 維特比解碼器及寫入與讀取方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8407572B2 (zh) |
TW (1) | TWI394378B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926836B1 (en) * | 1997-12-19 | 2003-10-29 | Sony Corporation | Viterbi decoding apparatus and viterbi decoding method |
Family Cites Families (11)
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 |
US5983383A (en) * | 1997-01-17 | 1999-11-09 | Qualcom Incorporated | Method and apparatus for transmitting and receiving concatenated code data |
US5828675A (en) * | 1997-06-06 | 1998-10-27 | National Semiconductor Corporation | Viterbi decoder circuit |
KR100580160B1 (ko) * | 1999-09-14 | 2006-05-15 | 삼성전자주식회사 | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 |
AU762877B2 (en) * | 1999-10-05 | 2003-07-10 | Samsung Electronics Co., Ltd. | Component decoder and method thereof in mobile communication system |
US6901118B2 (en) * | 1999-12-23 | 2005-05-31 | Texas Instruments Incorporated | Enhanced viterbi decoder for wireless applications |
US7864895B1 (en) * | 2003-09-23 | 2011-01-04 | Marvell International Ltd. | Viterbi detection using a correlation metric |
TWI224432B (en) * | 2003-10-28 | 2004-11-21 | Ind Tech Res Inst | A re-configurable Viterbi decoder |
JP4432781B2 (ja) * | 2005-01-17 | 2010-03-17 | 株式会社日立製作所 | 誤り訂正復号器 |
US20070113161A1 (en) * | 2005-11-14 | 2007-05-17 | Texas Instruments Incorporated | Cascaded radix architecture for high-speed viterbi decoder |
TWI339956B (en) * | 2007-12-31 | 2011-04-01 | Ind Tech Res Inst | Method and apparatus for convolutional turbo decoding |
-
2010
- 2010-05-17 TW TW099115685A patent/TWI394378B/zh not_active IP Right Cessation
- 2010-07-20 US US12/839,413 patent/US8407572B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926836B1 (en) * | 1997-12-19 | 2003-10-29 | Sony Corporation | Viterbi decoding apparatus and viterbi decoding method |
Non-Patent Citations (1)
Title |
---|
Feygin, G.; Gulak, P.; , "Architectural tradeoffs for survivor sequence memory management in Viterbi decoders," Communications, IEEE Transactions on , vol.41, no.3, pp.425-429, Mar 1993. * |
Also Published As
Publication number | Publication date |
---|---|
TW201143303A (en) | 2011-12-01 |
US8407572B2 (en) | 2013-03-26 |
US20110283170A1 (en) | 2011-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
KR100580160B1 (ko) | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 | |
US6324226B1 (en) | Viterbi decoder | |
CN100512020C (zh) | 一种译码方法及译码装置 | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
US7404139B2 (en) | Decoder with M-AT-A-Time Traceback | |
CN114448562A (zh) | 维特比解码器中的并行回溯 | |
US5887007A (en) | Viterbi decoding method and viterbi decoding circuit | |
KR101212856B1 (ko) | 통신 시스템에서 데이터를 복호하는 방법 및 장치 | |
US5878060A (en) | Viterbi decoding apparatus and viterbe decoding method | |
JP4580927B2 (ja) | ビタビ復号装置、およびビタビ復号方法 | |
KR102415394B1 (ko) | 비터비 디코더 매커니즘을 갖는 전자 시스템 및 그것의 동작 방법 | |
JP2005109771A (ja) | 最大事後確率復号方法及び装置 | |
TWI394378B (zh) | 維特比解碼器及寫入與讀取方法 | |
US7263653B2 (en) | Algorithm for a memory-based Viterbi decoder | |
JP2010206570A (ja) | 復号装置、復号方法 | |
US8181098B2 (en) | Error correcting Viterbi decoder | |
KR101714009B1 (ko) | 최소화된 복호 지연 시간을 갖는 역추적 장치 및 방법 | |
KR100324066B1 (ko) | 비터비 복호기 | |
JP3235333B2 (ja) | ビタビ復号方法およびビタビ復号化装置 | |
KR0183115B1 (ko) | 비터비 디코더의 패스 메모리의 제어회로 | |
JP2003258650A (ja) | 最尤復号器 | |
JP4217261B2 (ja) | Acs回路 | |
KR0183116B1 (ko) | 비터비 디코터의 패스 메모리의 제어회로 및 방법 | |
JP2004120791A (ja) | ビタビ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |