TWI531171B - Window stop method for turbo decoding - Google Patents
Window stop method for turbo decoding Download PDFInfo
- Publication number
- TWI531171B TWI531171B TW102100274A TW102100274A TWI531171B TW I531171 B TWI531171 B TW I531171B TW 102100274 A TW102100274 A TW 102100274A TW 102100274 A TW102100274 A TW 102100274A TW I531171 B TWI531171 B TW I531171B
- Authority
- TW
- Taiwan
- Prior art keywords
- window
- decoding
- convergence
- core
- stop
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000012937 correction Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101000969594 Homo sapiens Modulator of apoptosis 1 Proteins 0.000 description 3
- 102100021440 Modulator of apoptosis 1 Human genes 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Description
本發明係關於一種用於渦輪解碼之視窗停止方法,尤其是一種用於渦輪解碼演算法,以減少渦輪解碼每一次疊代運算內部視窗之運算量,節省不必要運算進而降低功率消耗。
現今的通訊系統中,前饋式錯誤更正碼(Forward Error Correction,FEC)在系統中佔了很重要的角色,其主要目的是保護資料。一旦資料在經過錯誤更正碼模組編碼之後,即便在傳送過程中受到傳輸通道裡的雜訊干擾,仍可以在接收端經由解碼的過程後,正確無誤地收到所要傳送的訊息;而渦輪碼(Turbo Code,TC)是現今更正能力較好的前饋式錯誤更正碼之一,渦輪碼是藉由兩個軟式輸入軟式輸出解碼器疊代運算、彼此交換機率資訊,使其編碼增益逼近薛農極限(Shannon Limit),也因其優異之效能,渦輪碼也被廣泛地採用在各無線通訊標準中,例如:DVB、WCDMA、LTE、WiMAX…等,亦可被應用於電力線傳輸系統中,例如:HomePlug。
渦輪碼解碼是藉由軟式輸入軟式輸出(Soft-input Soft-output)演算法解碼器與交錯器彼此之間交換資訊,以進行疊代運算,能夠經過多次疊代(Iterative)運算且相互交換資訊,藉此提高錯誤更正能力。而現行的渦輪解碼器(Turbo Decoder)設計,大多採用視窗化(Window)解碼,以節省大量渦輪解碼延遲並提高渦輪碼吞吐量,然而隨著渦輪解碼器疊代運算次數增加,其消耗之功率也呈線性增加,進而縮短行動裝置使用之時間;
為了解決上述問題,目前已有許多研究提出多種早疊代終結技術(Early Termination Technique),而早疊代終結技術是一套有效偵測多餘疊代次數之技術,能夠提早停止已經收斂之渦輪解碼,並維持渦輪碼整體的解碼效能。然而早疊代終結技術只針對整個資訊框架收斂之狀況下,才停止整個渦輪解碼器之疊代運算,因此在早疊代終結技術條件尚未達成前,渦輪解碼並無法進一步停止內部解碼的運算,且無法偵測內部資訊並停止其運算。
因此,為了減少渦輪解碼每一次疊代運算內部視窗之運算量,以節省不必要運算進而降低功率消耗。在渦輪解碼中,會於軟式輸入軟式輸出解碼後執行視窗偵測,以偵測並記錄解碼資訊內各視窗之收斂狀況,故能於往後之疊代運算,針對已收斂之視窗停止其內部運算進而達到低功耗渦輪解碼之目的,如此應為一最佳解決方案。
本發明即在於提供一種用於渦輪解碼之視窗停止方法,能夠於渦輪解碼之軟式輸入軟式輸出解碼後執行視窗偵測,以偵測並記錄解碼資訊內各視窗之收斂狀況,故於往後之疊代運算,能夠針對已收斂之視窗停止其內部運算,以減少渦輪解碼每一次疊代運算內部視窗之運算量,節省不必要運算進而降低功率消耗。
可達成上述發明目的之用於渦輪解碼之視窗停止方法,係於每一次疊代運算中進行渦輪解碼時,當軟式輸入軟式輸出解碼器執行渦輪解碼後,使用視窗偵測器對解碼資訊進行視窗偵測,以偵測並記錄解碼資訊內各視窗之收斂狀況。
更具體的說,所述軟式輸入軟式輸出解碼器進行軟式輸入軟式輸出解碼後,能夠於視窗內產生解碼位元之軟式或硬式資訊,而該視窗偵測器係將視窗內之解碼位元之軟式或硬式資訊進行比對,以偵測各視窗之收斂狀況。
更具體的說,所述視窗偵測器判斷整個視窗都達到收斂時,記錄此視窗為收斂之視窗,並於之後的疊代運算中,停止已收斂視窗之運算。
更具體的說,所述停止已收斂視窗之運算,能夠使用一可靠資訊做為交換之外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
更具體的說,所述停止已收斂視窗之運算,能夠使用一記憶體暫存外部資訊,以提供軟式輸入軟式輸出解碼於停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
更具體的說,所述解碼資訊中係具有數個平行解碼核心,而該視窗偵測器判斷一個平行解碼核心中所有的視窗皆收斂時,該解碼核心可定義為一個收斂核心,該收斂核心將在之後的疊代運算中停止運算,而一個收斂核心之運算停止等同於停止該收斂核心中所有運算。
更具體的說,所述停止收斂核心之運算,能夠使用一可靠資訊做為交換之外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
更具體的說,所述停止收斂核心之運算,能夠使用一記憶體暫存外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
有關於本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之較佳實施例的詳細說明中,將可清楚的呈現。
請參閱圖一,為本發明一種用於渦輪解碼之視窗停止方法之主要架構示意圖,由圖中可知,本發明提出視窗式運算停止技術(Window-stopped,WS),為了能有效偵測各位元之收斂情況,於軟式輸入軟式輸出(Soft-input Soft-output,SISO)解碼器1後,插入視窗偵測器2(Window-based Detector,WBD),以偵測單一視窗內各點最大事後機率值是否大於預設之臨界值,最大事後機率值大於某個臨界值時,可以假設其解碼出之資訊是正確的,判斷為收斂;而該視窗偵測器2能夠運行視窗式運算停止技術及核心運算停止技術;而WBD將在之後的疊代運算中,當整個視窗(Window)都達到收斂時,紀錄此視窗為收斂之視窗,並在之後疊代運算中,停止已收斂視窗之運算以減少功耗。
而於渦輪解碼過程中,一前向遞迴運算單元能夠將每個平行解碼框架中的最後一個位元計算並儲存,以等待下一次疊代運算,將其讀出給此次疊代運算中的前向遞迴運算單元當初使值使用;而一後向遞迴運算單元能夠將每個視窗中的最後一個位元計算完並儲存,以等待下一次疊代運算時,讀出上次疊代運算中最後一個位元資料給後向遞迴運算單元當初始值使用;然而,單純的視窗停止運算,並未停止前向遞迴運算單元,其前向運算單元仍需繼續計算,以提供給下一個視窗可靠的初始值;因此,本發明再以視窗式運算停止技術為基礎,延伸出核心運算停止
(Kernel-stopped,KS),若一個MAP解碼核心(Decoding Kernel)中所有的視窗皆收斂,可定義該解碼核心為一個收斂核心,該收斂核心將在之後的疊代運算中停止運算,而一個核心的運算停止如同停止該核心中所有的運算,其中包含視窗中的所有運算以及前向遞迴運算單元;由圖二中可知,若渦輪解碼器中有兩個MAP解碼核心(MAP0、MAP1),每個MAP解碼核心中皆有兩個視窗(Window 0、1及Window 2、3),而MAP0中具有一個收斂視窗(Window 0)及一個未收斂視窗(Window 1),且MAP1中具有兩個收斂視窗(Window 2、Window 3),因此能夠定義MAP1為一個收斂的解碼核心;而於渦輪碼的疊代運算中,如圖三所示,進入本次軟式輸入軟式輸出解碼運算301,根據上次記錄之收斂視窗與收斂核心停止其運算302,而後先使用視窗運算停止技術偵測已收斂視窗303,若判斷有收斂,則記錄視窗收斂狀況304,再使用核心運算停止技術偵測已收斂核心305,若判斷有收斂,則記錄核心收斂狀況306後,再次進入下一次的軟式輸入軟式輸出解碼運算307;若判斷為未收斂之視窗或未收斂之核心,則再次進入軟式輸入軟式輸出解碼運算307;此外,針對停止運算之視窗或核心,由於缺乏用來與下一軟式輸入軟式輸出解碼交換之外部資訊(Extrinsic Information),本發明亦提出利用外部記憶體暫存交換外部資訊或一可靠資訊做為交換之外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
而本發明提供WiMAX與HomePlug兩種渦輪碼機制做為實施例,第
一實施例係於WiMAX渦輪碼機制下,採用單一解碼核心,以偵測視窗收斂之狀況,本解碼器採用WiMAX通訊標準之渦輪碼標準,在資訊框架1920位元下,最大疊代次數8次,加性高斯白雜訊通道做為模擬條件,在硬體實現上,本技術採用TSMC 90奈米製程進行合成模擬驗證。在操作頻率250 MHz下,經由Synopsys Design Vision軟體合成及Synopsys Prime Power分析功率消耗後,面積及功率消耗分析如圖四及圖五所示,而圖五中之SISO logic係為軟式輸入軟式輸出邏輯單元,該軟式輸入軟式輸出邏輯單元係包含了前向運算遞迴單元、後向遞迴運算單元及事後機率運算單元;由圖五及圖六可知,在採用本技術後,針對已收斂之視窗,可額外減少約57%之功率消耗,再搭配圖六可知,於Eb/N0 0.4 dB以後,可節省之功率消耗已大於所增加之功率代價。
而本發明之第二實施例則是於HomePlug渦輪碼機制下,採用多解碼核心,以偵測核心收斂與視窗收斂之狀況,本解碼器採用HomePlug通訊標準之渦輪碼標準,其中使用資訊框架長度128、1088、4160,最大疊代次數8次,加性高斯白雜訊通道做為模擬條件,由圖七中可知,各個資訊框架中所使用的平行解碼核心個數與核心中所包含的視窗數目及視窗長度皆有所不同,由圖中可知,核心中的視窗個數是由視窗長度與平行解碼核心個數所決定的,而視窗長度決定了達成視窗運算停止條件的難易度,核心中的視窗個數也決定了達成核心運算停止條件的難易度。
本發明為了計算已收斂之視窗與核心所省下的運算量,我們在此定義視窗停止運算率(Window Reduction Rate,WRR)與核心停止運算率(Kernel Reduction Rate,KRR),而總停止率(Total Reduction Rate,TRR)則是WRR
和KRR的總和,由圖八中知,WRR與KRR所停止的視窗並未重複計算,而各信雜比(Eb/N0)下的視窗停止率與核心停止率則如圖中所示;此外,為了分析渦輪解碼器,本發明採用TSMC 90nm製成,Synopsys Design Vision頻率操作在250MHz,而為了省去更多的能源消耗,我們結合視窗式運算停止技術、核心運算停止技術與早疊代終結技術,其中早疊代終結技術偵測已收斂的疊代運算進而停止整個渦輪解碼的運算,而在未收斂的疊代運算中,藉著使用核心運算停止技術偵測已收斂的核心進而停止收斂核心的運算;然而在未收斂的核心中,藉著使用視窗式運算停止技術偵測已收斂的視窗進而停止收斂視窗的運算,其中收斂的視窗、核心並不重疊;請參考圖九,整理了驗證後停止的運算單元實際節省的功率,其中未收斂視窗、收斂視窗與收斂核心皆使用Synopsys PrimePower所量測出的功率,其中包含了其它軟式輸入軟式輸出邏輯單元(SISO logic)、前向遞迴運算單元、後向遞迴運算單元、事後機率運算單元、分支記憶體(BMC)、前向記憶體(SMM)、整個解碼核心(SISO)、整體之功率,而SISO logic係包含有分支運算單元、暫存器與控制訊號,其中其它軟式輸入軟式輸出邏輯單元(SISO logic)並不包含前向運算遞迴單元、後向遞迴運算單元及事後機率運算單元,僅包含剩餘的控制單元,故與圖五的SISO logic(軟式輸入軟式輸出邏輯單元)不同;其最後測試結果由圖九中可知,收斂視窗與未收斂視窗相比約可省64%的功率,而本發明所提出之收斂核心更可節省96.6%的功率。
本發明所提供之一種用於渦輪解碼之視窗停止方法,與其他習用技術
相互比較時,更具備下列優點:
1.本發明能夠減少渦輪解碼每一次疊代運算內部視窗之運算量,並節省不必要運算進而降低功率消耗,而在渦輪解碼中,會於軟式輸入軟式輸出解碼後執行視窗偵測,以偵測並記錄解碼資訊內各視窗之收斂狀況,故能於往後之疊代運算,針對已收斂之視窗停止其內部運算進而達到低功耗渦輪解碼之目的。
2.本發明與早疊代終結技術不同,早疊代終止技術能夠停止整個疊代運算,然而早疊代終結技術條件尚未達成前,渦輪解碼無法進一步停止內部解碼的運算;而本發明則是提出視窗式運算停止技術與核心運算停止技術,藉由偵測軟式輸入軟式輸出解碼得到之資訊,進而判斷視窗與收斂核心之收斂狀況,而達到收斂時,則停止視窗與收斂核心之運算以減少功耗,因此能在整個資訊框架收斂前,額外偵測部分收斂之視窗,並停止其運算,以達到低功耗渦輪碼設計。
3.本發明所偵測已收斂之視窗、已收斂之核心並不相互重疊,故本發明有別於早疊代終結技術,能在整個資訊框架收斂前,額外偵測部分收斂之視窗,並停止其運算,以達到低功耗之設計。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
1‧‧‧軟式輸入軟式輸出解碼器
2‧‧‧視窗偵測器
圖一為本發明用於渦輪解碼之視窗停止方法之主要架構示意圖;圖二為本發明用於渦輪解碼之視窗停止方法之收斂視窗與收斂核心示意圖;圖三為本發明用於渦輪解碼之視窗停止方法之偵測判斷流程圖;圖四為本發明用於渦輪解碼之視窗停止方法之第一實施例之渦輪解碼器面積比較示意圖;圖五為本發明用於渦輪解碼之視窗停止方法之第一實施例之功率消耗比較示意圖;圖六為本發明用於渦輪解碼之視窗停止方法之第一實施例之視窗收斂停止比率示意圖;圖七為本發明用於渦輪解碼之視窗停止方法之第二實施例之資訊框架的平行解碼核心個數與視窗個數示意圖;圖八為本發明用於渦輪解碼之視窗停止方法之第二實施例之信雜比下的WRR與KRR使用符號標準示意圖;以及圖九為本發明用於渦輪解碼之視窗停止方法之第二實施例之未收斂視窗、收斂視窗與收斂核心之功率比較示意圖。
Claims (7)
- 一種用於渦輪解碼之視窗停止方法,係於每一次疊代運算中進行渦輪解碼時,當軟式輸入軟式輸出解碼器執行渦輪解碼後,使用視窗偵測器對解碼資訊進行視窗偵測,以偵測並記錄解碼資訊內各視窗之收斂狀況,其中該視窗偵測器判斷整個視窗都達到收斂時,記錄此視窗為收斂之視窗,並於之後的疊代運算中停止已收斂視窗之運算,但於停止已收斂視窗之運算時、並未停止一前向遞迴運算單元,其前向運算單元仍需繼續計算,以提供給下一個視窗可靠的初始值。
- 如申請專利範圍第1項所述用於渦輪解碼之視窗停止方法,其中該軟式輸入軟式輸出解碼器進行軟式輸入軟式輸出解碼後,能夠於視窗內產生解碼位元之軟式或硬式資訊,而該視窗偵測器係將視窗內之解碼位元之軟式或硬式資訊進行比對,以偵測各視窗之收斂狀況。
- 如申請專利範圍第1項所述用於渦輪解碼之視窗停止方法,其中於並未停止一前向遞迴運算單元的情況下、停止已收斂視窗之運算,能夠使用一可靠資訊做為交換之外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
- 如申請專利範圍第1項所述用於渦輪解碼之視窗停止方法,其中於並未停止一前向遞迴運算單元的情況下、停止已收斂視窗之運算,能夠使用一記憶體暫存外部資訊,以提供軟式輸入軟式輸出解碼於停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
- 如申請專利範圍第2項所述用於渦輪解碼之視窗停止方法,其中該解碼資訊中係具有數個平行解碼核心,而該視窗偵測器判斷一個平行解 碼核心中所有的視窗皆收斂時,該解碼核心可定義為一個收斂核心,該收斂核心將在之後的疊代運算中停止運算,而一個收斂核心之運算停止等同於停止該收斂核心中所有運算。
- 如申請專利範圍第5項所述用於渦輪解碼之視窗停止方法,其中停止收斂核心之運算,能夠使用一可靠資訊做為交換之外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
- 如申請專利範圍第5項所述用於渦輪解碼之視窗停止方法,其中停止收斂核心之運算,能夠使用一記憶體暫存外部資訊,以提供軟式輸入軟式輸出解碼能夠在停止部分運算下,依舊繼續正常運作並維持其錯誤更正能力。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW102100274A TWI531171B (zh) | 2013-01-04 | 2013-01-04 | Window stop method for turbo decoding |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW102100274A TWI531171B (zh) | 2013-01-04 | 2013-01-04 | Window stop method for turbo decoding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201429170A TW201429170A (zh) | 2014-07-16 |
| TWI531171B true TWI531171B (zh) | 2016-04-21 |
Family
ID=51726235
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW102100274A TWI531171B (zh) | 2013-01-04 | 2013-01-04 | Window stop method for turbo decoding |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI531171B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI672911B (zh) * | 2019-03-06 | 2019-09-21 | 瑞昱半導體股份有限公司 | 解碼方法及相關電路 |
-
2013
- 2013-01-04 TW TW102100274A patent/TWI531171B/zh not_active IP Right Cessation
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI672911B (zh) * | 2019-03-06 | 2019-09-21 | 瑞昱半導體股份有限公司 | 解碼方法及相關電路 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201429170A (zh) | 2014-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7454684B2 (en) | Apparatus and method for turbo decoder termination | |
| CN104579369B (zh) | 一种Turbo迭代译码方法和译码装置 | |
| CN101951266B (zh) | Turbo并行译码的方法及译码器 | |
| CN102111162B (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
| CN102571108B (zh) | 一种应用于Turbo乘积码的自适应迭代译码方法 | |
| CN102523076A (zh) | 通用可配置的高速率Turbo码译码系统及其方法 | |
| CN104767537B (zh) | 一种用于OFDM电力线通信系统的Turbo译码方法 | |
| CN103124181A (zh) | 一种基于余弦相似度的Turbo码译码迭代停止方法 | |
| CN101674094A (zh) | 一种Turbo码信道自适应实现方法 | |
| CN101106380A (zh) | 一种ldpc码的迭代译码方法及装置 | |
| TWI531171B (zh) | Window stop method for turbo decoding | |
| US8918695B2 (en) | Methods and apparatus for early stop algorithm of turbo decoding | |
| CN111224676B (zh) | 一种自适应串行抵消列表极化码译码方法及系统 | |
| CN102832954B (zh) | 一种基于软信息平均最小值的Turbo码译码迭代停止方法 | |
| US10461776B2 (en) | Device and method of controlling an iterative decoder | |
| US8984377B2 (en) | Stopping methods for iterative signal processing | |
| TWI504162B (zh) | A layer operation stop method for low density parity check decoding | |
| CN112398486A (zh) | 利用多种纠错方式进行优化的Turbo码交织参数识别方法及系统 | |
| Huang et al. | Information theoretic criterion for stopping turbo iteration | |
| CN105515591B (zh) | 一种Turbo码译码系统及方法 | |
| TWI555339B (zh) | 疊代式解碼裝置、疊代式訊號檢驗裝置與資訊更新方法 | |
| CN100486235C (zh) | 软信息保留的迭代接收方法 | |
| CN103701475B (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
| CN106330206A (zh) | 一种译码方法及装置 | |
| Mohamad et al. | Early stopping turbo iteration at low SNR for CE-based stopping criteria |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |