TWI533621B - The decoding method of cyclic code and its device - Google Patents
The decoding method of cyclic code and its device Download PDFInfo
- Publication number
- TWI533621B TWI533621B TW103144486A TW103144486A TWI533621B TW I533621 B TWI533621 B TW I533621B TW 103144486 A TW103144486 A TW 103144486A TW 103144486 A TW103144486 A TW 103144486A TW I533621 B TWI533621 B TW I533621B
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- matrix
- value
- decoding
- roots
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Description
本發明是有關於一種解碼方法,特別是指一種循環碼之解碼方法。
在數位化時代中,舉凡聲音、影像的訊號都用數位化的方式處理,主要的原因之一就是要保證訊號的傳遞或是讀取不會有錯誤,因此,數位訊號必須經過處理、安排,就是所謂的「編碼」(Coding)。在通信系統中,為提高資訊傳輸可靠性,廣泛使用了具有一定糾錯能力的通道編碼技術,如奇偶校驗碼(Parity Check Code)、漢明碼(Hamming Code)、迴圈碼(Quasi-Cyclic Code)等編碼技術。二次剩餘碼(Quadratic Residue Code)、循環碼(Cyclic Code)是特殊的迴圈碼,又是漢明碼和格雷碼的推廣。因此研究二次剩餘碼、循環碼以及它們的推廣形式具有重要的理論意義和實際價值。
目前循環碼多採用代數解碼方式消除牛頓恆等式(Newton's Identities)中未知症狀子(Unknown Syndrome),用以獲取錯誤定位多項式(Error Locator Polynomial)之係數,進一步獲得錯誤定位多項式。但隨著循環碼長度增加,運用代數解碼方式產生之高次方程式在
有限體中越困難找到解,因而使得錯誤定位多項式難以獲得。
為解決代數解碼方式在循環碼長度增加時難以獲得錯誤定位多項式之缺點,一般採用無反根柏利根(Inverse-free Berlekamp Massey)演算法以計算出錯誤定位多項式,但循環碼並無足夠連續已知症狀子(Know Syndrome)作為無反根柏利根演算法輸入,以計算出正確錯誤定位多項式,以達到循環碼糾錯能力內之正確解碼。
然而,現有的方法,需要複數連續的已知症狀子,若無法取得該多個連續的已知症狀子,在進行解碼上會需要利用基本已知症狀子,求得複數基本未知症狀子,進而得出該錯誤定位多項式,最後利用該多個基本已知症狀子來檢測解碼是否正確,其步驟相當複雜。
因此,如何研發出一有效率又能保證解碼能力內正確解碼之方法,便成為相關業者所欲努力研究的方向。
因此,本發明之目的,即在提供一種循環碼之解碼方法。
本發明之另一目的,即在提供一種解碼裝置。
於是,本發明循環碼之解碼方法,由一解碼裝置所執行,該方法包含:(a)接收一具有多個基本的已知症狀子的數位訊號;(b)由根據該多個基本的已知症狀子找出全部的多個已知症狀子;
(c)由全部的該多個已知症狀子建構一相關於錯誤定位多項式的矩陣,並求出該矩陣的一行列式的多個根;(d)由該多個根求得多個錯誤位置;(e)由該多個根及該多個錯誤位置求得多個對應於該多個錯誤位置的錯誤值;及(f)根據該多個錯誤位置及該多個錯誤值,將該數位訊號的雜訊校正以得到一原始訊號。
此外,本發明之解碼裝置包含一接收一具有多個基本的已知症狀子的數位訊號的接收器,一電連接該接收器的處理器。
該處理器根據該多個基本的已知症狀子找出全部的多個已知症狀子,由全部的該多個已知症狀子建構一相關於錯誤定位多項式的矩陣,並求出該矩陣的一行列式的多個根,由該多個根求得多個錯誤位置,由該多個根及該多個錯誤位置求得多個對應於該多個錯誤位置的錯誤值,根據該多個錯誤位置及該多個錯誤值,將該數位訊號的雜訊校正以得到一原始訊號。
本發明之功效運用二次剩餘及其有限體的特性,得出複數基本已知症狀子,再由該基本已知症狀子求出所有的已知症狀子,配合相關於錯誤定位多項式的矩陣運算,求出數位訊號的錯誤值及錯誤位置,簡化了現有方法須利用無反根伯利根演算法求出錯誤多項式,再由錯誤多項式求出數位訊號的錯誤值及錯誤位置的步驟。
100‧‧‧接收數位訊號
101‧‧‧計算已知症狀子
102‧‧‧判斷基本已知症狀子是否為零
103‧‧‧設定錯誤參數
104‧‧‧計算所有根及根數量
105‧‧‧判斷根數量值是否與錯誤參數值相等
106‧‧‧錯誤參數值加1
107‧‧‧判斷錯誤參數值是否
大於設定值
108‧‧‧求得錯誤位置
109‧‧‧求得錯誤值
110‧‧‧將數位訊號校正成原始訊號
2‧‧‧解碼裝置
21‧‧‧接收器
22‧‧‧處理器
本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:圖1是一流程圖,說明本發明循環碼之解碼方法;及圖2是一示意圖,說明本發明解碼裝置。
參閱圖1、2,本發明二次剩餘碼之解碼方法是以一解碼裝置2來實現,該裝置包含一接收一具有多個基本的已知症狀子的數位訊號的接收器21,及一電連接該接收器21的處理器22。
該處理器22根據該多個基本的已知症狀子找出全部的多個已知症狀子,由全部的該多個已知症狀子建構一相關於錯誤定位多項式的矩陣,並求出該矩陣的一行列式的多個根,由該多個根求得多個錯誤位置,由該多個根及該多個錯誤位置求得多個對應於該多個錯誤位置的錯誤值,根據該多個錯誤位置及該多個錯誤值,將該數位訊號的雜訊校正以得到一原始訊號。
本發明循環碼之解碼方法的實施例,將配合二次剩餘碼(61,30,12),表示該二次剩餘碼為61維空間的30維子空間,有最小加權值12,即所有碼字元的加權值都大於等於12,以下簡稱為QR61,來進行本實施例之解碼說明,該方法包含以下步驟:
在步驟100中,該接收器21接收該數位訊號。
前述之已函數化之數位訊號定義為函數r(x),而其雜訊函數則定義為e(x),並將正確的原始訊號定義為
函數c(x),因此,數位訊號、雜訊及原始訊號之間的關係即為r(x)=c(x)+e(x)。計算出該數位訊號的複數已知症狀子。該多個已知症狀子是藉由在循環碼之生成多項式(Generator Polynomial)g(x)內之解的前提下,代入去獲得該數位訊號r(x)之值。
在此要補充說明的是,有關本發明所運用的二次剩餘碼的相關知識。對於一般非二元的二次剩餘碼不容易找到,所以定義如下列[式一]之生成多項式
其中Q是一所有含零整數之平方除以n之餘形成之集合,即Q={r2 mod n|rG},表示G中的所有二次剩餘(quadratic residue),G表示在有限體GF(p)上非零元素組成的乘法群(multiplicative group),p為循環碼的位元數,n為碼長,β是在有限體GF(pm)下的一n次本原方根(primitive n-th root of unity),在此m為最小滿足pm-1,可被碼長n整除的整數。原始訊號函數,為生成多項式g(x)的倍數,其中ci屬於有限體GF(p)。
一般而言,該數位訊號函數,而雜訊
函數,其中ri與ei屬於有限體GF(p)。
假設有v個錯誤,分別發生在錯誤位置k1,k2,…,kv,其中0k1<k2<…<kv<n,前述之該多個已知症狀子(Si)由下列[式二]之算式所求得
其中i屬於Q聯集0集合,即iQ∪{0},定義一錯誤值
及一錯誤定位子Zi,其中i=1,…,v,由上述可知已知症狀子可表示為,因為在p元的二次剩餘碼或循環碼明顯的症狀子特性,所有症狀子可以經由幾個特定的症狀子所獲得,因此稱這些特定症狀子為基本症狀子。
在步驟101中,藉由上述式一及式二獲得基本已知症狀子,加上已知症狀子的特性,可以獲得所有已知症狀子。在本實施例三元QR61,可以從Q集合中得出基本已知症狀子為S0、S1、S4、S5。
在步驟102中,藉由判斷該多個已知症狀子中的基本已知症狀子是否皆為零,知道該數位訊號是否含任何雜訊。若該多個已知症狀子中的基本已知症狀子皆為零,即S0=S1=S4=S5=0(以三元QR61為例),則該數位訊號不含任何雜訊,即e(x)=0,r(x)=c(x);若該多個已知症狀子中的基本已知症狀子不皆為零,表示該數位訊號含有雜訊,進行步驟103,設定一錯誤參數值,在本實施例中,將該錯誤參數值v設定為1。
在步驟104中,首先令集合I={i1,i2…,iv+1}與集合J={j1,j2,…,jv+1}為{0,1,…,n-1}的子集合,n為碼長。並定義(v+1)×v大小矩陣X(I)與Z(J),及v×v大小矩陣Y,矩陣表示如下:
進一步定義矩陣SXYZ=X(I)YZ(J)T,及SZYZ=Z(I)YZ(J)T其中,Z(J)T表示為Z(J)的轉置矩陣,其中,i=1,...,v,矩陣
SXYZ與SZYZ具有以下型式
其中S的下標為被n除後所得的餘數,n為碼長。經由上述矩陣,令該二矩陣其中之一行列式等於零即det(SXYZ)=0或det(SZYZ)=0,得一錯誤定位多項式,並代入Y1、Z1的可能值計算出所有根Zi,並得出根之一數量值l。
在步驟105中,判斷該數量值l是否與該錯誤參數值v相等,若是,即l=v時,表示所有的錯誤已找出,則進行步驟108;若否,表示尚有錯誤未找出,則進行步驟106,將該錯誤參數值v加1,並進行步驟107,判斷該錯誤參數值v是否大於一設定值,若否,則進行步驟104。該設定值是根據二次剩餘碼或循環碼的錯誤更正能力設定,由於QR61的特性,其所提供的錯誤更正能力為5,故在本實施例中,該設定值為5。要再補充的是,當該錯誤參數值加1後大於該設定值,即v>5時,則直接結束。
在步驟108中,由該多個根求得複數錯誤位置,並進行步驟109,由該多個根及該多個錯誤位置求得複數對應於該多個錯誤位置的錯誤值。
在此要補充說明的是,步驟105中,並將該矩陣展開成行列式後,計算行列式複數所有n次本原方根,步驟108中,該多個根求得複數錯誤位置,及步驟109,由該多個根及該多個錯誤位置求得複數對應於該多個錯誤位
置的錯誤值,以QR61為例方法如下:[v=1]:當只有一個錯誤,若且唯若除以3的餘數為±1,,。由,且,得一根
,求得該數位訊號的錯誤位置
k1,再由得錯誤值。
[v=2]:令I={0,1,2}且J={3,12,0},本實施例以det(SXYZ)=0(亦可以det(SZYZ)=0求得)即
再利用代入Y1、Z1的可能值,求得所有根Z1及Z2,並得出該數量值l=2,再由、,求得該數位訊號的錯誤位置k1、k2,其中可能值為相關於循環碼的位元數p及n次本原方根β,Y1=1,2,…,p-1,Z1=β0,β1,…,βn-1,本實施例p=3,n=61,最後由基本已知症狀子中選取S1、S4由一線性方程式:
求得錯誤值Y1及Y2。
[v=3]:令I={0,1,2,3}且J={12,13,45,0},本實施例以det(SXYZ)=0即
再利用代入Y1、Z1的可能值求得所有根Zi,並得出該數量
值l,再由,求得該數位訊號的錯誤位置ki,其中
i=1,2,3,最後由基本已知症狀子中選取S1、S4、S5由一線性方程式:
求得錯誤值Y1、Y2及Y3。
[v=4]:令I={0,1,4,5,19}且J={15,41,56,57},本實施例以det(SXYZ)=0即
再利用代入Y1、Z1的可能值求得所有根Zi,並得出該數量
值l,再由,求得該數位訊號的錯誤位置ki,其中
i=1,2,3,4,當所找到的該數量值l大於等於4,將選取l個已知症狀子,其中ωi Q,且ω1<ω2<…<ω l ,最後由一線性方程式:
求得錯誤值Y l
[v=5]:令I={20,35,0,15,16,19}且J={41,42,45,60,0},本實施例以det(SZYZ)=0即
再利用代入Y1、Z1的可能值求得所有根Zi,並得出該數量
值l,再由,求得該數位訊號的錯誤位置ki,其中
i=1,2,3,5,選取l個已知症狀子,其中ωi Q,且ω1<ω2<…<ω l ,最後根據v=4中的線性方程式求得錯誤值Y l
要補充的是,得到錯誤值Y l 及錯誤位置ki後,便可知道雜訊函數e(x),再加上已知的已函數化之數位訊號r(x),便可求出正確的原始訊號c(x)。
在步驟110中,更正該數位訊號中所發生之錯誤的值及位置,並將帶有該雜訊之數位訊號校正成該原始訊號。
綜上所述,上述實施例運用二次剩餘及其有限體的特性,得出複數基本已知症狀子,再由該基本已知症狀子求出所有的已知症狀子,配合相關於錯誤定位多項式矩陣SXYZ或SZYZ的運算,求出數位訊號的錯誤值及錯誤位置,簡化了現有方法須利用無反根伯利根演算法求出錯誤多項式,再由錯誤多項式求出數位訊號的錯誤值及錯誤位置的步驟,達到有效率又能正確解碼的功效,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明
申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
100‧‧‧接收數位訊號
101‧‧‧計算已知症狀子
102‧‧‧判斷基本已知症狀子是否為零
103‧‧‧設定錯誤參數
104‧‧‧計算所有根及根數量
105‧‧‧判斷根數量值是否與錯誤參數值相等
106‧‧‧錯誤參數值加1
107‧‧‧判斷錯誤參數值是否大於設定值
108‧‧‧求得錯誤位置
109‧‧‧求得錯誤值
110‧‧‧將數位訊號校正成原始訊號
Claims (10)
- 一種循環碼之解碼方法,由一解碼裝置所執行,該方法包含:(a)接收一具有多個基本的已知症狀子的數位訊號;(b)由根據該多個基本的已知症狀子找出全部的多個已知症狀子;(c)由全部的該多個已知症狀子建構一相關於錯誤定位多項式的矩陣,並求出該矩陣的一行列式的多個根;(d)由該多個根求得多個錯誤位置;(e)由該多個根及該多個錯誤位置求得多個對應於該多個錯誤位置的錯誤值;及(f)根據該多個錯誤位置及該多個錯誤值,將該數位訊號的雜訊校正以得到一原始訊號。
- 如請求項1所述的循環碼之解碼方法,其中,該步驟(b)中,根據一生成多項式與一算式得到該多個基本已知症狀子,該生成多項式為,其中Q為預先選定之定義集合,n為碼長,β是在有限體GF(pm)下的一n次本原方根,m為最小滿足pm-1可被碼長n整除的整數,該算式為Si=r(βi)=e(βi)其中Si為已知症狀子,i屬於Q聯集0集合,即iQ∪{0},,,ri與ei屬於有限體GF(p),p為循環碼的位元數。
- 如請求項2所述的循環碼之解碼方法,其中,該步驟(b) 中,經由該多個基本已知症狀子與一症狀子特性來得到該多個已知症狀子,該症狀子特性如下式
- 如請求項3所述的循環碼之解碼方法,其中,該步驟(c)中該矩陣為(v+1)×(v+1)矩陣,如下所示
- 如請求項3所述的循環碼之解碼方法,其中,該步驟(c)中該矩陣為(v+1)×(v+1)矩陣,如下所示
- 如請求項4所述的循環碼之解碼方法,其中,在該步驟 (d)中,從求得的錯誤定位子Zi,依據,求得錯誤位置ki。
- 如請求項6所述的循環碼之解碼方法,其中,在該步驟(e)中,由一相關於該多個根及該多個錯誤位置的線性方程式求得錯誤值Yi,該線性方程式為
- 如請求項7所述的循環碼之解碼方法,其中,該步驟(b)中,還有一子步驟(b’):設定一錯誤參數值;該步驟(c)中,還有一子步驟(c’):計算一所有根的數量值;該方法在步驟(c)後還包含一步驟(g):判斷該數量值是否與該錯誤參數值相等,若相等則進行步驟(d);該步驟(g)中,若數量值與該錯誤參數值不相等,則該錯誤參數值加一給定值,並進行步驟(h):判斷該錯誤參數值是否大於一設定值,若是,則結束,若否,則進行步驟(c)。
- 如請求項8所述的循環碼之解碼方法,其中,在該步驟(c)中,是利用代入所有可能值來求出該行列式的根,其中可能值為相關於循環碼的位元數p及n次本原方根β。
- 一種解碼裝置,包含:一接收器,接收一具有多個基本的已知症狀子的數位訊號;及一處理器,電連接該接收器,且根據該多個基本的已知症狀子找出全部的多個已知症狀子,由全部的該多個已知症狀子建構一相關於錯誤定位多項式的矩陣,並求出該矩陣的一行列式的多個根,由該多個根求得多個錯誤位置,由該多個根及該多個錯誤位置求得多個對應於該多個錯誤位置的錯誤值,根據該多個錯誤位置及該多個錯誤值,將該數位訊號的雜訊校正以得到一原始訊號。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103144486A TWI533621B (zh) | 2014-12-19 | 2014-12-19 | The decoding method of cyclic code and its device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103144486A TWI533621B (zh) | 2014-12-19 | 2014-12-19 | The decoding method of cyclic code and its device |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI533621B true TWI533621B (zh) | 2016-05-11 |
TW201624929A TW201624929A (zh) | 2016-07-01 |
Family
ID=56509290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103144486A TWI533621B (zh) | 2014-12-19 | 2014-12-19 | The decoding method of cyclic code and its device |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI533621B (zh) |
-
2014
- 2014-12-19 TW TW103144486A patent/TWI533621B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201624929A (zh) | 2016-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3451221B2 (ja) | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 | |
CN103380585B (zh) | 输入位错误率推定方法及其装置 | |
US8806295B2 (en) | Mis-correction and no-correction rates for error control | |
US20050204268A1 (en) | Decoding and error correction for algebraic geometric codes | |
KR102352158B1 (ko) | 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic | |
CN107800439B (zh) | 用于里德索罗门码的低延迟解码器 | |
KR101298745B1 (ko) | 데이터를 복호화 및 부호화하는 방법 및 장치 | |
JP2018019401A (ja) | リード・ソロモン復号器及び復号方法 | |
CN106506011B (zh) | 电力线工频通信编码纠错方法 | |
JP6930090B2 (ja) | 復号化装置、プログラム、及び情報伝送システム | |
TWI533621B (zh) | The decoding method of cyclic code and its device | |
US8527854B2 (en) | Error detection module, and error correction device including the same | |
JP2010098735A (ja) | バイナリデータの誤り訂正及び誤り検出の方法 | |
Matthews et al. | Fractional decoding of codes from Hermitian curves | |
KR101432909B1 (ko) | 병렬 bch 복호기를 위한 고속 소면적의 수정된 스텝-바이-스텝 복호 방법 및 그 연산 회로 | |
CN112688696B (zh) | 有限域编码和译码的方法、装置、设备及存储介质 | |
CN115037415A (zh) | 基于crc的纠错编码的方法、装置、终端 | |
TWI385931B (zh) | Gray code decoding method and decoder | |
JP6595218B2 (ja) | 連接符号を用いた受信装置及びチップ | |
Lu et al. | A new method for evaluating error magnitudes of Reed-Solomon codes | |
WO2017075745A1 (en) | Methods, systems, and computer-readable media for decoding cyclic code | |
TWI399042B (zh) | To detect the wrong position of the detection device | |
US8209589B2 (en) | Reed-solomon decoder with a variable number of correctable errors | |
Twum et al. | Reed-Solomon Decoding Simplified for Programmers | |
Bardellotto et al. | Binary list decoding beyond covering radius |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |