TW201014203A - Methods and apparatus for programmable decoding of a plurality of code types - Google Patents
Methods and apparatus for programmable decoding of a plurality of code types Download PDFInfo
- Publication number
- TW201014203A TW201014203A TW098101082A TW98101082A TW201014203A TW 201014203 A TW201014203 A TW 201014203A TW 098101082 A TW098101082 A TW 098101082A TW 98101082 A TW98101082 A TW 98101082A TW 201014203 A TW201014203 A TW 201014203A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- code
- interleaver
- decoder
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 48
- 239000000872 buffer Substances 0.000 claims abstract description 10
- 238000005266 casting Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000894433 Turbo <genus> Species 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- VAOCPAMSLUNLGC-UHFFFAOYSA-N metronidazole Chemical compound CC1=NC=C([N+]([O-])=O)N1CCO VAOCPAMSLUNLGC-UHFFFAOYSA-N 0.000 description 1
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/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
- H03M13/296—Particular turbo code structure
-
- 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
- H03M13/2703—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 the interleaver involving at least two directions
- H03M13/2725—Turbo interleaver for 3rd generation partnership project 2 [3GPP2] mobile telecommunication systems, e.g. as defined in the 3GPP2 technical specifications C.S0002
-
- 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/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- 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/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support of multiple code types, e.g. unified decoder for LDPC and turbo 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6519—Support of multiple transmission or communication standards
-
- 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/6522—Intended application, e.g. transmission or communication standard
- H03M13/6525—3GPP LTE including E-UTRA
-
- 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/6522—Intended application, e.g. transmission or communication standard
- H03M13/6544—IEEE 802.16 (WIMAX and broadband wireless access)
-
- 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/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
201014203 六、發明說明: 【發明所屬之技術領域】 本發明一般係關於數位通信的錯誤校正編碼技術,且更 特定言之,本發明係關於用於複數個碼(諸如捲積碼與渦 輪(turbo)碼)的並行解碼與交錯的技術。 【先前技術】 圖1是一典型數位通信1〇〇的方塊圖。如圖i中所示,— 數位源110產生一序列二進位訊息。其後,一示例性頻道 編碼器120使用一前向錯誤校正編碼方案以增加該等源訊 息的几餘,並且將該等源訊息變換成經編碼之訊息(通常 稱為碼字)。一般而言,該錯誤校正編碼提供增進的抗頻 道雜訊能力。一調變器130將該等經編碼訊息變換成適合 經由一頻道140傳輸的信號。這些信號進入該頻道14〇並且 通常被該頻道上的雜訊與干擾毀壞。 在接收器端,一解調變器15〇從該頻道14〇接收該等雜訊 信號並且將該等接收信號轉換成符號區塊。一頻道解碼器 160利用由該頻道編碼器12〇引入的冗餘以試圖校正由該頻 道140增加的任何錯誤並且恢復該等原始訊息。一些不同 解碼技術已經被提出或建議以解碼使用錯誤校正碼編碼的 信號。 無線通^系統的錯誤校正編碼技術經常在信號被調變之 前使用資料的捲積或渦輪編碼使得可校正由頻道上的雜訊 與干擾引入的錯誤。一般而言,一捲積碼是一錯誤校正 碼,其甲每個m位元串被變換成一 n位元的符號,其申 137349.doc 201014203 是碼率(η大於或等於m)並且該變換是先前的該让個資訊符 號的一函數’其中k是該碼的約束長度。渦輪碼是另一類 別錯誤校正碼’據稱其等接近利用香農(Shannon)定理的理 論限制’其相對於相同效能所需的捲積碼具有降低的解碼 . 複雜性。 - 逐漸地’通信器件必須支援多種通信標準。例如,
WiMAX(微波存取全球互通)(一種IEEE 8〇216無線寬頻標 φ 準)、LTE(長期演進)(一種第三代合作夥伴計畫(3GPP) 4G 技術)、UMB(超移動寬頻)(一種CDMA發展組與第三代合 作夥伴計畫2)與WCDMA(寬頻分碼多重存取)通信標準之 各者需要以一或多個速率支援於至少一捲積編碼技術與至 少一捲積渦輪編碼技術(或其組合)。 因此,需要存在可重組態或可程式化解碼器,其等可支 援多種通信標準。進-步需要存在-種可程式化編碼器/ 解碼器(編解碼器),其支援適於一些不同的現有與未來通 • 信標準的編碼或解碼(或兩者)以及符號處理功能。 【發明内容】 一般而言,本發明提供用於複數個碼類型可程式化解碼 方法及裝i。根據本發明態樣,提供—種解碼使用 , I數個碼類型中之-者編碼的資料的方法,其中該等碼類 型之各者對應於一通信標準。該解碼方法包括下列步驟: 識別與該資料相關的碼類型;分配該資料至複數個可程式 化並行解碼器,其中該等可程式化並行解碼器可被重級態 成解碼使用該複數個碼類型之各者編碼的資料;以及提供 137349.doc 201014203 $資料肖該相關碼類型至該等分配的可程式化並行解碼 盗。程式碼(例如,來自一本端記憶體)基於該識別的碼類 型可被載入到該等可程式化並行解碼器之一或多者中。 ❹ 根據本發明的另一態樣’提供一種用於產生由μ個並行 解碼器使用的-或多個交錯器表的方法,該等並行解碼器 解碼至少—碼類型的資料。該交錯器表產生方法包括以下 二驟基於該至少一碼類型的一通信標準產生一第一交錯 器表;以及將該第-交錯器表除賴以建立具有μ個叢集 的一第二交錯器表’其中在該第二交錯器表中之各項指示 該Μ個並行解碼器中之—者作為—目標解碼器與—目標位 址以用於交錯之資料。該資料然後可使用_通信網路被交 錯在該Μ個並行解碼器之間。 根據本發明的又—態樣,提供—種將資料交錯在Μ個並 行解碼器之間的方法。該交錯方法包括以下步驟:讀取待 解碼的資料;存取-交錯器表,其中在該交錯器表中之各 項識別該Μ個並行解碼器中之-者作為—目標解碼器與— 通信網路的一目標位址以用於交錯之資料;以及將該資料 寫入到該通信網路的該目標位址。該通信網路可包括例如 一叉線式交換器及/或一或多個先入先出緩衝器。 參考以下詳細描述與圖式將更完整地理解實施 及獲得本發明的進一步特徵與優點^ 【實施方式】 =明的:樣提供可程式化解碼器,其等支援複數個通 U準。根據本發明的'態樣,圖i的習知頻道解喝器⑹ 137349.doc -6 - 201014203 被修改成提供適於複數種編碼技術的一解碼器功能。在一 示例性實施例中,圖1的習知頻道解碼器160被修改成提供 適於WiMAX、LTE與UMB錯誤校正協定的一解碼器功能。 根據本發明的另一態樣,圖1的習知頻道解碼器160實施一 些符號處理功能,如穿刺(puncturing)與解穿刺(de-puncturing)、 循環冗餘檢查(CRC)產生與檢查、交錯與解交錯以及多工 與解多工,其等係所支援的通信標準所需要的。 對於使用捲積與渦輪碼的編碼技術的一般討論,舉例而 言,見如在以下中描述的IEEE 802.16無線寬頻標準: http://standards.ieee.org/getieee802/download/802.16-2004.pdf,或 http://standards.ieee.org/getieee802/download/802.16e-2005.pdf (WiMAX) ;或如在以下十描述的第三代合作夥伴計畫技術規範: http:/Avww_3gpp.oig/flp/Specs/archive/36_series/36.212/36212-810.zip (LTE),或 h^://www3gpp2Oig^bUcJitm]/specs/C.S0084-001-0_v2.0_070904.pdf (UMB), 各者都以引用的方式併入本文中。 根據本發明的又一態樣,複數個可程式化「執行緒處理 器」被用於支援一些捲積與類渦輪碼。此外,一通信網路 取代一或多個專用交錯器/解交錯器模組而用於交錯以減 少處理時間。 解碼基礎 一解碼器,如圖1的解碼器160,在逐訊框基礎上可處理 碼字。每個訊框由需要同一碼作業類型的幾個碼字組成。 碼字係以其等被接收之順序而增加到一訊框並且該等结果 以同一順序被返回。 137349.doc 201014203 解碼捲積碼 存在一些演算法用於解碼捲積碼。對於相對小的值k(其 中k是碼的約束長度),經常使用維特比(Vherbi)演算法, 因為它提供了最大或然效能並且允許並行執行。一般而 言’對於較長碼字,一碼字可被分成幾部分並且並行解 碼’這對於一般技術者是眾所周知的。常使用並行解碼以 提高解碼率。通常,採用重疊窗,其中該碼字被分成幾部 为並且由許多解碼單元並行解碼。因此,該解竭器將該等 解碼任務分佈在許多分組解碼單元之間。該解碼器接收幾 個碼區塊並且將該等碼區塊指派到該等解碼單元中。該等 解碼單元並行實施該等解碼任務以及然後該解碼器擷取解 碼結果。 對於在具有並行解碼單元的一渦輪解碼系統中將碼區塊 指派至分組解碼單元的技術的詳細討論,見題為「在具有 並行解瑪單元的渴輪解碼器系統中將碼區塊指派至分組解 碼器單元的系統及方法(System and Method for Assigning
Code Blocks to Constituent Decoder Units in a Turbo
Decoder System Having Parallel Decoding Units)」的美國 專利申請案第——號’(代理人檔案號碼08-0240),其以引 用的方式併入本文中。 對於較大值k ’通常採用幾個已知的序列解碼演算法中 之一者解碼該等碼,如眾所周知的費諾(Fan〇)演算法。 見例如R.M. Fano的「概率解碼的試探性討論(a heuristic
Discussion of Probabilistic Decoding)」(1963),其以引用 137349.doc 201014203 的方式併入本文中。與維特比解碼不同,序列解碼技術不 採用最大或然技術,但是複雜性隨著約束長度只是略微增 加’允許使用強的長約束長度碼。
維特比與序列解碼演算法產生硬衫,指示形成最有可 能碼字的位元。-近似可信測度經由使用眾所周知的軟輸 出維特比演算法(SOVA)可選擇性地增加到每個位元。每個 位元的最大後驗(MAP)軟決定可經由使用BCJR演算法 (Bahl_Cocke_Jelinek_Raviv演算法)獲得。見例如[Bahi 等人的最小化符號錯誤率的線性碼的最優解碼(〇ptimal Decoding of Linear Codes for Minimizing Symbol Error Rate)」(1974年3月),其以引用的方式併入本文中。 圖2疋由一用於解碼捲積碼的習知MAP解碼器採用的 示例性框架200的示意方塊圖。該示例性框架2〇〇可例如由 一以一已知方式計算一前向狀態度量21〇與一後向狀態度 量220的MAP解碼器用於計算一輸出[值。圖2說明對於許 多輸入位元,如位元…到h,許多編碼器狀態3〇到&的此等 路徑度量的計算。 如圖2中所示,該等分支度量以y,s)可被計算如下: i(-L? - y°i -yj), {^',0} -> {«,〇} 士《少丨)’ {ί,,0} — {J,1} i(+Z,7+^+^), 該前向度量A(i)可被計算如下 137349.doc 201014203 ,、f 〇, 5 二 〇 (5)—Λ Λ [-〇〇, s^O αΜ (λ) = max* [y, (s% s) + at (5J), yt(sj >s) + ai(^j)] 該後向度量A⑺可被計算如下: βΛ3)={Χ 5=0 5^0 β, (ί') = max*[^, (s', s,) + βΜ (s, Sj)+βΜ (s;)] 該輸出L值L(u〇可被計算如下: !.(«,) = In >(^ = = +ik)_ 户(《,= = -l|r) l(w/)=max*(i.j)€ir [A+i(^)+r/(^>5)+a/(5')] ~max*(i J)eL(- tA+i (s)+Yi(5,>5)+ai(J,)3 max* (x, >;) = ln(eT + ev) = max(x, y) + ln(l+) 解碼渦輪碼 圖3是一用於解碼渦輪碼的示例性習知反覆式演算法300 的方塊圖。如先前所示,渦輪碼被用在許多資料通信標準 中’如3G、4G與IEEE 802.16。在圖3中所示的該示例性實 施例中,接收到的碼區塊被分成3部分:(y〇,yi,y2)。向量 (y〇,yi)被發送至一第一MAP解碼器310。該MAP解碼器310 產生一向量ΐΛπα.,其中L、是第i解碼器的輸出L值(一後驗[ 值)。 δ亥向量L1⑽.由一加法器320加到由_ 論)產生的一向量Liin,以產生一向量 解交錯器340(以下討 。14是第i解碼器 的外來L值(外來後驗L值)。L,in是第丨解竭器 向量Ll«被應用於一交錯器33〇。_般而古 的輸入L值》該 ,該交錯器330 I37349.doc •10· 201014203 實施該等向量分量的某種混合。該交錯器330的輸出是一 向量。該向量ΙΛ„與向量(y〇,y2)被應用於一第二map解 碼器380。該MAP解碼器380產生一向量L20Um該向量L20Ut 由一加法器350加到由交錯器33〇產生的向量以產生一 • 向量L%x。該向量L?ex被應用於該解交錯器34〇。該解交 錯器34〇實施逆向於由交錯器33〇實施的作業的一變換。該 解交錯器340的輸出是該向量丄,即如上所討論。該向量a 與向量(y〇,yi)被應用於第一 MAP解碼器310並且以反覆方 • 式繼續。由該MAP解碼器360產生的向量L2out也被應用於一 第二解交錯器370,其產生位元決定。這反覆過程在固定 反覆次數之後或如果滿足某個特定停止準則時停止。 對於合適的解碼演算法300的更詳細討論,請參閱,例 如 Shu Lin、Daniel Costello 的「錯誤控制編碼(Err〇r Control Coding)」(2004年第二版本),其以引用的方式併 入本文中。一般而言,該等解碼演算法3〇〇通常支援不同 ❿ 大小的碼區塊。例如,根據3GPP標準,源訊息大小可從 40個位元到5U4個位元變化。該等解碼演算法3〇〇應高效 率地處置一由不同大小的碼區塊組成的資料流。此外,解 • 碼一碼區塊所需的總時間係與該碼區塊大小成比例。在解 、 豸器1_部的隨機存取記憶體㈣大小是與該解碼器160 可支援的最大碼區塊的大小成比例。 可程式化解碼器 圖4是合併本發明的特徵的一解碼器4〇〇的示意方塊圖。 如圖4中所示,該解碼器400包括一軟解碼引擎(sde) 137349.doc -11- 201014203 410、一輸入先入先出(FIFO)緩衝器420、一載入引擎 430、一交錯器計算單元440、一執行緒處理器450、一上 載引擎460與一輸出FIFO緩衝器470。此外,如圖4中所 示,該軟解碼引擎410包括用於以下列討論方式交錯的通 一信網路480以及複數個計算叢集500-1到500-N(在此處統 稱為計算叢集500),下文結合圖5進一步討論。 該軟解碼引擎410按照本發明的一態樣解碼複數個碼, 如渦輪碼、捲積碼與LDPC碼。此外,該軟解碼引擎410可 被組態成在同一時間同時解碼幾個碼字6 該輸入FIFO缓衝器420儲存正從一輸入埠405進入到該解 碼器400的資料。該載入引擎430從該FIFO 420接收幾個碼 字的輸入資料。此外,該載入引擎430係藉由連接432從該 交錯器計算單元44〇讀取該資料的交錯位址,且藉由連接 435從該執行緒處理器450接收控制信號並且將該資料發送 至該通信網路480。該執行緒處理器450可例如使用一 Coware處理器(見 http://www.coware.com/)實施。 該交錯器計算單元440產生一或多個含有目標位址的交 錯器表600,以下結合圖6A到6D進一步討論,該等目標位 址由計算叢集500用於寫入資料以用於後半段反覆。 如先前所示,該執行緒處理器450基於程式記憶體巧容 產生一用於在該等計算叢集500中的解碼演算法的命令 流。該執行緒處理器450接收來自輸入埠445之控制資訊, 其中具有在淳405上接收到的資料。該控制資訊包括標頭 與組態資料,該組態資料定義用於編瑪該資料的通信標 137349.doc -12- 201014203 準。例如,該控制資訊可指定碼的類型(碼類型識別符)、 汛框中的碼字數量以及碼字長度。如以下討論,該執行 緒處理器45〇經由該通信網路48〇提供合適資訊至該等計算 叢集500。如果該執行緒處理器45〇確定一新的碼類型需要 被解碼,則該執行緒處理器45〇將將該等參數及一碼類型 識別符發送至該等計算叢集5〇〇。如以下結合圖5之進一步
时論’如果需要,該等計算叢集5〇〇將基於該碼類型識別 符載入合適的程式碼以解碼該碼字。 該輸入FIFO緩衝器420儲存正從一輸入埠4〇5進入該解碼 器400的4資料。该上載引擎46Q從該通信網路彻接收經 解碼資料並且將其應用於該輸出FIF〇緩衝器47〇。 該通信網路48〇在組件之間如該執行绪處理器45〇與該等 計算叢集500之間提供任意可組態連接。在一示例性實施 例十’該通信網路48〇可作為—叉線式交換器或nF〇實 施。該通信網路480的作業在以下題為「並行交錯」的部 分中進一步討論。 圖5是合併本發明的特徵的一示例性計算叢集5〇〇的承意 方塊圖。如先前所示,複數個計算叢集5〇〇並行解碼資 料。如^中所示’該示例性計算叢集⑽包括—執行绪處 理器510、一資料記憶體52〇、一算術單 异術平7L 530與一記憶體 控制器540。 如先前所示 圖4的執行緒處理器450經由通信網路480 提供合適的控制資訊至計算叢集5〇〇β如果該執行緒處理 器450判定-新的碼類型需要被解碼,則該執行緒處理器 137349.doc -13- 201014203 450將將參數及—碼類㈣㈣發送至該等計算叢集細。 基於該碼類型識別符,如果需要,在該計算叢集500中的 該執㈣處理器510將從該資料記憶體52〇(經由該記憶體 控,盗5 4 0)載入合適程式媽以基於該碼類型識別符解碼該 ^子。由該執行緒處理器51〇實施的解碼作業在以下題為 「並行解碼」的部分巾進—步討論。—般而言,讀取是本 端的並且按照交錯器表700實施寫入。該資料記憶體52〇儲 存用於解碼與複數個不同通信標準相關的碼字的複數個程 式。 該執行緒處理器5Π)解譯__程式並且按照該程式對該算 術单70530提供指令。—般而言,基於經識別的通信標 準如LTE ’每個叢集5〇〇中的該執行緒處理器川從該資 料記憶體520載入合適的程式碼以及交錯器表與該經識 別標準的其他參數(基於例如指示的碼字大小)。此後該 :算叢集500可解瑪接收到的已由同—標準編碼的所有碼 字。 並行解碼 。如以上結合圖3所討論,該解碼過程通常是一反覆過 私。在本發明的示例性實施你丨φ,士 X狍例中有四個並行作業的計算 叢集_,且該等計算叢集5叫每次反覆期間實施兩組作 業。在前半段反覆期間(圖3中的解碼器1},該等計算叢隼 谓讀取其等自己的本端資料槔(例如,從該資料記憶: 別接收至㈣向量)與^(見圖3)並且從該(該等)交錯器表 (表3)獲得該資料叢集的目標位址,如以下在以下部分 137349.doc •14· 201014203 中進一步討論。此後,該等計算叢集500按照本發明經由 使用指示之目標位址將資料寫入到該通信網路48〇而交錯 該資料。以這種方式,該資料由該等計算叢集5〇〇解碼^ 且被發送至該通信網路480,但不是由該等計算叢集5〇〇本 端儲存。該資料被發送至目標位址並且直到後半段反覆才 . 被需要。 在後半段反覆期間(圖3中的解碼器2),該等計算叢集 φ 500再人讀取其等自己的本端資料埠(例如,從該資料記^ 體520接收到的向量)與(見圖3)並且從該(該等)交錯器: 700(表4)獲得該資料叢集的目標位址,如以下在以下部分 中進一步討論。此後,該等計算叢集5〇〇按照本發明經由 使用指示之目標位址將資料寫入到該通信網路48〇而解交 錯該資料。 使用通信網路並行交錯 圖6A到6D說明四個樣本交錯表6〇〇。圖6人與68說明具有碼 • 字大小Κ=248的LTE渦輪碼的習知交錯器與解交錯器表。圖 6Α與6Β中的表是基於相應標準文件產生。該等示例性表使用 在 http.//www.3gpp.org/ftp/specs/archive/36_series/36.212/36212-810 zip 的 • 5.1.3.2.3部分中指定的演算法產生。參數,與,2取決於區 塊大小K並且概述於LTE標準文件的表3_3中。 在該貫例中’碼字大小Ki是248,因此從該標準文件的 表5.1.3-3指定參數^=33以及乜=62。這些值被用於填充圖 6A的交錯器表與圖6B的解交錯器表。因此,該交錯器表 600的輸入指數i與輸出指數j滿足以下方程式: 137349.doc -15· 201014203 i = (33 * j + 62 * j2) m〇d 248 圖6A的該示例性交錯器表(表υ有兩行。第一行是一輸 入資料指數。第二行是一輸出(經交錯)資料指數。例如, 圖6Α中的該表的前兩列是: 0 0 I 171 種表不法指不在交錯(即,按照本發明寫入到該通信 網路480)之後,第0資料字保持在指數〇,而第一(ist)資料 字變為指數171。 同樣地,圖6B的該示例性解交錯器表(表2),通常稱為 「反向交錯器表」’是圖6A的該交錯器表的反向複製。例 如,該交錯器表(圖6A)的第一行(第二列)是「】m」e因 此,該第二表的第171行是「171 i」。這種表示法指示在 "亥解父錯(即,按照本發明寫入到該通信網路48〇)之後該 第1 71資料子被寫成指數丨。如先前所示,本發明的實施例 利用複數個並行可程式化執行緒處理器51〇以支援許多捲 積與類渦輪碼。在該示例性實施例中,有M=4個的並行計 算叢集500。此外,一通信網路48〇被用於交錯由該等並行 執行緒處理器510實施的解碼過程。 圖6C與6D說明具有碼字大小κ=248的LTE渦輪碼的交錯 器與解交錯器表以及一並行解碼器實施,其中M是等於 4。一般而言,圖6(:與6£>中的交錯器與解交錯器表係經由 將圖6A與6B的原始表除以M(等於4)以建立四個叢集。以 這種方式,圖6C與6D的該交錯器與解交錯器表允許該交 錯過程被分解用於一並行解碼實施。 137349.doc 16 201014203 在圖6C中’格式是(<目標叢集指數><目標記憶體位址小 因此,在圖6C的表示法中 吐 ^ 例如,第一項020對應於圖6八 的第一項並且又指示第〇資料 頁枓子保持在叢集〇的指數〇。同 樣地,第二項625指示第—字 子1對應於第1列)變成叢集2的指 數43(對應於圖6A的第二項「〗 71j 作一模 64(mod 64)運 算)。 同樣地’圖6D的示例性解交 解父錯益表(表4),通常稱為「4 個計算叢集的反向交錯考矣 g 曰為表」,是圖6C的交錯器表的反向 複製。一般而言’圖6D的該輊吞扯怒± 幻褒解交錯器表以一已知方式將資 料返回到原始位置。 、 功能解碼模式
了解碼器_(圖4)在解碼器進人—功能模式之前通常必 須被初始化。在該初始化過程期間,該解碼器4〇〇被以一 已知方式程式化用於其常規作業。-般而言,在該初始化 過程期間’該執行緒處理器别(圖5)被載人以適於通,標 準的合適程式以及將在功能模式期間解碼的資料。隨著啟 動資料開始並且繼續到達該輸人觸42(),該解碼器初始 化部分讀取該資料並且載入選定的執行緒處理器“Ο。當 啟動過程完成時,該解碼器將其狀態暫存器設定成一預定 值並且然後準備開始處理接收到的訊框。 在該功能模式,一外部模組通常將一資料訊框發送至該 解碼器並且監視狀態暫存器以結束該處理。當該等結果準 備好時,其等在外部被取出且一新的訊框可被發送至該解 碼器。 137349.doc •17- 201014203 如先前所示,一訊框是由具有同一解碼作業類型的幾個 碼字組成。為了指示一新的訊框已準備就緒,一個時鐘週 期可設定一或多個旗標。此後,該解碼器400期望接收一 組標頭,接著是在該訊框中的每個碼字的資料。 在一示例性實施例中,發送至該解碼器400的第一標頭 是一訊框結構標頭(例如,指示作業類型(格式)以及該訊框 中的碼字數量)。此後,該解碼器接收一組標頭,其中一 個標頭用於該訊框中的每一碼字。 一示例性訊框碼字標頭指示: 攔位 含義 碼字長度 碼字中的資訊位元數量 位址 碼字待放置的解碼器記憶體位址 處理器ID 將處理碼字的一第一執行緒處理器的ID 位址數 碼字將佔有的位址數 處理器數 將處理碼字的執行緒處理器數 執行緒處理器資料 用於碼字處理的執行緒處理器參數 在該等碼字標頭之後,含有在該解碼引擎中的所有執行 緒處理器5 10的執行緒處理器參數的標頭可被發送。第 一,一結構標頭必要時可被多個週期地發送以指定每個執 行緒處理器5 10將處理的碼字的數量: 一示例性執行緒處理器結構標頭指示: 欄位 含義 CW數 處理器ID 一執行緒處理器的ID 碼字數 . 執行緒處理器將處理的碼字數 137349.doc -18- 201014203 然後,每個執行緒處理器碼字被發送一標頭 攔位 含義 處理器ID 一執行緒處理器的ID 碼字ro 一執行緒處理器的碼字的ID 位址 碼字的起始記憶體位址 位址數 碼字將佔有的位址數 執行緒處理器資料 用於碼字處理的執行緒處理器參數 在所有標頭被接收之後,該解碼器400按照該等標頭中 的資訊接收碼字資料。假設在該示例性實施例中軟值取該 資料的8個位元,因此有可能在一個時鐘週期中接收最多 1 6個軟值。在該完整訊框被解碼之後,該解碼器將狀態暫 存器的值設定為一預定值,如「完成(DONE)」,且該資料 可從該輸出FIFO 470取出。 結論 雖然本發明的示例性實施例已就數位邏輯區塊而描述, 但是熟習此項技術者將可了解,在數位域中可將各種功能 • 實施為以一軟體程式、以藉由電路元件或狀態引擎之硬體 或軟體與硬體兩者的組合而處理步驟。此軟體可被使用在 例如一數位信號處理器、微控制器或通用電腦中。此硬體 ' 與軟體可被體現在積體電路中實施的電路中。 - 因此,本發明的該等功能可以實施這些方法的方法及裝 置的形式體現。本發明的一或多個態樣可以程式碼的形式 體現,例如儲存在一儲存媒體中、載入到一機器中及/或 由一機器執行,或經由某種傳輸媒體傳輸,其中,當該程 137349.doc -19- 201014203 式碼被載入到一機器如一電腦中並且由該機器執行時該 機器變成實施本發明的一裝置。當實施在一通用處理器上 時,該程式碼段結合該處理器以提供一器件,該器件類似 於特定邏輯電路作業。本發明還可被實施在一積體電路、 一數位信號處理器、一微處理器與一微控制器的一或多個 中〇 複數個相同晶粒通常以重複圖案被形成在晶圓的表面 上。每個晶粒包含此處描述的一器件,並可包含其他結構 或電路。該等獨立晶粒被從該晶圓切割或切方,然後被封 參 裝成一積體電路。熟習此項技術者會知道如何將晶圓切方 並封裝晶粒以產生積體電路。這樣製造的積體電路被視為 本發明的一部分。 應明白此處所示與描述的該等實施例及其變化僅僅是說 明本發明的原理’以及熟習此項技術者在不脫離本發明的 範圍與精神下可實施各種修飾。 【圖式簡單說明】 圖1是一典型數位通信系統的方塊圖; ❹ 一圖2是由一用於解碼捲積碼的習知MAp解碼器採用的 示例性框架的示意方塊圖; 疋用於解碼渴輪碼的示例性習知反覆式演算法3〇〇 的方塊圖; . 圖4:-合併本發明的特徵的解碼器的示意方塊圖; 圖5疋11 4的合併本發明的特徵的—示例性計算叢集的示 意方塊圖;及 137349.doc •20- 201014203 圖6A到6D說明四個樣本交錯表。 【主要元件符號說明】
100 數位通信 110 數位源 120 頻道編碼器 130 調變器 140 頻道 150 解調變器 160 頻道解碼器 170 數位接收端 210 前向狀態度量 220 後向狀態度量 300 習知反覆式演算法 310 第一 MAP解碼器 320 加法器 330 交錯器 340 解交錯器 350 加法器 360 第二MAP解碼器 370 第二解交錯器 380 交錯器 400 解碼器 405 輸入埠 410 軟解碼引擎 137349.doc -21 - 201014203 420 輸入先入先出緩衝器 430 載入引擎 432 連接 435 連接 440 交錯器計算單元 445 輸入谭 450 執行緒處理器 460 上載引擎. 470 輸出先入先出緩衝器 480 通信網路 500 計算叢集 500-1到 500-N 計算叢集 510 執行緒處理器 520 資料記憶體 530 算術單元 540 記憶體控制器 600 交錯表 137349.doc -22-
Claims (1)
- 201014203 七、申請專利範圍: 1 · 一種用於解碼使用複數個碼類型中之一者編碼的資料之 方法’該等碼類型之各者對應於一通信標準,該方法包 括: 識別與該資料相關的該碼類型; 分配該資料至複數個可程式化並行解碼器,其中該等 可程式化並行解碼器可被重組態成解碼使用該複數個碼 類型之各者編碼的資料;及 提供該資料與該相關碼類型至該等分配的可程式化並 行解碼器。 2‘根據請求項1之方法,其進一步包括基於該碼類型將程 式碼載入到該等可程式化並行解碼器之一或多者中的步 驟。根據請求項1之方法,其進—步包括提供控制資訊至該 等可程式化並行解碼器之一或多者的步驟。 一種用於產生由“個並行解碼器使用之一或多個交錯器 表之方法,該Μ個並行解碼器解碼至少一碼類型之資 料’該方法包括以下步驟: 基於該至少一碼類型之__诵e M 通仏標準產生一第一交錯器 表;及 將該第一交錯器表除賴以建立具有m個叢集之一第 二交錯器表’其中在該第二交錯器表中之各項指示該Μ 個並行解碼器中之—者料—目標解碼ϋ與-目標位址 以用於交錯之資料。 137349.doc 201014203 5‘ 一種用於將資料交錯在難並行解碼器之fa1之方法,該 方法包括以下步驟: 讀取待解碼的資料; 存取—交錯器表,其中在該交錯器表中之各項識別該 M個並行解碼器中之—者作為_目標解碼器與-通信網 路的一目標位址以用於交錯之資料;及 將該資料寫入到該通信網路之該目標位址。 6.根據請求項5之方法,其中該通信網路包括-或多個叉 線式父換器與一或多個先入先出緩衝器。 7_ —種用於解碼使用複數個碼類型中之一者編碼的資料之 裝置,該等碼類型之各者對應於一通信標準,該裝置包 括: 一記憶體;及 輕合到該記憶體之至少一處理器,其可操作以: 識別與該資料相關的該碼類型; 分配該資料至複數個可程式化並行解碼器,其中該 等可程式化並行解碼器可被重組態成解碼使用該複數 個碼類型之各者編碼的資料;及 提供該資料及該相關碼類型至該等分配的可程式化 並行解碼器。 8. 根據請求項7之裝置,其中該處理器被進一步組態成基 於該碼類型將程式碼載入到該等可程式化並行解碼器之 一或多者中。 9. 一種用於產生由Μ個並行解碼器使用的一或多個交錯器 137349.doc • 2 - 201014203 表之裝置,該等並行解碼器解碼至少一碼類型的資铒 該裝置包括: ’ 一記憶體;及 耦合到該記憶體之至少一處理器,其可操作以: 交錯 基於该至少一碼類型之一通信襟準產生一第-器表;及 將該第一交錯器表除以M以建立具有]^個叢集之 第二交錯器表,其中在該第二交錯器表十之各項指: 該Μ個並行解碼器中之一者作為—目標解碼器與^ 標位址以用於交錯的資料。 目 10. —種用於將資料交錯在河個並行解碼器之間之裝 裝置包括: 、’铸 一記憶體;及 耦合到該記憶體之至少一處理器,其可操作以: 讀取待解碼的資料; 存取—交錯器表,其中在該交錯器表中之各 該Μ個並行解碼器中之—者作為—目標解碼器與 信網路的—目標位址以用於交錯的資料;及 通 將該資料寫入到該通信網路之該目標位址。 137349.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/138,920 US8035537B2 (en) | 2008-06-13 | 2008-06-13 | Methods and apparatus for programmable decoding of a plurality of code types |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201014203A true TW201014203A (en) | 2010-04-01 |
| TWI487293B TWI487293B (zh) | 2015-06-01 |
Family
ID=40456316
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098101082A TWI487293B (zh) | 2008-06-13 | 2009-01-13 | 用於複數個碼類型可程式化解碼的方法及裝置 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8035537B2 (zh) |
| EP (2) | EP4096101A1 (zh) |
| JP (2) | JP2011523325A (zh) |
| KR (1) | KR101611631B1 (zh) |
| CN (1) | CN101971504A (zh) |
| TW (1) | TWI487293B (zh) |
| WO (1) | WO2009151481A2 (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8811452B2 (en) * | 2009-12-08 | 2014-08-19 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel processing turbo decoder |
| US20110202819A1 (en) * | 2010-02-12 | 2011-08-18 | Yuan Lin | Configurable Error Correction Encoding and Decoding |
| JP5692780B2 (ja) * | 2010-10-05 | 2015-04-01 | 日本電気株式会社 | マルチコア型誤り訂正処理システムおよび誤り訂正処理装置 |
| RU2011118108A (ru) * | 2011-05-06 | 2012-11-20 | ЭлЭсАй Корпорейшн (US) | Устройство (варианты) и способ параллельного декодирования для нескольких стандартов связи |
| US8879671B2 (en) * | 2012-08-30 | 2014-11-04 | Intel Mobile Communications GmbH | Worker and iteration control for parallel turbo decoder |
| US9256491B1 (en) * | 2013-09-23 | 2016-02-09 | Qlogic, Corporation | Method and system for data integrity |
| EP4358416A3 (en) * | 2018-11-07 | 2024-05-08 | Telefonaktiebolaget LM Ericsson (publ) | Optimized implementation of (de-)interleaving for 3gpp new radio |
| US12007881B2 (en) * | 2021-12-20 | 2024-06-11 | Google Llc | Method for populating spanner databases in test environments |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0884162A (ja) * | 1994-09-14 | 1996-03-26 | Hitachi Ltd | ディジタルケーブルサービスの送受信方法および送信装置並びに受信装置 |
| US5734962A (en) * | 1996-07-17 | 1998-03-31 | General Electric Company | Satellite communications system utilizing parallel concatenated coding |
| US6205187B1 (en) * | 1997-12-12 | 2001-03-20 | General Dynamics Government Systems Corporation | Programmable signal decoder |
| JP2000316033A (ja) * | 1999-04-30 | 2000-11-14 | Toshiba Corp | 送信装置、受信装置、データ伝送システム、及びデータ伝送方法 |
| US6674971B1 (en) * | 1999-09-03 | 2004-01-06 | Teraconnect, Inc. | Optical communication network with receiver reserved channel |
| AU2284301A (en) * | 2000-01-03 | 2001-07-16 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
| EP1410513A4 (en) * | 2000-12-29 | 2005-06-29 | Infineon Technologies Ag | CHANNEL CODEC PROCESSOR CONFIGURABLE FOR MULTIPLE WIRELESS COMMUNICATION STANDARDS |
| US7346135B1 (en) * | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
| EP1512068B1 (en) * | 2002-05-24 | 2007-09-05 | Nxp B.V. | Access to a wide memory |
| JP4815228B2 (ja) | 2006-02-09 | 2011-11-16 | 富士通株式会社 | ビタビ復号回路および無線機 |
| US8218518B2 (en) * | 2006-06-09 | 2012-07-10 | Samsung Electronics Co., Ltd. | Interleaver interface for a software-defined radio system |
| JP4837645B2 (ja) | 2006-10-12 | 2011-12-14 | ルネサスエレクトロニクス株式会社 | 誤り訂正符号復号回路 |
-
2008
- 2008-06-13 US US12/138,920 patent/US8035537B2/en not_active Expired - Fee Related
- 2008-12-23 EP EP22185617.2A patent/EP4096101A1/en not_active Withdrawn
- 2008-12-23 CN CN2008801276098A patent/CN101971504A/zh active Pending
- 2008-12-23 EP EP08874658.1A patent/EP2313979B1/en active Active
- 2008-12-23 KR KR1020107027877A patent/KR101611631B1/ko not_active Expired - Fee Related
- 2008-12-23 WO PCT/US2008/088221 patent/WO2009151481A2/en not_active Ceased
- 2008-12-23 JP JP2011513475A patent/JP2011523325A/ja active Pending
-
2009
- 2009-01-13 TW TW098101082A patent/TWI487293B/zh not_active IP Right Cessation
-
2014
- 2014-07-08 JP JP2014140362A patent/JP5840741B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US8035537B2 (en) | 2011-10-11 |
| WO2009151481A2 (en) | 2009-12-17 |
| JP5840741B2 (ja) | 2016-01-06 |
| JP2011523325A (ja) | 2011-08-04 |
| EP2313979B1 (en) | 2022-07-20 |
| EP2313979A2 (en) | 2011-04-27 |
| CN101971504A (zh) | 2011-02-09 |
| TWI487293B (zh) | 2015-06-01 |
| WO2009151481A3 (en) | 2010-12-02 |
| JP2014209785A (ja) | 2014-11-06 |
| KR20110037953A (ko) | 2011-04-13 |
| US20090309770A1 (en) | 2009-12-17 |
| KR101611631B1 (ko) | 2016-04-11 |
| EP4096101A1 (en) | 2022-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3449987B2 (ja) | 通信システムにおける反復復号装置及び方法 | |
| JP5840741B2 (ja) | 複数のコード・タイプをプログラマブル復号する方法および装置 | |
| JP5384187B2 (ja) | 待ち行列ベースのデータ検出および復号のシステムおよび方法 | |
| US7310768B2 (en) | Iterative decoder employing multiple external code error checks to lower the error floor | |
| May et al. | A 150Mbit/s 3GPP LTE turbo code decoder | |
| WO2014075419A1 (zh) | 数据处理的方法和装置 | |
| JP2009525009A (ja) | 双方向スライディングウィンドウアーキテクチャを有するmap復号器 | |
| JP2008219892A (ja) | データを符号化および復号化する方法および装置 | |
| US20090077330A1 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
| JP4874312B2 (ja) | ターボ符号復号装置、ターボ符号復号方法及び通信システム | |
| CN1302624C (zh) | 基于格子的信道编码所用的解码器 | |
| CN1568577A (zh) | 特播解码装置和方法 | |
| CN102792597A (zh) | 纠错码解码装置、纠错码解码方法以及纠错码解码程序 | |
| JP3540224B2 (ja) | ターボ復号器とターボ復号方法及びその方法を記憶した記憶媒体 | |
| CN102057580A (zh) | 针对多标准的可重新配置的Turbo交织器 | |
| Gonzalez-Perez et al. | Parallel and configurable turbo decoder implementation for 3GPP-LTE | |
| CN101662294A (zh) | 一种基于map译码器的译码装置及其译码方法 | |
| KR101066287B1 (ko) | 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법 | |
| CN1653700A (zh) | 用于涡轮解码器的存储器 | |
| Lapotre et al. | A dynamically reconfigurable multi-ASIP architecture for multistandard and multimode turbo decoding | |
| Madhukumar et al. | Application of Fixed Point Turbo Decoding Algorithm for Throughput Enhancement of SISO Parallel Advanced LTE Turbo Decoders. | |
| CN1665145A (zh) | 一种带有自适应性以及高速Viterbi解码器的设计方法 | |
| Hinduja et al. | Verilog implementation of the turbo encoder and decoder using log map based Iterative decoding | |
| Reis et al. | A 65nm VLSI implementation for the LTE turbo decoder | |
| TW201340621A (zh) | 減少渦輪解碼延遲的方法與裝置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |