TWI650954B - 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 - Google Patents
用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 Download PDFInfo
- Publication number
- TWI650954B TWI650954B TW105134927A TW105134927A TWI650954B TW I650954 B TWI650954 B TW I650954B TW 105134927 A TW105134927 A TW 105134927A TW 105134927 A TW105134927 A TW 105134927A TW I650954 B TWI650954 B TW I650954B
- Authority
- TW
- Taiwan
- Prior art keywords
- length
- decoding
- symbol rate
- recursive
- decoding device
- 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/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- 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/27—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 using interleaving techniques
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- 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/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- 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/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- 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/0071—Use of interleaving
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
一種用於一通訊系統中一迴旋碼解碼裝置的解碼方法,包含有接收一迴旋編碼資料;根據該迴旋編碼資料的一符號率,決定一遞迴次數;以及執行該遞迴次數的遞迴式解碼程序,以解碼該迴旋編碼資料。
Description
本發明係指一種用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組,尤指一種能夠根據所接收迴旋碼編碼資料的符號率調整迴旋碼解碼遞迴次數的解碼方法及相關的判斷模組。
在一無線通訊系統的無線通道傳送無線訊號時,無線訊號可能會在通過無線通道的過程中遭受頻率及時間選擇性衰落衰退,從而導致訊號失真。為了降低無線通道所造成的影響,無線通訊系統中一傳送器會預先對傳輸資料進行編碼(Encoding)、調變(Modulating)、交錯(Interleaving)等程序,再透過無線方式進行傳輸。如此一來,於無線通訊系統中一接收器接收無線訊號時,接收器即可利用接收到的無線訊號進行通道估測(Channel Estimation)、解調(Demodulating)、錯誤更正解碼(Error Correction Decoding,ECC Decoding)等程序,以回復受損的接收訊號。
典型接收器包含一通道估測器及一錯誤更正解碼器。通道估測器用來估測通道響應(Channel Response)以回復接收訊號相位及振幅的失真,而錯
誤更正解碼器則根據一錯誤更正碼,校正接收訊號中決策錯誤的位元。常用的錯誤更正碼有迴旋碼(Convolutional Code)、低密度奇偶校驗碼(Low Density Parity Check Code,LDPC)及渦輪碼(Turbo Code)等等。由於渦輪碼已被證實可接近傳輸理論的謝農極限(Shannon Limit),因此近年來渦輪碼被廣泛地使用在衛星通訊、數位影像傳輸以及第三代合作夥伴計畫(3GPP)長程演進計畫(Long Term Evolution,LTE)中。
在進行渦輪碼的解碼程序時,需進行多次的遞迴運算,以達到優異的正確率。然而,過多次的遞迴運作會大幅延遲解碼的速度。因此,如何同時兼顧解碼速度及解碼正確率便成為業界亟欲探討之議題。
為了解決上述的問題,本發明提供了一種能夠根據所接收迴旋碼編碼資料的符號率調整迴旋碼解碼遞迴次數的解碼方法及相關的判斷模組。
在一方面,本發明揭露一種用於一通訊系統中一迴旋碼解碼裝置的解碼方法。此解碼方法包含有接收一迴旋編碼資料;根據該迴旋編碼資料的一符號率,決定一遞迴次數;以及執行該遞迴次數的遞迴式解碼程序,以解碼該迴旋編碼資料。
在另一方面,本發明揭露一種用於一通訊系統中一迴旋碼解碼裝置的判斷模組。此判斷模組包含有一算法單元,用來計算該迴旋解碼裝置所接收迴旋編碼資料的一符號率與一符號率閾值間的差異,作為一差值訊號;一判斷單元,用來根據該差值訊號,產生一選擇訊號;以及一選擇單元,用來根據該
選擇訊號,輸出一第一長度及一第二長度其中一者作為該迴旋碼解碼裝置執行一遞迴式解碼程序的一移動視窗長度。
10‧‧‧解碼裝置
50‧‧‧解碼方法
500~508‧‧‧步驟
60‧‧‧判斷模組
600‧‧‧算法單元
602‧‧‧判斷單元
604‧‧‧選擇單元
ARI1、ARI2‧‧‧算術模組
C1、C2‧‧‧常數
DEI1、DEI2‧‧‧解交織器
DIFF‧‧‧差值訊號
INT1、INT2‧‧‧交織器
LLR(ui)、LLR(p)、LLR(q)‧‧‧輸入資訊
LLR1(ui)、LLR2(ui)、LLR1e(ui)、LLR2e(ui)‧‧‧外部資訊
LLR_p1(ui)、LLR_p2(ui)‧‧‧事前資訊
OUT‧‧‧輸出資訊
p、q‧‧‧檢查位元
SDW、SDW1、SDW2、SDW_O‧‧‧長度
SEL‧‧‧選擇訊號
SISO1、SISO2‧‧‧軟式輸入輸出解碼模組
ui‧‧‧資料位元
α0_1~α17_18‧‧‧前向狀態路徑值
β1_0~β18_17‧‧‧分支路徑值
λ1_0~λ18_17‧‧‧後向狀態路徑值
第1圖為本發明實施例中一解碼裝置的示意圖。
第2圖為第1圖所示解碼裝置運作時相關訊號的示意圖。
第3圖為第1圖所示解碼裝置運作時相關訊號的示意圖。
第4圖為第1圖所示解碼裝置運作時相關訊號的示意圖。
第5圖為本發明實施例一解碼方法的流程圖。
第6圖為本發明實施例一判斷模組的示意圖。
請參考第1圖,第1圖為本發明實施例中一解碼裝置10的示意圖。解碼裝置10用於一通訊系統的渦輪碼(Turbo Code)解碼器,用來產生用於判斷資料位元ui的輸出資訊OUT。在此實施例中,通訊系統可為如智慧型手機、平板電腦、筆記型電腦、無線基地台等具有通訊功能的電子產品,且不限於此。如第1圖所示,解碼裝置10包含有軟式輸入輸出(Soft-In Soft-out,SISO)解碼模組SISO1、SISO2、算術模組ARI1、ARI2、交織器(Interleaver)INT1、INT2及解交織器(De-Interleaver)DEI1、DEI2。解碼裝置10具有3個輸入資訊LLR(ui)、LLR(p)及LLR(q),其中p、q為資料位元ui的檢查位元且LLR(ui)、LLR(p)及LLR(q)分別為資料位元ui、檢查位元p、q的對數概似比(Log-Likelihood Ratio,LLR)。軟式輸入輸出解碼模組SISO1用來根據輸入資訊LLR(ui)、LLR(p)及事前資訊LLR_p1(ui),產生外部資訊LLR1(ui)。算術單元ARI1將外部資訊LLR1
(ui)減去輸入資訊LLR(ui)及事前資訊LLR_p1(ui)後,產生外部資訊LLR1e(ui)至交織器INT1,以使交織器INT1重新排列外部資訊LLR1e(ui)來產生輸出至軟式輸入輸出解碼模組SISO2的事前資訊LLR_p2(ui)。相似地,軟式輸入輸出解碼模組SISO2根據交織後的輸入資訊LLR(ui)及輸入資訊LLR(q)及事前資訊LLR_p2(ui),產生外部資訊LLR2(ui)。算術單元ARI2將外部資訊LLR2(ui)減去交織後的輸入資訊LLR(ui)及事前資訊LLR_p2(ui)後,產生外部資訊LLR2e(ui)至解交織器DEI1,以使解交織器DEI1重新排列外部資訊LLR2e(ui)來產生輸出至軟式輸入輸出解碼模組SISO1的事前資訊LLR_p1(ui)。透過重覆上述遞迴式解碼程序,解碼裝置10可產生可靠的軟式輸出資訊OUT。如此一來,通訊系統即可根據輸出資訊OUT,決定資料位元ui的值。
詳細來說,當通訊系統裡面的解碼器接收到一碼字(Codeword)且其係以渦輪碼進行編碼的迴旋編碼資料時,便會使用解碼裝置10進行解碼,以分別產生迴旋編碼資料的複數個資料位元U1~Un的輸出資訊OUT(即依序將資料位元U1~Un作為資料位元ui輸入至解碼裝置10),並據以判斷資料位元U1~Un。在進行上述遞迴式解碼程序時,若軟式輸入輸出解碼模組SISO1、SISO2採用最大事後機率(Maximum a Posterior Probability(MAP))演算法,軟式輸入輸出解碼模組SISO1、SISO2必須分別計算於接收迴旋編碼資料時不同階段的前向狀態路徑值(Forward State Metric)、後向狀態路徑值(Backward State Metric)及分支路徑值(Branch Metric),以判斷資料位元U1~Un中每一資料位元的最大可能事後機率。舉例來說,當解碼裝置10接收迴旋編碼資料時,軟式輸入輸出解碼模組SISO1、SISO2會計算接收迴旋編碼資料過程中階段L0~Lj的前向狀態路徑值、後向狀態路徑值及分支路徑值。在一實施例中,若軟式輸入輸出解碼模組SISO1、SISO2欲計算階段Lk(0≦k≦j)的前向狀態路徑值、後向狀態路徑值及分支路徑
值,軟式輸入輸出解碼模組SISO1、SISO2係根據階段L0~Lk所接收到迴旋編碼資料計算前向狀態路徑值、根據階段Lj~Lk所接收到迴旋編碼資料計算後向狀態路徑值及根據階段Lk+1~Lk所接收到迴旋編碼資料計算分支路徑值。
然而,軟式輸入輸出解碼模組SISO1、SISO2於計算階段Lj~L0的後向狀態路徑值時必須先取得階段L0~Lj的前向狀態路徑值及分支路路徑值,因此軟式輸入輸出解碼模組SISO1、SISO2必須在階段Lj完成接收迴旋編碼資料並計算出階段L0~Lj的前向狀態路徑值及分支路路徑值後,才能開始計算階段Lj~L0的後向狀態路徑值並據以判斷出最大可能事後機率。在此狀況下,軟式輸入輸出解碼模組SISO1、SISO2需使用大量的記憶體來儲存階段L0~Lj的前向狀態路徑值及分支路路徑值,且解碼裝置10所需的解碼時間也會過長。
為了降低所需記憶體容量及提高解碼速度,軟式輸入輸出解碼模組SISO1、SISO2可採用可移動視窗(Sliding Window)的架構,來降低計算每一階段之前向狀態路徑值、後向狀態路徑值及分支路路徑值所需使用的資料量。舉例來說,當解碼裝置10接收迴旋編碼資料時,軟式輸入輸出解碼模組SISO1、SISO2會依據可移動視窗的大小切割迴旋編碼資料以取得階段L0~Lj,並於階段L2開始運算所需的前向狀態路徑值、後向狀態路徑值及分支路路徑值。詳細來說,在階段Lk(2≦k≦j),軟式輸入輸出解碼模組SISO1、SISO2會根據階段Lk-2~Lk-1所接收的迴旋編碼資料計算階段Lk-1的前向狀態路徑值,並根據階段Lk~Lk-1所接收的迴旋編碼資料計算階段Lk-1的分支狀態路徑值。在階段Lk+1取得階段Lk-1的前向狀態路徑值及分支狀態路徑值後,軟式輸入輸出解碼模組SISO1、SISO2可根據階段Lk-1的前向狀態路徑值及分支狀態路徑值計算階段Lk-2的後向狀態路徑值。接下來,軟式輸入輸出解碼模組SISO1、SISO2在取得階段
Lk-2的後向狀態路徑值後,即可據以解碼階段Lk-2~Lk-1所接收的迴旋編碼資料。
進一步地,為了達到即時(Real Time)解碼的目的,解碼裝置10執行遞迴解碼的時間必須低於通訊系統接收迴旋編碼資料所需的時間。因此,解碼裝置10執行迴旋解碼程序的遞迴解碼的次數可以下列公式表示:
其中,floor(x)為取小於等於x的最大整數的函數。舉例來說,當x=3.14時,floor(x)=3。clockcycle為通訊系統中硬體的時脈週期,FEC為通訊系統中解碼裝置10的數量,SR為前級電路輸出訊號的符號率(Symbol Rate)(如解碼裝置10所接收的迴旋編碼資料的符號率),tre_len為迴旋編碼資料的長度(如柵欄長度),DS為迴旋編碼資料中單位資料量的數量(如迴旋編碼資料以元組(tuple)為單位計數的數量),turbo_clk為解碼裝置10的時脈週期,siso_num為軟式輸入輸出解碼模組SISO1、SISO2中平行處理迴旋編碼資料的硬體數量,SDW為移動視窗的長度。需注意的是,公式(1)中C1、C2為依據通訊系統硬體特性所決定的參數,其中C2相關於軟式輸入輸出解碼模組SISO1、SISO2的處理速度。也就是說,參數C1、C2會隨著不同通訊系統的硬體特性而改變。在一實施例中,參數C1、C2分別為2.2及10。
簡單來說,函數floor( )中數值的分母部份為通訊系統接收迴旋編碼資料所需花費的時間,而函數floor( )中數值的分子則為解碼裝置10完成一次遞迴解
碼程序所需花費的時間。因此,利用公式(1)所取得數值即代表在通訊系統接收迴旋編碼資料的期間解碼裝置10可完成迴旋解碼程序的遞迴次數。也就是說,若解碼裝置10採用公式(1)來計算解碼裝置10於解碼過程中所進行的遞迴次數,即可達成即時解碼的目標。
在本發明實施例中,解碼裝置10於迴旋解碼過程中所進行的遞迴次數會隨著迴旋編碼資料的符號率SR改變,以提高解碼裝置10的效能(如吞吐量(Throughput))。當迴旋編碼資料的符號率SR上升時,解碼裝置10會降低迴旋解碼過程所進行的遞迴次數,以維持解碼裝置10的解碼正確性。而當迴旋編碼資料的符號率SR下降時,解碼裝置10會提高迴旋解碼過程所進行的遞迴次數。由於迴旋編碼資料的符號率SR較低的話,遞迴的次數需要增加,解碼裝置10的解碼正確性才能達到通訊系統的要求。
在一實施例中,解碼裝置10係透過調整移動視窗的長度SDW,來達成依據迴旋編碼資料的符號率SR改變迴旋解碼過程中所進行的遞迴次數的目的。當迴旋編碼資料的符號率SR提高時,移動視窗的長度SDW會被降低,以增加迴旋解碼過程中所進行的遞迴次數來維持解碼裝置10的解碼正確性。另一方面,當迴旋編碼資料的符號率SR降低時,移動視窗的長度SDW則會增加,以減少迴旋解碼過程中所進行的遞迴次數。此時,由於迴旋編碼資料的符號率SR較低,即使遞迴的次數減少,解碼裝置10的解碼正確性仍能達到通訊系統的要求。也就是說,本發明實施例會根據所接收迴旋編碼資料的符號率SR,調整移動視窗的長度SDW,以決定執行迴旋解碼程序時的遞迴次數。透過依據迴旋編碼資料的符號率SR來調整移動視窗的長度SDW(即決定執行的迴旋解碼程序時的遞迴次數),解碼裝置10可同時達到即時解碼及提高效能的目標。
在一實施例中,當根據符號率SR及公式(1)計算所得的遞迴次數大於16次時,解碼裝置10將移動視窗的長度設為SDW1;反之,解碼裝置10將移動視窗的長度設為SDW2。在此實施例中,長度SDW1大於長度SDW2。也就是說,當遞迴次數大於16次時,解碼裝置10會將增加移動視窗的長度,以降低遞迴次數;反之,解碼裝置10會將增加移動視窗的長度,以提升遞迴次數。
在另一實施例中,當符號率SR小於一符號率閾值SR_TH時,解碼裝置10將移動視窗的長度設為SDW1;反之,解碼裝置10將移動視窗的長度設為SDW2,其中長度SDW1大於長度SDW2。換言之,解碼裝置10係根據符號率SR與符號率閾值SR_TH間之大小關係來決定移動視窗的長度為長度SDW1或SDW2。
請參考第2圖,第2圖為第1圖所示解碼裝置10運作時柵欄位置與時間的對應圖,其中時間係以移動視窗的長度SDW作為單位長度。在第2圖中,移動視窗的長度SDW為48。如第2圖所示,解碼裝置10於時間點0開始接收資料,並於時間點2*SDW時開始解碼。在時間點2*SDW時,解碼裝置10計算時間點2*SDW~SDW的迴旋編碼資料的分支路徑值β2_1及時間點0~SDW的前向狀態路徑值α0_1。接下來,在時間點3*SDW時,解碼裝置10計算時間點3*SDW~2*SDW的迴旋編碼資料的分支路徑值β3_2及時間點SDW~2*SDW的迴旋編碼資料的前向狀態路徑值α1_2,並依據分支路徑值β2_1計算時間點SDW~0的迴旋編碼資料的後向狀態路徑值λ1_0。在取得時間點SDW的後向狀態路徑值λ1_0後,解碼裝置10即可依據前向狀態路徑值α0_1及後向狀態路徑值λ1_0,解碼時間點0~SDW的迴旋編碼資料。透過重複上述的步驟,解碼裝置10在時間點12*SDW完成接收迴旋編碼資料後,可於時間點14*SDW+C2取得解碼時間點12*SDW~
11*SDW的迴旋編碼資料的後向狀態路徑值λ12_11,並解碼出時間點11*SDW~12*SDW的迴旋編碼資料。由第2圖可知,當移動視窗SDW的長度為48時,解碼裝置需花費14*48+C2的時間來解碼迴旋編碼資料。
當迴旋編碼資料的符號率上升時,解碼裝置10會降低移動視窗的長度SDW,以提高迴旋解碼程序的遞迴次數。請參考第3圖,第3圖為第1圖所示解碼裝置10運作時柵欄位置與時間的對應圖,其中時間係以移動視窗的長度SDW作為單位長度且第3圖中移動視窗的長度SDW降低至32。第3圖中解碼裝置10進行迴旋解碼程序的步驟與第2圖中解碼裝置10進行迴旋解碼程序的步驟相似,為求簡潔,在此不贅述。根據第3圖,當移動視窗的長度SDW由48降低至32時,解碼裝置10解碼相同長度的迴旋編碼資料所需時間可減少至32*20+C2,從而在達到即時解碼的要求下提高迴旋解碼程序的遞迴次數。因此,當迴旋編碼資料的符號率上升時,解碼裝置10可透過降低移動視窗的長度SDW來提高迴旋解碼程序的遞迴次數,以維持解碼裝置10的解碼正確性。
請參考第4圖,第4圖為第1圖所示解碼裝置10運作時柵欄位置與時間的對應圖,其中時間係以移動視窗的長度SDW作為單位長度,且第4圖中移動視窗的長度SDW提升至64。第4圖中解碼裝置10進行迴旋解碼程序的步驟與第2圖中解碼裝置10進行迴旋解碼程序的步驟相似,為求簡潔,在此不贅述。相較於第2圖,當移動視窗的長度SDW由48上升至64時,解碼裝置10解碼相同長度的迴旋編碼資料所需時間增加,從而在達到即時解碼的要求下降低迴旋解碼程序的遞迴次數。由於迴旋編碼資料的符號率下降,即使迴旋解碼程序的遞迴次數降低,解碼裝置10的解碼正確率仍能達到系統的要求。因此,當迴旋編碼資料的符號率下降時,解碼裝置10可藉由增加移動視窗的長度SDW來降低迴旋解碼程序的
遞迴次數。由於迴旋編碼資料的符號率SR較低,即使遞迴的次數減少,解碼裝置10的解碼正確性仍能達到通訊系統的要求。
上述解碼裝置10根據所接收迴旋編碼資料的符號率SR決定執行遞迴式解碼程序的遞迴次數的流程可歸納為一解碼方法50,如第5圖所示。解碼方法50可用於一通訊系統中一迴旋碼解碼裝置(如解碼裝置10),且包含有以下步驟:
步驟500:開始。
步驟502:接收一迴旋碼編碼資料。
步驟504:根據該迴旋碼編碼資料的一符號率,決定一遞迴次數。
步驟506:執行該遞迴次數的遞迴式解碼程序,以解碼該迴旋編碼資料。
步驟508:結束。
根據解碼方法50,迴旋碼解碼裝置首先接收一迴旋碼編碼資料,並根據此迴旋碼編碼資料的一符號率,決定解碼該迴旋編碼資料時執行遞迴式解碼程序的遞迴次數。在一實施例中,迴旋碼解碼裝置係根據迴旋編碼資料的符號率,調整遞迴式解碼程序中一移動視窗的長度,從而決定執行遞迴式解碼程序的遞迴次數。其中,移動視窗的長度為遞迴式解碼程序中用來分割迴旋編碼資料的單位長度。透過採用解碼方法40,迴旋碼解碼裝置可於迴旋碼編碼資料的符號率上升時降低移動視窗的長度,以提高執行遞迴式解碼程序的遞迴次數來維持迴旋碼解碼裝置的解碼正確率;另一方面,當迴旋碼編碼資料的符號率下降時,迴旋碼解碼裝置會提升移動視窗的長度,以減少執行遞迴式解碼程序的遞迴次數。在迴旋編碼資料的符號率下降的情況下,即使迴旋解碼程序的遞迴次數降低,解碼裝置10的解碼正確率仍能達到系統的要求。
請參考第6圖,第6圖為本發明實施例一判斷模組60的示意圖。判斷模組60可用於具有計算最大事後機率功能的解碼電路(如第1圖所示的解碼裝置10)中,用來依據電路所接收迴旋碼編碼資料的符號率調整解碼電路進行遞迴式解碼程序時所使用的視窗長度(即調整遞迴式解碼程序的遞迴次數)。如第6圖所示,判斷模組60包含有一算法單元600、一判斷單元602、一選擇單元604。算法單元600可為一減法器,用來計算迴旋碼編碼資料的符號率SR與一符號率閾值SR_TH間的差值作為一差值訊號DIFF。根據差值訊號DIFF與0間之關係,判斷單元602產生選擇訊號SEL來控制選擇單元604輸出視窗長度SDW1或SDW2作為解碼電路進行遞迴式解碼程序時所使用的移動視窗長度SDW_O。當差值訊號DIFF小於0時(符號率SR小於符號率閾值SR_TH),判斷單元602控制選擇單元604輸出視窗長度SDW1作為解碼電路進行遞迴式解碼程序時所使用的移動視窗長度SDW_O;而當差值訊號DIFF大於0時(符號率SR大於符號率閾值SR_TH),判斷單元602控制選擇單元604輸出視窗長度SDW2作為解碼電路進行遞迴式解碼程序時所使用的移動視窗長度SDW_O。如此一來,判斷模組60可根據迴旋碼編碼資料的符號率SR,動態調整解碼電路進行遞迴式解碼程序時所使用的移動視窗長度,以提高電路效能。
在上述實施例中,解碼裝置會依據所接收迴旋碼編碼資料的符號率,調整遞迴式解碼程序的遞迴次數,從而同時達到即時解碼及提高效能的目標。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
Claims (8)
- 一種用於一通訊系統中一迴旋碼解碼裝置的解碼方法,包含有:接收一迴旋編碼資料;根據該迴旋編碼資料的一符號率,決定一遞迴次數;以及執行該遞迴次數的遞迴式解碼程序,以解碼該迴旋編碼資料。
- 如請求項1所述的解碼方法,其中該遞迴次數與該符號率成反比。
- 如請求項1所述的解碼方法,其中根據該迴旋編碼資料的該符號率,決定該遞迴次數的步驟包含有:根據該符號率調整一移動視窗的長度,以決定該遞迴次數;其中該移動視窗的長度為該遞迴式解碼程序中用來分割該迴旋編碼資料的單位長度。
- 如請求項3所述的解碼方法,其中該移動視窗的長度與該符號率成正比。
- 如請求項3所述的解碼方法,其中根據該符號率調整該移動視窗的長度,以決定該遞迴次數的步驟包含有:當該符號率小於一符號率閾值時,調整該移動視窗的長度為一第一長度;以及當該符號率大於一符號率閾值時,調整該移動視窗的長度為一第二長度;其中該第一長度小於該第二長度。
- 如請求項1所述的解碼方法,其中決定該遞迴次數的公式為:
- 一種判斷模組,用於一通訊系統中一迴旋碼解碼裝置,該判斷模組包含有:一算法單元,用來計算該迴旋解碼裝置所接收迴旋編碼資料的一符號率與一符號率閾值間的差異,作為一差值訊號;一判斷單元,用來根據該差值訊號,產生一選擇訊號;以及一選擇單元,用來根據該選擇訊號,輸出一第一長度及一第二長度其中一者作為該迴旋碼解碼裝置執行一遞迴式解碼程序的一移動視窗長度。
- 如請求項7所述的判斷模組,其中當該差值訊號指示該符號率小於該符號率閾值時,該判斷單元調整該選擇訊號以使該選擇單元輸出該第一長度;當該差值訊號指示該符號率大於該符號率閾值時,該判斷單元調整該選擇訊號以使該選擇單元輸出該第二長度;且該第一長度小於該第二長度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105134927A TWI650954B (zh) | 2016-10-28 | 2016-10-28 | 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 |
US15/786,918 US20180123616A1 (en) | 2016-10-28 | 2017-10-18 | Decoding method for convolutional code decoding device in communication system and associated determination module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105134927A TWI650954B (zh) | 2016-10-28 | 2016-10-28 | 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201817172A TW201817172A (zh) | 2018-05-01 |
TWI650954B true TWI650954B (zh) | 2019-02-11 |
Family
ID=62022671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105134927A TWI650954B (zh) | 2016-10-28 | 2016-10-28 | 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180123616A1 (zh) |
TW (1) | TWI650954B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049619A (zh) * | 2018-10-12 | 2020-04-21 | 瑞昱半导体股份有限公司 | 解码装置及解码方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177696A1 (en) * | 2006-01-27 | 2007-08-02 | Pei Chen | Map decoder with bidirectional sliding window architecture |
WO2008077421A1 (en) * | 2006-12-22 | 2008-07-03 | Micronas Gmbh | Channel decoder with variable number of decoding iterations |
TWI330471B (en) * | 2006-09-29 | 2010-09-11 | Univ Nat Chiao Tung | Multi-order stopping criterion applied to recursive decoding method and integrated inter-block permuted turbo code decoder with the same |
CN102420671A (zh) * | 2011-01-24 | 2012-04-18 | 展讯通信(上海)有限公司 | 一种自适应的Turbo译码迭代次数选择方法 |
US8675693B2 (en) * | 2009-04-27 | 2014-03-18 | Qualcomm Incorporated | Iterative decoding with configurable number of iterations |
US8996961B2 (en) * | 2012-12-11 | 2015-03-31 | Seagate Technology Llc | Error correction code rate management for nonvolatile memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536624B2 (en) * | 2002-01-03 | 2009-05-19 | The Directv Group, Inc. | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes |
US20100254489A1 (en) * | 2007-11-14 | 2010-10-07 | Thomson Licensing | Code enhanced staggercasting |
US8249005B2 (en) * | 2009-02-11 | 2012-08-21 | Qualcomm Incorporated | Systems and methods for reducing power consumption using a variable constraint length convolutional encoder |
-
2016
- 2016-10-28 TW TW105134927A patent/TWI650954B/zh not_active IP Right Cessation
-
2017
- 2017-10-18 US US15/786,918 patent/US20180123616A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177696A1 (en) * | 2006-01-27 | 2007-08-02 | Pei Chen | Map decoder with bidirectional sliding window architecture |
TWI330471B (en) * | 2006-09-29 | 2010-09-11 | Univ Nat Chiao Tung | Multi-order stopping criterion applied to recursive decoding method and integrated inter-block permuted turbo code decoder with the same |
WO2008077421A1 (en) * | 2006-12-22 | 2008-07-03 | Micronas Gmbh | Channel decoder with variable number of decoding iterations |
US8675693B2 (en) * | 2009-04-27 | 2014-03-18 | Qualcomm Incorporated | Iterative decoding with configurable number of iterations |
CN102420671A (zh) * | 2011-01-24 | 2012-04-18 | 展讯通信(上海)有限公司 | 一种自适应的Turbo译码迭代次数选择方法 |
US8996961B2 (en) * | 2012-12-11 | 2015-03-31 | Seagate Technology Llc | Error correction code rate management for nonvolatile memory |
Non-Patent Citations (1)
Title |
---|
Igal Sason, Gil Wiechman, "Bounds on the Number of Iterations for Turbo-Like Code Ensembles over the Binary Erasure Channel", Department of Electrical Engineering, Technion, Haifa 32000, Israel, ISIT 2008, Toronto, Canada, page 1898-1902, July 6 - 11, 2008 * |
Also Published As
Publication number | Publication date |
---|---|
TW201817172A (zh) | 2018-05-01 |
US20180123616A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8443265B2 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
US9214958B2 (en) | Method and decoder for processing decoding | |
TW550889B (en) | Iteration terminating using quality index criteria of turbo codes | |
US7992073B2 (en) | Decoding device, decoding method, and receiving apparatus | |
KR100941346B1 (ko) | 다중 스케일 선택을 갖는 터보 디코더 | |
KR100512668B1 (ko) | 터보 부호들의 품질 지수 기준을 사용한 반복 종료 | |
US7424070B2 (en) | Method and device for evaluating the noise associated with turbocodes, and systems using them | |
CN104579369B (zh) | 一种Turbo迭代译码方法和译码装置 | |
WO2004079563A1 (en) | Soft information scaling for iterative decoding | |
JP2002111512A (ja) | 復号装置及び方法、並びにデータ受信装置及び方法 | |
CN105187074A (zh) | 用于软输入/软输出处理的滑动窗方法和设备 | |
US8358713B2 (en) | High throughput and low latency map decoder | |
WO2005006564A1 (ja) | 復号装置および復号方法 | |
US7886209B2 (en) | Decoding device, decoding method, and receiving apparatus | |
TWI650954B (zh) | 用於通訊系統中迴旋碼解碼裝置的解碼方法及相關的判斷模組 | |
CN110798283A (zh) | 用错误校正进行的信号处理 | |
CN108400788A (zh) | Turbo译码的硬件实现方法 | |
KR20050079986A (ko) | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 | |
Huahua et al. | Analysis of turbo decoding algorithm in lte system | |
TWI583140B (zh) | 具對數計算功能的解碼模組 | |
KR20040086872A (ko) | 터보 복호기의 반복복호 횟수 제어장치 및 그 방법 | |
TWI569584B (zh) | 採用動態調整因子的解碼方法 | |
KR100662076B1 (ko) | 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법 | |
CN108111250A (zh) | 用于通信系统中回旋码解码装置的解码方法及相关的判断模块 | |
El-Banna et al. | Two channel estimation methods for a power efficient turbo decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |