本發(fā)明涉及低密度奇偶校驗(yàn)(low-densityparitycheck,ldpc)解碼,尤其是涉及一種用于節(jié)省電力的低密度奇偶校驗(yàn)譯碼器和相關(guān)的譯碼方法。
背景技術(shù):
低密度奇偶校驗(yàn)譯碼器使用具有奇偶位(paritybit)的線性錯誤校正碼來進(jìn)行譯碼,其中奇偶位會提供用于驗(yàn)證接收到的碼字(codeword)的奇偶方程式給譯碼器。舉例來說,低密度奇偶校驗(yàn)可為一具有固定長度的二進(jìn)制代碼,其中所有的符元(symbol)相加會等于零。
在編碼過程中,所有的數(shù)據(jù)位會被重復(fù)執(zhí)行并且被傳送至對應(yīng)的編碼器,其中每個編碼器會產(chǎn)生一奇偶符元(paritysymbol)。碼字是由k個信息位(informationdigit)以及r個校驗(yàn)位(checkdigit)所組成。如果碼字總共有n位,則k=n-r。上述碼字可用一奇偶校驗(yàn)矩陣來表示,其中所述奇偶校驗(yàn)矩陣具有r列(表示方程式的數(shù)量)以及n行(表示位數(shù)),如圖1所示。這些碼的所以被稱為「低密度」是因?yàn)橄噍^于奇偶校驗(yàn)矩陣中位0的數(shù)量而言,位1的數(shù)量相對的少。在解碼過程中,每次的奇偶校驗(yàn)都可視為一奇偶校驗(yàn)碼,并隨后與其他奇偶校驗(yàn)碼一起進(jìn)行交互校驗(yàn)(cross-check),其中譯碼會在校驗(yàn)節(jié)點(diǎn)(checknode)進(jìn)行,而交互校驗(yàn)會在變量節(jié)點(diǎn)(variablenode)進(jìn)行。
ldpc譯碼器支持三種模式:硬判定硬解碼(harddecisionharddecoding)、軟判定硬解碼(softdecisionharddecoding),以及軟判定軟解碼(softdecisionharddecoding)。圖1是奇偶校驗(yàn)矩陣h(圖1的上半部份)以及tannergraph(圖1的下半部份)的示意圖,其中tannergraph是另一種表示碼字的方式,并且可用于解釋當(dāng)使用一位翻轉(zhuǎn)(bitflipping)算法時,ldpc譯碼器的一些關(guān)于硬判定軟解碼的操作。
在tunnergraph中,方形(c1~c4)所表示的校驗(yàn)節(jié)點(diǎn)(checknode)代表奇偶位(paritybit)的數(shù)量,且圓形(v1~v7)所表示的變量節(jié)點(diǎn)(variablenode)是一碼字中位的數(shù)量。如果一特定方程式與碼符元(codesymbol)有關(guān),則對應(yīng)的校驗(yàn)節(jié)點(diǎn)與變量節(jié)點(diǎn)之間會以聯(lián)機(jī)來表示。被估測的消息會沿著這些聯(lián)機(jī)來傳遞,并且于節(jié)點(diǎn)上以不同的方式組合。一開始時,變量節(jié)點(diǎn)將發(fā)送一估測至所有聯(lián)機(jī)上的校驗(yàn)節(jié)點(diǎn),其中這些聯(lián)機(jī)包括被認(rèn)為是正確的位。接著,每個校驗(yàn)節(jié)點(diǎn)會依據(jù)對所有其他的連接的估測(connectedestimate)來針對每一變數(shù)節(jié)點(diǎn)進(jìn)行新的估測,并且將新的估測傳回至變量節(jié)點(diǎn)。新的估測是基于:奇偶校驗(yàn)方程式迫使所有的變量節(jié)點(diǎn)連接至一特定校驗(yàn)節(jié)點(diǎn),以使總和為零。
這些變量節(jié)點(diǎn)會接收新的信息以及使用一多數(shù)規(guī)則(majorityrule)(也就是硬判定),來判斷所傳送的原始位的值是否正確,若不正確,所述原始位會被翻轉(zhuǎn)(flipped)。所述位接著會被傳回至所述校驗(yàn)節(jié)點(diǎn),且上述步驟會被迭代地執(zhí)行一預(yù)定次數(shù),直到符合這些校驗(yàn)節(jié)點(diǎn)的奇偶校驗(yàn)方程式。若有符合這些奇偶校驗(yàn)方程式(也就是校驗(yàn)節(jié)點(diǎn)所計(jì)算的值符合接收自變量節(jié)點(diǎn)的值),則可啟用提前終止(earlytermination),這會使得系統(tǒng)在最大迭代次數(shù)達(dá)到之前就結(jié)束譯碼程序。
所述奇偶校驗(yàn)限制是由進(jìn)行一癥狀校驗(yàn)(syndromecheck)來實(shí)施。一個有效的碼字將會符合方程式:h.ct=s=0,其中h是奇偶矩陣、c是硬判定碼字,且s是癥狀。當(dāng)s等于零時,表示譯碼程序已完成,且不需要更進(jìn)一步的信息。一般來說,硬判定以及癥狀校驗(yàn)會在迭代期間執(zhí)行,其中一非零(non-zero)癥狀表示有奇性(oddparity)存在,并且需要再執(zhí)行新的譯碼迭代。
如上所述,通常會對每一次迭代進(jìn)行癥狀校驗(yàn)以進(jìn)行提前終止(earlytermination)。由于在一開始的迭代中,一碼字不太可能會通過奇偶校驗(yàn),因此若對于每一次迭代都進(jìn)行癥狀校驗(yàn)會浪費(fèi)電源。反的,若能降低癥狀校驗(yàn)的頻率,則能夠達(dá)到省電的效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一目的在于公開一種用于估測進(jìn)行癥狀校驗(yàn)的最佳時間點(diǎn)的系統(tǒng)以及方法,并且利用所述系統(tǒng)以及方法來在一低密度奇偶校驗(yàn)(low-densityparitycheck,ldpc)譯碼器中降低進(jìn)行癥狀校驗(yàn)的頻率。
本發(fā)明的一實(shí)施例公開了一種用于對低密度奇偶校驗(yàn)數(shù)據(jù)進(jìn)行譯碼以譯碼一碼字(codeword)的方法,所述方法包括以下步驟:接收多個初始估計(jì)(initialestimate),所述初始估計(jì)代表來自多個變量節(jié)點(diǎn)(variablenode)的碼字;發(fā)送所述初始估計(jì)至對應(yīng)的多個校驗(yàn)節(jié)點(diǎn);使用所述初始估計(jì)中所有的初始估計(jì)來計(jì)算多個后驗(yàn)機(jī)率(aposterioriprobability,app)值以及一外部信息(extrinsicinformation),并且將所述后驗(yàn)機(jī)率值以及所述外部信息發(fā)送至所述變量節(jié)點(diǎn);監(jiān)測接收于所述校驗(yàn)節(jié)點(diǎn)的所述外部信息;當(dāng)所述外部信息開始收斂到同一正負(fù)號(sign)時,針對所述初始估計(jì)啟用一癥狀校驗(yàn)(syndromecheck);以及當(dāng)所述癥狀校驗(yàn)等于零時,提前終止(earlytermination)譯碼程序。
本發(fā)明的一實(shí)施例公開了一種用于解碼一碼字的低密度奇偶校驗(yàn)譯碼器,包括一通道存儲器、一減法器、一處理器、一加法器、低密度奇偶偵測電路、一提前終止電路以及一置換器。所述通道存儲器是用于儲存多個初始估測;所述減法器是耦接于所述通道存儲器,并且用于產(chǎn)生一結(jié)果值以更新所述初始估測;所述處理器是耦接于所述減法器,并且用于產(chǎn)生多個后驗(yàn)機(jī)率(aposterioriprobability,app)值以及一外部信息(extrinsicinformation);所述一加法器是耦接于所述處理器以及所述通道存儲器,并且用于對所述后驗(yàn)機(jī)率值以及所述初始估測進(jìn)行累加,以產(chǎn)生多個更新后初始估測;所述低密度奇偶偵測電路是耦接于所述加法器,并且用于偵測所述更新后初始估測;所述提前終止電路是耦接于所述低密度奇偶偵測電路,并且用于對所述更新后初始估測進(jìn)行癥狀校驗(yàn)(syndromecheck),以及于所述更新后初始估測通過癥狀校驗(yàn)時結(jié)束譯碼程序;所述置換器是耦接于所述低密度偵測電路以及所述提前終止電路之間,其中當(dāng)所述低密度偵測電路判斷所述外部信息收斂至同一正負(fù)號時,所述置換器發(fā)送所述更新后初始估測至所述提前終止電路。
附圖說明
圖1是根據(jù)先前技術(shù)的用于進(jìn)行低密度奇偶校驗(yàn)譯碼的一奇偶校驗(yàn)矩陣以及tannergraph的示意圖。
圖2是根據(jù)本發(fā)明一實(shí)施例的低密度奇偶校驗(yàn)譯碼器的示意圖。
其中,附圖標(biāo)記說明如下:
200低密度奇偶校驗(yàn)譯碼器
210比較電路
220、240區(qū)塊
230排序存儲器
250更新存儲器
260低密度奇偶偵測模塊
270置換器
280提前終止校驗(yàn)電路
290處理區(qū)塊
具體實(shí)施方式
本發(fā)明的目的在于決定進(jìn)行癥狀校驗(yàn)的最佳時間以節(jié)省電源,且目標(biāo)是只有在結(jié)果(也就是上述的癥狀)可能等于零的時候才進(jìn)行癥狀校驗(yàn),而非如同先前技術(shù)在每一次迭代都進(jìn)行癥狀校驗(yàn)。
以下列舉兩個方程式來說明本發(fā)明的方法,如以上關(guān)于先前技術(shù)的段落中所述,當(dāng)癥狀(syndrome)等于零時,表示符合奇偶校驗(yàn)且譯碼程序可被終止。上述癥狀是通過將所述變數(shù)節(jié)點(diǎn)(variablenode)值乘上奇偶校驗(yàn)矩陣而產(chǎn)生,如出方程式1所示:
h.ct=s(1)
當(dāng)s等于零時,這表示可終止譯碼程序以及硬判定;否則,繼續(xù)執(zhí)行下一次的迭代。
此外,本發(fā)明使用和-積(sum-product)譯碼算法來判斷何時可啟用癥狀校驗(yàn),而不使用位翻轉(zhuǎn)(bitflipping)算法。在本發(fā)明所采用的和-積算法中,每一用于表示判定的信號是機(jī)率值。在位翻轉(zhuǎn)算法中,雖然進(jìn)行了硬判定,然而實(shí)際上接收到的是真實(shí)值(realvalue),其中位0、1分別表示正判定(positivedecision)、負(fù)判定(negativedecision),且數(shù)值的大小表示判定的可信度(levelofconfidence),此即為所謂的「軟信息」(softinformation)。和-積算法可通過針對每一位計(jì)算一后驗(yàn)機(jī)率(aposterioriprobability,app)值appj來使用此軟信息。后驗(yàn)機(jī)率值是在所有的奇偶校驗(yàn)都符合的情況下時,某一位會等于1的機(jī)率,而所述后驗(yàn)機(jī)率值appj的近似值(approximation)將會基于一系列的迭代來運(yùn)算。
上述迭代會遵循位翻轉(zhuǎn)算法,除了每次所計(jì)算的是:在所述位是一特定值的情況下,一奇偶校驗(yàn)方程式會被符合的機(jī)率。在所述校驗(yàn)節(jié)點(diǎn)每一次回傳一機(jī)率值時,同時也會針對接著要被所述變量節(jié)點(diǎn)使用的位來回傳獨(dú)立于所述機(jī)率值的外部信息(extrinsicinformation),以作為下一次迭代的先驗(yàn)信息(aprioriinformation)。
變量節(jié)點(diǎn)值、校驗(yàn)節(jié)點(diǎn)值以及用于和-積解碼的后驗(yàn)機(jī)率值之間的關(guān)系如方程式2所示:
appj–rij=qij(2)
其中appj是校驗(yàn)節(jié)點(diǎn)所傳送的后驗(yàn)機(jī)率值,qij是來自變量節(jié)點(diǎn)的響應(yīng)值,以及rij是來自所述校驗(yàn)節(jié)點(diǎn)的外部信息。下標(biāo)j表示某一奇偶校驗(yàn)方程式,以及下標(biāo)i表示所述程序代碼的某一位。
在上述和-積算法中,當(dāng)一碼字被建立時,appj會逐漸地收斂。從方程式(2)可看出當(dāng)appj逐漸地在一碼字中收斂,rij也會收斂但會小于appj。此外,當(dāng)qij收斂的時候,qij的正負(fù)會大致相同(approximatelyequal)于appj的正負(fù)。因此,ldpc系統(tǒng)可通過使用一偵測電路來于多個校驗(yàn)節(jié)點(diǎn)值收斂到同一正負(fù)號(sign)的時候進(jìn)行判斷,以得知癥狀校驗(yàn)應(yīng)該何時被啟用。
接著,當(dāng)癥狀校驗(yàn)被啟用時,qij值會代入方程式(1),以判斷所述奇偶校驗(yàn)條件是否符合。一旦所述碼字符合所述奇偶校驗(yàn),可啟用提前終止(earlytermination)來直接結(jié)束譯碼程序,而不需要等到迭代的最大數(shù)量已達(dá)到時才結(jié)束譯碼程序。
本發(fā)明實(shí)施例通過關(guān)閉癥狀校驗(yàn),直到判斷出來自校驗(yàn)節(jié)點(diǎn)的外部信息(或稱軟信息(softinformation))有收斂至同一正負(fù)號才執(zhí)行癥狀校驗(yàn),可避免對每次迭代都進(jìn)行癥狀校驗(yàn)而衍生的耗電。也就是說,當(dāng)判斷出一碼字不會符合奇偶條件時,可避免多余地執(zhí)行癥狀校驗(yàn)。此外,本發(fā)明在實(shí)作上使用一簡單的偵測電路即可偵測到外部信息的正負(fù),而不需要在ldpc譯碼器中額外套用復(fù)雜的電路架構(gòu)。
參見圖2,圖2是根據(jù)本發(fā)明一實(shí)施例的低密度奇偶校驗(yàn)譯碼器200的示意圖。如圖2所示,排序存儲器(ordermemory)230會接收到對應(yīng)于所接收的符元(symbol)的多個對數(shù)可能性比(loglikelihoodratio,llr),并且將其以向量的形式儲存,而成為多個通道值。所述通道值以及對應(yīng)的矩陣會被傳遞至一減法器(subtractor)(如圖2中處理區(qū)塊290內(nèi)“-”所示),且結(jié)果值d會被傳送至比較電路210以更新所述通道值,以及傳送至更新存儲器250。之后,更新存儲器250再傳送一結(jié)果至處理區(qū)塊290,其中輸出處理區(qū)塊290會輸出多個調(diào)整后的矩陣(modifiedmetrics)。經(jīng)過調(diào)整后的通道值以及矩陣會于加法器(如圖2中處理區(qū)塊290內(nèi)“+”所示)累加,以產(chǎn)生一新的app值。在先前技術(shù)中,此新的app值會直接被傳送至置換器(permutator)(例如圖2所示的置換器270),而置換器270就會通過提前終止校驗(yàn)電路280來啟動一癥狀校驗(yàn)操作。然而在本發(fā)明中,新的app值會先被傳送至一低密度奇偶(lowparity)偵測模塊260,而不會直接傳送至置換器270。低密度奇偶偵測模塊260是用于偵測接收來自加法器的rij值,以判斷這些rij值何時會收斂至同一正負(fù)號,并據(jù)此判斷qij值是否穩(wěn)定。若符合上述條件(也就是rij值已收斂至同一正負(fù)號且qij值已經(jīng)穩(wěn)定),置換器270會傳送數(shù)據(jù)至提前終止校驗(yàn)電路280。若不符合上述條件(也就是rij值尚未收斂至同一正負(fù)號及/或qij值尚未穩(wěn)定),置換器270會直接進(jìn)行新的迭代,而不啟用癥狀校驗(yàn)。比較電路210以及區(qū)塊220、240(分別以wseq、rseq示意)的操作為本領(lǐng)域通常知識者可輕易了解,為簡潔的故,其細(xì)節(jié)不再贅述。
綜上所述,本發(fā)明利用和-積算法來對低密度奇偶校驗(yàn)碼進(jìn)行硬判定軟譯碼(harddecisionsoftdecoding),因而達(dá)到省電的效果。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。