TWI685218B - 解碼方法與相關解碼裝置 - Google Patents
解碼方法與相關解碼裝置 Download PDFInfo
- Publication number
- TWI685218B TWI685218B TW107123803A TW107123803A TWI685218B TW I685218 B TWI685218 B TW I685218B TW 107123803 A TW107123803 A TW 107123803A TW 107123803 A TW107123803 A TW 107123803A TW I685218 B TWI685218 B TW I685218B
- Authority
- TW
- Taiwan
- Prior art keywords
- state
- bit
- flip
- threshold
- sub
- Prior art date
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本發明之一實施例提供一種用以解碼一接收訊息的解碼方法,包含:根據該接收訊息中之每一位元的一位元值決定該位元的一位元狀態;根據至少一權重與一翻轉臨界值之當前數值來選擇性地調整每一位元之該位元狀態,其中該位元狀態的調整具有複數種調整幅度;根據該位元狀態選擇性地對該位元進行一位元翻轉;以及根據一預定時間內該位元翻轉發生的次數,調整該翻轉臨界值之當前數值,其中當該位元翻轉發生的次數超過一上限時,提高該翻轉臨界值之當前數值。
Description
本發明係關於錯誤校正,尤指一種用以執行錯誤校正的解碼方法與相關解碼裝置。
如第1圖所示的資訊傳輸系統中,為了實現錯誤校正,傳送端1的原始訊息m會經過編碼器11的編碼處理,在原始訊息m後加上若干位元數的奇偶校驗碼p,從而得到碼字(codeword)c。經過通道30的傳輸後,接收端2可接收到一接收訊息r,接收端2中的解碼器21會基於編碼器11所進行的編碼處理,來判斷接收訊息r中是否存在通道雜訊造成的錯誤,並且在發現錯誤後,執行相對應的演算法進行錯誤校正,從而還原出碼字c,並從碼字c中得到原始訊息m。
儘管現有技術中已經存在了不少效果著越的解碼演算法與相關電路,但不論是在演算法或者是電路架構上,仍有改善的空間。
本發明之一實施例提供一種用以解碼一接收訊息的解碼方法,包含:根據該接收訊息中之每一位元的一位元值決定該位元的一位元狀態;根據至少一權重與一翻轉臨界值之當前數值來選擇性地調整每一位元之該位元狀態,其中該位元狀態的調整具有複數種調整幅度;根據該位元狀態選擇性地對該位元進行一位元翻轉;以及根據一預定時間內該位元翻轉發生的次數,調整
該翻轉臨界值之當前數值,其中當該位元翻轉發生的次數超過一上限時,提高該翻轉臨界值之當前數值。
本發明之一實施例提供一種用以解碼一接收訊息的解碼裝置。該解碼裝置包含:一狀態決定單元、一翻轉計算單元、一翻轉處理單元與一翻轉臨界值調整單元。該狀態決定單元用以根據該接收訊息中之每一位元的一位元值決定該位元的一位元狀態。該翻轉計算單元用以根據至少一權重與一翻轉臨界值之當前數值來選擇性地調整每一位元之該位元狀態,其中該位元狀態的調整具有複數種調整幅度。該翻轉處理單元用以根據該位元狀態選擇性地對該位元進行一位元翻轉。該翻轉臨界值調整單元用以根據一預定時間內該位元翻轉發生的次數,調整該翻轉臨界值之當前數值,其中當該位元翻轉發生的次數超過一上限時,該翻轉臨界值調整單元提高該翻轉臨界值之當前數值。
1‧‧‧傳送端
2‧‧‧接收端
11‧‧‧編碼器
21‧‧‧解碼器
30‧‧‧通道
100、200‧‧‧解碼裝置
110、210‧‧‧徵狀計算單元
112、212‧‧‧運算單元
114、214、120、170、270‧‧‧儲存單元
116、216‧‧‧加法電路
130、230‧‧‧權重計算單元
140、240‧‧‧翻轉計算單元
150、250‧‧‧翻轉臨界值調整單元
160、260‧‧‧翻轉處理單元
180、280‧‧‧狀態決定單元
第1圖為一資料編解碼與傳輸架構的示意圖。
第2圖為接收訊息分段與檢驗矩陣分割的示意圖。
第3圖為本發明之一實施例的解碼裝置的架構圖。
第4圖為第3圖所示之解碼裝置的訊號時序圖。
第5圖為本發明之另一實施例的解碼裝置的架構圖。
第6圖為第5圖所示之解碼裝置的訊號時序圖。
第7A~7D圖為本發明之實施例的位元狀態與其變遷。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的
元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
本發明之解碼方法與解碼裝置可用於一訊息傳輸系統的接收端,以對該訊息傳輸系統的傳送端之編碼器所傳送出的碼字c進行解碼處理。首先,傳送端的原始訊息m會基於編碼器的編碼處理,在原始訊息m後加上若干位元數的奇偶校驗碼p,從而得到碼字c。例如,在低密度奇偶檢查碼(Low-density parity-check code,LDPC code)架構下,編碼器可根據一個產生矩陣(generation matrix)G進行的編碼處理,從而得到碼字c,亦即:m‧G=c
其中,產生矩陣G與一個相對應的校驗矩陣(parity check matrix)H有著以下的關係:G‧HT=0
並且,與校驗矩陣H與碼字c之間具有以下關係:c‧HT=0
假設碼字c經過通道傳送後,在接收端接所接收到接收訊息為r,則接收訊息r可表示成錯誤e與碼字c疊加的結果,其中錯誤e可能為通道雜訊所造成的干擾:r=c+e
若進一步將接收訊息r與校驗矩陣H的轉置矩陣進行內積,則可得到:r‧HT=(c+e)‧HT=c‧HT+e‧HT
由於c‧HT必為零,因此上述的運算的結果為e‧HT,亦稱之為徵狀(syndrome)。當接收訊息r中不包含錯誤,則徵狀為0。然而,若在接收到接收訊息r的初期,上述徵狀計算的結果不為零,也可透過反覆校正接收訊息r的部分位元,得到r’‧HT=0的結果,此時代表校正後的接收訊息r’與傳送端所傳送出的碼字c一致。
接收訊息r可以視為第2圖所示的n個接收訊息區塊r1~rn所組成。其中,每一個訊息區塊r1~rn可能包含有一個或多個位元,而校驗矩陣H也可以根據這樣的方式分割成n個相應的子矩陣H1~Hn。
第3圖繪示本發明之一實施例的解碼裝置100,解碼裝置100反覆地進行遞迴式的運算來解碼接收訊息r。在一個遞迴(iteration)中,徵狀計算單元110中的運算單元112會分別計算出每個接收訊息區塊r1~rn與其所相應的子矩陣H1~Hn的轉置矩陣H1 T~Hn T的內積,亦即,r1‧H1 T、r2‧H2 T、r3‧H3 T、.....以及rn‧Hn T。每當運算單元112計算出一組內積rk‧Hk T,就會被累計在徵狀計算單元110中的儲存單元114,並且透過加法器116,與下一組內積rk+1‧Hk+1 T,進行加總,並再次寫入儲存單元114。最後,當所有的部分接收息r1~rn與相應的轉置矩陣H1 T~Hn T的內積計算完畢後,可以得到徵狀S,這個運算過程可以表達如下:r1‧H1 T⊕r2‧H2 T⊕r3‧H3 T⊕...⊕rn‧Hn T=S
由徵狀計算單元110計算出的徵狀S,在一個遞迴結束後,會被寫入至另一組儲存單元120中。在下一個遞迴中,儲存單元120會維持所儲存的徵狀S不變,不受儲存單元114的影響。權重計算單元130會根據儲存單元120中所儲存的徵狀S,計算出多組權重向量。其中,權重計算單元130會利用徵狀S分別與子矩陣H1~Hn進行內積計算,從而得到權重向量W1=ΣS‧H1、W2=ΣS‧H2、....以及Wn=ΣS‧Hn。接著,翻轉計算單元140會根據權重向量W1、W2、....以及Wn,以及翻轉臨界值調整單元150所設定的翻轉臨界值THk,產生分別對於每一個接收訊息區塊r1~rn的位元翻轉向量v1~vn來進行錯誤校正。其中,權重向量W1、W2、....以及Wn與對應之接收訊息區塊r1~rn中的位元的錯誤機率正相關。
一開始,翻轉臨界值調整單元150會將翻轉臨界值THk設定為TH1(通常為所有可供設定之臨界值中的最大者,亦等校驗矩陣H的一行中,“1”的個數),接著,翻轉計算單元140會根據當前的翻轉臨界值TH1逐個檢查權重向量
W1、W2...Wn,確認是否權重向量W1、W2...Wn中有元素大於或等於當前的翻轉臨界值TH1,從而產生位元翻轉向量v1~vn。例如,當翻轉計算單元140檢查權重向量W2時,發現其中的一個或多個元素大於或等於翻轉臨界值TH1,那麼翻轉計算單元140會針對接收訊息區塊r2中產生一個位元翻轉向量v2,位元翻轉向量v2指出該接收訊息區塊r2中對應於該一個或多個元素的位元需要進行位元翻轉(代表該位元可能錯誤),如將某個位元的數值由“1”翻轉為“0”或者是由“0”翻轉為“1”。另一方面,若翻轉計算單元140沒有發現權重向量W1、W2...Wn中有元素大於或等於當前的翻轉臨界值TH1,則會產生數值為零的位元翻轉向量v1~vn。再者,翻轉處理單元160會根據位元翻轉向量v1~vn來更新儲存於儲存單元170中之接收訊息區塊r1~rn,從而得到處理後之接收訊息區塊r1’~rn’。
在一個遞迴中,翻轉計算單元140會針對每個權重向量W1、W2...Wn進行相同檢查,並且視檢查結果產生位元翻轉向量v1~vn,並且在所有權重向量W1、W2...Wn檢查完畢後,結束這個遞迴。在一個遞迴之中,若翻轉計算單元140並沒有檢查出權重向量W1、W2...Wn中的元素有任何一者大於或等於當前的翻轉臨界值TH1,則會令翻轉臨界值調整單元150將當前的臨界值調降翻轉臨界值為TH2。之後,下一個遞迴中,翻轉計算單元140會根據臨界值TH2對每個權重向量W1、W2...Wn進行檢查,並判斷是否對某個接收訊息區塊r1~rk進行位元翻轉,以產生位元翻轉向量v1~vn。
另一方面,一旦翻轉計算單元140針對了接收訊息區塊r1~rn中之一者產生會造成位元翻轉的非零位元翻轉向量,那麼,在這個遞迴結束後,翻轉處理單元160會將儲存單元170中接收訊息更新為處理後的接收訊息區塊r1’~rn’。並且,在下一個遞迴中,徵狀計算單元110會根據處理後的接收訊息區塊r1’~rn’重
新計算一次徵狀,得到徵狀S’,而權重計算單元130則再根據徵狀S’與校驗矩陣H(H1~Hn)進行權重計算,從而得到新的n組權重向量:W1’、W2’、....以及Wn’。在得到新的n組權重向量W1’、W2’、....以及Wn’之後,翻轉計算單元140再次根據翻轉臨界值TH1進行檢查。請注意,一旦翻轉計算單元140在某個遞迴中,針對了某個接收訊息區塊r1~rk進行了位元翻轉,那麼在下一個遞迴中,翻轉臨界值會被重置成所有翻轉臨界值中最大的一者(如TH1);只有在檢查的過程中沒有發現權重向量W1、W2...Wn中有元素大於或等於當前的翻轉臨界值,此時才會調降翻轉臨界值,(如由TH1調降成TH2)。解碼裝置100將反覆進行這樣的操作,直到計算出為0的徵狀,這就表示處理後的接收訊息中已不包含任何錯誤,並且與傳送端所傳送出的碼字c相同,此時針對接收訊息的錯誤校正流程結束。又或者,當遞迴次數達到一個預設上限,則代表接收訊息r中的錯誤無法校正,流程亦結束,接收訊息r被視為無效。
第4圖繪示了上述的校正流程中,前幾個遞迴的時序圖。在這個範例中,為簡化說明,接收訊息r只包含為三個接收訊息區塊r1、r2以及r3。首先可看到,在時間點T1時,徵狀計算單元110接收到包含有接收訊息區塊r1、r2以及r3的接收訊息r,並且在遞迴I中計算出徵狀S。在遞迴I之中,權重計算單元130基於徵狀S,依序計算出權重向量W1、W2、以及W3。同時,每當權重計算單元130計算出一組權重向量後,翻轉計算單元140便根據當前的臨界值TH1對權重向量W1、W2、W3進行檢查,並在檢查後視情況,判定是否對接收訊息區塊r1、r2以及r3進行特定位元的翻轉,從而得到處理後的接收訊息r’的接收訊息區塊r1、r2以及r3。在遞迴II之中,徵狀計算單元110再次利用校正後的接收訊息區塊r1、r2以及r3計算徵狀,以及得到新的徵狀S’。
從上述的時序圖可以看出,徵狀的更新與位元翻轉判斷之間有延遲,例如,儘管在遞迴I的初期就可以得到處理後的接收訊息區塊r1,但是必須等到進入遞迴II之後,針對接收訊息區塊r1的處理結果,才會影響徵狀,使得徵狀被更新成S’。另一個問題在於,不論一個遞迴中是否所有的接收訊息區塊r1、r2以及r3有被更新,徵狀計算單元110都需要讀取與利用儲存單元170中所有的接收訊息區塊r1、r2以及r3來計算徵狀,造成無謂的耗電。因此,為了解決這個問題,本發明的第二實施例提供了另一種架構。
第5圖繪示了改善徵狀更新延遲與耗電問題的解碼裝置200的架構圖。此實施例的徵狀計算單元210,權重計算單元230、翻轉計算單元240、翻轉處理單元260、儲存單元270的原理與操作大致上與權重計算單元130與翻轉計算單元140、翻轉處理單元160與儲存單元170相同,其特點在於,每當位元翻轉發生後,徵狀立刻被更新。請同時參考第5圖的架構圖與第6圖所示的時序圖。首先,在時間點T1後,徵狀計算單元210利用遞迴的方式,根據接收訊息區塊r1~r3(此處為n=3的範例)計算出徵狀S,接著,權重計算單元230據此計算出了權重向量W1,而翻轉計算單元240則根據權重向量W1判斷出訊息區塊r1需進行位元翻轉(假設此時符合位元翻轉的條件),產生對應接於收訊息區塊r1的位元翻轉向量v1,這時,徵狀計算單元210會立刻根據位元翻轉向量v1更新徵狀S,得到徵狀S’。基於徵狀S’,翻轉計算單元240計算出權重向量W2’,並且再次對判斷出訊息區塊r2需進行位元翻轉(假設此時亦符合位元翻轉的條件),得到對應於訊息區塊r2的位元翻轉向量v2,並令徵狀計算單元210再一次更新徵狀S’,從而得到徵狀S”。接著再針對訊息區塊r3產生位元翻轉向量v3。另一方面,儲存單元270在時間點T1之間儲存了接收訊息區塊r1~r3,之後,翻轉處理單元260根據位元翻轉向量v1~v3來更新儲存單元270中的接收訊息區塊r1~r3使其成為處理後的接收訊息
區塊r1'~r3'。
由於這個實施例不包含前述實施例的儲存單元120,因此每當一個接收訊息區塊經過位元翻轉處理後,徵狀的改變可以馬上反映在下一個接收訊息區塊的處理與更新上,因此,解碼效率可被提升。另一方面,在電路架構上,徵狀計算單元210不再需要依據所有的接收訊息區塊來計算與更新徵狀,而是只利用接受訊息區塊再處理後的變化(亦即,位元翻轉向量),改變徵狀計算單元210中儲存單元224的累加結果,從而更新徵狀,這樣可大幅降低在前一個實施例中在每個遞迴中反覆進行徵狀計算所造成的無謂耗電。另一方面,由於解碼效率的提升,也實質上提升了解碼裝置200的吞吐量(throughput)。
在此實施例中,由於徵狀是持續被更新的,所以已難以界定遞迴邊界,故無法以遞迴為基礎,調整翻轉臨界值。因此,翻轉臨界值調整單元250基於權重向量W1~Wn的檢查次數與在一定次數中是否已發生位元翻轉來調整翻轉臨界值。舉例來說,若接收訊息r被分割為n段接收訊息區塊r1~rn,那麼翻轉臨界值設定單元250會在n個階段(cycle)的檢查中,觀察是否翻轉計算單元240決定對某個接收訊息區塊進行位元翻轉(亦即,產生非零之位元翻轉向量),如果歷經了n個階段的檢查,都沒有發生位元翻轉,則會調降臨界值。另外,若在位元翻轉發生的頻率過高,翻轉臨界值調整單元250則會提高翻轉臨界值。
為了提升解碼或錯誤校正的可靠度,在本發明的一個實施例中,會給予每個位元至少四種不同的位元狀態。如同上述,每一個接收訊息區塊r1~rn包含有一個或多個位元。每個位元在接收後,會被為判定為一第一位元值(如:“1”)或一第二位元值(如:“0”)。接者,每一個位元的四種不同的位元狀態包含:
strong“1”、strong“0”、weak“1”與weak“0”。判定出的位元值“1”會使狀態判斷單元180/280讓該位元進入strong“1”的位元狀態,以及判定出的位元值“0”會使狀態判斷單元180/280讓該位元進入strong“0”的狀態,而狀態判斷單元180/280則將每個位元的初始位元狀態記錄在儲存單元170/270中,而且,儲存單元170/270也會持續記錄每個位元後續的位元狀態變化。
在此例中,翻轉計算單元140/240所產生的非零位元翻轉向量會讓位元值由一個狀態轉換成另一個狀態,但不一定會直接造成位元值的翻轉。當徵狀計算單元110/210計算出徵狀S,以及權重計算單元110/230根據徵狀S與校驗矩陣H(H1~Hn)計算出權重向量W1~Wn後,翻轉計算單元140/240將根據權重向量W1~Wn以及當前的翻轉臨界值THk來產生位元翻轉向量v1~vn,翻轉處理單元160/260根據非零之位元翻轉向量v1~vn,更新儲存單元170/270中一個或多個位元的狀態。根據權重向量W1~Wn以及翻轉臨界值THk,翻轉計算單元140/240會產生足以造成不同調整幅度的位元翻轉向量。其中,strong“1”可視為可能性較大的位元值“1”的狀態、strong“0”可視為可能性較大的位元值“0”的狀態、weak“1”可視為可能性較低的位元值“1”的狀態,以及weak“0”可視為可能性較低的位元值“0”的狀態。如第7A圖所示,四種位元狀態有著遠近關係,當轉換至相鄰的位元狀態時,可視為進行幅度較小的調整,而轉換至不相鄰的位元狀態時,可視為進行幅度較大的調整。
再者,如第7B圖所示,若權重向量Wk之一元素wk大於或等於當前翻轉臨界值THk,且臨界值THk不等於最大翻轉臨界值TH1時,則翻轉計算單元140/240會產生可造成對應於該元素之一位元的狀態具有一較小改變幅度的位元翻轉向量。舉例來說,若該位元的位元狀態為strong“0”,則這個位元翻轉向量
會讓這個位元調整為weak“0”,又或者是,當該位元的位元狀態為weak“0”時,則會被位元翻轉向量調整為weak“1”;另一方面,若該位元的位元狀態為strong“1”時,則上述的位元翻轉向量會讓這個位元調整為weak“1”,又或者是,該位元的位元狀態為weak“1”時,則被調整為weak“0”。
再者,如第7C圖所示,若權重向量Wk的一個元素wk小於或等於一個翻轉臨界值THlow下限(非零)時,則翻轉計算單元140/240會讓對應位元的位元狀態由weak“0”調整回strong“0”,又或者是由weak“1”調整回strong“1”。
另外,如第7D圖所示,若權重向量Wk之一元素wk等於當前翻轉臨界值THk,且當前翻轉臨界值THk等於最大臨界值TH1時,則翻轉計算單元140/240會產生可造成對位元的狀態具有一較大改變幅度的位元翻轉向量。舉例來說,若該位元的位元狀態為strong“0”時,則這個位元翻轉向量會讓這個位元的狀態調整為weak“1”或者是strong“1”,又或者是該位元的位元狀態為weak“0”時,將其調整為strong“1”。另一方面,若該位元的位元狀態為strong“1”時,則位元狀態將被調整為weak“0”或者是strong“0”,又或者是該位元的位元狀態為weak“1”時,將其調整為strong“0”。
上述的範例可由第7B~7D圖可看出,在不同條件的wk與THk之下,翻轉計算單元140/240所產生的位元翻轉向量對位元狀態造成的調整幅度也不同。當元素wk等於當前翻轉臨界值THk時,翻轉計算單元140/240會造成位元狀態的較大調整幅度,因為此時代表位元值錯誤的可能性較大,需要較大的狀態改變,從而造成位元值的實質翻轉,另一方面,當元素wk大於或等於當前翻轉臨界值THk,且當前翻轉臨界值THk不等於最大翻轉臨界值TH1時,則代表位元值錯誤
的可能性不明確,需要更多的遞迴運算來確認,因此讓位元狀態的改變幅度較小。最後,當元素wk小於或等於一個翻轉臨界值THlow下限時,則代表錯誤可校正機會不大,因此傾向於不改變實質位元值,讓位元狀態退回較肯定的狀態,避免把正確的位元值改錯。透過以上的設計,可以讓錯誤校正有更佳的可靠度,不會因為少數不恰當的位元翻轉,造成錯誤的校正的結果。
以上文中所提及之「一實施例」代表針對該實施例所描述之特定特徵、結構或者是特性係包含於本發明之至少一實施方式中。因此,文中不同段落中所出現之「一實施例」並非代表相同的實施例。因此,儘管以上對於不同實施例描述時,分別提及了不同的結構特徵或是方法性的動作,但應當注意的是,這些不同特徵可透過適當的修改而同時實現於同一特定實施方式中。
本發明之實施例可使用硬體、軟體、韌體以及其相關結合來完成。藉由適當之一指令執行系統,可使用儲存於一記憶體中之軟體或韌體來實作本發明的實施例。就硬體而言,則是可應用下列任一技術或其相關結合來完成:具有可依據資料信號執行邏輯功能之邏輯閘的一個別運算邏輯、具有合適的組合邏輯閘之一特定應用積體電路(application specific integrated circuit,ASIC)、可程式閘陣列(programmable gate array,PGA)或一現場可程式閘陣列(field programmable gate array,FPGA)等。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
Claims (12)
- 一種用以解碼一接收訊息的解碼方法,包含:根據該接收訊息中之每一位元的一位元值決定該位元的一位元狀態;根據至少一權重與一翻轉臨界值之當前數值來選擇性地調整每一位元之該位元狀態,其中該位元狀態的調整具有複數種調整幅度;根據該位元狀態選擇性地對該位元進行一位元翻轉;以及根據一預定時間內該位元翻轉發生的次數,調整該翻轉臨界值之當前數值,其中當該位元翻轉發生的次數超過一上限時,提高該翻轉臨界值之當前數值;其中當該權重等於該翻轉臨界值之一最大值時,該位元狀態的調整具有一第一調整幅度,以及當該翻轉臨界值不等於之該最大值時,該位元狀態的調整具有一第二調整幅度,其中該第一調整幅度大於該第二調整幅度。
- 如請求項1所述之解碼方法,其中該位元狀態包含有至少一第一主狀態、第一亞狀態、一第二主狀態以及一第二亞狀態,其中決定該位元狀態的步驟包含:當該位元值為一第一值時,決定該位元狀態為第一主狀態;以及當該位元值為一第二值時,決定該位元狀態為第二主狀態。
- 如請求項1所述之解碼方法,其中當該權重等於該翻轉臨界值之該最大值時,將該位元狀態由該第一亞狀態調整為該第二主狀態、或者由該第二亞狀態調整為該第一主狀態。
- 如請求項1所述之解碼方法,其中當該權重等於該翻轉臨界值之一最大值時,將該位元狀態由該第一主狀態調整為該第二主狀態、或者由該第二主狀態調整為該第一主狀態。
- 如請求項1所述之解碼方法,其中當該翻轉臨界值不等於該最大值時,且該權重大於或等於該翻轉臨界值時,將該位元狀態由該第一主狀態調整為該第一亞狀態、由該第一亞狀態調整為該第二亞狀態、由該第二亞狀態調整為該第一亞狀態或者由該第二主狀態調整為該第二亞狀態。
- 如請求項1所述之解碼方法,其中當該翻轉臨界值小於或等於該翻轉臨界值之一非零下限時,將該位元狀態由該第一亞狀態調整為該第一主狀態、或者由該第二亞狀態調整為該第二主狀態。
- 一種用以解碼一接收訊息的解碼裝置,包含:一狀態決定單元,用以根據該接收訊息中之每一位元的一位元值決定該位元的一位元狀態;一翻轉計算單元,用以根據至少一權重與一翻轉臨界值之當前數值來選擇性地調整每一位元之該位元狀態,其中該位元狀態的調整具有複數種調整幅度一翻轉處理單元,用以根據該位元狀態選擇性地對該位元進行一位元翻轉;以及一翻轉臨界值調整單元,用以根據一預定時間內該位元翻轉發生的次數,調整該翻轉臨界值之當前數值,其中當該位元翻轉發生的次數超過一上限時,該翻轉臨界值調整單元提高該翻轉臨界值之當前數值; 其中當該權重等於該翻轉臨界值之一最大值時,該翻轉計算單元產生使該位元狀態具有一第一調整幅度的位元翻轉向量,以及當該翻轉臨界值不等於之該最大值時,該翻轉計算單元產生使該位元狀態具有一第二調整幅度的位元翻轉向量,其中該第一調整幅度大於該第二調整幅度。
- 如請求項7所述之解碼裝置,其中該位元狀態包含有至少一第一主狀態、第一亞狀態、一第二主狀態以及一第二亞狀態,其中該狀態決定單元:當該位元值為一第一值時,決定該位元狀態為第一主狀態;以及當該位元值為一第二值時,決定該位元狀態為第二主狀態。
- 如請求項7所述之解碼裝置,其中當該權重等於該翻轉臨界值之該最大值時,該翻轉計算單元所產生之該位元翻轉向量可用於將該位元狀態由該第一亞狀態調整為該第二主狀態、或者由該第二亞狀態調整為該第一主狀態。
- 如請求項7所述之解碼裝置,其中當該權重等於該翻轉臨界值之該最大值時,該翻轉計算單元所產生之該位元翻轉向量可用於將該位元狀態由該第一主狀態調整為該第二主狀態、或者由該第二主狀態調整為該第一主狀態。
- 如請求項7所述之解碼裝置,其中當該翻轉臨界值不等於該最大值時,且該權重大於或等於該翻轉臨界值時,該翻轉計算單元所產生之該位元翻轉向量可用於將該位元狀態由該第一主狀態調整為該第一亞狀態、由該第一亞狀態調整為該第二亞狀態、由該第二亞狀態調整為該第一亞狀態或者由該第二主狀態調整為該第二亞狀態。
- 如請求項7所述之解碼裝置,其中當該翻轉臨界值小於或等於該翻轉臨界值之一非零下限時,該翻轉計算單元所產生之該位元翻轉向量可用於將該位元狀態由該第一亞狀態調整為該第一主狀態、或者由該第二亞狀態調整為該第二主狀態。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107123803A TWI685218B (zh) | 2016-12-30 | 2016-12-30 | 解碼方法與相關解碼裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107123803A TWI685218B (zh) | 2016-12-30 | 2016-12-30 | 解碼方法與相關解碼裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201836283A TW201836283A (zh) | 2018-10-01 |
TWI685218B true TWI685218B (zh) | 2020-02-11 |
Family
ID=64797298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107123803A TWI685218B (zh) | 2016-12-30 | 2016-12-30 | 解碼方法與相關解碼裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI685218B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893529A (zh) * | 2010-05-31 | 2013-01-23 | 国际商业机器公司 | Ldpc码的解码 |
TW201322717A (zh) * | 2011-11-29 | 2013-06-01 | Novatek Microelectronics Corp | 時脈嵌入的資料傳輸方法以及資料編碼 |
US8495479B1 (en) * | 2010-11-22 | 2013-07-23 | Marvell International Ltd. | Defect detection and correction via monitoring of syndromes and bit flips in decoder |
US9411683B2 (en) * | 2013-12-26 | 2016-08-09 | Intel Corporation | Error correction in memory |
-
2016
- 2016-12-30 TW TW107123803A patent/TWI685218B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893529A (zh) * | 2010-05-31 | 2013-01-23 | 国际商业机器公司 | Ldpc码的解码 |
US8495479B1 (en) * | 2010-11-22 | 2013-07-23 | Marvell International Ltd. | Defect detection and correction via monitoring of syndromes and bit flips in decoder |
US8887032B1 (en) * | 2010-11-22 | 2014-11-11 | Marvell International Ltd. | Defect detection and correction via monitoring of syndromes and bit flips in decoder |
TW201322717A (zh) * | 2011-11-29 | 2013-06-01 | Novatek Microelectronics Corp | 時脈嵌入的資料傳輸方法以及資料編碼 |
US9411683B2 (en) * | 2013-12-26 | 2016-08-09 | Intel Corporation | Error correction in memory |
Also Published As
Publication number | Publication date |
---|---|
TW201836283A (zh) | 2018-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8677227B2 (en) | Method and system for decoding | |
TWI626830B (zh) | 低密度奇偶校驗解碼器以及對其進行省電的方法 | |
TWI758748B (zh) | 使用於低密度奇偶檢查碼解碼器的方法及解碼器 | |
US10069514B2 (en) | Low-power low density parity check decoding | |
TWI631830B (zh) | 解碼方法與相關解碼裝置 | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
US9054739B2 (en) | Error correction device, error correction method and computer program product | |
US11283468B1 (en) | Log-likelihood ratio mapping tables in flash storage systems | |
US9793924B1 (en) | Method and system for estimating an expectation of forward error correction decoder convergence | |
US9231620B2 (en) | Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance | |
TWI685218B (zh) | 解碼方法與相關解碼裝置 | |
JP6567238B1 (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
TW201729545A (zh) | 用於對低密度奇偶校驗資料進行解碼以對碼字進行解碼的方法以及解碼器 | |
TWI632780B (zh) | 解碼方法與相關解碼裝置 | |
JP7038910B2 (ja) | 復号装置、制御回路および記憶媒体 | |
TW202427485A (zh) | 用於校驗位元翻轉解碼器中的錯誤的設備和方法 |