TWI599182B - 解碼裝置及方法 - Google Patents

解碼裝置及方法 Download PDF

Info

Publication number
TWI599182B
TWI599182B TW105110686A TW105110686A TWI599182B TW I599182 B TWI599182 B TW I599182B TW 105110686 A TW105110686 A TW 105110686A TW 105110686 A TW105110686 A TW 105110686A TW I599182 B TWI599182 B TW I599182B
Authority
TW
Taiwan
Prior art keywords
decoding
encoder
code
polynomial
inverse
Prior art date
Application number
TW105110686A
Other languages
English (en)
Other versions
TW201737630A (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 TW105110686A priority Critical patent/TWI599182B/zh
Priority to US15/224,939 priority patent/US9787331B1/en
Application granted granted Critical
Publication of TWI599182B publication Critical patent/TWI599182B/zh
Publication of TW201737630A publication Critical patent/TW201737630A/zh

Links

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/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
    • 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/3905Maximum 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
    • 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/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2

Landscapes

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

Description

解碼裝置及方法
本發明是關於一種解碼裝置及方法,且特別是有關於一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置及方法。
近年來因為通訊產業蓬勃發展,行動裝置數量大幅提升,為了提高多媒體影音處理及高速無線通訊的傳輸品質,通訊標準中會加入渦輪碼(Turbo Code)或迴旋碼(Convolutional Code)做為錯誤更正碼(Error Correction Code),以修正訊號因為受到通道干擾而造成的錯誤。應用於智慧電網之電力線傳輸通訊標準的HomePlug被訂定出來,此外各式無線通訊標準也相繼被訂定而出,例如:適用於短距離無線通訊的IEEE 802.16d/m/e(WiMAX)及IEEE 802.11 a/b/g/n/ac(WiFi)、其他標準如LTE(Long Term Evloution)、LTE-A(LTE-Advanced)等。各個通訊標準所採用的渦輪碼或迴旋碼規格不盡相同,在硬體設計方面往往在成本考量下,只能針對一種或少數幾種特定的標準進行設計。
目前全球可攜式產品如智慧型手機、平板電腦等蓬勃發展,在現有的無線通訊技術中,維特比演算法(Viterbi Algorithm)及最大事後機率演算法(Maximum a posteriori)常被用於迴旋碼(Convolutional Code)及渦輪碼(Turbo Code)的解碼器中。然而要正確地解碼接收資訊,一般的解碼器皆是針對一種 或數種特定編碼器相對應的存活路徑或柵狀圖路徑進行設計,設計完後解碼器僅能支援此特定編碼器編碼資訊後的解碼。當接收到不同於目標通訊標準的碼字(Codeword)時,則無法成功還原傳輸端所要傳送的資訊。若要另外設計不同通訊標準之解碼器,則可能讓解碼器的設計複雜度或面積大幅度上升甚至更進一步影響操作頻率而降低吞吐量。
有鑑於目前的嵌入式柵狀路由器僅支援以二為基底(Radix-2)的單位元編碼,並且在解碼開始之前需要大量的設定時間,導致吞吐量下降,本發明將之改良為以四為基底(Radix-4)、可支援單位元或雙位元編碼的低延遲嵌入式柵狀路由器。
因此本發明的目的是提供一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置及方法。本發明不僅可以安排雙位元渦輪碼之解碼,並且能縮短多記憶體單元數量之設定時間。本發明亦可以提高迴旋碼及渦輪碼解碼器的彈性度、降低多模式迴旋碼及渦輪碼解碼器的設計時程。
依據本發明的一實施例,一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置,解碼裝置包括:分支計算單元,用於接收數個輸入訊號及計算出數個分支值;可程式化一般化柵狀路由器,用於根據數個通訊標準之一所採用之渦輪碼或迴旋碼規格產生解碼路徑控制訊號;多工器,接收來自分支計算單元之分支值及來自可程式化一般化柵狀路由器之解碼路徑控制訊號並選擇相對應分支值;遞迴運算單元,連接於多工器之後並自多工器接收相對應分支值;及事後機率運算單元,連接於遞迴運算單元之後,事後機率運算單元用於解出最後解碼結果。
依據本發明的另一實施例,本發明另揭露一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼方法,解碼方法包括以下步驟:接收數個輸入訊號;計算出數個分支值;根據數個通訊標準之一所採用之渦輪碼或迴旋碼規格,產生解碼路徑控制訊號;接收分支值及解碼路徑控制訊號並選擇相對應分支值;接收相對應分支值;及解出最後解碼結果。
本「發明內容」係以簡化形式介紹一些選定概念,在下文之「實施方式」中將進一步對其進行描述。本「發明內容」並非意欲辨識申請專利之標的之關鍵特徵或基本特徵,亦非意欲用於限制申請專利之標的之範圍。
100‧‧‧解碼裝置
110‧‧‧分支計算單元
112‧‧‧多工器
114‧‧‧遞迴運算單元
116‧‧‧事後機率運算單元
118‧‧‧反向式產生多項式產生器
120‧‧‧計數器
122‧‧‧可程式化一般化柵狀路由器
1102~1112‧‧‧步驟方法
1202~1204‧‧‧步驟方法
1302~1304‧‧‧步驟方法
為讓本發明能更明顯易懂,請參考所附圖式閱讀本發明說明,在圖式中:圖1繪示根據本發明實施例之解碼裝置的範例;圖2繪示根據本發明實施例之可程式化一般化柵狀路由器的範例;圖3繪示根據本發明實施例之應用於HomePlug渦輪碼的遞迴系統式迴旋編碼器;圖4繪示根據本發明實施例之應用於LTE渦輪碼的遞迴系統式迴旋編碼器;圖5繪示根據本發明實施例之應用於WiMAX渦輪碼的遞迴系統式迴旋編碼器;圖6繪示根據本發明實施例之應用於LTE迴旋碼的非遞迴系統式迴旋編碼器;圖7繪示根據本發明實施例之記憶體單元為三、回授形態為多位元多輸出的一般化遞迴迴旋編碼器;圖8繪示根據本發明實施例之一組由多位元多輸出回授的一般化遞迴迴旋編碼器轉換成的可程式化一般化柵狀路由器的同位位元輸出部分;圖9繪示根據本發明實施例之應用於LTE迴旋碼情境的記憶體數量為六、延伸因 子為二的柵狀路由器;圖10繪示根據本發明實施例之柵狀路由器的時間與空間額外成本;圖11繪示根據本發明實施例之一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼方法;圖12繪示應用於單位元編碼的產生解碼路徑控制訊號的步驟;及圖13繪示應用於雙位元編碼的產生解碼路徑控制訊號的步驟。
接下來請參照本發明實施例的詳細說明,其中所提到的範例會連同圖式一同進行說明。在任何可能的情況下,圖式及說明中所使用的相同參考數標都代表了相同或類似的元件。
渦輪碼及迴旋碼目前廣泛地應用於國際無線通訊傳輸標準當中,如第四代行動通訊的Long Term Evolution Advanced(LTE-A)、WiMAX(IEEE 802.16d/e/m)、WiFi(802.11 a/b/g/n/ac)、HomePlug等,本技術可適用於各標準所制定的迴旋碼與渦輪碼,並不受限於特定規範。
請參照圖1,其係繪示根據本發明實施例之解碼裝置的範例。本發明揭露一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置。解碼裝置100包括分支計算單元110,用於接收數個輸入訊號及計算出數個分支值;可程式化一般化柵狀路由器122,用於根據數個通訊標準之一所採用之渦輪碼或迴旋碼規格產生解碼路徑控制訊號;多工器112,接收來自分支計算單元110之分支值及來自可程式化一般化柵狀路由器122之解碼路徑控制訊號並選擇相對應分支值;遞迴運算單元114,連接於多工器112之後並自多工器112接收相對應分支值;及事後機率運算單元116,連接於遞迴運算單元114 之後,事後機率運算單元116用於解出最後解碼結果。其中可程式化一般化柵狀路由器122支援以四為基底(Radix-4)及以二為基底(Radix-2)之架構。
在單位元編碼的實施例中,可程式化一般化柵狀路由器122包括計數器120及反向式產生多項式產生器118。計數器120包括數個記憶體單元,這些記憶體單元的數量大於或等於對應編碼器的限制長度(constraint length)。
在雙位元編碼的實施例中,可程式化一般化柵狀路由器122包括計數器120及反向式產生多項式產生器118。計數器120包括數個記憶體單元,這些記憶體單元的數量大於或等於對應編碼器的限制長度加一。
反向式產生多項式產生器118是用於接收來自記憶體單元的輸入並經由對應編碼器之產生多項式生成反向式產生多項式(inverse type generator polynomial),其中反向式產生多項式所產生之結果即為解碼路徑控制訊號。反向式產生多項式支援應用於渦輪碼的遞迴系統式迴旋編碼器(Recursive Systematic Convolutional Encoder,RSC Encoder)或非遞迴系統式迴旋編碼器(Non-recursive Non-Systematic Convolutional Encoder,NSC Encoder)。反向式產生多項式支援應用於迴旋碼的遞迴系統式迴旋編碼器或非遞迴系統式迴旋編碼器。
解碼裝置100可配置以適用於維特比解碼器。在維特比解碼器的實施例中,維特比解碼器進一步包括路徑追蹤模組。解碼裝置100亦可配置以適用於最大事後機率解碼器。
請參照圖2,其係繪示根據本發明實施例之可程式化一般化柵狀路由器的範例。其中XB是為了雙位元渦輪碼中第二個輸入建立的記憶體單元,P、S0、S1、...SM-1則為所有編碼共用的記憶體單元;輸出端的XB則是為了雙位元渦輪碼的輸出端,XA是渦輪碼的系統位元(systematic bit)輸出端,其餘則是所有編碼通用的輸出端,下方XPN可以依照不同標準調整不同的輸出端數量。 乘法器旁的giM參數負責針對不同標準的產生多項式調整為1或0以形成不同編碼器的反向式產生多項式。
由於不論以最大事後機率解碼器或維特比解碼器解碼迴旋碼或渦輪碼,都會使用柵狀圖安排解碼路徑。因此,在重新安排解碼路徑之後,維特比解解碼器便可以無誤地解出所有不同規格的迴旋碼,若同時該處理器可同時處理的狀態(state)數夠大,則在不同規格的迴旋碼解碼之間則不會有吞吐量的下降;同樣地,在重新安排解碼路徑之後,一個最大事後機率解碼器可以解碼所有規格的迴旋碼或渦輪碼,若解碼器能有足夠的解碼能力,解碼不同的錯誤更正碼不會令吞吐量下降。
以HomePlug、LTE以及WiMAX為例:請參照圖3至圖5,圖3、圖4與圖5分別為根據本發明實施例之應用於HomePlug、LTE與WiMAX渦輪碼的遞迴系統式迴旋編碼器,圖6則是根據本發明實施例之應用於LTE迴旋碼的非遞迴迴旋編碼器,經由三者編碼之後的碼字須由不同的、特定設計的最大事後機率值解碼器進行解碼,以達到前饋式錯誤更正碼的資訊保護效果,其中Vs1、Vs2為系統輸出的位元,Vk1、Vk2為同位輸出的位元。HomePlug及WiMAX是雙位元編碼的結構,而LTE是單位元編碼的結構。
就編碼器中的回授路徑分類,LTE與WiMAX的迴旋編碼器皆為多位元單輸出回授形態,而HomePlug的迴旋編碼器屬於單位元多輸出的回授形態。若編碼器型態屬於前者時,把編碼器轉換為可程式化一般化柵狀路由器時,各個位元暫存器的相對位置保持不變,轉換過程中不會更動各個暫存器狀態(如WiMAX迴旋編碼器的S0、S1與S2在轉換之後的相對位置依然保持S0、S1與S2的順序),因此整組計數器的狀態值可以直接套用於可程式化一般化柵狀路由器;但若迴旋編碼器屬於後者,在轉換為一般化編碼器柵狀路由器時,各個位元暫存器的相對位置保持可能會改變(如HomePlug迴旋編碼器的S0、S1與S2在 轉換之後的相對位置可能會改變為S2、S0與S1的組合),因此轉換之後需要額外增加暫存器狀態轉換的電路。
請參照圖7,其係繪示根據本發明實施例之記憶體單元為三、回授形態為多位元多輸出的一般化遞迴迴旋編碼器,其中gRUN表示回授路徑的輸入控制參數、gRDN表示回授路徑的輸出位置。藉由調整這兩項參數,這個一般化編碼器可以成為任何形態的遞迴迴旋編碼器。
請參照圖8,其係繪示一組由多位元多輸出回授的一般化遞迴迴旋編碼器轉換成的可程式化一般化柵狀路由器的同位位元輸出部分,考慮到多輸出的回授路徑,轉換後的暫存器中前三個位元將被替換為不同於原始型態,輸入、S0、S1被轉換為P0、P1、P2等不同的邏輯組合,而這些暫存器的形態可用一組額外的邏輯單元將原本的輸入代換為轉換後的計數器形態。
接下來,將舉例說明本發明應用於智慧型手機的狀況:一般而言,一個智慧型手機上之錯誤更正碼可能是以單一無線通訊標準所設計的渦輪解碼器,如:LTE、WiMAX或HomePlug等,其中使用維特比解碼器或最大事後機率值解碼器進行解碼。本發明可以依照不同的編碼器形式,安排維特比解碼器或最大事後機率值解碼器的分支計算單元所計算出來的分支值路徑,再送至遞迴運算單元,最後進入事後機率運算單元當中解出最後的解碼結果。藉由路徑的安排,原本為單一標準設計的解碼器可解碼不同標準所制定的渦輪碼或迴旋碼。
舉例假設一個智慧型手機採用了LTE的渦輪碼及迴旋碼,又同時採用WiMAX的雙位元渦輪碼。請參照圖9,其係繪示根據本發明實施例之應用於LTE迴旋碼情境的記憶體數量為六、延伸因子為二的柵狀路由器。如圖9所示,為了支援LTE限制長度為七(限制長度為記憶體數量加一)的迴旋碼,記憶體數量為六,本發明在解碼開始之前將與解碼器對應的記憶體單元數做為雙位元 計數器,將此計數器由零開始計數直到最大值,期間的計數值則做為程式gnn等反向式產生多項式的輸入值,隨後在柵狀路由器的輸出端可以得到最大事後機率解碼器或維特比解碼器所需要的解碼路徑。在後面的所有解碼過程中,則全數依照本發明所產生的路徑安排分支值進行解碼,不需要任何額外的運算,因此不會產生任何額外的運算時間。應用本發明所產生的額外運算時間僅有開始解碼之前的計數時間。
考慮到因為柵狀路由器應用於LTE的迴旋碼及雙位元渦輪碼,擁有八個記憶體單元,解碼前的設定時間原本需要28=256個週期,在切換通訊標準時造成相當大的延遲。本發明可依照不同的吞吐量要求設定不同的延伸因子,每一個延伸因子(Fu)可以將雙位元計數器其中一個記憶體單元拆成1與0,並且同時將兩種情況下的計數值輸出給反向式產生多項式,對整體柵狀路由器而言就是同時設定兩條路徑。因此每增加一倍的延伸因子(原始為一)可以減少當前一半的運算時間,當延伸因子為Fu時則運算時間為原本的(1/2Fu),這種做法在有小量延伸因子時,因為省去暫存器和運算元而稍微減少面積。
請參照圖10,其係繪示根據本發明實施例之柵狀路由器的時間與空間額外成本。表一係繪示柵狀路由器在不同延伸因子下的面積和延遲。隨著延伸因子大量增加,整體柵狀路由器的硬體成本也呈線性成長,其硬體成本(閘數)與設定時間(延遲)對於延伸因子的變化可由表一與圖10得知。因此在本例中,假定可接受的延遲為8個週期,那麼所採用的延伸因子則須為32。
表二繪示依照不同的標準與解碼器解碼能力在延遲(週期)為八時各個週期所產生的額外面積。雖然擁有大量延伸因子的硬體成本會高度成長,但是相對於目前市面上的單一標準解碼器,本發明所造成的額外硬體成本仍然顯得非常小,對比於[2]、[3]與[4],依照不同的標準和解碼器解碼能力所設定的可程式化一般化柵狀路由器在延遲數量為八個週期時,其所造成的額外面積分別為1.84%、0.03%與0.06%。
本發明提出的柵狀路由器可以針對不同的編碼器重新安排解碼器中的存活路徑或柵狀圖路徑,使維特或比解碼器或最大事後機率解碼器對非限定的單位元或雙位元迴旋碼(或渦輪碼)進行解碼。本發明亦可減少設定時間,僅花費數個週期即可設定完畢,並且不會造成解碼過程中任何額外的運算,和現行的解碼器比較之下,本發明最大的額外面積成本僅有約不到2%。
本發明擁有極小的前置作業時間。柵狀路由器的運作方式是在一段 字碼的解碼開始之前,將解碼器的路徑重新排定,以便接下來的解碼過程使用,雖然在小限制長度之下成串的運算時間相對不長,但是在較長的限制長度之下,例如LTE的迴旋碼為七,整體路由器的設定時間變得非常長(27=128個週期),在頻繁切換通訊標準時會令整體解碼器的吞吐量大幅降低。本發明可以令使用者預設自己所期望的最低週期數,依照不同的延伸因子,設定時間依照2的冪次方下降,其值最低甚至可以降低到僅需一個週期就將所有路徑一次設定完成。因此,根據本發明之一實施例,當給定計數器中一或更多記憶體單元之數值時,可以達到縮短反向式產生多項式之數量展開及計數所需之時間。
請參照圖11,圖11繪示根據本發明實施例之一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼方法。解碼方法包括以下步驟:步驟1102,接收輸入訊號;步驟1104,計算出分支值;步驟1106,根據通訊標準之一所採用之渦輪碼或迴旋碼規格,產生解碼路徑控制訊號;步驟1108,接收分支值及解碼路徑控制訊號並選擇相對應分支值;步驟1110,接收相對應分支值;及步驟1112,解出最後解碼結果。
請參照圖12,圖12繪示應用於單位元編碼的產生解碼路徑控制訊號的步驟。在單位元編碼的實施例中,產生解碼路徑控制訊號的步驟包含以下步驟:步驟1202,自記憶體單元產生輸入,其中記憶體單元之數量大於或等於對應編碼器之限制長度;步驟1204,經由對應編碼器之產生多項式生成反向式產生多項式,反向式產生 多項式所生成之結果係解碼路徑控制訊號。
請參照圖13,圖13繪示應用於雙位元編碼的產生解碼路徑控制訊號的步驟。在雙位元編碼的實施例中,產生解碼路徑控制訊號的步驟包含以下步驟:步驟1302,自記憶體單元產生輸入,其中記憶體單元之數量大於或等於對應編碼器之(限制長度加一);步驟1304,經由對應編碼器之產生多項式生成反向式產生多項式,反向式產生多項式所生成之結果係解碼路徑控制訊號。
經由不同的遞迴系統式迴旋編碼器或非遞迴迴旋編碼器所產生的碼字在解碼端會產生不同的分支值(Branch),因此在解碼端重新安排原本解碼器所排定的分支值的路徑,便可以使該解碼器正常地將收到的碼字解碼還原為傳送端的資訊。同時這種方法又可以避免另外設計一個解碼器,使整體解碼器的硬體成本大幅上升。
綜上所述,前述實施例揭露一種用於在錯誤更正碼中解碼迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置及方法。本發明所提出的裝置及方法不但可以因應使用的方式調整記憶體單元的數量,還可應用於雙位元解碼器標準。最重要的是本發明尚可應用於現下更正能力更好、應用更廣的渦輪解碼器上。在渦輪解碼器應用了本發明之後,不但可以解碼任何不同標準所使用的渦輪碼,更可以解碼迴旋碼,支援多種不同形式的錯誤更正碼,令多模式的錯誤更正碼解碼器設計複雜度大幅下降。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之發明申請專利範圍所界定者為準。
100‧‧‧解碼裝置
110‧‧‧分支計算單元
112‧‧‧多工器
114‧‧‧遞迴運算單元
116‧‧‧事後機率運算單元
118‧‧‧反向式產生多項式產生器
120‧‧‧計數器
122‧‧‧可程式化一般化柵狀路由器

Claims (18)

  1. 一種用於在一錯誤更正碼中解碼一迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置,該解碼裝置包括:一分支計算單元,用於接收複數個輸入訊號及計算出複數個分支值;一可程式化一般化柵狀路由器,用於根據複數個通訊標準之一所採用之渦輪碼或迴旋碼規格產生一解碼路徑控制訊號,該可程式化一般化柵狀路由器包含:一計數器,包含複數個記憶體單元,該些記憶體單元之數量大於或等於一對應編碼器之一限制長度;一反向式產生多項式產生器,用於接收來自該些記憶體單元之複數個輸入並經由該對應編碼器之一產生多項式生成一反向式產生多項式(inverse type generator polynomial),該反向式產生多項式所產生之結果係該解碼路徑控制訊號;一多工器,接收來自該分支計算單元之該些分支值及來自該可程式化一般化柵狀路由器之該解碼路徑控制訊號並選擇一相對應分支值;一遞迴運算單元,連接於該多工器之後並自該多工器接收該相對應分支值;及一事後機率運算單元,連接於該遞迴運算單元之後,該事後機率運算單元用於解出一最後解碼結果。
  2. 一種用於在一錯誤更正碼中解碼一迴旋碼或渦輪碼編碼器產生之碼字的解碼裝置,該解碼裝置包括:一分支計算單元,用於接收複數個輸入訊號及計算出複數個分支值; 一可程式化一般化柵狀路由器,用於根據複數個通訊標準之一所採用之渦輪碼或迴旋碼規格產生一解碼路徑控制訊號,該可程式化一般化柵狀路由器包含:一計數器,包含複數個記憶體單元,該些記憶體單元之數量大於或等於一對應編碼器之一限制長度加一;一反向式產生多項式產生器,用於接收來自該些記憶體單元之複數個輸入並經由該對應編碼器之一產生多項式生成一反向式產生多項式(inverse type generator polynomial),該反向式產生多項式所產生之結果係該解碼路徑控制訊號;一多工器,接收來自該分支計算單元之該些分支值及來自該可程式化一般化柵狀路由器之該解碼路徑控制訊號並選擇一相對應分支值;一遞迴運算單元,連接於該多工器之後並自該多工器接收該相對應分支值;及一事後機率運算單元,連接於該遞迴運算單元之後,該事後機率運算單元用於解出一最後解碼結果。
  3. 如申請專利範圍第1或2項所述之解碼裝置,其中該解碼裝置係配置以適用於一維特比(Viterbi)解碼器。
  4. 如申請專利範圍第3項所述之解碼裝置,其中該維特比解碼器進一步包括一路徑追蹤模組。
  5. 如申請專利範圍第1或2項所述之解碼裝置,其中該解碼裝置係配置以適用於一最大事後機率(Maximum a posteriori)解碼器。
  6. 如申請專利範圍第1或2項所述之解碼裝置,其中給定該些記憶體單 元之數值之一或更多者以達到縮短該反向式產生多項式之數量展開及計數所需之時間。
  7. 如申請專利範圍第1或2項所述之解碼裝置,其中該反向式產生多項式支援一渦輪碼(Turbo Code)。
  8. 如申請專利範圍第7項所述之解碼裝置,其中該反向式產生多項式支援一遞迴系統式迴旋編碼器(Recursive Systematic Convolutional Encoder,RSC Encoder)或一非遞迴系統式迴旋編碼器(Non-recursive Non-systematic Convolutional Encoder,NSC Encoder)所產生之碼字。
  9. 如申請專利範圍第1或2項所述之解碼裝置,其中該反向式產生多項式支援一迴旋碼(Convolutional Code)。
  10. 如申請專利範圍第9項所述之解碼裝置,其中該反向式產生多項式支援一遞迴系統式迴旋編碼器或一非遞迴系統式迴旋編碼器所產生之碼字。
  11. 如申請專利範圍第1或2項所述之解碼裝置,其中該可程式化一般化柵狀路由器支援以四為基底(Radix-4)及以二為基底(Radix-2)之架構。
  12. 一種用於在一錯誤更正碼中解碼一迴旋碼或渦輪碼編碼器產生之碼字的解碼方法,該解碼方法包括以下步驟:接收複數個輸入訊號;計算出複數個分支值;根據複數個通訊標準之一所採用之渦輪碼或迴旋碼規格,產生一解碼路徑控制訊號;接收該些分支值及該解碼路徑控制訊號並選擇一相對應分支值;接收該相對應分支值;及 解出一最後解碼結果;其中該解碼路徑控制訊號係為自複數個記憶體單元產生複數個輸入,且該些記憶體單元之數量大於或等於一對應編碼器之一限制長度,並經由一對應編碼器之一產生多項式生成一反向式產生多項式所生成之結果。
  13. 一種用於在一錯誤更正碼中解碼一迴旋碼或渦輪碼編碼器產生之碼字的解碼方法,該解碼方法包括以下步驟:接收複數個輸入訊號;計算出複數個分支值;根據複數個通訊標準之一所採用之渦輪碼或迴旋碼規格,產生一解碼路徑控制訊號;接收該些分支值及該解碼路徑控制訊號並選擇一相對應分支值;接收該相對應分支值;及解出一最後解碼結果;其中該解碼路徑控制訊號係為自複數個記憶體單元產生複數個輸入,且該些記憶體單元之數量大於或等於一對應編碼器之一限制長度加一,並經由一對應編碼器之一產生多項式生成一反向式產生多項式所生成之結果。
  14. 如申請專利範圍第12或13項所述之解碼方法,其中給定該些記憶體單元之數值之一或更多者以達到該反向式產生多項式之數量展開及縮短計數所需之時間。
  15. 如申請專利範圍第12或13項所述之解碼方法,其中該反向式產生多項式支援一渦輪碼。
  16. 如申請專利範圍第15項所述之解碼方法,其中該反向式產生多項式 支援一遞迴系統式迴旋編碼器或一非遞迴系統式迴旋編碼器所產生之碼字。
  17. 如申請專利範圍第12或13項所述之解碼方法,其中該反向式產生多項式支援一迴旋碼。
  18. 如申請專利範圍第17項所述之解碼方法,其中該反向式產生多項式支援一遞迴系統式迴旋編碼器或一非遞迴系統式迴旋編碼器所產生之碼字。
TW105110686A 2016-04-06 2016-04-06 解碼裝置及方法 TWI599182B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW105110686A TWI599182B (zh) 2016-04-06 2016-04-06 解碼裝置及方法
US15/224,939 US9787331B1 (en) 2016-04-06 2016-08-01 Decoding path selection device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105110686A TWI599182B (zh) 2016-04-06 2016-04-06 解碼裝置及方法

Publications (2)

Publication Number Publication Date
TWI599182B true TWI599182B (zh) 2017-09-11
TW201737630A TW201737630A (zh) 2017-10-16

Family

ID=59981970

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105110686A TWI599182B (zh) 2016-04-06 2016-04-06 解碼裝置及方法

Country Status (2)

Country Link
US (1) US9787331B1 (zh)
TW (1) TWI599182B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3532884B2 (ja) * 2001-05-18 2004-05-31 松下電器産業株式会社 ビタビ復号器
JP2006120204A (ja) * 2004-10-20 2006-05-11 Sony Corp 復号装置、復号方法及びディスク再生装置
TWI264878B (en) * 2006-01-13 2006-10-21 Mediatek Inc Signal maximum likelihood detection device
US8495480B2 (en) * 2010-06-09 2013-07-23 Topcon Positioning Systems, Inc. Method and apparatus for signal-to-noise ratio estimation in convolutional codes (Viterbi) decoder

Also Published As

Publication number Publication date
US20170294924A1 (en) 2017-10-12
US9787331B1 (en) 2017-10-10
TW201737630A (zh) 2017-10-16

Similar Documents

Publication Publication Date Title
US7127664B2 (en) Reconfigurable architecture for decoding telecommunications signals
US7929646B2 (en) Map decoder with bidirectional sliding window architecture
CN107154836B (zh) 一种基于fpga的并行循环冗余crc校验方法
CN101478314B (zh) 一种里德-所罗门编码译码器及其译码的方法
US6865710B2 (en) Butterfly processor for telecommunications
CN104092470B (zh) 一种Turbo码译码装置及方法
US7020214B2 (en) Method and apparatus for path metric processing in telecommunications systems
JP2014209785A (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
US7149951B2 (en) Common memory device and controlling method thereof
KR100628201B1 (ko) 터보 디코딩 방법
US10826541B2 (en) Convolutional code decoder and convolutional code decoding method
US10720944B2 (en) Convolutional code decoder and convolutional code decoding method
TWI599182B (zh) 解碼裝置及方法
WO2002071625A1 (fr) Turbo decodeur, procede de turbo decodage et support de stockage dans lequel le procede est stocke
KR20010067413A (ko) 브랜치 메트릭 계산 처리에서 감소된 비트수를 갖는비터비 디코더
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
Pilato et al. Design Optimization for High Throughput Recursive Systematic Convolutional Encoders
CN112803955B (zh) 通用Turbo码编码器结构、编码器、方法、装置、设备及介质
Cherukuri Agile encoder architectures for strength-adaptive long BCH codes
JP2001285079A (ja) 通信用誤り訂正符号復号装置
Sivasankar et al. Performance Analysis Of Viterbi Decoder For Wireless Applications
Peng et al. IP generator of Reed Solomon codecs
TWI521889B (zh) 利用重新通道編碼來達到提前終止通道解碼的方法
US8413033B2 (en) Device and method for calculating backward state metrics of a trellis
KR20140128605A (ko) 병렬 연산 터보코드 복호 방법 및 그 장치

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees