TWI383595B - 用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似 - Google Patents

用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似 Download PDF

Info

Publication number
TWI383595B
TWI383595B TW095109239A TW95109239A TWI383595B TW I383595 B TWI383595 B TW I383595B TW 095109239 A TW095109239 A TW 095109239A TW 95109239 A TW95109239 A TW 95109239A TW I383595 B TWI383595 B TW I383595B
Authority
TW
Taiwan
Prior art keywords
processing module
value
bit
floating point
point processing
Prior art date
Application number
TW095109239A
Other languages
English (en)
Other versions
TW200705823A (en
Inventor
Vladimir Novichkov
Tom Richardson
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200705823A publication Critical patent/TW200705823A/zh
Application granted granted Critical
Publication of TWI383595B publication Critical patent/TWI383595B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point 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/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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Description

用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似
本發明係針對用於以非常適於包括(例如)渦輪解碼、低密度奇偶校驗解碼之應用及可使用explog 函數計算之廣範圍其他應用的方式在硬體或軟體實施中近似log 及/或exp 函數計算的方法及裝置。
為便於對本發明之理解,現將簡潔地論述LDPC解碼及渦輪解碼。
1. LDPC解碼器
計算上,使用對數概似比訊息表示法之可信度傳播LDPC解碼器除了在校驗節點之邊界處的訊息轉換FF -1 之外僅需要加法及減法。訊息轉換至今為止係對數域LDPC解碼器中之最複雜運算。因此,需要找到維持用於所有實際上可行之編碼率之良好解碼效能且同時在計算上有效之低複雜性近似。
假設m v2c 標示自可變節點(variable node)傳遞至校驗節點之訊息,m c2v 標示自校驗節點傳遞至可變節點之訊息,Y n -至解碼器可變節點n 之軟式輸入,及X n -自解碼器之軟式輸出及D n -節點度(node degree)。
用於可變節點之可信度傳播更新規則可寫作: 將邊緣訊息(edge message)劃分成正負號及量值,校驗節點更新規則可寫作:(2),其中係訊息正負號位元且加總在GF(2) 上,及(3),其中係訊息量值,及
雖然技術上可能使用查詢表來在由訊息量化界定之固定引數間隔上直接映射F ,但此查詢表通常需要在專用LDPC硬體解碼器中之相當大的硬體資源或在軟體實施中之額外間接記憶體存取。亦可能在軟體實施中精確地計算F ,但此計算通常需要多次循環。
藉由在解碼器運算期間觀察轉換函數F (5)e x 展開式的級數及用於F(x)F 1 (x) 兩者之引數x 分佈密度,已證明轉換函數可有效地近似為:(6)(x )=2e x ,用於正向轉換,(7),用於逆轉換,其中在方括號末端之+意謂若為負則設為零,具有用於低率碼(r=1/6)之低於0.015 dB之非常小的效能損耗及用於較高率碼之幾乎理想的效能。
在無任何一般性損耗的情況下,可對以2為底之函數重寫近似同時將解碼器對數概似比(LLR)輸入調整1/log(2) 係數:(8)(x )=2×2 x ,用於正向轉換,(9),用於逆轉換。
2.渦輪捲積解碼器。
捲積碼用作渦輪碼之構成碼。捲積碼通常由有限狀態機編碼且可將該碼表示於格子結構上。有限狀態機具有K個狀態1,2…,K且給出"當前"狀態及資訊輸入I之轉移函數T產生"下一"狀態及輸出O。舉例而言,使用記憶體4之標準二進位捲積碼具有16個狀態,該等狀態可使用長度為4之16個二進位序列標示。該等狀態對應於最後4個輸入位元。(初始狀態係0000。)給出當前狀態b1 b2 b3 b4 及輸入位元x,下一狀態係b2 b3 b4 x。輸出可為一或多個位元,每一位元係序列b1 b2 b3 b4 x之線性函數(在GF[2]上)。理論上,一位元獲得一狀態序列S[0],S[1],…,其中S[0]=0000。為方便起見,將狀態之指數稱為時間。因此,S[0]係時間0處之狀態。自時間t處之狀態至時間t+1處之狀態的轉移視時間t處的輸入而定。
通常,可自2個先前狀態到達每一狀態且每一狀態導致2個隨後狀態。用於此一組狀態之格子結構係具有每一時間t之K個節點之向量的圖,其表示時間t處之K個可能狀態。當且僅當在彼等狀態之間之狀態轉移係可能的時,節點由圖中之邊緣連接。因此,時間t處之節點僅連接至時間t-1處及時間t+1處之節點。在上述實例中且通常,每一狀態節點連接至2個隨後節點及2個先前節點。輸出符號通常經由一通道傳輸。在接收器處之彼等符號之觀察誘發在相關聯轉移上之概率。在渦輪解碼中,試圖經由格子結構計算相關聯路徑之概率。此等接著用於計算在輸入位元上之後驗概率。用於此目的之演算法稱為BCJR演算法。
可用於實施用於渦輪解碼中之理想軟式輸入軟式輸出終止捲積碼MAP解碼器之BCJR演算法中的一步驟具有作為其基本步驟之一的如下狀態概率之更新。在格子結構中之每一狀態S可自2或2個以上先前狀態到達且可移至2或2個以上隨後狀態。在BCJR演算法之實施期間,計算編碼路徑進入狀態S,在可用於S之左邊之所有資訊(例如,自與S之左邊相關聯之變量的觀察)上調節及另外在可用於S之右邊的所有資訊(例如,自與格子結構中之S之右邊相關聯的變量之觀察)上調節的概率。狀態概率更新通常稱為"α"更新(自左邊)及"β"更新(自右邊)。此等更新具有相同基本形式且將僅集中於α更新上。
假定已計算用於格子結構狀態S[t]之概率向量(p 1 ,p 2 ,…,p K )且此向量表示在達到時間t之所有觀察上調節之條件概率。舉例而言,p S 係格子結構在達到時間t之所有觀察上調節之時間t處的狀態S中之概率的後驗概率。與自時間t處之狀態至時間t1 處之狀態之轉移相關聯的觀察誘發在彼等轉移上之後驗概率,其用(例如)用於時間t處之狀態A至狀態S之轉移的概率的p A2S [t] 標示。假定導致狀態S之狀態係狀態A及狀態B,得到(10)p S [t1](p A [t]p A2S [t]p B [t]p B2S [t])/Z 其中Z係強制實施pS [t+1]之狀態之加總值等於1之約束的正規化常數。自計算pS [t+1]之此公式中清楚可見,僅需知道向量(p1 ,p2 ,…,pK )[t]達到正倍增常數。相似地,僅需知道量pA 2 S [t]達到正倍增常數。因此,實務上未強制實施任一向量之正規化且簡單地定義(11)p S [t1](p A [t]p A2S [t]p B [t]p B2S [t]) 其中此向量不再需要共計為1。此外,實務上,其不便於計算p S [t1] 而便於計算此量之對數。因此,定義( α 1 , α 2 ,…, α K )[t](log p 1 ,log p 2 ,…,log p K )[t] 。此向量之更新採用形式(12)α S [t1]log(exp( α A [t]γ A2S [t])exp( α B [t]γ B2S [t]))
在指數函數內之加法容易執行且觀察關鍵計算係形式(13)log(exp xexp y)
計算此函數之標準方法在於使用恆等式(14)log(exp xexp y)max(x,y)log(1exp( -|xy |)) 第二量接著由(例如)一查詢表計算。
當存在2個以上分支時,項之數目較大。舉例而言,若存在4個分支,則更新計算採用形式(15)log(exp uexp vexp xexp y)
與先前LDPC解碼器實例相似,藉由改變輸入資料比例,表達式()可使用以2為底之函數重寫為:(16)log2( 2u2 v 2 x 2 y )
且可以相似方式應用下一部分中之引數。
熟習此項技術者應瞭解,相同觀點應用於資訊傳輸及儲存系統之許多軟式輸入軟式輸出計算分量中。
一使用上述類型之解碼運算之問題為包含於將explog 計算作為解碼處理之部分而計算中的複雜性。此等解碼運算通常係迭代式,實際上其可使得有效實施變得重要。在許多LDPC及渦輪解碼器應用中,雖然精確explog 計算為一些應用所需,但exp 及/或log 函數之可靠近似可滿足需求。因此,需要可用於支援LDPC解碼、渦輪解碼及/或可使用exp 及/或log 計算之近似的一或多個其他應用之實施exp 及/或log 函數的有效硬體及/或軟體方法。
函數exp(x)log(x) (及其以2為底之對應物)極其頻繁地用於編碼應用中。
本發明係針對用於以一硬體及/或處理循環有效方式近似logexp 函數之方法及裝置。用於exp(x)log(x) 函數之計算有效近似方法及裝置係本發明之一特徵。本發明之方法及裝置非常適於一廣泛範圍之應用,包括使用log 及/或exp 函數(或其近似)之低密度奇偶校驗碼(LDPC)解碼運算及渦輪解碼運算。
在可運用本發明之現代迭代式(iterative)編碼系統(諸如低密度奇偶校驗(LDPC)解碼器及渦輪捲積解碼器)中,核心計算通常可簡化為一在對數域與線性域之間交替之加法及減法序列。在本發明中藉由使用在固定點分數資料格式與浮點格式之間進行映射之簡單位元而達成一種用於logexp 函數之計算上有效且穩固近似。該方法避免費時的查詢表及複雜計算,且使用交替之固定點處理單元及浮點處理單元,將核心處理進一步簡化為一加法及減法序列。該方法非常適合運用於可利用標準浮點算術電路設計中之現代先進的高度最佳化硬體實施方案中;以及運用於在裝備有FPU之廣泛級別之處理器中(其中本發明避免需要一典型多循環系列之log /exp 指令)且尤其在裝備有SIMD FPU之處理器(其中log/exp 函數通常係純量)上的軟體實施方案中。可以一迭代式方式或連續方式使用本發明之方法,在一迭代式或連續處理運算期間一或多次在固定點處理與浮點處理之間切換處理。
可將提出之近似方法直接應用於BCJR演算法(例如)以實施公式21、22。在一些實施例中,當應用於LDPC解碼器時,該等方法涉及不為渦輪解碼實施所需之位元反轉運算。
本發明之近似方法係基於每次解碼處理在"對數"與"線性"域處理之間交替之位元解釋的改變。不直接計算在本發明之方法中之logexp 函數。實情為,在"對數"域中之運算藉由解釋用於作為一固定分數點值之解碼中之訊息的量值而達成。在各種實施例中,待在"線性"域中執行之解碼運算藉由解釋待在作為一浮點數(例如,在IEEE-754或相似浮點格式中之一數)之解碼運算中處理的位元而實施。作為解碼處理之部分,存在在每一解釋改變之後的至少一簡單算術運算,例如,一浮點運算作為一浮點數在解 釋之後執行而一固定點計算作為一固定點數在一解釋之後執行。
在處理之值之解釋中的多次改變可在解碼處理期間發生,例如,在解釋中之改變隨著迭代式解碼處理進行而發生。
本發明之方法非常適於軟體解碼器應用,其包括使用包括一SIMD FPU(單指令多資料浮點單元)之一或多個處理器實施的實施例。軟體解碼器實施例亦非常適於與處理器一起使用,該等處理器具有使用專用FPU之處理器架構,其中FP加法及減法係單循環運算而log /exp 函數係多循環運算。軟體解碼器實施例亦可使用諸如具有浮點輔助指令如單循環正規化及移位指令之固定點DSP的處理器而實施。
本發明之方法亦可且係用於(例如)解碼器之各種硬體實施例中。在一些實施例中,包括(但不限於)浮點加法器及減法器之簡化之精度浮點算術單元用於實施意欲在"線性"域中執行的解碼器運算,而包括(但不限於)固定點加法器及減法器之固定點算術單元用於實施意欲在"對數"域中執行的處理。用於根據本發明實施之"線性"域中之多個變量的延遲正規化方法允許共用在本發明之一些解碼器實施中出現的若干浮點算術單元之間的正規化硬體。
本發明之方法及裝置尤其適於實施LDPC校驗節點處理模組。在一特定LDPC校驗節點處理節點實施例中,本發明之方法支援其中不需要分數位元而可達成適於許多應用之舍入水平的情況。
本發明之近似方法便於依賴動態速率之量化階調節,其可考慮用於一LLR量值表示中之位元數目的減少。此轉變為內部訊息記憶體(LDPC及其他解碼器)中之較大節省。
接著在詳細描述中描述本發明之眾多額外特徵、益處及實施例。
用於LDPC解碼器之log/exp 函數之近似需要由公式(17)、(18)描述之額外步驟。
在兩個轉換之間之校驗節點更新係線性運算,因此可選擇任意比例常數C2 k ,以使得可將新的轉換函數寫為:(17)(x )=C 2 x =2 k x 用於正向轉換,(18)用於逆轉換。
對於實際系統而言,輸入及邊緣訊息LLR值兩者對於對數底換算按比例縮放1/log(2) 且量化至固定點分數格式(n.m) ,整數部分具有n 位元而分數部分具有m 位元且k 等於給定量化之最大LLR值,以使得x 1kx 0。同樣,假設i.f 標示量化變量x 1 之整數及分數值。
存在正向轉換函數之分段線性近似
最終近似公式緊密地匹配浮點數之類似IEEE-754表示法(-1) s ×2 e ×1.m ,其中i 係浮點指數,f 係有效位數(significand),1. 係在正規化之後隱藏之最左邊的'1'且數字一直為正。因此,可將正向轉換函數看作計算中間值x 1 ,接著將x 1 值之整數部分i 放入浮點數之指數欄位e 並將分數部分f 放入有效位數欄位m 且接著在浮點域中執行校驗節點更新加法及減法運算。通常,最大量化LLR訊息值及相應常數k以2n -1形式選定且x 1kx 之計算係訊息值x 之簡單按位元反轉。在專用硬體實施中,按位元反轉運算通常可與其他運算或訊號緩衝融合且實際上具有零增量成本。
亦存在逆轉換函數之分段線性近似 類似地,可將逆轉換看作將浮點指數欄位e 及有效位數欄位m 分別映射成固定點整數i 及分數f 欄位,繼之以固定點減法kx 。如在正向轉換中,常數減法可由按位元反轉完成。
對於使用類似渦輪捲積核心更新之形式(16)之核心更新的編碼方案而言,近似通常不需要置換x 1 kx 、正及反函數僅為2 x log 2 (x) ,不需要位元反轉且轉換近似(19)、(20)可重寫為:
圖1上說明簡化之LDPC解碼器校驗節點訊息量值轉換路徑。圖1為根據本發明說明可用於logexp 函數計算之例示性近似方法的圖式100。
接收固定點分數格式輸入值102。固定點分數輸入值102包括n位元104整數部分 i 108及m位元106分數部分 f 110。
在一些實施例(例如)例示性LDPC實施例中,按位元反轉運算作為運算116及118執行。在此實施例中,按位元反轉運算116對導致指派給浮點格式表示之指數 e 122欄位之一組n位元值的n位元整數部分 i 108執行,而按位元反轉運算118對導致指派給浮點格式表示法之有效位數 m 欄位124之一組m位元值的m位元分數部分 f 110執行。
在一些實施例(例如)例示性渦輪解碼器實施例中,按位元反轉運算不作為運算116及118執行。在此實施例中,導致一組n位元值之n位元整數部分 i 108指派給浮點格式表示法之指數 e 欄位122,而m位元分數部分 f 110指派給浮點格式表示法之有效位數 m 欄位124。
一些浮點格式表示法包括正負號 s 欄位120。在一些此等表示法中,將常數值(例如)0112插入正負號 s 欄位120(如圖1上所指示)或可使用變量值動態地選擇加法及減法運算來執行插入運算114。
現在,在運算126中,包括於浮點表示法中之所得複合位元值組看作浮點值且經受在浮點域中執行之例如加法及/或減法運算之量值計算。輸出係一新的位元值組,其當在浮點格式中時包括:正負號欄位 s 位元值128、指數 e 欄位位元值130及有效位數 m 欄位位元值132。
在一些實施例(例如)例示性LDPC實施例中,按位元反轉運算作為運算134及136執行。在此實施例中,按位元反轉運算134對導致指派給固定點分數格式表示法之整數部分 i 138之位元值的指數 e 欄位位元值130執行,而按位元反轉運算136對導致指派給固定點分數格式表示法之分數部分 f 欄位140之位元值的有效位數 m 欄位位元值132執行。
在一些實施例(例如)例示性渦輪解碼器實施例中,按位元反轉運算不作為運算134及136執行。在此實施例中,所得之指數 e 欄位位元值130指派給固定點分數格式表示法之整數部分 i 138,而有效位數 m 欄位位元值132指派給固定點分數格式表示法之分數部分 f 欄位140。
輸出值142係固定點分數輸出值142。輸出值可經受固定點域中之計算。
在圖式上浮點正負號位元係選用的且僅需用於基於通用IEEE-754硬體之實施。
對於支援IEEE-754位元浮點算術之裝置(如通用CPU)而言,固定點分數訊息格式(8.23)(8個整數位元,23個分數位元)係方便的,因為其在浮點校驗節點計算與整數可變節點計算之間不需要位元欄位操作。訊息值作為在可變節點更新中之整數值及在校驗節點更新中之浮點值簡單地運算。對於支援在相同暫存器組上之整數及浮點算術兩者之裝置(如支援SSE2T M SIMD指令組之IntelT M /AMDT M 處理器)而言,不需要將額外資料移動指令用於轉換運算。
上述近似技術導致兩個實際實施例:
1.低複雜性最佳化之軟體實施方案
低成本或非常高度處理能力(throughput)實施方案將指定運用用於LDPC解碼器量化精度及動態範圍的簡化訊息(用於渦輪解碼器之分支度量)來使用專用解碼器硬體。通常,使用用於表示輸入及邊緣訊息LLR值之4至6個位元,可達成最高程度的編碼增益。介於訊息值之整數部分與分數部分之間的特定位元配置視所需編碼率範圍與設計之權衡而定。
獲益於本發明,可按以下方式修正美國專利申請案序號第10/117,264號標題為「NODE PROCESSORS FOR USEIN PARITY CHECK DECODERS」中描述之LDPC校驗節點處理器。假設(n.m) 標示邊緣訊息之整數部分及分數部分中之位元數目。在邊緣訊息量值分開之後,其按位元予以反轉且直接應用至邊緣累加器的輸入,該邊緣累加器係由浮點加法器(用於不帶正負號輸入)與暫存器(用於保存n個位元之指數及mlog 2 (D max )p 個位元之有效位數)所組成,其中D max 表示最大節點度,而p 表示在某些情況下需要達成所要微分動態範圍之選用額外精度位元。反轉輸入量值之n 位元寬整數位元欄位映射至加法器之指數輸入,而右方之m位元分數欄位係用log 2 (D max )p 個零值予以填充且映射至加法器之有效位數輸入。一旦累加所有邊緣,則浮點加總值儲存於管線暫存器中。類似於原始設計,減法階係接在加法階之後,惟其亦使用不帶正負號浮點單元除外。在加法階或減法階,累加之加總值係飽和的。對於最佳精度加法器,指數欄位可展開至n1 個位元且在減法器階執行飽和。最後,輸出訊息浮點值按位元映射至固定點分數格式、反轉且與獨立處理之正負號混合。可變節點以與描述於美國專利申請案序號第10/117,264號標題為"NODE PROCESSORS FOR USE IN PARITY CHECK DECODERS"中之對邊緣訊息執行固定點整數處理之最初方案相同或相似的方式運作。
圖2繪示最佳化硬體校驗節點訊息量值路徑處理。圖2係根據本發明實施且使用本發明之方法之例示性LDPC校驗節點解碼器模組200的圖式。
例示性LDPC校驗節點解碼器模組200包括:按位元反轉模組212、214、292、294;填零模組216;浮點處理模組203;及可變長度延遲模組274。每一按位元反轉模組可為(例如)一組計算邏輯位元反轉器,一個邏輯位元反轉器用於擬並行反轉之每一位元。舉例而言,按位元反轉模組214可包括m個單一位元反轉器。浮點處理模組203包括浮點加法器232、多工器234、累加器暫存器244、節點加總暫存器260及浮點減法器280。
LDPC解碼器模組200接收固定點分數格式輸入值202。舉例而言,值202可來自於LLR訊息,該LLR訊息來自一可變節點。輸入值202係以固定點分數之分數格式表示為具有n個位元204之整數部分 i 208及m個位元206之分數部分 f 210。按位元反轉模組212反轉整數部分 i 208的每一位元的值,導致映射成指數 e 欄位218之一組相應位元值。按位元反轉模組214反轉分數部分 f 210的每一位元的值,導致映射成有效位數 m 欄位220之一組相應位元值。填零模組216填充欄位222之位元。指數欄位 e 係n個位元224寬;有效位數欄位 m 220係m個位元寬;欄位222係log 2 (Dm a x )個位元寬228,其中Dm a x 表示最大節點度。在一些情況下,填零欄位222可寬於log 2 (Dm a x )個位元且可擴展所有或部分浮點處理模組203精度,以確保計算之足夠微分動態範圍。表示一組(n+m+log 2 (Dm a x ))個位元集合230之欄位(218、220、222)之複合係至浮點加法器232之輸入。浮點加法器232被結構化以使得其具有n或n+1個位元之指數及(m+log 2 (Dm a x ))個位元之有效位數。至浮點加法器232之另一輸入係多工器234之輸出240。
節點邊界時脈訊號236係多工器234之控制訊號。對於藉由接著節點邊界之浮點加法器232之第一加法而言,控制多工器234以轉遞零位元集合238使其與第一位元集合230相加。浮點加法器232之輸出係儲存於累加器暫存器244中之一位元集合242。累加器暫存器244之大小設定為匹配具有n或n+1位元254之指數 e 欄位246及(m+log 2 (Dm a x ))位元248之有效位數欄位 m 248的浮點加法器232之大小。有效位數欄位 m 248進一步分成m位元之第一部分250及log 2 (Dm a x )位元之第二部分252。
由於一新的位元集合230輸入至浮點加法器232,例如對應於相同節點邊界內之另一輸入202,故浮點加法器232求新輸入集合的和,其值來自累加器暫存器244,該值作為訊號236輸入至多工器,且作為訊號240穿過多工器236且輸入至加法器232。浮點加法器232之輸出位元集合242儲存於累加器暫存器244中。此加法及累加處理對一組輸入202繼續,例如對應於一組訊息。
隨後,來自累加器暫存器244之輸出258載入節點加總暫存器260。負載由節點邊界時脈訊號236控制,指示已完成對應於一組固定點分數格式輸入值202(例如,對應於訊息組)之浮點求和運算。加總暫存器260之大小使得其具有一集合之n或n+1位元266之儲存位置(指數 e 262儲存)及一集合之m位元268之儲存位置(有效位數 m 264儲存)。累加器暫存器244之指數 e 246之位元值載入節點加總暫存器260之指數 e 位元區262。累加器暫存器244之部分250之位元值載入節點加總暫存器260之有效位數 m 位元區264。
由於對應於輸入202之n+m+log 2 (Dm a x )位元值組230中之每一者輸入至加法器232,故對應於指數 e 218及有效位數 m 220之值的n+m位元值組轉遞至可變長度延遲線274。節點度訊號276控制延遲線之長度,例如以使得當節點加總暫存器268負載有可用於浮點減法器270之新值時,在對應於節點加總暫存器值之節點邊界內的第一n+m位元值組272將可用作浮點減法器280的輸入278。
建構浮點減法器280以在來自延遲線之每一集合之位元278與節點加總暫存器260中之值之間執行浮點減法,導致包括對應於指數 e 欄位288之n位元284及對應於有效位數 m 290欄位之m位元286的輸出位元集合282,指數 e 及有效位數 m 290 係由浮點減法器280使用之浮點格式表示法。按位元反轉模組292將指數 e 欄位288之位元值反轉成固定點分數表示法之n位元297整數部分 i 欄位。按位元反轉模組294將有效位數 m 欄位290之位元值反轉成固定點分數表示法之m位元298整數部分f 欄位296。所得輸出值299係(例如)至可變節點之LLR訊息的固定點分數格式輸出值。
相似益處可在具有不同次序之校驗節點計算的交替LDPC解碼器架構中獲得。
用於渦輪捲積解碼器之更新結構可得自(16)、(21)、(22)且涉及使用用於組合來自(16)之量u、v、x、y...之簡化精度浮點加法器,且接著在演算法之其他處將其解釋為固定點分數值。視應用要求而定,加法可由單一FP累加器(類似於上述LDPC節點更新累加相位)連續或由加法器樹並行執行。
對於應用而言,其中訊息記憶體支配由解碼器佔據之區域,然而,應用需要支援廣泛範圍之編碼率,可藉由以比總校驗節點量值路徑精度低的精度儲存訊息且以對於特定編碼率較佳之方式將簡化精度訊息投送至校驗節點整數欄位及分數欄位而達成進一步最佳化。舉例而言,支援6位元(4.2)內部精度之校驗節點可接受4位元訊息,該等訊息對於高編碼率為格式(4.0),對於中等編碼率為格式(3.1)且對於具有適當填零之低編碼率為格式(2.2),對應於ln(2)、ln(2)/2、ln(2)/4之LLR量化階。填零及位元欄位投送可由在校驗節點之邊界處之簡單移位器網路完成。可變節點更新係至分數部分及整數部分之位元配置之不變量且對於以上實例中之每一者在4位元精度下完成。以此方式,可為訊息記憶體、置換網路及具有非常小的編碼效能損耗及相對較小校驗節點硬體負擔之選用延遲線達成30%的節省。圖3上說明用於簡化精度訊息儲存之位元欄位投送。
圖3包括說明用於簡化精度訊息儲存之例示性位元欄位投送的圖式300。例示性簡化精度訊息304包括n+m-2位元302,其小於n+m位元之總例示性校驗節點路徑精度。定位於校驗節點之邊界處之移位器網路306執行填零及位元欄位投送。展示可由移位器網路306執行之填零及移位的三個例示性情況(308、310、312)。
在實例308中,簡化精度訊息已移位且填零以包括n位元之整數部分 i 310、m-2位元之分數部分 f 312,及兩位元之填零部分314,整數部分 i 310及分數部分 f 312對應於第一固定點分數格式表示法。圖式334說明例示性浮點表示法包括n位元340之指數 e 欄位336及m位元342之有效位數 m 欄位338。n整數部分 i 310 位元之值以位元對位元為基礎映射至指數 e 欄位336,而m-2分數部分 f 312位元及2個填零位元314之值的複合以位元對位元為基礎映射至有效位數 m 欄位338。
在實例316中,簡化精度訊息已移位且填零以包括1位元之填零部分318、n-1位元之整數部分 i 320、m-1位元之分數部分 f 322及一位元之填零部分324,整數部分 i 320及分數部分 f 322對應於第二固定點分數格式表示法。圖式334說明例示性浮點表示法包括n位元340之指數 e 欄位336及m位元342之有效位數 m 欄位338。一個填零位元318之值及n-1個整數部分i 320位元之值的複合以位元對位元為基礎映射至指數 e 欄位336,而m-1個分數部分 f 322位元及1個填零位元324之值的複合以位元對位元為基礎映射至有效位數 m 欄位338。
在實例326中,簡化精度訊息已移位且填零以包括2位元之填零部分328、n-2位元之整數部分 i 330及m位元之分數部分 f 332,整數部分 i 330及分數部分 f 332對應於第二固定點分數格式表示法。圖式334說明例示性浮點表示法包括n位元340之指數 e 欄位336及m位元342之有效位數 m 欄位338。兩個填零位元328之值及n-2個整數部分 i 330位元之值的複合以位元對位元為基礎映射至指數 e 欄位336,而m個分數部分 f 332位元之值以位元對位元為基礎映射至有效位數 m 欄位338。
2.可用於通用CPU之FP SIMD之向量化演算法
本發明之近似方法可導致用於類似於(但不限於)IntelT M SSE2T M 擴展之習知SIMD架構的非常有效向量化碼。本發明之一關鍵益處在於所描述之轉換近似不需要查詢操作或複雜計算。典型查詢需要用於向量中之每一元件及用於可導致連續執行及急劇效能下降之通用SIMD處理器的獨立間接記憶體存取。典型SIMD指令組為矩陣數學而最佳化且不包括用於log/exp 函數之向量化指令。此外,對於大多純量FPU而言,此等指令需要多次循環來完成。
不管特定向量化技術,如上所述根據本發明使用之近似方法允許每一循環之具有轉換運算之很少或無負擔之值的向量的處理。舉例而言,對於IntelT M SSE2T M 擴展而言,呈現於SIMD暫存器或記憶體中之值的相同向量可如對數域中之整數之向量或如線性域中之浮點值的向量而運算。
在本發明之一些實施例中,近似技術與描述於標題為"NODE PROCESSORS FOR USE IN PARITY CHECK DECODERS"之序號為10/117,264之美國專利申請案中的向量LDPC碼結構協作。
根據本發明之方法,軟體SIMD校驗節點更新之實際實施方案可具有與如上所述之例示性硬體實施方案相似之資料流,其具有以下細節:-邊緣訊息通常可量化為匹配特定CPU目標之浮點數表示法之較高精度;-具有log 2 (D max ) 零之浮點邊緣訊息表示法之填充係選用的且可在輸入LLR值量化階期間一次完成;-加法及減法運算將在無明顯截斷運算的情況下在特定CPU目標之自然浮點數表示法中執行;-校驗節點更新運算中之每一者可完全向量化達特定CPU目標之最大支援向量寬度;-位元反轉步驟可視需要與符號分離或可變節點處理融合。
3.具有延遲正規化之演算法
在其中多個量在指數域(在LDPC圖中之高程度節點或在格子結構中之多個分支)中組合且動態正規化係成本無效的(僅具有一些FP輔助指令之固定點CPU/DSP)的應用中,若為允許使用固定點加法器/減法器且推遲正規化步驟直至域改變為止之組合值中的每一者選擇常用指數,則以上近似構架仍有效。常用指數因子可為常數值(若應用動態風行允許其)或待組合之一群值中的最小指數。
類似於先前實施例,取冪由自固定點至浮點之域改變近似。然而,在此特定實施例中,正規化在節點/分支更新之邊界處完成。
此結構類似描述標題為"NODE PROCESSORS FOR USE IN PARITY CHECK DECODERS"之序號為10/117,264之美國專利申請案的LDPC校驗節點近似,而非將常數因子移位一整數輸入值,浮點輸入值分成指數及有效位數,後者用隱藏的'1'擴充、由指數部分移位且接著轉遞至固定點累加器(或用於並行實施方案之固定點加法器樹)。推遲結果之正規化直至所有邊緣/分支已組合以形成中間結果為止。結果中之開頭'1'位置定義一指數,結果值經正規化且指數與正規化結果位元連接,除了形成浮點值之開頭'1'之外。此浮點值被截斷至所要精度、保留且稍後精確地如在其他兩個實施例中而解釋為對數域中之固定點分數值。
圖4說明可用於實施本發明之方法及裝置之一組模組及儲存裝置。圖4中之箭頭用於展示自模組至模組之資料流的方向。說明之系統400包括用於儲存固定點分數格式之值的第一儲存裝置402。舉例而言,可為記憶體或暫存器之儲存裝置402耦接至浮點處理模組輸入位元產生模組404,該模組負責產生待用作至浮點處理模組406之輸入的一位元集合。如上所述,在一些實施例中,浮點處理模組輸入位元產生模組404實施為簡單讀取電路,其中一位元集合如儲存於記憶體402中之值的所有、50%、70%或更多的位元供應至浮點處理模組406而無變化。在其他實施例中,浮點處理模組輸入位元產生模組404包括一按位元反轉器及/或一填充電路。按位元反轉器(當呈現時)用於在位元供應至浮點處理器406之前翻轉(反轉)自儲存裝置402獲得之至少一位元集合的值,而填充電路(當呈現時)可用於供應填充值,例如常數值,其在一些實施例中係零。
浮點處理模組406接收由模組404產生之輸入位元且使用輸入位元執行一或多個浮點計算。浮點處理模組406包括一或多個浮點處理元件,例如一或多個浮點加法器及/或減法器。由一或多個浮點計算(其由使用來自模組404之輸入位元之浮點處理模組406執行)產生之該位元集合儲存於第二儲存裝置408中。此第二儲存裝置408(類似於儲存裝置402)可使用暫存器或記憶體實施。由浮點處理模組406產生之儲存於儲存裝置408中之該位元集合由固定點處理模組410處理且由模組410供應至固定點處理模組412之輸入。模組410可執行簡單讀取操作且將自儲存裝置408讀取之所有或一部分位元供應至固定點處理模組412。然而,在一些實施例中,模組410在將位元供應至固定點處理模組412之前對自儲存裝置408讀取之位元執行按位元反轉運算。固定點處理模組412包括一或多個固定點加法器及/或減法器,其用於(例如)對假定以固定點分數格式表示之值執行固定點計算。由在步驟412執行之固定點計算產生之所得值展示為儲存於儲存裝置402中(例如)以迭代式方式用於繼續處理。雖然展示為迭代式處理,但應瞭解,在浮點運算與固定點運算之使用之間的多次連續轉移可在線性、 非迭代式實施方案中出現,同時仍利用由於用於固定點運算及浮點運算中之值之非習知映射所達成的新穎計算評估。
圖4中所示之至迭代式處理之初始輸入展示為定位於儲存裝置402中,結果(例如,在一些迭代式運算之後)自相同儲存裝置讀出。應瞭解,亦可將輸入/輸出供應至儲存裝置408,輸入位元以浮點格式表示。在此實施例中,輸出亦可自儲存裝置408讀出。
圖5說明根據本發明之一實施例實施之電腦系統,其支援基於軟體之LDPC解碼器及/或渦輪解碼器。系統500包括由其上各種元件可交換資料及其他資訊之匯流排508耦接在一起之處理器522、網路介面514、I/O介面512及記憶體516。系統500包括耦接至I/O介面512之顯示器502、印表機503及輸入裝置504如鍵盤或掃描器。經由網路介面514,系統500可接收待解碼之資訊如LDPC編碼資料。可將編碼資訊511儲存於記憶體516中,用於由解碼器模組521處理。
記憶體516包括複數個儲存位置518、浮點至固定點映射模組529、固定點至浮點映射模組524、固定點處理模組523、浮點處理模組526及渦輪及/或LDPC解碼器模組521。儲存位置518用於儲存位元集合,例如由固定點或浮點計算產生之位元集合。渦輪及/或LDPC解碼器模組521當由處理器522執行時使得處理器522執行渦輪及/或LDPC解碼運算。模組521可在解碼運算期間一或多次調用模組 529、524、523及526。固定點處理模組523使得對至模組523之輸入執行一或多個固定點計算。浮點處理模組526對為至模組526之輸入的一位元集合執行一或多個浮點計算。固定點至浮點映射模組524負責產生待自以固定點分數格式表示之值供應至浮點模組526之輸入位元集合。映射模組524可將值簡單地供應至浮點處理模組526,其可填充值及/或其可對至少一些位元執行按位元反轉運算。映射模組524基於每一位元自以固定點分數格式表示之值中的相應數目之位元判定在所產生之浮點處理模組輸入位元集合中的複數個個別位元的值。固定點至浮點映射模組524用於映射由浮點運算產生之一位元集合以產生至固定點處理模組523之一輸入位元集合。映射操作可涉及簡單讀取操作,但在一些情況下涉及按位元反轉運算。在至由浮點至固定點映射模組529產生之固定點處理模組523之輸入位元集合中的複數個個別位元自在由浮點計算(由浮點處理模組526執行)產生之一位元集合中的相應個別位元產生。
藉由在固定點運算與浮點運算之間切換,解碼器模組521可(例如)在迭代式LDPC解碼處理之不同階段利用本發明之explog 計算近似技術。
圖6說明自以固定點分數格式表示之儲存值產生一浮點處理模組輸入位元集合之例示性步驟。以固定點分數格式表示之值可包括大量位元,例如至少32位元。在圖6實例中,浮點輸入位元值自發現於以固定點分數格式表示之值的相應位元位置中的值直接映射,如可由簡單讀取操作及額外填充位元完成,例如插入一零以佔據位元之浮點輸入集合之符號位置。應注意,用於產生浮點輸入位元集合之此位元等級映射顯著地不同於固定點表示與浮點表示之間的習知變換。
現將論述使用本發明之近似方法之處理的少數實例以促進對本發明及其優點的理解。
考慮用於不帶正負號正數之近似運算之以下數字實例(演算法亦可以較小修正應用於帶正負號值)。假設固定分數格式由表示整數部分i 之8位元欄位及表示分數部分f 之23位元欄位組成。在0與256之間之任一正實數X可以 x i 0. f 形式以舍入誤差小於2 2 3 的此格式表示。
假設相應浮點格式由表示二進位指數之8位元欄位及表示正規化有效位數(除了開頭'1'之外)之23位元欄位組成。指數值偏差+127,意即實際二進位指數值0對應於指數歸檔值127。嚴格地為達成說明目的,8及23位元之欄位寬度及指數偏差經選擇為類似IEEE-754單一精度浮點格式(忽略正負號位元且排除簡單之情況)。此外,指數偏差與提出之近似方法無關。在0與21 2 8 之間之任一正實數x可以 x 2 e 127 ×1. m 之形式以此格式表示。
假設U、V 為正數 U 7.375 V 11.750UV 可看作至圖1中所示之處理的輸入102。
其固定分數點表示i.f 為:(1) U =00000111.01100000000000000000000b i 700000111b f .37501100000000000000000000b V 00001011.11000000000000000000000b i 1100001011b f .75011000000000000000000000b 相同值可以上述浮點格式e.m 表示,如:(2) U 10000010.11011000000000000000000b e 3(最左邊的'1'定位於7)127(指數偏差)13010000010b m 11101100…b(除了最左邊的'1'之外) V 10000011.01111000000000000000000b e 4(最左邊的'1'定位於11)127(指數偏差)13110000011b m 11101100…b(除了最左邊的'1'之外) 應注意,此表示法將不用於以下所示之任何實例中。表示法(2)係表示法(1)之習知類型變換。
實例1:
假設值U、V 以固定分數點格式i.f 表示且目標為使用本發明之近似方法找到 W log 2 (2 u 2 v ) 之近似。
步驟1 ,藉由直接自U,V (1)之i 欄位至X,Ye 欄位且自U,Vf 欄位至X,Ym 欄位映射位元而產生兩個合成浮點值XY
X 00000111.01100000000000000000000b e 00000111b m 01100000000000000000000b Y 00001011.11000000000000000000000b e 00001011b m 11000000000000000000000b 應注意,XY 並非(2)中所示之UV 之浮點表示法。舉例而言,在C程式設計語言中,此運算並非自整數類型至浮動類型計算的類型而是可藉由使用寫為整數且讀作浮點值之浮點變量及整數變量之並集完成的解釋改變。
步驟2 ,使用浮點加法器添加兩個浮點值Z=X+Y。此對應於步驟126中之浮點加法計算。(IEEE-754標準解釋如何執行如此實例中進行之浮點加法)。
Z 00001011.110101100000000000000000b e 00001011b m 11010110000000000000000b 步驟3 ,藉由直接自Ze 欄位至Wi 欄位且自Zm 欄位至Wf 欄位映射位元而產生固定分數點值W ,其對應於圖1中之輸出值142。
W 00001011.110101100000000000000000b i 00001011b f 11010110000000000000000b 如在步驟1中,在C程式設計語言中,此運算並非自浮動類型至整數類型計算的類型,而是可藉由使用寫為浮點值且讀作整數值之浮點變量及整數變量之並集完成的解釋改變。
固定點分數二進制格式之所得值W 表示小數格式之11.8359375且係精確答案之良好近似log 2 (2 7.375 2 11.750 )11.8179… 。計算序列不需要對log 2 (x)2 x 函數之調用且不需要真實類型變換運算。
步驟4(選用) ,使用固定點算術單元執行具有值W之額外固定點計算。
實例2:
假設值U、V 以固定分數點格式i.f 表示且目標為使用提出之方法找到 W =-log 2 (2 u 2 v )之近似。此運算說明LDPC解碼器校驗節點量值處理。如上所述,可將此重寫為 W klog 2 (2 k u 2 k v ) 且常數k之選擇係任意的。以k=2n -1形式選擇k且使得k>U,V允許用簡單位元反轉來取代減法運算。對於以下實例,k=255(28 -1)且U、V與先前實例中相同。
步驟1 ,藉由自U,V (1)之i 欄位至X,Ye 欄位且自U,Vf 欄位至X,Ym 欄位映射且反轉位元而產生兩個合成浮點值XY
X 11111000.10011111111111111111111b e 11111000b m 10011111111111111111111b Y 11110100.00111111111111111111111b e 11110100b m 00111111111111111111111b 應注意,XY 並非(2)中所示之UV 之浮點表示法。舉例而言,在C程式設計語言中,此運算並非自整數類型至浮動類型計算的類型,而是可藉由使用寫為具有按位元反轉之整數且讀作浮點值之浮點變量及整數變量之並集完成的解釋改變。
步驟2 ,使用浮點加法器添加兩個浮點值Z=X+Y。(IEEE-754標準解釋如何執行如此實例中進行之浮點加法)。
Z 11111000.10110011111111111111110b e 11111000b m 10110011111111111111110b 步驟3 ,藉由自Ze 欄位至Wi 欄位且自Zm 欄位至Wf 欄位映射且反轉位元而產生固定分數點值W
W 00000111.01001100000000000000001b i 00000111b f 01001100000000000000001b
如在步驟1中,在C程式設計語言中,此運算並非自浮動類型至整數類型計算的類型,而是可藉由使用寫為浮點值且讀作繼之以按位元反轉之整數值的浮點變量及整數變量之並集完成的解釋改變。
固定點分數二進位格式之所得值W 表示小數格式之7.296875且係精確答案之良好近似-log 2 (2 7.375 2 11.750 )7.307094… 。計算序列不需要對log 2 (x)2 x 函數之調用且不需要真實類型變換運算。
步驟4(選用) ,使用固定點算術單元執行具有值W之一或多個固定點計算。
雖然在許多實施例中,固定點分數值及對應於各種浮點處理運算之輸入/輸出位元係儲存於諸如暫存器之記憶體裝置中,但可連續執行運算而無需儲存該等值。
本發明之一實施例係針對使用至少一浮點處理模組處理一組二進位值之方法,其中該方法包括以下步驟:自以一固定點分數格式表示之值,產生一浮點處理模組輸入位元集合,該值之至少一部分之每一個別位元判定在該浮點處理模組輸入位元集合中之相應個別位元的位元值;操作浮點處理模組,以使用作為至少一浮點計算之輸入的該產生之浮點處理模組輸入位元集合來執行至少一浮點處理計算,該浮點計算模組自該浮點處理模組輸入位元集合之處理,產生以浮點格式配置之第二位元集合;及自以浮點格式配置之第二位元集合,產生一固定點處理模組輸入位元集合;及操作該固定點處理模組,以使用該產生之固定點處理模組輸入位元集合,執行至少一固定點處理計算。在例示性方法之一些實施中,該值之該部分包括多個位元,該多個位元包括在該值中之該等位元的至少50%。在例示性方法之一些實施中,該值之該部分包括在該值中之該等位元的至少70%,,其中該值包括至少32個位元,且其中該值之該部分包括至少31個位元。在例示性方法之一些實施例中,該值之該部分包括對應於該值之整數部分的至少兩個位元及對應於該值之分數部分的至少三個位元,該部分包括至少該兩個及三個位元。在例示性方法之許多實施中,產生一浮點處理模組輸入位元集合之步驟包括自諸如暫存器之儲存裝置或記憶體位置讀取儲存值。
可使用軟體、硬體及/或軟體與硬體之組合實施本發明之方法。可將使用本發明實施之解碼器用於包括(例如)執行LDPC解碼及/或渦輪解碼運算之行動節點的無線終端之廣泛範圍的裝置及應用中。
在本文所描述之各種實施例中,其使用一或多個模組以執行對應於本發明之一或多個方法的步驟(例如,涉及待經受隨後處理之位元集合之步驟)來實施。此等模組可使用軟體、硬體或軟體與硬體之組合而實施。許多上述方法或方法步驟可使用諸如包括於諸如記憶體裝置(例如,RAM、軟式磁碟等)之機器可讀媒體中之軟體的機器可執行指令而實施,以控制機器(例如,具有或不具有額外硬體之通用電腦)來實施所有或部分上述方法(例如,在一或多個節點中)。相應地,其中,本發明係針對包括用於使得機器(例如,處理器及相關聯硬體)執行上述方法之一或多個步驟之機器可執行指令的機器可讀媒體。
鑒於本發明之以上描述,熟習此項技術者將易於瞭解上述本發明之方法及裝置的眾多額外變化。此等變化待考慮於本發明之範疇內。本發明之方法及裝置可且在各種實施例中與CDMA、正交分頻多工(OFDM)及/或可用於在可通訊資料或需要解碼之其他資訊之存取節點與行動節點之間提供無線通訊鏈路的各種其他類型的通訊技術一起使用。
100‧‧‧圖式
102‧‧‧固定點分數格式輸入值
104‧‧‧n位元
106‧‧‧m位元
108‧‧‧整數部分 i
110‧‧‧分數部分 f
112‧‧‧0
114‧‧‧插入運算
116‧‧‧按位元反轉運算
118‧‧‧按位元反轉運算
120...符號 s 欄位
122...指數 e 欄位
124...有效位數m 欄位
126...運算
128...符號欄位 s 位元值
130...指數 e 欄位位元值
132...有效位數 m 欄位位元值
134...按位元反轉運算
136...按位元反轉運算
138...整數部分 i
140...分數部分 f 欄位
142...輸出值
200...例示性LDPC校驗節點解碼器模組
202...固定點分數格式輸入值
203...浮點處理模組
204...n位元
206...m位元
208...整數部分 i
210...分數部分 f
212...按位元反轉模組
214...按位元反轉模組
216...填零模組
218...指數 e 欄位
220...有效位數 m 欄位
222...欄位
224...n位元
228...log 2 (Dm a x )位元寬
230...(n+m+log 2 (Dm a x ))位元
232...浮點加法器
234...多工器
236...節點邊界時脈訊號
238...零位元集合
240...輸出/訊號
242...位元集合
244...累加器暫存器
246...指數 e 欄位
248...有效位數欄位 m
250...m位元之第一部分
252...log 2 (Dm a x )位元之第二部分
254...位元
258...輸出
260...節點加總暫存器
262...指數 e
264...有效位數 m
266...位元
268...m位元
270...浮點減法器
272...n+m位元值組
274...可變長度延遲線/可變長度延遲模組
276...節點度訊號
278...輸入
280...浮點減法器
282...位元集合
284...n位元
286...m位元
288...指數 e 欄位
290...有效位數 m
292...按位元反轉模組
294...按位元反轉模組
296...整數部分f 欄位
297...n位元
298...m位元
299...輸出值
302...n+m-2位元
304...例示性簡化精度訊息
306...移位器網路
310...整數部分 i
312...分數部分 f
314...填零部分
318...填零部分
320...整數部分 i
322...分數部分 f
324...填零部分
328...填零部分
330...整數部分 i
332...分數部分 f
336...指數 e 欄位
338...有效位數 m 欄位
340...n位元
342...m位元
500...系統
502...顯示器
503...印表機
504...輸入裝置
508...匯流排
511...編碼資訊
512...I/O介面
514...網路介面
516...記憶體
518...儲存位置
521...解碼器模組
522...處理器
523...固定點處理模組
524...固定點至浮點映射模組
526...浮點處理模組
529...浮點至固定點映射模組
圖1根據本發明說明用於近似exp 及/或log 函數之例示性方法的步驟及硬體。
圖2說明實施本發明之explog 近似方法之例示性LDPC校驗節點解碼器模組。
圖3說明根據各種實施例用於支援一或多個不同固定點分數表示之各種移位運算。
圖4為說明如何以迭代式方式使用本發明之exp 及/或log 近似函數之流程圖。
圖5說明包括使用本發明之exp 及/或log 近似函數以執行(例如)LDPC解碼運算、渦輪解碼運算以及涉及使用log 及/或exp 計算運算之近似的另一運算之各種軟體模組的電腦系統。
圖6說明自以固定點分數格式表示之儲存值產生一浮點處理模組輸入位元集合之例示性步驟。
100...圖式
102...固定點分數格式輸入值
104...n位元
106...m位元
108...整數部分 i
110...分數部分 f
112...0
114...插入運算
116...按位元反轉運算
118...按位元反轉運算
120...符號 s 欄位
122...指數 e 欄位
124...有效位數m 欄位
126...運算
128...符號欄位 s 位元值
130...指數 e 欄位位元值
132...有效位數 m 欄位位元值
134...按位元反轉運算
136...按位元反轉運算
138...整數部分 i
140...分數部分 f 欄位
142...輸出值

Claims (37)

  1. 一種使用至少一浮點處理模組處理一組二進位值之方法,該方法包含:自一以一固定點分數格式表示之值,產生一浮點處理模組輸入位元集合,該值之至少一部分之每一個別位元判定在該浮點處理模組輸入位元集合中之一相應個別位元的一位元值;操作該浮點處理模組,以使用作為至少一浮點計算之一輸入的該產生之浮點處理模組輸入位元集合來執行該至少一浮點處理計算,該浮點計算模組自該浮點處理模組輸入位元集合之處理,產生一以一浮點格式配置之第二位元集合;自該以一浮點格式配置之第二位元集合,產生一固定點處理模組輸入位元集合;及操作該固定點處理模組,以使用該產生之固定點處理模組輸入位元集合,執行至少一固定點處理計算。
  2. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該值之該部分包括多個位元,該多個位元包括在該僅中之該等位元的至少50%。
  3. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該值之該部分包括在該值中之該等位元的至少70%,其中該值包括至少32個位元,且其中該值之該部分包括至少31個位元。
  4. 如請求項1之使用至少一浮點處理模組處理一組二進位值 之方法,其中該值之該部分包括對應於該值之一整數部分之至少兩個位元及對應於該值之一分數部分的至少三個位元,該部分包括至少該兩個及三個位元。
  5. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該產生一浮點處理模組輸入位元集合之步驟包括自一第一儲存裝置讀取該值。
  6. 如請求項5之使用至少一浮點處理模組處理一組二進位值之方法,其中自一相應儲存位元值產生之每一浮點處理模組輸入位元值的值相同於該產生之位元值所對應之儲存位元值的值;及其中自該以一浮點格式配置之第二位元集合產生一固定點處理模組輸入位元集合包括:自記憶體讀取該以一浮點格式配置之第二位元集合的至少一部分,該第二位元集合之該部分包括多個位元,該多個位元中之每一者判定該等固定點處理模組輸入位元之一相應單一者的值,該等固定點處理模組輸入位元之每一相應單一者的值相同於其在該第二位元集合中所對應之位元的值。
  7. 如請求項5之使用至少一浮點處理模組處理一組二進位值之方法,其中該產生一浮點處理模組輸入位元集合之步驟進一步包括:於該產生之浮點處理模組輸入位元集合中包括具有一預定常數值之至少一填充位元值,該至少一填充位元值係除在自該讀取儲存值之相應位元值判定之輸入位元值之外的值。
  8. 如請求項5之使用至少一浮點處理模組處理一組二進位值之方法,其中該產生一浮點處理模組輸入位元集合之步驟進一步包括:對自記憶體讀取之至少一些位元執行一按位元反轉運算,以判定在該產生之浮點處理模組輸入位元集合中之相應個別位元的值。
  9. 如請求項8之使用至少一浮點處理模組處理一組二進位值之方法,其中該自該以一浮點格式配置之第二位元集合產生一固定點處理模組輸入位元集合之步驟包括:對包括於該第二位元集合中之至少複數個位元執行一按位元反轉運算,以產生相應複數個固定點處理模組輸入位元。
  10. 如請求項5之使用至少一浮點處理模組處理一組二進位值之方法,其中該至少一浮點處理運算係一浮點加法運算之一,在該種情況下該浮點處理模組包括一浮點加法器,且該至少一浮點處理運算係一浮點減法,在該種情況下該浮點處理模組包括至少一浮點減法器。
  11. 如請求項10之使用至少一浮點處理模組處理一組二進位值之方法,其中該浮點處理模組包括一浮點加法器及一浮點減法器兩者。
  12. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其進一步包含:儲存一藉由操作該固定點處理模組以執行至少一固定點處理計算而產生之所得固定點值; 自該儲存所得固定點值產生一第二浮點處理模組輸入位元集合,該儲存所得固定點值之至少一部分之每一個別位元判定在該第二浮點處理模組輸入位元集合中之一相應個別位元的一位元值;使用作為至少一浮點計算之一輸入之該產生的第二浮點處理模組輸入位元集合,執行該至少一浮點處理計算,藉此自該第二浮點處理模組輸入位元集合之處理,產生一以一浮點格式配置之額外位元集合。
  13. 如請求項12之使用至少一浮點處理模組處理一組二進位值之方法,其進一步包含:藉由自在該額外位元集合中之相應複數個位元值產生複數個位元值,自該以一浮點格式配置之額外位元集合產生另一固定點處理模組輸入位元集合,其中每一位元係以一對一為基礎產生自在該額外位元值集合中之相應位元。
  14. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該方法係一實施一低密度奇偶校驗解碼運算之方法,其中該儲存值係一奇偶校驗訊息;及其中該浮點處理模組包括一用於儲存一以浮點格式表示之加總值的累加器,該加總值係藉由一浮點加法運算予以產生,該浮點加法運算使用作為一至該浮點加法運算之輸入的該浮點處理模組輸入位元集合。
  15. 如請求項14之使用至少一浮點處理模組處理一組二進位值之方法,其中該浮點處理模組進一步包括一減法器;及其中該以一浮點格式配置之第二位元集合係由執行一浮點減法運算之該浮點處理模組予以產生,該浮點減法運算包括自該儲存加總值產生之一值減去一自該浮點處理模組輸入位元集合產生之浮點值。
  16. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該產生一浮點處理模組輸入位元集合之步驟執行一exp計算運算之一近似。
  17. 如請求項1之使用至少一浮點處理模組處理一組二進位值之方法,其中該自該以一浮點格式配置之第二位元集合產生一固定點處理模組輸入位元集合之步驟執行一對數計算運算之一近似。
  18. 一種用於處理一組二進位值之系統,該系統包含:用於自一以一固定點分數格式表示之儲存值產生一浮點處理模組輸入位元集合之構件,該儲存值之至少一部分之每一個別位元判定在該浮點處理模組輸入位元集合中之一相應個別位元的一位元值;一浮點處理模組,其用於使用作為至少一浮點計算之一輸入之該產生的浮點處理模組輸入位元集合來執行該至少一浮點處理計算,該浮點計算模組自該浮點處理模組輸入位元集合之處理,產生一以一浮點格式配置之第二位元集合;用於自該以一浮點格式配置之第二位元集合產生一固 定點處理模組輸入位元集合之構件;及一固定點處理模組,其用於使用該產生之固定點處理模組輸入位元集合,執行至少一固定點處理計算。
  19. 如請求項18之用於處理一組二進位值之系統,其中該儲存值之該部分包括對應於該儲存值之一整數部分之至少兩個位元及對應於該儲存值之一分數部分的至少三個位元,該部分包括至少該兩個及三個位元。
  20. 如請求項18之用於處理一組二進位值之系統,其中該用於產生一浮點處理模組輸入位元集合之構件包括一位元反轉器。
  21. 如請求項20之用於處理一組二進位值之系統,其中該用於產生一固定點處理模組輸入位元集合之構件包括一位元反轉器。
  22. 如請求項18之用於處理一組二進位值之系統,其中該用於產生一浮點處理模組輸入位元集合之構件包括用於自一第一儲存裝置讀取該儲存值之構件。
  23. 如請求項18之用於處理一組二進位值之系統,其中自一相應儲存位元值產生之每一浮點處理模組輸入位元值的值相同於該產生之位元值所對應之儲存位元值的值;及其中自該以一浮點格式配置之第二位元集合產生一固定點處理模組輸入位元集合包括:自記憶體讀取該以一浮點格式配置之第二位元集合的至少一部分,該第二位元集合之該部分包括多個位元,該多個位元中之每一者判定該等固定點處理模組輸入位元之一相應單一者的 值,該等固定點處理模組輸入位元之每一相應單一者的值相同於其在該第二位元集合中所對應之位元的值。
  24. 一種使用至少一固定點處理模組處理一組二進位值之方法,該方法包含:自一以一浮點格式表示之儲存值產生一固定點處理模組輸入位元集合,該儲存值之至少一部分之每一個別位元判定在該固定點處理模組輸入位元集合中之一相應個別位元的一位元值;操作該固定點處理模組,以使用作為至少一固定點計算之一輸入的該產生之固定點處理模組輸入位元集合來執行該至少一固定點處理計算,該固定點計算自該固定點處理模組輸入位元集合之處理,產生一以一固定點分數格式配置之第二位元集合;自該以一固定點分數格式配置之第二位元集合,產生一浮點處理模組輸入位元集合;及操作該浮點處理模組,以使用該產生之浮點處理模組輸入位元集合,執行至少一浮點處理計算。
  25. 如請求項24之使用至少一固定點處理模組處理一組二進位值之方法,其中該產生一固定點處理模組輸入位元集合之步驟包括:自一第一儲存裝置讀取該儲存值。
  26. 如請求項25之使用至少一固定點處理模組處理一組二進位值之方法,其中自一相應儲存位元值產生之每一固定點處理模組輸入位元值的值相同於該產生之位元值所對應之儲存位元值的值;及 其中自該以一固定點格式配置之第二位元集合產生一浮點處理模組輸入位元集合包括:自記憶體讀取該以一固定點格式配置之第二位元集合的至少一部分,該第二位元集合之該部分包括多個位元,該多個位元中之每一者判定該等浮點處理模組輸入位元之一相應單一者的值,該等浮點處理模組輸入位元之每一相應單一者的值相同於其在該第二位元集合中所對應之位元的值。
  27. 如請求項25之使用至少一固定點處理模組處理一組二進位值之方法,其中該產生一浮點處理模組輸入位元集合之步驟進一步包括:於該產生之浮點處理模組輸入位元集合中包括具有一預定常數值之至少一填充位元值,該至少一填充位元值係除在自該讀取儲存值之相應位元值判定之輸入位元值之外的值。
  28. 如請求項25之使用至少一固定點處理模組處理一組二進位值之方法,其中該產生一固定點處理模組輸入位元集合之步驟進一步包括:對自記憶體讀取之至少一些位元執行一按位元反轉運算,以判定在該產生之固定點處理模組輸入位元集合中之相應個別位元的值。
  29. 如請求項28之使用至少一固定點處理模組處理一組二進位值之方法,其中該自該以一固定點格式配置之第二位元集合產生一浮點處理模組輸入位元集合之步驟包括:對包括於該第二位元集合中之至少複數個位元執行一按 位元反轉運算,以產生相應複數個浮點處理模組輸入位元。
  30. 一種用於使用至少一固定點處理模組處理一組二進位值之系統,該系統包含:用於自一以一浮點格式表示之儲存值產生一固定點處理模組輸入位元集合之構件,該儲存值之至少一部分之每一個別位元判定在該固定點處理模組輸入位元集合中之一相應個別位元的一位元值;一固定點處理模組,其用於使用作為至少一固定點計算之一輸入的該產生之固定點處理模組輸入位元集合來執行至少一固定點處理計算,該固定點計算自該固定點處理模組輸入位元集合之處理,產生一以一固定點分數格式配置之第二位元集合;用於自該以一固定點分數格式配置之第二位元集合產生一浮點處理模組輸入位元集合之構件;及一浮點處理模組,其使用該產生之浮點處理模組輸入位元集合執行至少一浮點處理計算。
  31. 如請求項30之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於產生一固定點處理模組輸入位元集合之構件包括:用於自一第一儲存裝置讀取該儲存值的電路。
  32. 如請求項31之用於使用至少一固定點處理模組處理一組二進位值之系統,其中自一相應儲存位元值產生之每一固定點處理模組輸入位元值的值相同於該產生之位元值 所對應之儲存位元值的值;及其中該自該以一固定點格式配置之第二位元集合產生一浮點處理模組輸入位元集合之構件包括:用於自記憶體讀取該以一固定點格式配置之第二位元集合之至少一部分的構件,該第二位元集合之該部分包括多個位元,該多個位元中之每一者判定該等浮點處理模組輸入位元之一相應單一者的值,該等浮點處理模組輸入位元之每一相應單一者的值相同於其在該第二位元集合中所對應之位元的值。
  33. 如請求項30之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於產生一浮點處理模組輸入位元集合之構件進一步包括:一填充電路,其用於於該產生之浮點處理模組輸入位元集合中包括具有一預定常數值之至少一填充位元值,該至少一填充位元值係除在自該讀取儲存值之相應位元值判定之輸入位元值之外的值。
  34. 如請求項30之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於產生一固定點處理模組輸入位元集合之構件進一步包括:一按位元反轉器模組,其用於對自記憶體讀取之至少一些位元執行一按位元反轉運算,以判定在該產生的固定點處理模組輸入位元集合中之相應個別位元的值。
  35. 如請求項30之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於自一以一浮點格式表示之 儲存值產生一固定點處理模組輸入位元集合之構件執行一對數計算運算之一近似。
  36. 如請求項30之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於自該以一固定點分數格式配置之第二位元集合產生一浮點處理模組輸入位元集合之構件執行一exp計算運算之一近似。
  37. 如請求項34之用於使用至少一固定點處理模組處理一組二進位值之系統,其中該用於自一以一浮點格式表示之儲存值產生一固定點處理模組輸入位元集合之構件及該用於自該以一固定點分數格式配置之第二位元集合產生一浮點處理模組輸入位元集合之構件係一LDPC解碼器之部件。
TW095109239A 2005-03-17 2006-03-17 用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似 TWI383595B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/082,405 US7475103B2 (en) 2005-03-17 2005-03-17 Efficient check node message transform approximation for LDPC decoder

Publications (2)

Publication Number Publication Date
TW200705823A TW200705823A (en) 2007-02-01
TWI383595B true TWI383595B (zh) 2013-01-21

Family

ID=37024446

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095109239A TWI383595B (zh) 2005-03-17 2006-03-17 用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似

Country Status (3)

Country Link
US (2) US7475103B2 (zh)
TW (1) TWI383595B (zh)
WO (1) WO2006102141A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10431232B2 (en) 2013-01-29 2019-10-01 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for synthesizing an audio signal, decoder, encoder, system and computer program

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475103B2 (en) * 2005-03-17 2009-01-06 Qualcomm Incorporated Efficient check node message transform approximation for LDPC decoder
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US7895500B2 (en) * 2006-07-28 2011-02-22 Via Telecom Co., Ltd. Systems and methods for reduced complexity LDPC decoding
US7900126B2 (en) * 2006-09-28 2011-03-01 Via Telecom, Inc. Systems and methods for reduced complexity LDPC decoding
US8255758B2 (en) * 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
JP4572937B2 (ja) * 2008-01-23 2010-11-04 ソニー株式会社 復号装置および方法、プログラム、並びに記録媒体
US7913067B2 (en) * 2008-02-20 2011-03-22 International Business Machines Corporation Method and system for overlapping execution of instructions through non-uniform execution pipelines in an in-order processor
US8327242B1 (en) 2008-04-10 2012-12-04 Apple Inc. High-performance ECC decoder
US8429498B1 (en) 2009-03-25 2013-04-23 Apple Inc. Dual ECC decoder
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US8601352B1 (en) 2009-07-30 2013-12-03 Apple Inc. Efficient LDPC codes
US8819515B2 (en) * 2011-12-30 2014-08-26 Lsi Corporation Mixed domain FFT-based non-binary LDPC decoder
US9146743B2 (en) 2012-07-11 2015-09-29 International Business Machines Corporation Generalized bit manipulation instructions for a computer processor
US8743493B1 (en) * 2013-01-16 2014-06-03 Lsi Corporation Fixed-point processing using quantization levels based on floating-point processing
US10084481B2 (en) 2014-12-18 2018-09-25 Apple Inc. GLDPC soft decoding with hard decision inputs
KR102504550B1 (ko) 2015-12-28 2023-02-28 삼성전자주식회사 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
CN112054741B (zh) * 2020-08-06 2022-06-03 深圳市杉川机器人有限公司 电机控制方法、装置、终端设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW405093B (en) * 1996-10-16 2000-09-11 Hitachi Ltd Data processor and data processing system
TW412690B (en) * 1998-04-09 2000-11-21 Lockheed Corp Methods and apparatus for performing fast floating point operations
TW440814B (en) * 1998-08-24 2001-06-16 Conexant Systems Inc Low complexity random codebook structure
TW466843B (en) * 1999-06-17 2001-12-01 Sony Corp Decoding method and apparatus and program furnishing medium
US20030005006A1 (en) * 2001-03-22 2003-01-02 Manjirnath Chatterjee Fast system and method for producing a logarithmic signal approximation with variable precision
US20030014453A1 (en) * 2001-07-16 2003-01-16 Raghu Challa Logarithmic lookup tables
US20030101206A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for estimating a base-2 logarithm of a number
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
TW200500878A (en) * 2003-06-30 2005-01-01 Intel Corp A method, apparatus, and instruction for performing a sign operation that multiplies

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3144868C1 (de) * 1981-11-11 1983-06-09 Lucas Industries Ltd., Birmingham, West Midlands Hydraulische Betaetigungsvorrichtung fuer eine Bremse
US4583180A (en) 1983-01-28 1986-04-15 National Semiconductor Corporation Floating point/logarithmic conversion system
US5365465A (en) 1991-12-26 1994-11-15 Texas Instruments Incorporated Floating point to logarithm converter
US6144977A (en) * 1995-07-10 2000-11-07 Motorola, Inc. Circuit and method of converting a floating point number to a programmable fixed point number
US5798957A (en) * 1995-12-28 1998-08-25 Motorola Inc. LNS-based computer processor and method of use thereof
US6671796B1 (en) * 2000-02-25 2003-12-30 Sun Microsystems, Inc. Converting an arbitrary fixed point value to a floating point value
US6938196B2 (en) 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US6801919B2 (en) * 2001-07-27 2004-10-05 Hewlett-Packard Development Company, L.P. Object oriented database interface encapsulation that allows for chronologically overlapping transactions in a multi-threaded environment
US7475103B2 (en) 2005-03-17 2009-01-06 Qualcomm Incorporated Efficient check node message transform approximation for LDPC decoder
US7644116B2 (en) * 2006-05-31 2010-01-05 Via Telecom Co., Ltd. Digital implementation of fractional exponentiation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW405093B (en) * 1996-10-16 2000-09-11 Hitachi Ltd Data processor and data processing system
TW412690B (en) * 1998-04-09 2000-11-21 Lockheed Corp Methods and apparatus for performing fast floating point operations
TW440814B (en) * 1998-08-24 2001-06-16 Conexant Systems Inc Low complexity random codebook structure
TW466843B (en) * 1999-06-17 2001-12-01 Sony Corp Decoding method and apparatus and program furnishing medium
US20030005006A1 (en) * 2001-03-22 2003-01-02 Manjirnath Chatterjee Fast system and method for producing a logarithmic signal approximation with variable precision
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US20030014453A1 (en) * 2001-07-16 2003-01-16 Raghu Challa Logarithmic lookup tables
US20030101206A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for estimating a base-2 logarithm of a number
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
TW200500878A (en) * 2003-06-30 2005-01-01 Intel Corp A method, apparatus, and instruction for performing a sign operation that multiplies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10431232B2 (en) 2013-01-29 2019-10-01 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for synthesizing an audio signal, decoder, encoder, system and computer program
US11373664B2 (en) 2013-01-29 2022-06-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for synthesizing an audio signal, decoder, encoder, system and computer program

Also Published As

Publication number Publication date
US20090177869A1 (en) 2009-07-09
WO2006102141A2 (en) 2006-09-28
WO2006102141A3 (en) 2007-01-18
TW200705823A (en) 2007-02-01
US8495119B2 (en) 2013-07-23
US7475103B2 (en) 2009-01-06
US20060236195A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
TWI383595B (zh) 用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似
KR101616478B1 (ko) 프로그램가능한 프로세서 상에서의 임의의 갈루아 필드 산술연산의 구현
Zhang et al. Reduced-latency SC polar decoder architectures
US4286256A (en) Method and means for arithmetic coding utilizing a reduced number of operations
CN105468331B (zh) 独立的浮点转换单元
US8489663B2 (en) Decimal floating-point adder with leading zero anticipation
CN110771047B (zh) 具有f功能和g功能的llr域计算的极性解码器
KR20040049864A (ko) 패리티 검사 디코더에 사용하기 위한 노드 처리기
KR100756137B1 (ko) 제산 및 제곱근 연산 유닛
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
Cho et al. Efficient software-based encoding and decoding of BCH codes
JP2585649B2 (ja) 除算回路
CN111813375A (zh) 求模运算处理方法及相关产品
Shrestha et al. High-speed and hardware-efficient successive cancellation polar-decoder
US20070055723A1 (en) Method and system for performing quad precision floating-point operations in microprocessors
US10310809B2 (en) Apparatus and method for supporting a conversion instruction
CN108809323A (zh) 循环冗余校验码的生成方法和装置
US6259388B1 (en) Multiplication-free arithmetic coding
US7197526B1 (en) Method and apparatus for calculating the remainder of a modulo division
CN115270155A (zh) 一种获取大数拓展最大公约数的方法及硬件架构
WO2020172369A1 (en) Device and method for calculating elementary functions using successive cumulative rotation circuit
JP2917577B2 (ja) 演算装置
CN111752532B (zh) 一种高精度实现32位整数除法的方法、系统及装置
Ruffaldi et al. Decoding-Free Two-Input Arithmetic for Low-Precision Real Numbers
KR100907547B1 (ko) 리드-솔로몬 복호기의 에스-디씨엠이 알고리즘 연산방법 및그 연산회로

Legal Events

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