TWI731441B - 用於列表型連續消去的解碼器及其解碼方法 - Google Patents
用於列表型連續消去的解碼器及其解碼方法 Download PDFInfo
- Publication number
- TWI731441B TWI731441B TW108137602A TW108137602A TWI731441B TW I731441 B TWI731441 B TW I731441B TW 108137602 A TW108137602 A TW 108137602A TW 108137602 A TW108137602 A TW 108137602A TW I731441 B TWI731441 B TW I731441B
- Authority
- TW
- Taiwan
- Prior art keywords
- check
- bit
- decoding
- data
- error
- Prior art date
Links
Images
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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- 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/2906—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 using block codes
-
- 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/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本發明揭露一種用於列表型連續消去的解碼器及其解碼
方法;在此方法中,對一組資料位元進行錯誤檢查。一資料單元包括該組資料位元及至少一個第一檢查位元,其中該組資料位元的一部分被視為第二檢查位元;在每一第二檢查位元驗證先前的錯誤檢查結果,以決定對該組資料位元繼續解碼或提早終止解碼,其中每一驗證結果相關於先前的每一第一檢查位元與對應的資料位元經函數運算所得之值的比較結果。此方法可提升提早終止解碼的機率,進而改善解碼效率。
Description
本發明是有關於一種解碼技術,且特別是有關於一種用於列表型連續消去(Successive Cancellation List,SCL)的解碼器及其解碼方法。
極化(polar)碼近期已經被第三代合作夥伴計畫(3GPP)採用來作為在第五代(5G)行動通訊的增強移動寬帶(Enhance Mobile Broadband,eMBB)情境下,上行以及下行傳輸的控制信道編碼。3GPP的技術文獻指出,為了減少解碼時間的延遲及功率消耗,在極化碼的解碼程序中,應使用提早終止(Early Termination)解碼。
在控制訊號的解碼過程中,若解碼流程能夠被提前終止,可以降低解碼的延遲與電力消耗。在實際的5G通訊系統中,奇偶檢查(parity check)碼被用在極化碼的提早終止解碼。文獻[1](R1-1705757,NTT DOCOMO,“Distributed simple parity check Polar codes,”3GPP TSG RAN WG1 #88bis,Spokane,USA,3rd-7th,April 2017)提出支援提早終止解碼的奇偶檢查碼輔助極化碼:首先,資
料位元被平均分為P個區塊(P為大於零的正整數),每一區塊會經過奇偶檢查編碼產生一個奇偶檢查位元,這第i奇偶檢查位元pc i 可由下列方程式(1)產生:
其中,假設有K個資料位元及P個奇偶檢查位元,且⊕為二進制加法運算符號。
舉例而言,圖1是一範例說明編碼配置。請參照圖1,假設P為3。編碼的過程中每個區塊的大小幾乎相等(即,資料幾乎被等分為三個區塊),第一個奇偶檢查位元pc 0 由第一組資料區塊(資料位元u 0 ~u 7 )產生,第二個奇偶檢查位元pc 1 由第一組資料區塊和第二組資料區塊(資料位元u 8 ~u 15 )產生,第三個奇偶檢查位元pc 2 由第一至第三組資料區塊(資料位元u 0 ~u 7 、資料位元u 8 ~u 15 、及資料位元u 16 ~u 23 )產生。每個奇偶檢查位元pc 0 ~pc 2 與此位元以前的所有資料位元有關。例如:奇偶檢查位元pc 0 是由資料區塊中的資料位元u 0 ~u 7 共八個位元做二進制加法所產生,而奇偶檢查位元pc 1 是由資料區塊中的資料位元u 0 ~u 7 和資料區塊中的資料位元u 8 ~u 15 共16個位元所產生。
圖2是以二元樹表示的奇偶檢查碼輔助列表型連續消去
極化碼解碼的流程示意圖。請參照圖2,假設列表大小為4,pck是第k奇偶檢查檢查位元(k為正整數)。解碼過程中已經通過資料位元ui-2、ui-1及ui,解碼器目前正在進行奇偶檢查位元pck的解碼。此時,解碼器會產生兩個解碼結果。如圖中下方的兩排數字,一個是連續消去解碼器產生的解碼結果,即圖下方沒有標註的數字;另一個是奇偶檢查碼解碼結果,即圖中標註星號*的數字。圖中下方四條路徑稱為存活路徑,也就是連續消去解碼器篩選出來的路徑,在列表大小設定為4時會有四條存活路徑。而當解碼器遇到奇偶檢查位元時,其會將奇偶檢查的解碼結果與這四條存活路徑解碼結果做比對。若解碼結果相同,表示通過奇偶檢查驗證,反之則代表沒有通過奇偶檢查驗證。若解碼器的所有存活路徑都沒有通過奇偶檢查驗證,則解碼流程將被終止,反之則將繼續解碼。在整個解碼過程中,在奇偶檢查位元的位置將檢查所有存活的路徑,此一驗證過程即稱為提早終止解碼方法。
然而,文獻[1]所提出的提前終止解碼方法,只會在奇偶檢查位元位置執行提早終止解碼。其提前終止解碼效果尚有進步空間。此外,由於執行奇偶檢查驗證的位置是固定的,因此不能優化提前終止解碼的複雜度。雖然使用更多奇偶檢查位元可能提高提早終止解碼的機率,但這將導致資料具有更低的碼率。
有鑑於此,本發明實施例提供一種用於列表型連續消去
的解碼器及其解碼方法,額外增加錯誤檢查位元,從而提升提前終止解碼的機會但不增加碼率。
本發明實施例的解碼方法,其適用於列表型連續消去解碼,並包括下列步驟:對至少一個資料位元進行錯誤檢查。一筆資料單元包括這些資料位元及至少一個第一檢查位元,資料位元作為第二檢查位元,且在第二檢查位元檢查錯誤檢查是否通過。接著,依據對於第二檢查位元的錯誤檢查的結果決定是否提早終止對資料位元解碼。此錯誤檢查的結果相關於第一檢查位元與對應資料位元經函數運算所得之值的比較結果。
另一方面,本發明實施例的解碼器,其適用於列表型連續消去解碼,並包括錯誤檢查碼及提早終止決定電路。錯誤檢查器對至少一個資料位元進行錯誤檢查。一筆資料單元包括這些資料位元及至少一個第一檢查位元,資料位元作為第二檢查位元,且在第二檢查位元檢查錯誤檢查是否通過。提早終止決定電路耦接錯誤檢查器,並依據對於第二檢查位元的錯誤檢查的結果決定是否提早終止對資料位元解碼。此錯誤檢查的結果相關於第一檢查位元與對應資料位元經函數運算所得之值的比較結果。
基於上述,本發明實施例的解碼器及其解碼方法,在部分或全部的資料位元的位置作為額外的錯誤檢查位置,即可能在某一檢查位元的位置之前提前終止解碼,從而提升提早終止的效果,進而降低解碼複雜度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉
實施例,並配合所附圖式作詳細說明如下。
u0~u23、ui-2、ui-1、ui:資料位元
pc0~pc2、pck:檢查位元
100:解碼器
110:錯誤檢查器
130:提早終止決定電路
S410~S430:步驟
501、601、603、701、703:路徑
圖1是一範例說明編碼配置。
圖2是以二元樹表示的奇偶檢查碼輔助列表型極化碼解碼的流程示意圖。
圖3是依據本發明一實施例的解碼器的元件方塊圖。
圖4是依據本發明一實施例的解碼方法的流程圖。
圖5是一範例說明提早終止解碼之判斷。
圖6是另一範例說明提早終止解碼之判斷。
圖7是再一範例說明提早終止解碼之判斷。
圖3是依據本發明一實施例的解碼器100的元件方塊圖。請參照圖3,解碼器100包括但不僅限於錯誤檢查器110及提早終止決定電路130。解碼器100可應用於各類型電子裝置(例如,行動電話、平板電腦、智能手錶等)中的通訊收發器。
錯誤檢查器110與提早終止決定電路130(耦接錯誤檢查器110)可能是由一個或更多個位移器、加法器、暫存器、及/或乘法器所組成的數位電路,也可能是諸如處理器、控制器、系統晶片(System on Chip,SoC)、或積體電路(Integrated Circuit,IC)等處理
電路。
在本發明實施例中,錯誤檢查器110是基於奇偶檢查(parity check)的錯誤檢測方案。即,確認二進制資料中數值為1的個數為奇數或偶數。然而,在其他實施例中,錯誤檢查器110也可能是採用檢查和(checksum)、迴圈冗餘檢查(Cyclic Redundancy Check,CRC)、雜湊(hash)函式等錯誤檢測方案,本發明不加以限制。
另一方面,本發明實施例的提早終止決定電路130是基於列表型連續消去(Successive Cancellation List,SCL)解碼的路徑決策來判斷是否終止解碼。例如,定義為對下一解碼碼字對數可能性比值(Log-Likelihood Ratio,LLR)(傳送端傳送0的機率和傳送1的機率的比值的對數)的判決。當LLR值大於零時,表示傳送端傳送零的機率較大;當LLR值小於零時,表示傳送端傳送1的機率較大;而當LLR值的絕對值接近零時,表示通道條件較差,且此時容易產生錯誤判決。在SCL演算法中,當前碼字的可能性值由前面碼字的可能性值按遞推公式給出。假設路徑度量值(Path Metrics,PM)的初始值為0。當提早終止決定電路130計算出的LLR值大於零,則對零的路徑不作處理,且對一的路徑累加LLR值,並作為新的路徑度量值。當提早終止決定電路130計算出的LLR值小於零,則對一的路徑不作處理,且對零的路徑累加LLR值,並作為新的路徑度量值。當提早終止決定電路130選擇為錯誤的固定碼字時,路徑度量值直接設置為極大值。由此可知,路徑
度量值越小越可靠。提早終止決定電路130從二元的解碼樹的根(root)節點開始,逐層依次向葉子節點層進行路徑搜索。每一層擴展後,提早終止決定電路130盡可能多地保留後繼路徑(每一層保留的路徑數不大於預設列表長度/大小L(大於零的正整數))。此外,提早終止決定電路130完成某一層的路徑擴展後,選擇PM最小的L條路徑,保存在一個列表中,並等待進行下一層的擴展。
需說明的是,解碼器100還可能包括解碼電路(圖未示),且解碼電路對於資料單元的解碼結果會輸入至錯誤檢查器110。另值得注意的是,解碼電路可對採用極化(polar)碼編碼的資料單元解碼,但資料單元的編碼類型還可能有其他變化。
為了方便理解本發明實施例的操作流程,以下將舉諸多實施例詳細說明本發明實施例中針對解碼器100的運作流程。下文中,將搭配解碼器100中的各項元件或電路說明本發明實施例所述之方法。本方法的各個流程可依照實施情形而隨之調整,且並不僅限於此。
圖4是依據本發明一實施例的解碼方法的流程圖。請參照圖4,錯誤檢查器110接收資料單元經解碼後的資料位元及第一檢查位元,並對一個或更多個資料位元進行錯誤檢查(步驟S410)。具體而言,本發明實施例提出了適用於列表行列表型連續消去解碼器的提早終止解碼方案。在文獻[1]所提出的提早終止解碼方法中可得出在奇偶檢查位元執行奇偶檢查檢查。本發明實施例更進一步在特定的位置進行錯誤檢查驗證,以執行提早終止解碼判斷。
換句而言,本發明實施例是透過在第一檢查位元的位置之後新增加一些額外提早終止解碼檢查位置。而在這些特別選定的額外提早終止解碼檢查位置對檢查位元進行錯誤檢查驗證並執行提早終止解碼,相較於原本文獻[1]中的做法,可以有更高的機率執行提前終止解碼。
假設應用極化碼,則傳輸的所有位元分成凍結區塊與資料區塊兩個集合,其中凍結區塊中的位元記錄已知訊息(例如,全為0或其他數值),而資料區塊中的位元可記錄資料位元、及檢查位元與循環冗餘檢查位元等。
此外,因為列表型連續消去的解碼特性,在解碼的過程中所保留的存活路徑是根據路徑的可靠度做排序篩選。也就是說,路徑會不斷地做更新,當下通過錯誤檢查的路徑,在經過一些資料位元解碼之後,不一定還會是存活路徑。舉例來說:一個列表大小為四的列表連續消去極化碼解碼器,採用奇偶檢查碼作為提早終止解碼方法。假設在某個奇偶檢查位元時四條存活路徑中有兩條路徑通過奇偶檢查驗證,解碼將繼續進行。在經過數個資料位元解碼後,原先存活的四條路徑中已經沒有當初通過奇偶檢查驗證的路徑。也就是說,這四條存活路徑皆是由當初沒有通過奇偶驗證的路經***出來。在這種情況下,此次解碼有很高的機率會失敗,所以提早終止決定電路130應該要決定提前終止解碼。然而,在文獻[1]的提前終止解碼方法中,必須要等到下一個奇偶檢查位元位置時,才會做奇偶檢查驗證,並判斷是否需要提前終止。
如前段所敘述,本發明實施例提出的方法透過以下兩點改善提早終止解碼的效能:第一點,文獻[1]所提出的作法只有在奇偶檢查位元的位置做路徑奇偶檢查驗證,並才有機會啟動提早終止解碼。然而,事實上,只要在通過第一個奇偶檢查位元後的任何一個資料位元位置都可以執行提早終止解碼的判斷,因此傳統的作法啟動提早終止解碼的時機點比較晚,從而降低了提早終止解碼的效果。第二點,文獻[1]中奇偶檢查位元的位置是固定的,如先前技術所述檢查位元的位置平均分散在三個資料區塊之後。而經過實驗結果,這三個奇偶檢查位元位置的提早終止解碼的機率並不是特別高。換句話說,在其他資料位元進行提早終止解碼的判斷可能有較高的機率啟動提早終止解碼。
基於上述提到的兩點,本發明實施例即是透過增加額外的提早終止解碼檢查位置來提高提早終止解碼的效果。在一實施例中,解碼器100接收的資料單元包括一個或更多個資料位元及一個或更多個第一檢查位元。資料位元用於記錄各類型資料、或資訊,而第一檢查位元是用於記錄對資料位元以基於錯誤檢測方法的特定函數運算所得之值(例如,奇偶檢查的檢查位元是記錄對應資料位元中數值為1的個數為奇數或偶數(互斥或(Exclusive-OR,XOR)函數),且其他函數可能是雜湊、總和等)。即,資料位元不為第一檢查位元。值得注意的是,錯誤檢查器110會挑選資料中部份或全部的資料位元作為第二檢查位元。此處第二檢查位元並非表示這些位元記錄資料位元經特定函數運算所得之值,而是表示
錯誤檢查器110會在此第二檢查位元檢查錯誤檢查是否通過(即,額外的提早終止解碼檢查位置),但第二檢查位元仍是記錄各類型資料、或資訊。另一方面,錯誤檢查器110在資料中未作為第二檢查位元的位置不會檢查錯誤檢查是否通過。
需說明的是,錯誤檢查的結果相關於檢查位元與對應資料位元經函數運算(基於特定錯誤檢查方案)所得之值的比較結果。比較結果可能是兩者相同(即,符合且通過)或兩者不同(即,不符合且未通過)。例如,資料位元經互斥或運算的結果為1,且其後的奇偶檢查位元解碼後的值為1,則錯誤檢查器110判斷錯誤檢查通過;反之,則錯誤檢查未通過。
假設資料仍然使用在文獻[1]中相同的奇偶檢查位元位置(例如,將資料等分為數個區塊,並於各區塊的後一個位置作為檢查位元),一個增加額外檢查位置的簡單做法是:在所有第一檢查位元之外,並在第一個第一檢查位元位置以後的所有資料位元都設定為提早終止解碼檢查位元(即,第二檢查位元)。也就是說,在通過第一個第一檢查位元位置以後,每次的資料位元解碼都會進行錯誤檢查驗證並執行提前終止解碼判斷。在這樣的狀況下,因為所有可能發生提前終止解碼的位元位置都會執行判斷,所以大幅提高提前終止解碼的機率,並能在最早的時間點提早終止解碼。
然而,如果在所有可能發生提早終止解碼的位元位置進行提早終止解碼的判斷,需要做大量的運算並增加解碼複雜度。經實驗結果證明,大多數資料位元的位置不會觸發提早終止解碼。換
句而言,在這些位置上發生的提早終止解碼事件很少,因此將所有資料位元作為第二檢查位元的作法是沒有效率的。為了選擇有效的額外提早終止解碼檢查位置,本發明實施例對第二檢查位元的位置之可靠度進行分析計算,並據以了解額外檢查提早終止解碼位置與提早終止解碼事件之間的關係。經實驗結果發現,在可靠度較低的資料位元發生提早終止解碼的機率較高,反之在可靠度較高的資料位元較不容易發生提早終止解碼。這樣的實驗結果意味著,只要將資料位元中可靠度相對較低的位元位置設定為額外提早終止解碼檢查位置(即,第二檢查位元),即可有效率的進行提早終止解碼。
為了找到可靠度較低的額外提早終止解碼檢查位置以作為有效的提前終止解碼檢查點,錯誤檢查器110可依據資料單元中所有的資料位元發生提前終止的機會,挑選一筆資料單元中部分的資料位元作為第二檢查位元。本發明實施例可採用不同的選擇方法:Bhattacharyya與極化權重,來計算在每個資料位元的提前終止事件發生機率。
在一實施例中,採用極化權重來選擇額外提早終止解碼檢查位置以改善提前終止解碼的效能。由於極化權重方法與通道的訊號雜訊比(SNR)無關,因此不須考慮通道狀況。此外,增加越多的額外提早終止解碼檢查位置,其提早終止解碼性能可以越來越接近使用所有可能的額外提早終止解碼檢查位置的效能。透過選擇適量的額外提早終止解碼檢查位置,本發明實施例可以提升
提早終止解碼的效能。
舉例而言,假設資料的碼長為256位元且碼率為0.5的情況下,表(1)與表(2)列出了不同的額外檢查點選擇方法與文獻[1]的作法的比較。
文獻[1]使用3個奇偶檢查位元,且其位置分別為資料序列中的第37、74與111位元位置。由於這三個奇偶檢查位元也會觸發提早終止解碼,故與第二檢查位元的數量加總,且其總額為有效檢查位置數量。自表(1)可得出,若使用所有資料位元作為第二檢查位元,則總共會有76個有效檢查位置。而利用極化權重可選出10個檢查位置,且有效檢查位置總共會有13個。
另一方面,自表(2)可得出,利用不同的額外檢查點選擇方法的提早終止百分比。如表(2)中所示,在SNR為0.5dB時,使用所有資料位元的方式比利用極化權重選擇的方式僅高出了1.1%的提早終止解碼百分比。而在較高的SNR環境下(1.5dB與2.5dB),使用所有資料位元的方式比利用極化權重選擇的方式高出約1%提早終止解碼百分比。這樣的結果顯示,本發明實施例所提出的方法可利用極化權重選擇有限數量並有效的額外檢查點位置(即,第二檢查位元),且只需增加少量位元的運算複雜度,即可達到較好的提早終止解碼效果。
請回到圖4,基於前述第二檢查位元的配置,提早終止決定電路130可依據對於這些第二檢查位元的錯誤檢查的結果決定是否提早終止對資料中資料位元解碼(步驟S430)。具體而言,解碼器100解碼到某一資料位元後,若此資料位元為第二檢查位元,則錯誤檢查器110對進行錯誤檢查的驗證。在一實施例中,錯誤檢查器110會判斷此第二檢查位元先前的一個或更多個第一檢查位元是否符合對應資料位元經函數運算所得之值。若在任一存活路徑中此第二檢查位元先前的第一檢查位元符合對應資料位元經函數運算所得之值(即,錯誤檢查驗證通過),則解碼器100繼續對後續的資料位元解碼。另一方面,若所有存活路徑中此第二檢查位元先前的第一檢查位元不符合對應資料位元經函數運算所得之值(即,錯誤檢查驗證未通過),則提早終止決定電路130可終止對後續資料位元解碼。
為了評估提早終止解碼機制在列表型極化碼解碼器上的效果,可針對被提早終止的訊框數量進行進一步分析。利用文獻[2](R1-1709997,Huawei,HiSilicon,“Early termination for Polar code,”3GPP TSG RAN WG1 NR Ad-Hoc#2,Qingdao,China,27th-30th June 2017)中提出的運算複雜度估計方式,可計算提出的提早終止解碼機制所節省的運算量。根據文獻[2],資料區塊與凍結區塊的運算複雜度比例定為4:1。也就是說,一個資料區塊的解碼複雜度相當於一個凍結區塊的解碼複雜度。而在同樣的錯誤框數下(error frames),統計不同提早終止解碼機制下的運算量。以碼長1024碼率0.5為例。若解碼過程沒有觸發提早終止解碼,共有凍結區塊中的512位元以及資料區塊中的512位元,且運算量計算為512+512*4=2560個運算單位。以此方法統計不同的SNR情況下,累計100組錯誤訊框所需要的計算量,並以差值與原有計算量之間的比例做為增益百分比。以SNR 0.5dB為例:傳統提早終止解碼的計算量為107826運算單位,而提出的提早終止解碼方法累計的計算量為92829計算單位,提早終止解碼增益計算方式為(107826-92829)/107826=13.909%。
與文獻[1]中的提早終止解碼方法相比,本發明實施例所提出的方法可以減少更多解碼運算量。如下表(3)所列,可以發現本發明實施例所提出的提早終止解碼機制,在碼長1024碼率0.5列表大小8的情況下,較傳統文獻[1]的提早終止解碼方式減少了13%~16%的計算量。
為了幫助讀者更加理解本發明實施例的發明精神,以下再舉三個範例說明。這些範例利用二元樹的形式來簡單說明,其中在奇偶檢查位元的位置之外,本發明實施例額外挑選部分資料位元作為第二檢查位元以進行提早終止解碼判斷。首先,假設列表長度為4,解碼器100已經完成資料位元u0、u1、u2的解碼,而奇偶檢查位元pc0、pc1也解碼完成。值得注意的是,資料位元u3、u4是資料位元也是額外提早終止解碼檢查位置(即,第二檢查位元)。
圖5是一範例說明提早終止解碼之判斷。請參照圖5,錯誤檢查器110在第一個奇偶檢查位元pc0的位置進行路徑奇偶檢查驗證。因為存在至少一個路徑501(即,存活路徑)通過奇偶檢查驗證,解碼將繼續進行。提早終止決定電路130會對二元樹中的每個虛線區塊執行路徑刪減。若遇到奇偶檢查位元,則錯誤檢查器110執行路徑選擇並對存活路徑做奇偶檢查驗證。若遇到第二檢查位元,則錯誤檢查器110執行路徑選擇並對此位元以前的所有奇偶檢查位元進行奇偶檢查驗證。在路徑***之後,由於列表大小設
定為四,提早終止決定電路130將從八個路徑中選擇四個做為存活路徑。而若遇到第二檢查位元,則錯誤檢查器110將進行奇偶檢查檢查所有存活路徑,在至少一個存活路徑通過檢查的條件下,提早終止決定電路130將判定解碼可繼續。
圖6是另一範例說明提早終止解碼之判斷。請參照圖6,第一個奇偶檢查位元pc0通過奇偶檢查路徑驗證(對應於路徑601)且正在進行第二個奇偶檢查位元pc1的解碼。因為存活路徑中有一條路徑603通過奇偶檢查驗證,提早終止決定電路130將判定解碼可繼續。
圖7是再一範例說明提早終止解碼之判斷。請參照圖7,解碼器100開始進行資料位元u4作為第二檢查位元的解碼。由圖中所知,排序階段過後,四條存活路徑703皆是由先前沒有通過奇偶檢查驗證的路徑所***出來的(路徑701可通過驗證)。此時,提早終止決定電路130會在此資料位元u4進行提早終止解碼判斷。提早終止決定電路130會檢查這四條路徑在資料位元u4先前的奇偶檢查位元pc0與pc1是否有通過奇偶檢查驗證。若這四條路徑中的奇偶檢查位元pc0或pc1其中一個位元都沒有通過奇偶檢查驗證,則提早終止決定電路130判定提早終止解碼。即,解碼器100不對後續的資料位元進行解碼。
上述流程說明,本發明實施例可在非第一檢查位元的位置,透過設定額外提早終止解碼檢查位置(即,第二檢查位元,如圖7中資料位元u3、u4)進行錯誤檢查驗證,並依據檢查結果執行
提早終止解碼。
綜上所述,本發明實施例用於列表型連續消去的解碼器及其解碼方法,不僅錯誤檢查的第一檢查位元的位置進行提早終止解碼的判斷,也可以在特定的資料位元設定額外提早終止解碼檢查位置(即,作為第二檢查位元)並進行提早終止解碼的判斷。另外,本發明實施例的提早終止解碼架構的效果也較過去的架構更好,不僅能夠在更早的解碼階段提前終止解碼,在硬體實作上能更省電力消耗。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S410~S430:步驟
Claims (6)
- 一種解碼方法,適用於列表型連續消去(Successive Cancellation List,SCL)解碼,該解碼方法包括:提供一資料單元,其中該資料單元包括至少一資料位元及至少一第一檢查位元;透過Bhattacharyya或極化權重決定每一該資料位元發生提前終止的機會;依據該資料單元中所有的該至少一資料位元發生提前終止的機會,挑選部分的該資料位元作為至少一第二檢查位元;對該至少一資料位元進行一錯誤檢查,其中在該至少一第二檢查位元檢查該錯誤檢查是否通過;以及依據對於該至少一第二檢查位元的該錯誤檢查的結果決定是否提早終止對該至少一資料位元解碼,其中該錯誤檢查的結果相關於該至少一第一檢查位元與對應資料位元經函數運算所得之值的比較結果。
- 如申請專利範圍第1項所述的解碼方法,其中依據對於該至少一第二檢查位元的該錯誤檢查的結果決定是否提早終止對該至少一資料位元解碼的步驟包括:反應於在一該第二檢查位元先前的該至少一第一檢查位元不符合該對應資料位元經函數運算所得之值,終止對該至少一資料位元解碼;以及反應於在一該第二檢查位元先前的該至少一第一檢查位元符 合該對應資料位元經函數運算所得之值,繼續對後續的該至少一資料位元解碼。
- 如申請專利範圍第1項所述的解碼方法,其中該錯誤檢查是基於奇偶檢查(parity check)。
- 一種解碼器,適用於列表型連續消去解碼在一資料單元,該解碼器包括:一錯誤檢查器,透過Bhattacharyya或極化權重決定該資料單元中的每一資料位元發生提前終止的機會,依據該資料單元中所有的至少一該資料位元發生提前終止的機會挑選部分的該資料位元作為至少一第二檢查位元,並對至少一資料位元進行一錯誤檢查,其中該資料單元包括該至少一資料位元及至少一第一檢查位元,且在該至少一第二檢查位元檢查該錯誤檢查是否通過;以及一提早終止決定電路,耦接該錯誤檢查器,並依據對於該至少一第二檢查位元的該錯誤檢查的結果決定是否提早終止對該至少一資料位元解碼,其中該錯誤檢查的結果相關於該至少一第一檢查位元與對應資料位元經函數運算所得之值的比較結果。
- 如申請專利範圍第4項所述的解碼器,其中反應於在一該第二檢查位元先前的該至少一第一檢查位元不符合該對應資料位元經函數運算所得之值,該提早終止決定電路終止對該至少一資料位元解碼;以及反應於在一該第二檢查位元先前的該至少一第一檢查位元符合該對應資料位元經函數運算所得之值,該解碼器繼續對後續的 該至少一資料位元解碼。
- 如申請專利範圍第4項所述的解碼器,其中該錯誤檢查是基於奇偶檢查。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108137602A TWI731441B (zh) | 2019-10-18 | 2019-10-18 | 用於列表型連續消去的解碼器及其解碼方法 |
US16/823,351 US11063606B2 (en) | 2019-10-18 | 2020-03-19 | Successive cancellation list-based decoder and decoding method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108137602A TWI731441B (zh) | 2019-10-18 | 2019-10-18 | 用於列表型連續消去的解碼器及其解碼方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202118240A TW202118240A (zh) | 2021-05-01 |
TWI731441B true TWI731441B (zh) | 2021-06-21 |
Family
ID=75491392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108137602A TWI731441B (zh) | 2019-10-18 | 2019-10-18 | 用於列表型連續消去的解碼器及其解碼方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11063606B2 (zh) |
TW (1) | TWI731441B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170366199A1 (en) * | 2016-06-17 | 2017-12-21 | Huawei Technologies Co., Ltd. | Apparatus and methods for error detection coding |
US20180323809A1 (en) * | 2017-05-05 | 2018-11-08 | Qualcomm Incorporated | Frozen bits based pruning and early termination for polar decoding |
TW201902144A (zh) * | 2017-05-15 | 2019-01-01 | 美商高通公司 | 對連續消除列表解碼的提前終止 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10193578B2 (en) | 2014-07-10 | 2019-01-29 | The Royal Institution For The Advancement Of Learning / Mcgill University | Flexible polar encoders and decoders |
WO2017217715A1 (ko) | 2016-06-14 | 2017-12-21 | 엘지전자 주식회사 | 폴라 코드를 위한 프로즌 비트 결정 방법 및 이를 위한 장치 |
US10484130B2 (en) * | 2016-09-30 | 2019-11-19 | Huawei Technologies Co., Ltd. | Method and device for parallel polar code encoding/decoding |
CN110100403B (zh) * | 2016-11-11 | 2022-06-03 | 瑞典爱立信有限公司 | 使用极化编码数据传输的通信***中的错误检测 |
WO2018148963A1 (en) | 2017-02-20 | 2018-08-23 | Qualcomm Incorporated | Polarization weight calculation for punctured polar code |
JP6991234B2 (ja) * | 2017-03-23 | 2022-01-12 | クアルコム,インコーポレイテッド | ポーラ符号化のためのパリティビットチャネル割当て |
CA3056299A1 (en) * | 2017-04-20 | 2018-10-25 | Qualcomm Incorporated | Dynamic frozen bits and error detection for polar codes |
WO2018201404A1 (en) * | 2017-05-04 | 2018-11-08 | Qualcomm Incorporated | Polar codes for uplink control information |
US10623138B2 (en) * | 2017-06-02 | 2020-04-14 | Qualcomm Incorporated | Sequence-based polar code description |
US10432357B2 (en) * | 2017-06-02 | 2019-10-01 | Qualcomm Incorporated | Sequence-based polar code description |
US10833705B2 (en) * | 2017-08-02 | 2020-11-10 | Qualcomm Incorporated | Information bit distribution design for polar codes |
CN117040690A (zh) * | 2017-08-11 | 2023-11-10 | 相干逻辑公司 | Dci盲检测时用于多模式块辨别的加扰序列设计 |
US11038624B2 (en) * | 2017-11-17 | 2021-06-15 | Qualcomm Incorporated | User-specific scrambling for polar codes |
US10644835B1 (en) * | 2018-10-12 | 2020-05-05 | Samsung Electronics Co., Ltd. | System and method for interleaving distributed CRC in polar codes for early termination |
KR20210006807A (ko) * | 2019-07-09 | 2021-01-19 | 삼성전자주식회사 | 통신 시스템에서 신호 송수신 장치 및 방법 |
-
2019
- 2019-10-18 TW TW108137602A patent/TWI731441B/zh active
-
2020
- 2020-03-19 US US16/823,351 patent/US11063606B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170366199A1 (en) * | 2016-06-17 | 2017-12-21 | Huawei Technologies Co., Ltd. | Apparatus and methods for error detection coding |
US20180323809A1 (en) * | 2017-05-05 | 2018-11-08 | Qualcomm Incorporated | Frozen bits based pruning and early termination for polar decoding |
TW201902144A (zh) * | 2017-05-15 | 2019-01-01 | 美商高通公司 | 對連續消除列表解碼的提前終止 |
Also Published As
Publication number | Publication date |
---|---|
US20210119642A1 (en) | 2021-04-22 |
TW202118240A (zh) | 2021-05-01 |
US11063606B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI758295B (zh) | 利用分段式的冗餘校驗對控制訊號傳遞進行編碼和解碼 | |
US7454684B2 (en) | Apparatus and method for turbo decoder termination | |
CN108023672B (zh) | 用于通信***中的数据处理的方法和装置 | |
JP3811699B2 (ja) | 符号分割多重接続移動通信システムのエラー訂正装置及び方法 | |
WO2013107140A1 (zh) | 与循环冗余校验级联的极性码的译码方法和译码装置 | |
WO2014075267A1 (zh) | 译码处理方法及译码器 | |
WO2021078273A1 (zh) | 一种极化码构造方法及装置 | |
US10911070B2 (en) | Method and apparatus for decoding polar codes based on shared node | |
Ercan et al. | Simplified dynamic SC-flip polar decoding | |
TWI748739B (zh) | 決定待翻轉比特位置的方法及極化碼解碼器 | |
US20070153693A1 (en) | Transport format detecting apparatus and method | |
US7370332B2 (en) | Arrangement and method for iterative decoding | |
TWI731441B (zh) | 用於列表型連續消去的解碼器及其解碼方法 | |
US10720944B2 (en) | Convolutional code decoder and convolutional code decoding method | |
TWI681639B (zh) | 迴旋碼解碼器及迴旋碼解碼方法 | |
JP2007036683A (ja) | ターボ復号器および復号方法並びにそれを用いた無線通信端末、無線基地局および無線通信システム | |
WO2020011761A1 (en) | Soft-aided decoding of staircase codes | |
CN112688694A (zh) | 用于列表型连续消去的解码器及其解码方法 | |
US8156412B2 (en) | Tree decoding method for decoding linear block codes | |
CN113285722A (zh) | 一种短极化码的多偏差分段冗余校验辅助统计译码方法 | |
CN116073958B (zh) | 译码方法、装置、电子设备和存储介质 | |
US20240097706A1 (en) | Decoding method and decoding device | |
KR102205630B1 (ko) | 부호 복호기의 효율 증대를 위한 조기 종료 장치 및 그 방법 | |
CN117614460A (zh) | 一种解码方法、解码设备及存储介质 |