TWI569589B - 維特比解碼裝置及維特比解碼方法 - Google Patents
維特比解碼裝置及維特比解碼方法 Download PDFInfo
- Publication number
- TWI569589B TWI569589B TW104115236A TW104115236A TWI569589B TW I569589 B TWI569589 B TW I569589B TW 104115236 A TW104115236 A TW 104115236A TW 104115236 A TW104115236 A TW 104115236A TW I569589 B TWI569589 B TW I569589B
- Authority
- TW
- Taiwan
- Prior art keywords
- input data
- metric
- path
- symbol
- record
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000001186 cumulative effect Effects 0.000 claims description 54
- 230000004083 survival effect Effects 0.000 claims description 43
- 238000010586 diagram Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 5
- 102220640918 Cell division control protein 6 homolog_S54D_mutation Human genes 0.000 description 4
- 102220313179 rs1553259785 Human genes 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 102220528480 Myelin protein P0_S54C_mutation Human genes 0.000 description 1
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
Description
本發明與維特比解碼(Viterbi decoding)技術相關,並且尤其與能提供至少兩種解碼結果的維特比解碼技術相關。
目前被應用於多種通訊系統與信號廣播系統中的串連錯誤更正碼(concatenated error correction code)係藉由結合兩種以上的編碼技術來提升編碼結果的表現。在這類系統中的接收端必須先進行內碼(inner code)解碼程序,再繼續對內碼解碼結果施以外碼(outer code)解碼程序。以數位視訊地面廣播(digital video broadcasting-terrestrial,DVB-T)系統為例,其接收端首先以維特比解碼器將經過迴旋編碼的資料串解碼,再將此解碼結果送入里德所羅門(Reed-Solomon)解碼器。如本發明所屬技術領域中具有通常知識者所知,典型的維特比解碼器係自許多個可能的解碼結果中選出最佳解提供給里德所羅門解碼器。然而,維特比解碼器找出的最佳解未必是正確的(亦即傳送端實際送出的)資料。在這樣的情況下,里德所羅門解碼器通常會因封包內的錯誤過多而判定無法將此封包解出。為解決上述問題,目前有一種做法是令維特比解碼器提供不只一個解碼結果(例如同時提供一最佳解與一次佳解)給里德所羅門解碼器。若里德所羅門解碼器無法將最佳封包解出,可繼續嘗試將次佳封包解碼,以提升成功解碼的機率。
本發明提出一種維特比解碼裝置及維特比解碼方法,其中採
用了不同於先前技術的次佳解產生方案。
根據本發明之一具體實施例為一種維特比解碼裝置,其中包含一主要解碼器、一重新編碼模組、一調整模組、一次要解碼器與一次要結果產生模組。該主要解碼器係用以對一組輸入資料施以一維特比解碼程序,以產生一組主要解碼結果。該重新編碼模組係用以對該組主要解碼結果施以一迴旋編碼程序,以產生一組重新編碼結果。該調整模組係用以根據該組重新編碼結果調整該組輸入資料,使因此產生之一組調整後輸入資料對應於一維特比格狀圖中之一預設路徑。該次要解碼器係用以根據該組調整後輸入資料產生複數個符碼。該次要結果產生模組係用以根據該複數個符碼與該組主要解碼結果產生一組次要解碼結果。
根據本發明之另一具體實施例為一種維特比解碼方法。首先,一組輸入資料被施以一維特比解碼程序,以產生一組主要解碼結果。該組主要解碼結果被施以一迴旋編碼程序,以產生一組重新編碼結果。隨後,根據該組重新編碼結果,該組輸入資料被調整,使因此產生之一組調整後輸入資料對應於一維特比格狀圖中之一預設路徑。根據該組調整後輸入資料,複數個符碼被決定。根據該複數個符碼與該組主要解碼結果,一組次要解碼結果被產生。
關於本發明的優點與精神可以藉由以下發明詳述及所附圖式得到進一步的瞭解。
100‧‧‧維特比解碼裝置
11‧‧‧主要維特比解碼器
12‧‧‧重新編碼模組
13‧‧‧調整模組
13A‧‧‧正負號判斷單元
13B‧‧‧第一延遲線
13C‧‧‧乘法器
14‧‧‧次要維特比解碼器
14A‧‧‧記錄單元
14B‧‧‧比較單元
14C‧‧‧更新單元
14D‧‧‧符碼建立單元
15‧‧‧次要結果產生模組
15A‧‧‧第二延遲線
15B‧‧‧加法器
N0~N7‧‧‧格狀圖節點
S51~S55‧‧‧流程步驟
S54A~S54E‧‧‧流程步驟
圖一為根據本發明之一實施例中的維特比解碼裝置之功能方塊圖。
圖二進一步呈現根據本發明之維特比解碼裝置中調整模組與次要結果產生模組的一種詳細實施範例。
圖三呈現根據本發明之次要維特比解碼器的一種局部實施範例。
圖四(A)與圖四(B)呈現一格狀圖及其相對應之解碼結果範例。
圖五為根據本發明之一實施例中的維特比解碼程序之流程圖。
圖六進一步詳細呈現根據本發明之次要維特比解碼步驟的局部流程。
須說明的是,本發明的圖式包含呈現多種彼此關聯之功能性模組的功能方塊圖。該等圖式並非細部電路圖,且其中的連接線僅用以表示信號流。功能性元件及/或程序間的多種互動關係不一定要透過直接的電性連結始能達成。此外,個別元件的功能不一定要如圖式中繪示的方式分配,且分散式的區塊不一定要以分散式的電子元件實現。
根據本發明之一具體實施例為一種維特比解碼裝置,其功能方塊圖係繪示於圖一。維特比解碼裝置100包含一主要維特比解碼器11、一重新編碼模組12、一調整模組13、一次要維特比解碼器14與一次要結果產生模組15。實務上,維特比解碼裝置100可被整合在各種採用串連錯誤更正碼的電子系統中,亦可獨立存在。
主要維特比解碼器11負責對其輸入資料施以維特比解碼程序,根據輸入資料找出對應於格狀圖(trellis diagram)中最佳路徑的解碼結果,做為一組主要解碼結果。實務上,主要維特比解碼器11可為但不限於典型的維特比解碼器,其中包含一分支度量單元(branch metric unit,BMU)、一路徑度量單元(path metric unit,PMU)與一回溯單元(trace-back unit),並係藉由相加-比較-選擇程序篩選出對應於格狀圖中最佳路徑的一連串位元或多個符碼(symbol)做為解碼結果。須說明的是,典型的維特比解碼技術之實施方式為本發明所屬技術領域中具有通常知識者所知,於此不贅述細節。
一般而言,經過維特比解碼器之後,原輸入資料中的檢查位
元(parity bit)會被移除,使得解碼結果中僅包含與實際資訊相關的資料位元。為了重新取得與檢查位元相關的資訊,重新編碼模組12負責對主要維特比解碼器11產生之該組主要解碼結果施以迴旋編碼程序,以產生一組重新編碼結果。重新編碼模組12的作用可被視為模擬傳送端的工作,根據主要維特比解碼器11產生之該組主要解碼結果重建一組包含有檢查位元的輸入資料。
調整模組13係用以依據重新編碼模組12產生之該組重新編碼結果對輸入資料進行調整,使因此產生之一組調整後輸入資料大致對應於維特比格狀圖中之一預設路徑。於一實施例中,該預設路徑為一全零路徑,例如圖四(A)之格狀圖中最上方完全對應於「00」節點的直線路徑,調整模組13對該組輸入資料進行調整,使得當對於該組調整後輸入資料施以一維特比解碼程序所產生之主要解碼結果,會對應至維特比格狀圖中之預設全零路徑。圖二進一步呈現調整模組13的一種詳細實施範例,可令調整後輸入資料大致對應於全零路徑,其運作方式詳述如下。
於圖二的實施例中,調整模組13包含一正負號判斷單元13A、一第一延遲線13B與一乘法器13C。正負號判斷單元13A係用以取得該組重新編碼結果中各個重新編碼結果的正負號。假設提供至主要維特比解碼器11的信號包含N筆輸入資料(N為大於1之整數),重新編碼模組12產生的該組重新編碼結果便會包含N個重新編碼結果,而正負號判斷單元13A的作用便是取得該N個重新編碼結果各自的正負號。如圖二所示,第一延遲線13B係用以對主要維特比解碼器11的輸入信號提供一延遲量,並將其延遲結果傳遞至乘法器13C,與正負號判斷單元13A的輸出信號相乘。第一延遲線13B提供的延遲量會被設定為大致等於主要維特比解碼器11、重新編碼模組12與正負號判斷單元13A這三個區塊造成的延遲。如此一來,每一筆經過延遲後的輸入信號會在乘法器13C被乘以對應於同一筆資料的正負號。也就是說,乘法器13C會將該N個正負號中之第i個正負
號與該N筆輸入資料中之第i筆輸入資料相乘,以產生N筆調整後輸入資料,做為調整模組13輸出的該組調整後輸入資料(i為範圍在1到N間之一整數指標)。
以數位視訊地面廣播(DVB-T)規格為例,傳送端會將資料內容對應於數位邏輯0的信號於發送時映射為振幅為「+1」的信號,將資料內容對應於數位邏輯1的信號於發送時映射為振幅為「-1」的信號。相對應地,若接收端判定一輸入信號的振幅為正,便會將此信號映射為數位邏輯0;若接收端判定一輸入信號的振幅為負,便會將此信號映射為數位邏輯1。承上所述,在調整模組13中,各筆經過延遲後的輸入信號會被乘以對應於同一筆資料的正負號。在傳遞至主要維特比解碼器11之輸入信號完全正確(亦即與傳送端輸出之信號完全相同)的情況下,各筆延遲後輸入信號的正負號會與正負號判斷單元13A取得的正負號一致,進而使得調整模組13輸出的每一筆調整後輸入資料皆振幅為正。在這個情況下,若對該組調整後輸入資料施以典型的維特比解碼程序,得到的最佳解會全為數位邏輯0(對應於格狀圖中的全零路徑)。藉由調整模組13改變對各筆經過延遲後的輸入信號所乘上的正負號,即可改變預設路徑。透過以下說明,本發明所屬技術領域中具有通常知識者可理解,本發明的範疇不以預設路徑為全零路徑為限。
次要維特比解碼器14負責對調整模組13輸出的該組調整後輸入資料施以一非典型的維特比解碼程序。此處所謂非典型維特比解碼程序與傳統維特比解碼程序的主要差別在於,次要維特比解碼器14係奠基於以前述預設路徑做為最佳路徑的基礎上,尋找另一路徑的相關資訊,在一實施例中,該另一路徑可為次佳路徑。以下配合圖四(A)和圖四(B)呈現的格狀圖範例來說明次要維特比解碼器14的運作機制。在這個格狀圖範例中,符碼(symbol)的大小為兩位元,迴旋碼的限制長度(constraint length)為三,碼率等於二分之一。最左側一欄的四個節點(狀態為00之節點N0及其下方狀態為10、01、11的三個節點)對應於第一符碼中的兩個位元b0b1,自左側
算起第二欄的四個節點(節點N1及其下方的三個節點)對應於第一符碼中的位元b1與第二符碼中的位元b2,自左側算起第三欄的四個節點(節點N2及其下方的三個節點)則是對應於第二符碼中的兩個位元b2b3,依此類推。
次要維特比解碼器14首先可根據該組調整後輸入資料找出格狀圖中各分支的度量,再利用維特比解碼技術中的相加-比較-選擇程序選出自全零路徑中之節點N1~N7回溯時不同於全零路徑之一存活路徑(以下稱非零存活路徑)。圖四(A)已繪示出經過次要維特比解碼器14判定的各分支屬性:各節點間的連接線若為虛線表示該分支的存活機率較低;若為實線則代表該分支的存活機率較高;除了全零路徑中的各個分支,若為細線表示該分支完全未包含於任一個被列入考慮的存活路徑;若為粗線則表示該分支是某一個存活路徑的一部份。由圖四(A)可看出,節點N1之非零存活路徑為b0b1b2=100,節點N2之非零存活路徑為b0b1b2b3=0100,節點N3之非零存活路徑為b0b1b2b3b4=11100,......,節點N7之非零存活路徑為b0b1b2b3b4b5b6b7b8=101111100。
此外,次要維特比解碼器14會針對節點N1~N7,分別計算其非零存活路徑與全零路徑至該節點為止之一分支度量累積差異。於此範例中,分支度量累積差異愈小,表示該非零存活路徑愈理想,易言之,分支度量累積差異較小的路徑優於分支度量累積差異較大的路徑,在本實施例之次要維特比解碼器14分別計算N1~N7的7個分支度量累積差異,以在此7個分支路徑中決定一較佳的非零存活路徑。節點N1之非零存活路徑與全零路徑的分支度量累積差異為9(如圖中所標示之△0=9),節點N2之非零存活路徑與全零路徑的分支度量累積差異為8,......,節點N7之非零存活路徑與全零路徑的分支度量累積差異為3。
圖三呈現次要維特比解碼器14的一種局部實施範例,其中包含一記錄單元14A、一比較單元14B、一更新單元14C與一符碼建立單元14D。概言之,符碼建立單元14D負責於記錄單元14A中依序建立複數
個符碼記錄與各自對應於該等符碼記錄之一度量指標。在解碼過程中,更新單元14C會依比較單元14B的比較結果選擇性地更新記錄單元14A中已儲存的符碼記錄及度量指標。待更新單元14C的運作告一段落後,記錄單元14A中的符碼記錄便會被輸出次要維特比解碼器14,做為供次要結果產生模組15使用的複數個符碼。以下配合圖四(B)之格狀圖範例詳述該等電路單元的運作方式。
比較單元14B會依序接收節點N1~N7的分支度量累積差異。每當接收到一最新分支度量累積差異,比較單元14B便會比較該最新分支度量累積差異與記錄單元14A目前已記錄之度量指標的優劣。若比較單元14B之判斷結果為該最新分支度量累積差異優於記錄單元14A目前所記錄之度量指標,更新單元14C便會根據該最新分支度量累積差異及其所對應之該存活路徑,更新記錄單元14A目前所記錄之符碼記錄與度量指標。
每當比較單元14B之判斷結果為該最新分支度量累積差異並未優於記錄單元14A目前所記錄之度量指標時,或是每當更新單元14C更新記錄單元14A後,符碼建立單元14D便會判斷是否應於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。若判定應於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,符碼建立單元14D便根據該最新分支度量累積差異及其所對應之該存活路徑,於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。若符碼建立單元14D判定尚不需於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,比較單元14B便會接收另一最新分支度量累積差異,以分別計算並比較各節點之分支路徑。
請參閱圖四(A)。首先,比較單元14B接收節點N1的分支度量累積差異△0=9。由於此時為初始狀態,記錄單元14A尚未儲存有任何度量指標,比較單元14B會判定記錄單元14A中目前未記錄有任何優於分支度量累積差異△0=9的度量指標。因此,更新單元14C會根據分支度量累
積差異△0=9及其所對應之存活路徑b0b1b2=100,更新記錄單元14A目前所記錄之所有符碼記錄與所有度量指標。
另一方面,符碼建立單元14D於更新單元14C更新記錄單元14A後,會判斷是否應於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。於此範例中,在根據節點N1、N3、N5、N7的分支度量累積差異選擇性地更新記錄單元14A後,符碼建立單元14D會判定應於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。因此,在根據節點N1的分支度量累積差異△0=9選擇性地更新記錄單元14A之後,符碼建立單元14D會在記錄單元14A中建立一筆新的符碼記錄(第一符碼記錄)及對應於該第一符碼記錄之度量指標(第一度量指標)。根據分支度量累積差異△0=9及其所對應之存活路徑b0b1b2=100,符碼建立單元14D可在記錄單元14A中設定第一符碼記錄e01=10、第一度量指標m01=9。
接著,比較單元14B繼續接收下一個分支度量累積差異(亦即節點N2的分支度量累積差異△1=8)做為最新分支度量累積差異,並比較分支度量累積差異△1與記錄單元14A目前已記錄之所有度量指標的優劣。由於分支度量累積差異△1=8優於記錄單元14A中的第一度量指標m01=9,更新單元14C會根據分支度量累積差異△1=8及其所對應之存活路徑b0b1b2b3=0100更新記錄單元14A目前所記錄之所有符碼記錄與所有度量指標,因而以存活路徑b0b1b2b3=0100中的位元b0b1=01將第一符碼記錄更新為e01=01,並且將第一度量指標更新為m01=8。隨後,符碼建立單元14D會判定尚不需於記錄單元14A中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,因而令比較單元14B繼續接收下一個分支度量累積差異(節點N3的分支度量累積差異△2=5)做為最新分支度量累積差異。
由於分支度量累積差異△2=5優於記錄單元14A中的第一度量指標m01=8,更新單元14C會根據分支度量累積差異△2=5及其所對應之
存活路徑b0b1b2b3b4=11100更新記錄單元14A目前所記錄之所有符碼記錄與所有度量指標,因而以存活路徑b0b1b2b3b4=11100中的位元b0b1=11將第一符碼記錄更新為e01=11,並且將第一度量指標更新為m01=5。接著,符碼建立單元14D會判定應於記錄單元14A中建立一筆新的符碼記錄(第二符碼記錄)及對應於該符碼記錄之一度量指標(第二度量指標),並根據分支度量累積差異△2=5及存活路徑b0b1b2b3b4=11100在記錄單元14A中設定第二符碼記錄e23=10、第二度量指標m23=5。
接下來比較單元14B接收的最新分支度量累積差異為△3=6。因為△3=6並未優於目前儲存於記錄單元14A中的第一度量指標m01=5與第二度量指標m23=5,更新單元14C不會根據分支度量累積差異為△3=6及其所對應之存活路徑更新記錄單元14A。另一方面,由於尚不需建立新的符碼記錄與度量指標,符碼建立單元14D不會更動記錄單元14A的內容。
隨後,比較單元14B接收的最新分支度量累積差異為△4=7。因為△4=7並未優於目前儲存於記錄單元14A中的第一度量指標m01=5與第二度量指標m23=5,更新單元14C不會根據分支度量累積差異為△4=7及其所對應之存活路徑更新記錄單元14A。另一方面,於建立新的符碼記錄(第三符碼記錄)與度量指標(第三度量指標)時,符碼建立單元14D會根據分支度量累積差異△4=7及存活路徑b0b1b2b3b4b5b6=0000100中的b4b5=10在記錄單元14A中設定第三符碼記錄e45=10、第三度量指標m45=7。
接著,因為比較單元14B接收的最新分支度量累積差異△5=6並未優於記錄單元14A目前所記錄之第一與第二度量指標但優於第三度量指標m45=7,更新單元14C會根據分支度量累積差異△5=6及其所對應之存活路徑b0b1b2b3b4b5b6b7=00010100更新記錄單元14A中建立順序晚於或等於第三度量指標m45=7之所有度量指標與對應於該等度量指標之所有符碼記錄,也就是根據存活路徑b0b1b2b3b4b5b6b7=00010100中的b4b5=01將第三符碼記錄更新為e45=01,並將第三度量指標更新為m45=6。
接下來,比較單元14B接收的最新分支度量累積差異△6=3優於優於記錄單元14A目前所記錄之所有度量指標(m01、m23、m45)。因此,更新單元14C會根據分支度量累積差異△6=3及其所對應之存活路徑b0b1b2b3b4b5b6b7b8=101111100更新記錄單元14A目前所記錄之所有符碼記錄與所有度量指標,也就是根據存活路徑b0b1b2b3b4b5b6b7b8=101111100中的b0b1將第一符碼記錄更新為e01=10、根據b2b3將第二符碼記錄更新為e23=11、根據b4b5將第三符碼記錄更新為e45=11,並且將第一度量指標m01、第二度量指標m23與第三度量指標m45皆更新為3。此外,由於符碼建立單元14D會判定應建立新的符碼記錄與度量指標,符碼建立單元14D將根據最新分支度量累積差異△6=3及其相對應之存活路徑b0b1b2b3b4b5b6b7b8=101111100中的b6b7=10在記錄單元14A中設定第四符碼記錄e67=10、第四度量指標m67=3。依此類推,次要維特比解碼器14可逐步建立、更新多筆符碼記錄,並於取得適當數量的符碼記錄之後,將該等符碼記錄輸出。
綜上所述,次要維特比解碼器14的主要功用便在於選擇出自一預設路徑中每一節點回溯時不同於該預設路徑之一存活路徑,並且針對該預設路徑中每一節點,計算被選出之該存活路徑與該預設路徑至該節點為止之一分支度量累積差異,據此決定複數個符碼。在本例中,即為選擇自該全零路徑中每一節點N1~N7回溯時不同於該預設路徑之一存活路徑,可為一較佳的、經調整後的次佳存活路徑。
次要結果產生模組15會根據次要維特比解碼器14產生之該複數個符碼以及主要維特比解碼器11產生之該組主要解碼結果,以產生一組次要解碼結果。如圖二所示,於一實施例中,次要結果產生模組15包含一第二延遲線15A與一加法器15B。第二延遲線15A提供的延遲量會被設定為大致等於重新編碼模組12、正負號判斷單元13A、乘法器13C與次要維特比解碼器14這四個區塊造成的延遲。如此一來,每一筆經過延遲後的
主要解碼結果會在加法器15B與對應於同一筆資料的符碼相加。如圖一所示,主要維特比解碼器11產生的主要解碼結果與次要結果產生模組15產生的次要解碼結果都會被提供給後續電路(例如里德所羅門解碼器)使用,藉由提供兩種解碼結果,以提升後續電路的表現(例如提高成功解碼的機率)。於一實施例中,根據本發明之次要維特比解碼器14可被設計為產生不只一組次優的符碼,各自與主要解碼結果結合,依據所需的解碼可靠度需求與成本考量,提供不只兩組解碼結果給後續電路。
於實際應用中,上述各個功能模組的全部或部分可利用多種控制和處理平台實現,包含固定式的和可程式化的邏輯電路,例如可程式化邏輯閘陣列、針對特定應用的積體電路、微控制器、微處理器、數位信號處理器。此外,該等功能模組可被設計為透過執行一記憶體(未繪示)中所儲存之處理器指令,來完成多種任務。本發明所屬技術領域中具有通常知識者可理解,另有多種電路組態和元件可在不背離本發明精神的情況下實現本發明的概念。此外,本發明的範疇並未限定於特定儲存機制。記錄單元14A可包含一個或多個揮發性或非揮發性記憶體裝置,例如隨機存取半導體記憶體、唯讀記憶體、磁性及/或光學記憶體、快閃記憶體等等。
根據本發明之另一具體實施例為一種維特比解碼方法,其流程圖係繪示於圖五。步驟S51為對一組輸入資料施以一維特比解碼程序,以產生一組主要解碼結果。步驟S52為對該組主要解碼結果施以一迴旋編碼程序,以產生一組重新編碼結果。接著,步驟S53為依據該組重新編碼結果,調整該組輸入資料,使因此產生之一組調整後輸入資料大致對應於一維特比格狀圖中之一預設路徑。隨後,步驟S54為根據該維特比格狀圖對該組調整後輸入資料施以一相加-比較-選擇程序,以選擇出自該預設路徑中複數個節點回溯時不同於該預設路徑之一存活路徑,並且針對該複數個節點中之每一節點,計算被選出之該存活路徑與該預設路徑至該節點為止之一分支度量累積差異,據此決定複數個符碼。步驟S55為根據該複數個
符碼以及該組主要解碼結果,以產生一組次要解碼結果。
圖六進一步詳細呈現步驟S54的局部流程。步驟S54A為接收一最新分支度量累積差異。步驟S54B為判斷該最新分支度量累積差異是否優於目前所記錄之度量指標。若步驟S54B的判斷結果為否,步驟S54D將會被執行。若步驟S54B的判斷結果為是,則步驟S54C將會被執行,即根據該最新分支度量累積差異及其所對應之該存活路徑,更新目前所記錄之符碼記錄與度量指標。步驟S54D為判斷是否應建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。若步驟S54D的判斷結果為否,步驟S54A即其後續步驟便會被重新執行。若步驟S54D的判斷結果為是,則步驟S54E將會被執行,即根據該最新分支度量累積差異及其所對應之該存活路徑,建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,然後該流程再回到步驟S54A。
本發明所屬技術領域中具有通常知識者可理解,在圖六中,某些步驟的順序或其中之判斷邏輯的組合方式可被等效調換,並且不會影響該維特比解碼方法的整體效果。此外,先前在介紹維特比解碼裝置100時描述的各種操作變化亦可應用至圖五、圖六中的維特比解碼方法,其細節不再贅述。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
S51~S55‧‧‧流程步驟
Claims (10)
- 一種維特比解碼裝置,包含:一主要解碼器,用以對一組輸入資料施以一維特比解碼程序,以產生一組主要解碼結果;一重新編碼模組,用以對該組主要解碼結果施以一迴旋編碼程序,以產生一組重新編碼結果;一調整模組,用以根據該組重新編碼結果,調整該組輸入資料,使因此產生之一組調整後輸入資料對應於一維特比格狀圖中之一預設路徑;一次要解碼器,用以根據該組調整後輸入資料,產生複數個符碼;以及一次要結果產生模組,用以根據該複數個符碼以及該組主要解碼結果產生一組次要解碼結果。
- 如申請專利範圍第1項所述之維特比解碼裝置,其中該次要解碼器用以選擇出自該預設路徑中複數個節點回溯時不同於該預設路徑之一存活路徑,並且針對該複數個節點中的每一節點,計算被選出之該存活路徑與該預設路徑至該節點為止之一分支度量累積差異,以據以產生該複數個符碼。
- 如申請專利範圍第2項所述之維特比解碼裝置,其中該預設路徑為一全零路徑。
- 如申請專利範圍第3項所述之維特比解碼裝置,其中該組輸入資料包含N筆輸入資料,該組重新編碼結果包含N個重新編碼結果,N為大於1之整數,該調整模組包含:一正負號判斷單元,用以取得該N筆重新編碼結果中之N個正負號;以及 一乘法器,用以將該N個正負號中之第i個正負號與該N筆輸入資料中之第i筆輸入資料相乘,以產生N筆調整後輸入資料,做為該組調整後輸入資料,其中i為範圍在1到N間之一整數指標。
- 如申請專利範圍第2項所述之維特比解碼裝置,其中該次要解碼器包含:一記錄單元,用以儲存複數個符碼記錄與各自對應於該複數個符碼記錄之一度量指標;一比較單元,用以接收一最新分支度量累積差異,並比較該最新分支度量累積差異與該記錄單元目前已記錄之度量指標;一更新單元,若該比較單元之判斷結果為該最新分支度量累積差異優於該記錄單元目前所記錄之度量指標,該更新單元根據該最新分支度量累積差異及其所對應之該存活路徑,更新該記錄單元目前所記錄之符碼記錄與度量指標;以及一符碼建立單元,用以判斷是否應於該記錄單元中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標;若判定應於該記錄單元中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,該符碼建立單元便根據該最新分支度量累積差異及其所對應之該存活路徑,於該記錄單元中建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。
- 一種維特比解碼方法,包含:(a)對一組輸入資料施以一維特比解碼程序,以產生一組主要解碼結果;(b)對該組主要解碼結果施以一迴旋編碼程序,以產生一組重新編碼結果;(c)根據該組重新編碼結果,調整該組輸入資料,使因此產生之一組調整後輸入資料對應於一維特比格狀圖中之一預設路徑;(d)根據該組調整後輸入資料產生複數個符碼;以及 (e)根據該複數個符碼以及該組主要解碼結果產生一組次要解碼結果。
- 如申請專利範圍第6項所述之維特比解碼方法,其中該產生複數個符碼之步驟包含:選擇出自該預設路徑中複數個節點回溯時不同於該預設路徑之一存活路徑,並且針對該複數個節點中的每一節點,計算被選出之該存活路徑與該預設路徑至該節點為止之一分支度量累積差異,以據以產生該複數個符碼。
- 如申請專利範圍第7項所述之維特比解碼方法,其中該預設路徑為一全零路徑。
- 如申請專利範圍第8項所述之維特比解碼方法,其中該組輸入資料包含N筆輸入資料,該組重新編碼結果包含N個重新編碼結果,N為大於1之整數,步驟(c)包含:取得該N筆重新編碼結果中之N個正負號;以及將該N個正負號中之第i個正負號與該N筆輸入資料中之第i筆輸入資料相乘,以產生N筆調整後輸入資料,做為該組調整後輸入資料,其中i為範圍在1到N間之一整數指標。
- 如申請專利範圍第7項所述之維特比解碼方法,其中步驟(d)包含:儲存複數個符碼記錄與各自對應於該複數個符碼記錄之一度量指標;接收一最新分支度量累積差異,並比較該最新分支度量累積差異與目前已記錄之所有度量指標;若判定該最新分支度量累積差異優於目前所記錄之度量指標,根據該最新分支度量累積差異及其所對應之該存活路徑,更新目前所記錄之符碼記錄與度量指標;判斷是否應建立一筆新的符碼記錄及對應於該符碼記錄之一度量指 標;以及若判定應建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標,根據該最新分支度量累積差異及其所對應之該存活路徑,建立一筆新的符碼記錄及對應於該符碼記錄之一度量指標。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104115236A TWI569589B (zh) | 2015-05-13 | 2015-05-13 | 維特比解碼裝置及維特比解碼方法 |
US15/153,842 US9871623B2 (en) | 2015-05-13 | 2016-05-13 | Viterbi decoding apparatus and viterbi decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104115236A TWI569589B (zh) | 2015-05-13 | 2015-05-13 | 維特比解碼裝置及維特比解碼方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201640834A TW201640834A (zh) | 2016-11-16 |
TWI569589B true TWI569589B (zh) | 2017-02-01 |
Family
ID=57277255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104115236A TWI569589B (zh) | 2015-05-13 | 2015-05-13 | 維特比解碼裝置及維特比解碼方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9871623B2 (zh) |
TW (1) | TWI569589B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469452A (en) * | 1991-09-27 | 1995-11-21 | Qualcomm Incorporated | Viterbi decoder bit efficient chainback memory method and decoder incorporating same |
TW351904B (en) * | 1996-04-09 | 1999-02-01 | Thomson Multimedia Sa | Digital packet data trellis decoder |
WO1999055010A1 (en) * | 1998-04-17 | 1999-10-28 | Tiernan Communications, Inc. | Method and apparatus for tcm decoding using qpsk viterbi decoder |
US6094465A (en) * | 1997-03-21 | 2000-07-25 | Qualcomm Incorporated | Method and apparatus for performing decoding of CRC outer concatenated codes |
US6639954B2 (en) * | 1998-05-28 | 2003-10-28 | Fujitsu Limited | Mobile communication terminal and transmission-bit-rate detection method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966412A (en) * | 1997-06-30 | 1999-10-12 | Thomson Consumer Electronics, Inc. | Apparatus and method for processing a Quadrature Amplitude Modulated (QAM) signal |
US6745365B2 (en) * | 1999-12-28 | 2004-06-01 | Hitachi Kokusai Electric Inc. | Coder with error correction, decoder with error correction and data transmission apparatus using the coder and decoder |
JP4432781B2 (ja) * | 2005-01-17 | 2010-03-17 | 株式会社日立製作所 | 誤り訂正復号器 |
-
2015
- 2015-05-13 TW TW104115236A patent/TWI569589B/zh not_active IP Right Cessation
-
2016
- 2016-05-13 US US15/153,842 patent/US9871623B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469452A (en) * | 1991-09-27 | 1995-11-21 | Qualcomm Incorporated | Viterbi decoder bit efficient chainback memory method and decoder incorporating same |
TW351904B (en) * | 1996-04-09 | 1999-02-01 | Thomson Multimedia Sa | Digital packet data trellis decoder |
US6094465A (en) * | 1997-03-21 | 2000-07-25 | Qualcomm Incorporated | Method and apparatus for performing decoding of CRC outer concatenated codes |
WO1999055010A1 (en) * | 1998-04-17 | 1999-10-28 | Tiernan Communications, Inc. | Method and apparatus for tcm decoding using qpsk viterbi decoder |
US6639954B2 (en) * | 1998-05-28 | 2003-10-28 | Fujitsu Limited | Mobile communication terminal and transmission-bit-rate detection method |
Also Published As
Publication number | Publication date |
---|---|
US9871623B2 (en) | 2018-01-16 |
US20160337082A1 (en) | 2016-11-17 |
TW201640834A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8751907B2 (en) | Joint encoding and decoding methods for improving the error rate performance | |
US7246294B2 (en) | Method for iterative hard-decision forward error correction decoding | |
JP5653936B2 (ja) | 削除訂正畳み込み符号および畳み込みターボ符号のための符号化法および復号法 | |
US10050642B2 (en) | Low power scheme for bit flipping low density parity check decoder | |
TW201815077A (zh) | 極化碼之並列連續消除解碼與連續消除清單解碼的裝置和方法、製造方法及建立方法 | |
US8433975B2 (en) | Bitwise reliability indicators from survivor bits in Viterbi decoders | |
US10812112B2 (en) | Methods and decoder for soft input decoding of generalized concatenated codes | |
JPH05335972A (ja) | ビタビ復号器 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US8904266B2 (en) | Multi-standard viterbi processor | |
US8566683B2 (en) | Power-reduced preliminary decoded bits in viterbi decoders | |
RU2701085C2 (ru) | Устройство и способ для отображения и обратного отображения сигналов в системе связи с использованием кода с малой плотностью проверок на четность | |
US8009773B1 (en) | Low complexity implementation of a Viterbi decoder with near optimal performance | |
JP2008118327A (ja) | ビタビ復号方法 | |
US7962841B2 (en) | Data decoding apparatus and method in a communication system | |
TWI569589B (zh) | 維特比解碼裝置及維特比解碼方法 | |
US8942326B2 (en) | Channel decoding method and tail biting convolutional decoder | |
Zhilin et al. | High-rate codes for high-reliability data transmission | |
CN108768412B (zh) | 一种低延时Viterbi译码方法及*** | |
US6948114B2 (en) | Multi-resolution Viterbi decoding technique | |
JP2010206570A (ja) | 復号装置、復号方法 | |
US11405136B1 (en) | Viterbi equalizer with soft decisions | |
US20240097706A1 (en) | Decoding method and decoding device | |
WO2015196565A1 (zh) | 一种多级编码装置、多级编码装置的实现方法及存储介质 | |
US8503585B2 (en) | Decoding method and associated apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |