TWI681639B - 迴旋碼解碼器及迴旋碼解碼方法 - Google Patents

迴旋碼解碼器及迴旋碼解碼方法 Download PDF

Info

Publication number
TWI681639B
TWI681639B TW107124892A TW107124892A TWI681639B TW I681639 B TWI681639 B TW I681639B TW 107124892 A TW107124892 A TW 107124892A TW 107124892 A TW107124892 A TW 107124892A TW I681639 B TWI681639 B TW I681639B
Authority
TW
Taiwan
Prior art keywords
data
circuit
error detection
convolutional code
branch
Prior art date
Application number
TW107124892A
Other languages
English (en)
Other versions
TW202008733A (zh
Inventor
詹貴程
張仲堯
黃偉傑
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW107124892A priority Critical patent/TWI681639B/zh
Priority to US16/442,604 priority patent/US10826541B2/en
Application granted granted Critical
Publication of TWI681639B publication Critical patent/TWI681639B/zh
Publication of TW202008733A publication Critical patent/TW202008733A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/093CRC update after modification of the information word
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2933Coding, 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 a block and a convolutional code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3994Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using state pinning or decision forcing, i.e. the decoded sequence is forced through a particular trellis state or a particular set of trellis states or a particular decoded symbol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • H03M13/6318Error control coding in combination with data compression using variable length codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本發明揭露一種迴旋碼解碼器及迴旋碼解碼方法。迴旋碼解碼器根據一接收資料及一輔助資料進行解碼以得到一目標資料,且包含一偵錯資料產生電路、一通道編碼電路、一選擇電路以及一維特比解碼電路。該偵錯資料產生電路對該輔助資料進行偵錯運算以得到一偵錯資料。該通道編碼電路耦接該偵錯資料產生電路,用來對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料。該選擇電路耦接該通道編碼電路,用來根據該接收資料及該中間資料產生一待解碼資料。該維特比解碼電路耦接該選擇電路,用來解碼該待解碼資料以得到該目標資料。

Description

迴旋碼解碼器及迴旋碼解碼方法
本發明是關於無線通訊系統,尤其是關於無線通訊系統的解碼器及解碼方法。
在低功率廣域網路(Low-Power Wide-Area Network, LPWAN)中,使用者對於低功耗的需求越來越重視。因此,如何在有限的系統資源內,達到涵蓋範圍延伸(coverage enhancement)的效果,是近年來各家業者矚目的目標。在市場趨勢下,物聯網的概念已漸臻成熟。大量的使用裝置都需要連上網路,其中部分裝置的需求是需要低資料量的傳輸,搭配長時間的等待。在此情況下,由於追求低耗能、低複雜度、低成本、高覆蓋率等特性,且可能需要在訊雜比(Signal-to-Noise Ratio, SNR)很差的環境(例如:在細胞邊緣(cell edge)或地下室)中操作,因此傳送端(例如:基地台)會以重複傳送訊號的方式來幫助接收端正確的解出訊號。而為了有效的提高解調的正確率,接收端必須花費夠長的時間等待,並接收這些重複傳送的訊號。然而,這個延長的運算時間,將使得耗電增加。
因此,如何達到提升接收端的誤碼率(bit error rate, BER)效能,進而達到節省耗電與降低成本,以增長電池的使用壽命便成為重要的議題。
鑑於先前技術之不足,本發明之一目的在於提供一種迴旋碼解碼器及迴旋碼解碼方法。
本發明揭露一種迴旋碼解碼器,根據一接收資料及一輔助資料進行解碼以得到一目標資料。該迴旋碼解碼器包含一偵錯資料產生電路、一通道編碼電路、一選擇電路以及一維特比解碼電路。該偵錯資料產生電路對該輔助資料進行偵錯運算以得到一偵錯資料。該通道編碼電路耦接該偵錯資料產生電路,用來對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料。該選擇電路耦接該通道編碼電路,用來根據該接收資料及該中間資料產生一待解碼資料。該維特比解碼電路耦接該選擇電路,用來解碼該待解碼資料以得到該目標資料。
本發明另揭露一種迴旋碼解碼方法,根據一接收資料及一輔助資料進行解碼以得到一目標資料。該迴旋碼解碼方法包含:對該輔助資料進行偵錯運算以得到一偵錯資料;對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料;根據該接收資料及該中間資料產生一待解碼資料;以及以維特比解碼運算解碼該待解碼資料以得到該目標資料。
本發明另揭露一種迴旋碼解碼器,根據一接收資料及一輔助資料進行解碼以得到一目標資料。該迴旋碼解碼器包含一偵錯資料產生電路、一通道編碼電路、一選擇電路以及一維特比解碼電路。該偵錯資料產生電路對該輔助資料進行偵錯運算以得到一偵錯資料。該通道編碼電路耦接該偵錯資料產生電路,用來對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料。該選擇電路耦接該通道編碼電路,用來根據該接收資料及該中間資料產生一待解碼資料。該維特比解碼電路耦接該選擇電路,用來參考該輔助資料解碼該待解碼資料以得到該目標資料。
本發明另揭露一種迴旋碼解碼方法,根據一接收資料及一輔助資料進行解碼以得到一目標資料。該迴旋碼解碼方法包含:對該輔助資料進行偵錯運算以得到一偵錯資料;對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料;根據該接收資料及該中間資料產生一待解碼資料;以及參考該輔助資料對該待解碼資料進行維特比解碼運算以得到該目標資料。
本發明之迴旋碼解碼器及迴旋碼解碼方法利用預測的資訊進行解碼。相較於傳統技術,本發明之迴旋碼解碼器及迴旋碼解碼方法能夠更快速的解調/解碼出信號。提早解調/解碼出信號可以提早結束運算狀態,達到省電的效果。
有關本發明的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含迴旋碼解碼器及迴旋碼解碼方法。由於本發明之迴旋碼解碼器所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之迴旋碼解碼方法的部分或全部流程可以是軟體及/或韌體之形式,並且可藉由本發明之迴旋碼解碼器或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。
以下關於維特比(Viterbi)架構的說明係以(2,1,2)的迴旋碼(convolutional code)編碼及硬決策(hard decision)為例,然而本技術領域具有通常知識者於了解本發明的實施方式後可以將本發明應用於不同的迴旋碼編碼及軟決策(soft decision)。
本發明之接收端的解調變及/或解碼機制適用於以一般調變技術為基礎的通訊系統,例如採用迴旋碼編碼/解碼器的通訊系統。此類的通訊系統例如是物聯網(Internet of Thing, IoT)、機器對機器系統(Machine to Machine, M2M)、無線區域網路(Wireless Fidelity, Wi-Fi)的802.11ah HaLow…等。以下的說明係以窄頻物聯網(Narrow Band Internet of Thing, NB-IoT)接收機為例,但本發明不限於此通訊系統。
在網路系統中,資料傳輸常常有傳送重複資料的需求,或者是傳送部分相同,部分未知的資料,但解調時卻必須把所有資料一起做處理,導致有些非必要的錯誤發生,同時也增加不必要的耗電量。因此本發明提出一個利用已知資料來幫助解調變及/或解碼的機制。此已知資料的來源是接收端透過較長時間的統計與分析先前的傳送資料,來預測出當下訊號某些位元的數值。此已知資料的產生方法可以參考台灣專利申請案案號107104854,但不以此為限。
圖1為無線通訊系統的資料調變及/或編碼的流程及資料結構的示意圖。原始資料 A為一個長度(位元數)為
Figure 02_image001
的向量,在經過添加偵錯(error detection)資料(例如添加循環冗餘校驗(cyclic redundancy check,以下簡稱CRC))的步驟S110後,成為資料 C(長度為
Figure 02_image003
的向量)。如圖所示,在步驟S110中,長度為
Figure 02_image005
的偵錯資料 B(冗餘位元)被添加至原始資料 A的尾端而形成資料 C(即
Figure 02_image007
)。長度為
Figure 02_image005
的偵錯資料 B係用於檢驗原始資料 A的正確性。在步驟S120中資料 C經過通道編碼(channel coding)來對抗通道效應。此處假設通道編碼為碼率(code rate)1/3的去尾迴旋碼(Tail-Biting Convolutional Code, TBCC),而編碼完後產生資料 Z(長度為
Figure 02_image009
的向量)。最後在步驟S130中,資料 Z經過速率匹配(rate matching)及/或擾碼(scrambling)來把資料均勻的分配到所有可使用的資源單位(resource element, RE),而形成調變後/編碼後的待傳送資料 Y(長度為
Figure 02_image011
的向量)。
由於基於CRC的偵錯資料 B和原始資料 A的任何一個位元都有相關,所以當原始資料 A有一段未知的位元出現在灰色標記處時,資料 C最後面的
Figure 02_image005
位元的偵錯資料 B都被歸類為未知的位元(同樣標記為灰色)。接下來,迴旋碼的特性會使得資料 Z中的未知位元增多,未知位元的數量與迴旋碼的碼率及強制長度(constraint length)有關。速率匹配及擾碼則不會影響未知位元和已知位元個數的比例,只會影響未知位元在待傳送資料 Y中的位置。
圖2為本發明之無線通訊接收端的解調變/解碼裝置的功能方塊圖。接收訊號SR經過通道估測210後通道效應可獲得補償,且不同子幀(subframe)間的重複性質可以用來做結合,以提高訊雜比。訊號偵測220的主要功能為解調變。接下來針對一個窄頻物理下行共享信道(Narrowband Physical Downlink Shared Channel, NPDSCH)的所有資源單位做完排列後,可以得到一個估測資料
Figure 02_image013
。估測資料
Figure 02_image013
經過解擾器230(descrambler)與解速率匹配240後,可得接收資料
Figure 02_image015
(長度為
Figure 02_image017
的向量)。迴旋碼解碼器250參考輔助資料 A'解碼接收資料
Figure 02_image015
後輸出目標資料
Figure 02_image019
,目標資料
Figure 02_image019
為資料 C的估測。目標資料
Figure 02_image019
包含估測資料
Figure 02_image021
及中間偵錯資料
Figure 02_image023
,估測資料
Figure 02_image021
為原始資料 A的估測。偵錯電路260根據中間偵錯資料
Figure 02_image023
來驗證估測資料
Figure 02_image021
是否為合法的碼字。偵錯電路260的驗證結果正確代表估測資料
Figure 02_image021
等於原始資料 A
在進行迴旋碼解碼時,一般會採用維特比架構。圖3為本發明迴旋碼解碼器之一實施例的功能方塊圖。圖4為本發明迴旋碼解碼方法之一實施例的流程圖。迴旋碼解碼器250包含偵錯資料產生電路310、通道編碼電路320、選擇電路330以及維特比解碼電路340。首先,偵錯資料產生電路310對輔助資料 A'進行偵錯運算以產生偵錯資料 B'(步驟S410)。舉例來說,偵錯資料產生電路310可以對輔助資料 A'進行循環冗餘校驗的運算,而產生偵錯資料 B'。對窄頻物聯網而言,偵錯資料 B'可以是24位元的CRC碼。接著通道編碼電路320對輔助資料 A'及偵錯資料 B'進行通道編碼,而得到中間資料 Z'(步驟S420)。通道編碼電路320進行與傳送端同樣編碼機制的通道編碼,例如進行迴旋碼編碼。輔助資料 A'為原始資料 A的預測資料,代表輔助資料 A'與原始資料 A的長度實質上相同,且輔助資料 A'包含原始資料 A的全部或部分資料。也就是說,當預測正確時,輔助資料 A'的已知位元(即預測的位元)與原始資料 A對應的位元相同。因為輔助資料 A'與原始資料 A具有實質上相同的長度,所以中間資料 Z'的長度與接收資料
Figure 02_image015
的長度亦實質上相同。輔助資料 A'中至少有一位元為已知(經預測),而其他的位元為未知(未經預測)。當輔助資料 A'中的所有位元皆為已知時,偵錯資料 B'及中間資料 Z'的所有位元亦皆為已知。當輔助資料 A'中有未知的位元時,偵錯資料 B'的所有位元皆為未知,而中間資料 Z'的位元則為部分已知且部分未知。接下來選擇電路330根據接收資料
Figure 02_image015
及中間資料 Z'產生待解碼資料 E(步驟S430)。 控制訊號Prek指示目前輸入選擇電路330的中間資料 Z'為已知的位元或未知的位元。步驟S430包含子步驟S435:選擇電路330根據控制訊號Prek以中間資料 Z'的已知位元取代接收資料
Figure 02_image015
的相對應位元以產生待解碼資料 E。也就是說,經過選擇電路330後,接收資料
Figure 02_image015
的部分位元(對應中間資料 Z'已知的部分)被中間資料 Z'中相對應的位元取代,而其他位元(對應中間資料 Z'未知的部分)則保留原數值。在一些實施例中,當待解碼資料 E為軟數值(soft value)時,選擇電路330及步驟S435更包含將已知位元轉換成極值(extremum)。最後維特比解碼電路340利用維特比解碼運算解碼待解碼資料 E以得到目標資料
Figure 02_image019
(步驟S440)。選擇電路330可用多工器實作。
因為待解碼資料 E的部分資料為已知(作為對比,接收資料
Figure 02_image015
的全部資料皆為未知,亦即無法確定接收資料
Figure 02_image015
的位元值是否正確),所以維特比解碼電路340可以更準確地解碼出目標資料
Figure 02_image019
。因此,本發明之迴旋碼解碼器250的效能可以獲得提升,有助於縮短無線通訊系統之接收端的解調變及/或解碼時間,以節省無線裝置的耗電量。
圖5為本發明迴旋碼解碼器之另一實施例的功能方塊圖。圖6為本發明迴旋碼解碼方法之另一實施例的流程圖。迴旋碼解碼器250包含偵錯資料產生電路310、通道編碼電路320、選擇電路330以及維特比解碼電路510。圖5的偵錯資料產生電路310、通道編碼電路320與選擇電路330以及圖6的步驟S410~S435已詳述於圖3及圖4之揭露內容,故不再贅述。本實施例的維特比解碼電路510參考輔助資料 A'對待解碼資料 E進行維特比解碼運算以得到目標資料
Figure 02_image019
(步驟S610)。圖3的維特比解碼電路340係對維特比演算法中的所有分支(branch)進行計算和判斷,然而圖5的維特比解碼電路510係在預知位元的情況下,預先排除確定錯誤的分支,因此可以得到較佳的效能。
圖7為步驟S610的細部流程圖。圖8為維特比演算法的示意圖。圖8以解(2,1,2)的迴旋碼編碼為例,但本發明不以此為限。如圖8所示,維特比解碼電路510在各階段(t=0, 1, 2, …, k-1, k, k+1, …,k為正整數,t=0為初始階段)處理四個狀態(state):S 00、S 01、S 10、S 11。當維特比解碼電路510處理某階段的目標狀態時(例如處理階段k的狀態S 01),會先找出與這個目標狀態連接的兩個分支(即進入此目標狀態S 01的兩個分支b0及b1),並判斷各分支所對應的前置累積度量(previously accumulated metric)
Figure 02_image025
是否為預設值
Figure 02_image027
(步驟S710)。每個分支具有一個目前過程度量(current metric),目前過程度量的計算方法為本技術領域具有通常知識者所熟知,故不再贅述。對應分支b0的累積度量(accumulated metric)
Figure 02_image029
及對應分支b1的累積度量
Figure 02_image031
可分別由以下的算式(1)及算式(2)得到。
Figure 02_image033
(1)
Figure 02_image035
(2) 其中
Figure 02_image037
Figure 02_image039
分別為對應分支b0及分支b1的目前過程度量,
Figure 02_image041
Figure 02_image043
分別為對應分支b0及分支b1的前置累積度量。
預設值
Figure 02_image027
與維特比解碼電路510如何決定分支(步驟S760)有關。在步驟S760中,維特比解碼電路510選擇目標狀態的兩個分支的其中之一作為留存路徑(survivor path),並記錄這個分支的來源(例如以一個位元0或位元1表示),最後再把累積度量更新成下一階段的前置累積度量。如果預設值
Figure 02_image027
為一個極大值(例如+2 N-1,N為預設值
Figure 02_image027
的位元數),則維特比解碼電路510在步驟S760中選取對應累積度量較小的分支;反之,如果預設值
Figure 02_image027
為一個極小值(例如-2 N-1),則維特比解碼電路510在步驟S760中選取對應累積度量較大的分支。
如圖8所示,如果
Figure 02_image041
Figure 02_image043
等於預設值
Figure 02_image027
(即步驟S710為是),則代表其對應的分支b0或b1將不會被選取,因此維特比解碼電路510進一步將對應於目標分支(此時目標分支為為目標狀態的所有分支b0及b1的其中一者)的累積度量(即
Figure 02_image029
Figure 02_image031
)設為預設值
Figure 02_image027
(步驟S715),然後決定分支(步驟S760)。若只有一個分支等於上述預設值
Figure 02_image027
,則維特比解碼電路510在步驟S760中將選擇另一條分支;若兩分支所對應的累積度量相等,維特比解碼電路510在步驟S760中可選擇任一分支。
當步驟S710為否,則流程進入步驟S720。步驟S720判斷輔助資料 A'的資訊位元是否為已知。舉例來說,假設輔助資料 A'有複數個資訊位元(
Figure 02_image045
,
Figure 02_image047
,
Figure 02_image049
, …,
Figure 02_image051
,
Figure 02_image053
,
Figure 02_image055
, …),分支b0及分支b1是否有可能被選取與資訊位元
Figure 02_image051
的值息息相關。
當資訊位元
Figure 02_image051
為未知時(步驟S720為否),維特比解碼電路510計算各分支的目前過程度量(步驟S740),接著根據算式(1)及算式(2)計算累積度量(步驟S750),然後決定分支(步驟S760)。步驟S760結束後,維特比解碼電路510再次執行圖7的流程以處理同一階段的尚未處理的狀態,或是進到下一階段。
當資訊位元
Figure 02_image051
為已知時(步驟S720為是),維特比解碼電路510判斷目標狀態是否為候選狀態(步驟S730)。假設圖8中的虛線分支對應邏輯值0且實線分支對應邏輯值1,則當資訊位元
Figure 02_image051
為邏輯值0時,狀態S 00及S 01為候選狀態(步驟S730為是,因為目前的目標狀態為狀態S 01),而且當資訊位元
Figure 02_image051
為邏輯值1時,狀態S 10及S 11為候選狀態(步驟S730為否,因為目前的目標狀態為狀態S 01)。也就是說,維特比解碼電路510可以根據輔助資料 A'的資訊位元的值,排除某個階段中一半的狀態。
當目標狀態為候選狀態時(步驟S730為是),則維特比解碼電路510執行步驟S740~S760;當目標狀態非為候選狀態時(步驟S730為否),則維特比解碼電路510執行步驟S715。更明確地說,當維特比解碼電路510確定目標狀態不會被選取(即目標狀態非候選狀態),維特比解碼電路510將對應於目標分支(此時目標分支為目標狀態的所有分支b0及b1)的累積度量設為預設值
Figure 02_image027
(步驟S715),然後在步驟S760中維特比解碼電路510可以選擇分支b0或b1作為狀態k的目標狀態S 01的分支。無論維特比解碼電路510在步驟S760中選擇分支b0或b1,因為目標狀態S 01的所有分支的累積度量已被設為預設值
Figure 02_image027
,所以最終維特比演算法不會選擇包含狀態S 01的留存路徑(亦即此狀態S 01的兩個分支b0及b1皆可視為已被排除)。
在圖5~7的實施例中,維特比解碼電路510參考輔助資料 A'進行解碼。當輔助資料 A'的資訊位元為已知時,維特比解碼電路510有機會(視目標狀態是否為候選狀態而定)依據資訊位元直接將目標狀態的所有分支的累積度量設為預設值
Figure 02_image027
(亦即執行步驟S715)以減少計算量(亦即略過步驟S740~S760)。作為比較,圖3的維特比解碼電路340對每個狀態皆需執行步驟S740~S760。因為圖7的步驟S710、S715、S720及S730係執行簡單的判別或設定值的操作,所以圖5的迴旋碼解碼器250的複雜度與圖3的迴旋碼解碼器250相似。相較於圖3~4的實施例,圖5~7的實施例可更加提升迴旋碼解碼器250的效能,以進一步縮短無線通訊系統之接收端的解調變及/或解碼時間。
圖9為本發明迴旋碼解碼器之另一實施例的功能方塊圖。圖10為本發明迴旋碼解碼方法之另一實施例的流程圖。迴旋碼解碼器250包含偵錯資料產生電路310、通道編碼電路320、選擇電路330、維特比解碼電路340、資料抽取電路910、資料抽取電路915、偵錯資料產生電路920、選擇電路930、維特比解碼電路940以及比較電路950。偵錯資料產生電路310、通道編碼電路320、選擇電路330及維特比解碼電路340分別執行步驟S1010、S1020、S1030及S1040;該些元件及該些步驟的詳細內容已於圖3及圖4的實施例中做過說明,故不再贅述。維特比解碼電路340產生的中間解碼資料
Figure 02_image019
包含估測資料
Figure 02_image021
及中間偵錯資料
Figure 02_image023
。中間偵錯資料
Figure 02_image023
可以用來驗證估測資料
Figure 02_image021
是否為合法的碼字。資料抽取電路910及資料抽取電路915分別從中間解碼資料
Figure 02_image019
中取出估測資料
Figure 02_image021
及中間偵錯資料
Figure 02_image023
(步驟S1050)。因為中間偵錯資料
Figure 02_image023
具有預設的長度且添加於估測資料
Figure 02_image021
的尾端,所以資料抽取電路910及資料抽取電路915可以簡單地藉由分割中間解碼資料
Figure 02_image019
即可完成步驟S1050。
由於第一待解碼資料 E中對應於偵錯資料的位元都是未知的位元(除非輔助資料 A'的所有位元皆為已知),且為連續分布,而維特比架構對連續的錯誤有較差的抵抗性,所以與估測資料
Figure 02_image021
相比,中間偵錯資料
Figure 02_image023
的誤碼率較高。也就是說,可以利用估測資料
Figure 02_image021
的較高的正確性來幫助偵錯資料的解碼。所以接下來偵錯資料產生電路920對估測資料
Figure 02_image021
進行偵錯運算以產生參考偵錯資料
Figure 02_image057
(步驟S1060)。偵錯資料產生電路920的功能與偵錯資料產生電路310相同,故不再贅述。由於參考偵錯資料
Figure 02_image057
是根據估測資料
Figure 02_image021
重建(rebuild)所得,所以一般而言參考偵錯資料
Figure 02_image057
的正確率比中間偵錯資料
Figure 02_image023
高。參考偵錯資料
Figure 02_image057
與中間偵錯資料
Figure 02_image023
具有相同的位元數。
比較電路950比較參考偵錯資料
Figure 02_image057
及中間偵錯資料
Figure 02_image023
,並且產生控制訊號Ctrl。在一個實施例中,控制訊號Ctrl的位元數與參考偵錯資料
Figure 02_image057
及中間偵錯資料
Figure 02_image023
的位元數相同,而比較電路950可以將參考偵錯資料
Figure 02_image057
及中間偵錯資料
Figure 02_image023
相同數值的位元設定成已知的資訊位元(例如將控制訊號Ctrl中對應的位元設為邏輯值1),以及將不同數值的位元設定成未知的資訊位元(例如將控制訊號Ctrl中對應的位元設為邏輯值0)(步驟S1070)。當參考偵錯資料
Figure 02_image057
與中間偵錯資料
Figure 02_image023
的相異的位元數小於某個閥值時(例如控制訊號Ctrl中邏輯值為0的位元數小於該閥值),代表維特比解碼電路340解碼中間偵錯資料
Figure 02_image023
時可能因為雜訊而產生了錯誤,因此接下來選擇電路930參考控制訊號Ctrl及控制訊號Prek,並根據中間偵錯資料
Figure 02_image023
與參考偵錯資料
Figure 02_image057
的其中之一、接收資料
Figure 02_image015
及中間資料 Z'產生第二待解碼資料 E'(步驟S1080)。而當參考偵錯資料
Figure 02_image057
與中間偵錯資料
Figure 02_image023
的相異的位元數不小於該閥值時(例如控制訊號Ctrl中邏輯值為0的位元數不小於該閥值),選擇電路930僅根據接收資料
Figure 02_image015
及中間資料 Z'產生第二待解碼資料 E'
在一些實施例中,控制訊號Prek、控制訊號Ctrl、中間資料 Z'及接收資料
Figure 02_image015
具有相同的位元數。控制訊號Prek以邏輯值1代表中間資料 Z'中對應的位元為已知,以邏輯值0代表中間資料 Z'中對應的位元為未知。控制訊號Ctrl以邏輯值1代表中間偵錯資料
Figure 02_image023
及參考偵錯資料
Figure 02_image057
中對應的位元為已知,以邏輯值0代表中間偵錯資料
Figure 02_image023
及參考偵錯資料
Figure 02_image057
中對應的位元為未知。更明確地說,根據控制訊號Prek及控制訊號Ctrl的內容(例如根據兩者的逐位元(bitwise)或運算(OR operation)的結果),對接收資料
Figure 02_image015
中對應偵錯資料的位元而言,選擇電路930以中間偵錯資料
Figure 02_image023
及參考偵錯資料
Figure 02_image057
的相同位元取代接收資料
Figure 02_image015
的相對應位元;對接收資料
Figure 02_image015
中非對應偵錯資料的位元而言,選擇電路930以中間資料 Z'的已知位元取代接收資料
Figure 02_image015
的相對應位元。最後選擇電路930產生第二待解碼資料 E'。換句話說,如果控制訊號Ctrl及/或控制訊號Prek指示接收資料
Figure 02_image015
的部分位元為已知,則選擇電路930以已知的數值0或1取代接收資料
Figure 02_image015
中的相對應位元;如果控制訊號Ctrl及/或控制訊號Prek指示接收資料
Figure 02_image015
的部分位元為未知,則選擇電路930選擇接收資料
Figure 02_image015
的數值。
最後,維特比解碼電路940解碼第二待解碼資料 E'以得到目標資料
Figure 02_image059
(步驟S1090)。選擇電路930可用多工器實作。請注意,在其他的實施例中可採用分時的技術,使得圖9的迴旋碼解碼器250可以只使用一個偵錯資料產生電路、一個選擇電路及一個維特比解碼電路。
因為重建的參考偵錯資料
Figure 02_image057
具有較高的正確率,所以圖9及圖10的實施例可以利用此特徵減少待解碼資料中的連續錯誤位元。因此,維特比演算法的解碼效能可以獲得提升,有助於縮短無線通訊系統之接收端的解調變及/或解碼時間。
前述的電路(亦即圖3、5及9的各功能方塊)亦可由數位訊號處理器(digital signal processor, DSP)實作。在此情況下,數位訊號處理器以複數個功能模組來分別實現前述的電路的功能,且數位訊號處理器藉由執行儲存在記憶體中的程式碼或程式指令以完成該些功能模組的功能。本發明亦可以是硬體與軟/韌體的組合。
由於本技術領域具有通常知識者可藉由本案之裝置發明的揭露內容來瞭解本案之方法發明的實施細節與變化,因此,為避免贅文,在不影響該方法發明之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本發明之用,非用以限制本發明。再者,前揭實施例雖以窄頻物聯網為例,然此並非對本發明之限制,本技術領域人士可依本發明之揭露適當地將本發明應用於其它類型的通訊系統。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
210‧‧‧通道估測 220‧‧‧訊號偵測 230‧‧‧解擾器 240‧‧‧解速率匹配 250‧‧‧迴旋碼解碼器 260‧‧‧偵錯電路 310、920‧‧‧偵錯資料產生電路 320‧‧‧通道編碼電路 330、930‧‧‧選擇電路 340、510、940‧‧‧維特比解碼電路 910、915‧‧‧資料抽取電路 950‧‧‧比較電路 S410~S440、S610、S710~S760、S1010~S1090‧‧‧步驟
[圖1]為無線通訊系統的資料調變及/或編碼的流程及資料結構的示意圖; [圖2]為本發明之無線通訊接收端的解調變/解碼裝置的功能方塊圖; [圖3]為本發明迴旋碼解碼器之一實施例的功能方塊圖; [圖4]為本發明迴旋碼解碼方法之一實施例的流程圖; [圖5]為本發明迴旋碼解碼器之另一實施例的功能方塊圖; [圖6]為本發明迴旋碼解碼方法之另一實施例的流程圖; [圖7]為圖6之步驟S610的細部流程圖; [圖8]為維特比演算法的示意圖; [圖9]為本發明迴旋碼解碼器之另一實施例的功能方塊圖;以及 [圖10]為本發明迴旋碼解碼方法之另一實施例的流程圖。
310‧‧‧偵錯資料產生電路
320‧‧‧通道編碼電路
330‧‧‧選擇電路
340‧‧‧維特比解碼電路

Claims (10)

  1. 一種迴旋碼解碼器,根據一接收資料及一輔助資料進行解碼以得到一目標資料,該迴旋碼解碼器包含: 一偵錯資料產生電路,用來對該輔助資料進行偵錯運算以得到一偵錯資料; 一通道編碼電路,耦接該偵錯資料產生電路,用來對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料; 一選擇電路,耦接該通道編碼電路,用來根據該接收資料及該中間資料產生一待解碼資料;以及 一維特比解碼電路,耦接該選擇電路,用來解碼該待解碼資料以得到該目標資料。
  2. 如申請專利範圍第1項所述之迴旋碼解碼器,其中該中間資料的長度與該接收資料相同。
  3. 如申請專利範圍第1項所述之迴旋碼解碼器,其中該中間資料包含複數個已知位元,該選擇電路係以該些已知位元取代該接收資料的相對應位元以產生該待解碼資料。
  4. 如申請專利範圍第1項所述之迴旋碼解碼器,其中該偵錯資料係一第一偵錯資料,該接收資料係一原始資料及一第二偵錯資料經過迴旋編碼的資料,該第二偵錯資料係用於檢驗該原始資料之正確性,該輔助資料的複數個已知位元與該原始資料之對應的位元相同。
  5. 一種迴旋碼解碼方法,根據一接收資料及一輔助資料進行解碼以得到一目標資料,該迴旋碼解碼方法包含: 對該輔助資料進行偵錯運算以得到一偵錯資料; 對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料; 根據該接收資料及該中間資料產生一待解碼資料;以及 以維特比解碼運算解碼該待解碼資料以得到該目標資料。
  6. 如申請專利範圍第5項所述之迴旋碼解碼方法,其中該以維特比解碼運算解碼該待解碼資料以得到該目標資料之步驟係參考該輔助資料。
  7. 一種迴旋碼解碼器,根據一接收資料及一輔助資料進行解碼以得到一目標資料,該迴旋碼解碼器包含: 一偵錯資料產生電路,用來對該輔助資料進行偵錯運算以得到一偵錯資料; 一通道編碼電路,耦接該偵錯資料產生電路,用來對該輔助資料及該偵錯資料進行通道編碼以得到一中間資料; 一選擇電路,耦接該通道編碼電路,用來根據該接收資料及該中間資料產生一待解碼資料;以及 一維特比解碼電路,耦接該選擇電路,用來參考該輔助資料解碼該待解碼資料以得到該目標資料。
  8. 如申請專利範圍第7項所述之迴旋碼解碼器,其中該維特比解碼電路係處理複數個狀態,該些狀態之一目標狀態係包含一第一分支及一第二分支,該維特比解碼電路係執行以下操作: 根據該輔助資料中對應該目標狀態的一資訊位元是否為已知決定計算該第一分支的一第一過程度量及該第二分支的一第二過程度量或是不計算該第一過程度量及該第二過程度量而選取該第一分支及該第二分支的其中之一作為維特比演算法之一留存路徑。
  9. 如申請專利範圍第8項所述之迴旋碼解碼器,其中該維特比解碼電路更執行以下操作: 當該資訊位元為已知時,根據該資訊位元判斷該目標狀態是否為一候選狀態; 當該目標狀態為該候選狀態時,計算該第一分支的該第一過程度量及該第二分支的該第二過程度量;以及 當該目標狀態非為該候選狀態時,不計算該第一過程度量及該第二過程度量而選取該第一分支及該第二分支的其中之一作為該留存路徑。
  10. 如申請專利範圍第9項所述之迴旋碼解碼器,其中該維特比解碼電路更執行以下操作: 當該目標狀態非為該候選狀態時,將對應該第一分支之維特比演算法的一第一累積度量及對應該第二分支之維特比演算法的一第二累積度量設為一預設值,使維特比演算法不選擇該留存路徑。
TW107124892A 2018-07-19 2018-07-19 迴旋碼解碼器及迴旋碼解碼方法 TWI681639B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107124892A TWI681639B (zh) 2018-07-19 2018-07-19 迴旋碼解碼器及迴旋碼解碼方法
US16/442,604 US10826541B2 (en) 2018-07-19 2019-06-17 Convolutional code decoder and convolutional code decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107124892A TWI681639B (zh) 2018-07-19 2018-07-19 迴旋碼解碼器及迴旋碼解碼方法

Publications (2)

Publication Number Publication Date
TWI681639B true TWI681639B (zh) 2020-01-01
TW202008733A TW202008733A (zh) 2020-02-16

Family

ID=69163228

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107124892A TWI681639B (zh) 2018-07-19 2018-07-19 迴旋碼解碼器及迴旋碼解碼方法

Country Status (2)

Country Link
US (1) US10826541B2 (zh)
TW (1) TWI681639B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI690168B (zh) * 2018-07-19 2020-04-01 瑞昱半導體股份有限公司 迴旋碼解碼器及迴旋碼解碼方法
CN114337690A (zh) * 2020-10-12 2022-04-12 瑞昱半导体股份有限公司 数据译码电路及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000016512A1 (en) * 1998-09-11 2000-03-23 Ericsson Inc. Rate detection in radio communication systems
US20010003208A1 (en) * 1998-02-11 2001-06-07 Yongbing Wan Convolution decoding terminated by an error detection block code with distributed parity bits
US20020016945A1 (en) * 2000-03-27 2002-02-07 Khalid Sayood System and method for joint source-channel encoding, with symbol decoding and error correction
US20070195675A1 (en) * 2006-02-21 2007-08-23 Samsung Electronics Co., Ltd. Optical disc reproducing apparatus
TW200820637A (en) * 2006-06-01 2008-05-01 Ericsson Telefon Ab L M Method and apparatus relating to channel decoding
US20090304114A1 (en) * 2006-03-16 2009-12-10 ETH Zürich Method for decoding digital information encoded with a channel code

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI115178B (fi) * 2000-10-31 2005-03-15 Nokia Corp Menetelmä ja järjestely bittien suojaamiseksi parhaalla mahdollisella tavalla tiedonsiirtovirheitä vastaan
US6782497B2 (en) * 2001-09-20 2004-08-24 Koninklijke Philips Electronics N.V. Frame error rate estimation in a receiver
EP1603265A3 (en) * 2004-06-02 2008-06-25 Samsung Electronics Co., Ltd. Apparatus and method for detecting a time division multiplexing frame in a mobile communication system
US7719444B2 (en) * 2007-11-16 2010-05-18 International Business Machines Corporation Modulation coding
TWI690168B (zh) * 2018-07-19 2020-04-01 瑞昱半導體股份有限公司 迴旋碼解碼器及迴旋碼解碼方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010003208A1 (en) * 1998-02-11 2001-06-07 Yongbing Wan Convolution decoding terminated by an error detection block code with distributed parity bits
WO2000016512A1 (en) * 1998-09-11 2000-03-23 Ericsson Inc. Rate detection in radio communication systems
US20020016945A1 (en) * 2000-03-27 2002-02-07 Khalid Sayood System and method for joint source-channel encoding, with symbol decoding and error correction
US20070195675A1 (en) * 2006-02-21 2007-08-23 Samsung Electronics Co., Ltd. Optical disc reproducing apparatus
US20090304114A1 (en) * 2006-03-16 2009-12-10 ETH Zürich Method for decoding digital information encoded with a channel code
TW200820637A (en) * 2006-06-01 2008-05-01 Ericsson Telefon Ab L M Method and apparatus relating to channel decoding

Also Published As

Publication number Publication date
TW202008733A (zh) 2020-02-16
US10826541B2 (en) 2020-11-03
US20200028526A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
CN109314602B (zh) 用于错误检测编码的装置和方法
US11025278B2 (en) Polar coding encoding/decoding method and apparatus
RU2216851C2 (ru) Итеративный декодер и способ итеративного декодирования для коммуникационной системы
JP5180319B2 (ja) 伝送されたメッセージについて複数の仮説を使用して復号する方式
JP2010158015A (ja) 対数尤度マッパのスケールファクタを最適化するブロードキャストレシーバ及び方法
JP2009525009A (ja) 双方向スライディングウィンドウアーキテクチャを有するmap復号器
CN112260798B (zh) 一种基于极化码的物理层控制信道盲检测方法
TWI681639B (zh) 迴旋碼解碼器及迴旋碼解碼方法
TWI690168B (zh) 迴旋碼解碼器及迴旋碼解碼方法
KR20180010849A (ko) 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치
US8843811B2 (en) Apparatus and method for decoding in communication system
JP2011509598A (ja) 送信されたメッセージについてのアプリオリ情報を使用するデコーディングスキーム
US10075194B2 (en) Tail biting convolutional code (TBCC) enhancement with state propagation and list decoding
CN110768748B (zh) 回旋码解码器及回旋码解码方法
TWI748739B (zh) 決定待翻轉比特位置的方法及極化碼解碼器
JP2022022398A (ja) セクション式冗長検査を有する制御シグナリングの符号化および復号
US11075715B2 (en) Encoding method and apparatus
GB2403106A (en) a turbo type decoder which performs decoding iterations on sub-blocks to improve convergence
CN110768747B (zh) 回旋码解码器及回旋码解码方法
KR102338852B1 (ko) 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
TWI760898B (zh) 資料解碼電路及方法
TWI731441B (zh) 用於列表型連續消去的解碼器及其解碼方法
TWI555339B (zh) 疊代式解碼裝置、疊代式訊號檢驗裝置與資訊更新方法
CN116073958B (zh) 译码方法、装置、电子设备和存储介质
CN113162633B (zh) 极化码的译码方法及装置、译码器、设备、存储介质