一種譯碼方法及譯碼裝置制造方法
【專利摘要】本發(fā)明提供了一種譯碼方法及譯碼裝置,以解決譯碼消耗時間長的問題。一種譯碼方法,包括:將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式;當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列計算錯誤位置多項式系數(shù);將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算錯誤位置;將所述錯誤位置輸入到糾錯門陣列進行糾錯。只需要級聯(lián)的邏輯門就可以實現(xiàn),電路簡單,因此所需的時間非常短,從而解決了譯碼消耗時間長的問題。
【專利說明】一種譯碼方法及譯碼裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種譯碼方法及譯碼裝置。
【背景技術(shù)】
[0002] BCH碼取自Bose、Ray_Chaudhuri與Hocquenghem的縮寫,是編碼理論尤其是糾錯 碼中研究得比較多的一種編碼方法。BCH碼是用于校正多個隨機錯誤模式的多級、循環(huán)、錯 誤校正、變長數(shù)字編碼。BCH碼也可以用于質(zhì)數(shù)級或者質(zhì)數(shù)的冪級的多級相移鍵控。
[0003] 目前BCH譯碼的方法計算伴隨式采用移位寄存器計算,需要時鐘;錯誤位置多項 式基于牛頓恒等式進行迭代計算,也需要寄存器進行迭代存儲;尋找錯誤位置采用的是簡 化并行度的方法,所以總體看來,目前BCH譯碼的方法采用的電路和控制較為復(fù)雜,需要多 次迭代,計算時間比較長,無法滿足高速系統(tǒng)的需要。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種譯碼方法及譯碼裝置,以解決譯碼消耗時間長的問題。
[0005] 為了解決上述問題,本發(fā)明公開了一種譯碼方法,包括:
[0006] 將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式;
[0007] 當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門 陣列計算錯誤位置多項式系數(shù);
[0008] 將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算錯誤位置;
[0009] 將所述錯誤位置輸入到糾錯門陣列進行糾錯。
[0010] 可選地,所述將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式,包括:
[0011] 將接收到的碼字輸入異或門陣列;
[0012] 通過異或門陣列將接收到的碼字與校驗矩陣的轉(zhuǎn)置相乘得到伴隨式。
[0013] 可選地,所述將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列計算錯誤位置 多項式系數(shù),包括:
[0014] 將所述伴隨式輸入錯誤位置多項式系數(shù)計算門陣列;
[0015] 通過Peterson矩陣將錯誤位置多項式的系數(shù)表示成伴隨式的乘法運算和加法運 算;
[0016] 通過錯誤位置多項式系數(shù)計算門陣列中的與門計算所述伴隨式的加法運算,通過 錯誤位置多項式系數(shù)計算門陣列中的異或門計算所述伴隨式的乘法運算。
[0017] 可選地,所述將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算錯誤位 置,包括:
[0018] 將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列中;
[0019] 將錯誤位置對應(yīng)的伽羅瓦域的向量代入錯誤位置多項式,與所述錯誤位置多項式 的系數(shù)相乘,所述相乘表示為乘法運算和加法運算;所述錯誤位置對應(yīng)的伽羅瓦域為錯誤 位置的集合;
[0020] 通過尋找錯誤位置門陣列中的異或門計算所述乘法運算,通過尋找錯誤位置門陣 列中的與門計算所述加法運算;當(dāng)所述加法運算的結(jié)果為零時,將對應(yīng)的位置作為錯誤位 置。
[0021] 可選地,所述將所述錯誤位置輸入到糾錯門陣列進行糾錯,包括:
[0022] 將所述錯誤位置輸入到非門中;
[0023] 在非門中對所述錯誤位置上的數(shù)據(jù)取反進行糾錯。
[0024] 本發(fā)明還公開了一種譯碼裝置,包括:
[0025] 伴隨式計算模塊,用于將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式;
[0026] 系數(shù)計算模塊,用于在所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位 置多項式系數(shù)計算門陣列計算錯誤位置多項式系數(shù);
[0027] 錯誤位置計算模塊,用于將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列 計算錯誤位置;
[0028] 糾錯模塊,用于將所述錯誤位置輸入到糾錯門陣列進行糾錯。
[0029] 可選地,所述伴隨式計算模塊包括:
[0030] 碼字輸入子模塊,用于將接收到的碼字輸入異或門陣列;
[0031] 伴隨式計算子模塊,用于通過異或門陣列將接收到的碼字與校驗矩陣的轉(zhuǎn)置相乘 得到伴隨式。
[0032] 可選地,所述系數(shù)計算模塊包括:
[0033] 伴隨式輸入子模塊,用于將所述伴隨式輸入錯誤位置多項式系數(shù)計算門陣列;
[0034] 矩陣子模塊,用于通過Peterson矩陣將錯誤位置多項式的系數(shù)表示成伴隨式的 乘法運算和加法運算;
[0035] 系數(shù)計算子模塊,用于通過錯誤位置多項式系數(shù)計算門陣列中的與門計算所述伴 隨式的加法運算,通過錯誤位置多項式系數(shù)計算門陣列中的異或門計算所述伴隨式的乘法 運算。
[0036] 可選地,所述錯誤位置計算模塊包括:
[0037] 系數(shù)輸入子模塊,用于將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列 中;
[0038] 相乘子模塊,用于將錯誤位置對應(yīng)的伽羅瓦域的向量代入錯誤位置多項式,與所 述錯誤位置多項式的系數(shù)相乘,所述相乘表示為乘法運算和加法運算;所述錯誤位置對應(yīng) 的伽羅瓦域為錯誤位置的集合;
[0039] 錯誤位置計算子模塊,用于通過尋找錯誤位置門陣列中的異或門計算所述乘法運 算,通過尋找錯誤位置門陣列中的與門計算所述加法運算;在所述加法運算的結(jié)果為零時, 將對應(yīng)的位置作為錯誤位置。
[0040] 可選地,所述糾錯模塊包括:
[0041] 錯誤位置輸入子模塊,用于將所述錯誤位置輸入到非門中;
[0042] 糾錯子模塊,用于在非門中對所述錯誤位置上的數(shù)據(jù)取反進行糾錯。
[0043] 與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點:
[0044] 本發(fā)明首先將接收到的碼字輸入到伴隨式計算門陣列中計算伴隨式;其次當(dāng)所述 伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列中計算錯誤 位置多項式系數(shù);然后將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列中計算錯誤 位置;最后將所述錯誤位置輸入到糾錯門陣列中進行糾錯。由于本實施例上述步驟都是 通過組合邏輯門陣列來實現(xiàn)的,不需要時鐘,也不需要迭代,只需要級聯(lián)的邏輯門就可以實 現(xiàn),電路簡單,因此所需的時間非常短,從而解決了譯碼消耗時間長的問題。
【專利附圖】
【附圖說明】
[0045] 圖1是本發(fā)明實施例一種譯碼方法的流程圖;
[0046] 圖2是本發(fā)明實施例一種譯碼方法的示意圖;
[0047] 圖3是本發(fā)明實施例另一種譯碼方法的流程圖;
[0048] 圖4是本發(fā)明實施例代入法門陣列計算實例圖;
[0049] 圖5是本發(fā)明實施例高速譯碼方法的流程圖;
[0050] 圖6是本發(fā)明實施例一種譯碼裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0051] 為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本發(fā)明作進一步詳細(xì)的說明。
[0052] 本發(fā)明實施例提出了一種譯碼方法,旨在通過級聯(lián)的邏輯門在非常短的時間內(nèi)快 速實現(xiàn)BCH譯碼的伴隨式計算、計算錯誤位置多項式系數(shù)、查找錯誤位置以及糾錯四個步 驟,從而解決了譯碼消耗時間較長的問題,適應(yīng)于高速讀取的系統(tǒng)。
[0053] 實施例一:
[0054] 參照圖1,示出了本發(fā)明一種譯碼方法的流程圖,本實施例具體可以包括以下步 驟:
[0055] 步驟100,將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式。
[0056] 本實施例中首先將接收到的碼字輸入到伴隨式計算門陣列中,需要說明的是, 門陣列是由異或門、與非門等邏輯門組成的陣列,本實施例中伴隨式計算門陣列是由異 或門組成的門陣列,可以實現(xiàn)二進制乘法運算。接收到的碼字可以用〇=[(;,(;_ 1,(;_^ QCdCJ表示,由于本發(fā)明實施例涉及到伽羅瓦域BCH編譯碼的計算,所以將C(x)表示為 CWzCa+CV+Cy+Cy+QxLc^xn,其中,n為正整數(shù),x為伽羅瓦域l*m維多進制向量,m為 正整數(shù)。伴隨式可以用S來表示,為2t*m矩陣,H為nm*2t校驗矩陣,用來校驗接收向量是 否有錯。計算伴隨式的方法有很多,本實施例可以通過將接收到的碼字C與校驗矩陣H的 轉(zhuǎn)置相乘來計算伴隨式S。當(dāng)然也可以采用其他方法計算伴隨式,可以用門陣列來實現(xiàn)計算 伴隨式的過程即可。
[0057] 步驟102,當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系 數(shù)計算門陣列計算錯誤位置多項式系數(shù)。
[0058] 步驟100中計算得到伴隨式S之后,判斷伴隨式S是否為全0矩陣,如果得到的伴 隨式S為全0矩陣,說明接收碼字沒有錯誤;如果得到的伴隨式S不是全0矩陣,則說明接 收的碼字有錯誤,此時將伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列中計算錯誤位置多 項式的系數(shù)。即當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù) 計算門陣列中計算錯誤位置多項式的系數(shù)。本實施例可以采用Peterson矩陣來計算錯誤 位置多項式的系數(shù),具體可以通過Peterson矩陣得出錯誤位置多項式系數(shù)與伴隨式S的關(guān) 系,由于此關(guān)系是S某些行的加法運算和乘法運算,所以可以采用"與門"和"異或門"實現(xiàn) (與門實現(xiàn)加法運算,異或門實現(xiàn)乘法運算),即本實施例中的錯誤位置多項式系數(shù)計算門 陣列可以由"與門"和"異或門"的組合邏輯門組成。
[0059] 步驟104,將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算錯誤位置。
[0060] 步驟102計算出錯誤位置多項式系數(shù)之后,將錯誤位置多項式系數(shù)輸入到尋找錯 誤位置門陣列中,本實施例可以采用"錢搜索"來計算錯誤位置,即將所有可能的根都代入 到方程中(由錯誤位置多項式構(gòu)成的方程),如果得到的方程式的計算結(jié)果為0,即此位置為 方程的根,也就是說這個使方程式為0的位置就錯誤位置。而將可能的跟帶入方程式計算 的過程也涉及到加法運算和乘法運算,所以可以采用"與門"和"異或門"實現(xiàn),即本實施例 中的尋找錯誤位置門陣列可以由"與門"和"異或門"的組合邏輯門組成。
[0061] 步驟106,將所述錯誤位置輸入到糾錯門陣列進行糾錯。
[0062] 步驟104找到錯誤位置后,可以將錯誤位置輸入到糾錯門陣列進行糾錯。本實施 例可以采用將錯誤位置上的數(shù)據(jù)取反進行糾錯。取反可以通過非門來實現(xiàn),也就是說本實 施例中的糾錯門陣列可以由非門組成。
[0063] 可以結(jié)合圖2的譯碼方法示意圖來理解本實施例上述步驟100-步驟106。如圖2 所示,包括以下步驟:
[0064] 步驟200,接收碼字C (x)并輸入伴隨式計算門陣列,計算伴隨式S。
[0065] 步驟202,將伴隨式S輸入到錯誤位置多項式系數(shù)計算門陣列,計算錯誤位置多項 式系數(shù)〇 (x)。
[0066] 步驟204,將錯誤多項式系數(shù)輸入尋找錯誤位置門陣列,計算錯誤位置。
[0067] 步驟206,將錯誤位置i輸入到糾錯門陣列,進行糾錯。
[0068] 本實施例首先將接收到的碼字輸入到伴隨式計算門陣列中計算伴隨式;其次當(dāng)所 述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列中計算錯 誤位置多項式系數(shù);然后將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列中計算錯 誤位置;最后將所述錯誤位置輸入到糾錯門陣列中進行糾錯。由于本實施例上述步驟都是 通過組合邏輯門陣列來實現(xiàn)的,不需要時鐘,也不需要迭代,只需要級聯(lián)的邏輯門就可以實 現(xiàn),電路簡單,因此所需的時間非常短,從而解決了譯碼消耗時間長的問題。
[0069] 實施例二:
[0070] 參照圖3,示出了本發(fā)明一種譯碼方法的流程圖,本實施例具體可以包括以下步 驟:
[0071] 步驟300,將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式。
[0072] 本實施例步驟300將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式,具體可 以包括子步驟3001和子步驟3002,其中:
[0073] 子步驟3001,將接收到的碼字輸入異或門陣列。
[0074] 本實施例中接收到的碼字用C(x)來表示,其中(^)=4+(^+(^+(^+(^+… C nxn,其中n為正整數(shù),x為伽羅瓦域l*m維多進制向量,m為正整數(shù)。
[0075] 子步驟3002,通過異或門陣列將接收到的碼字與校驗矩陣的轉(zhuǎn)置相乘得到伴隨 式。
[0076] 伴隨式可以用S來表示,為2t*m矩陣,H為nm*2t校驗矩陣,用來校驗接收向量是 否有錯。本實施例可以通過代入法實現(xiàn)碼字與校驗矩陣的轉(zhuǎn)置相乘,得到伴隨式,具體可以 通過將接收到的碼字C與校驗矩陣H的轉(zhuǎn)置相乘來計算伴隨式S。由于每個位置上的數(shù)都 是二進制數(shù),所以計算滿足如下規(guī)律:a*a=a ;a*(非a)=0 ;a+a=0 ;a+(非a)=l ;即可以看做 是同或、異或操作。故此處的代入法是將已知的校驗矩陣的所有位數(shù)與碼字C的所有對應(yīng) 位相乘,可以參考圖4所示的代入法門陣列計算實例圖來理解,可以用圖4所示的異或門邏 輯實現(xiàn),當(dāng)然實現(xiàn)形式不局限于圖4所示的異或門。圖4中In代表輸入,Out代表輸出,此 處每一個行列上的數(shù)都是二進制數(shù)。
[0077] 步驟302,當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系 數(shù)計算門陣列計算錯誤位置多項式系數(shù)。
[0078] 步驟300中計算得到伴隨式S之后,判斷伴隨式S是否為全0矩陣,如果得到的伴 隨式S為全0矩陣,則證明接收碼字沒有錯誤,如果得到的伴隨式S不是全0矩陣,則說明 接收的碼字有錯誤,此時將伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列計算錯誤位置多 項式系數(shù)。
[0079] 本實施例將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列計算錯誤位置多 項式系數(shù),具體可以包括子步驟3021、子步驟3022和子步驟3023,其中:
[0080] 子步驟3021,將所述伴隨式輸入錯誤位置多項式系數(shù)計算門陣列。
[0081] 本實施例錯誤位置多項式系數(shù)計算門陣列由與門和異或門組合而成。與門可以實 現(xiàn)二進制的加法運算,異或門可以實現(xiàn)二進制的乘法運算。
[0082] 子步驟3022,通過Peterson矩陣將錯誤位置多項式的系數(shù)表示成伴隨式的乘法 運算和加法運算。
[0083] Peterson 矩陣如下:
【權(quán)利要求】
1. 一種譯碼方法,其特征在于,包括: 將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式; 當(dāng)所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多項式系數(shù)計算門陣列 計算錯誤位置多項式系數(shù); 將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算錯誤位置; 將所述錯誤位置輸入到糾錯門陣列進行糾錯。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將接收到的碼字輸入到伴隨式計算 門陣列計算伴隨式,包括: 將接收到的碼字輸入異或門陣列; 通過異或門陣列將接收到的碼字與校驗矩陣的轉(zhuǎn)置相乘得到伴隨式。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述伴隨式輸入到錯誤位置多項 式系數(shù)計算門陣列計算錯誤位置多項式系數(shù),包括: 將所述伴隨式輸入錯誤位置多項式系數(shù)計算門陣列; 通過Peterson矩陣將錯誤位置多項式的系數(shù)表示成伴隨式的乘法運算和加法運算; 通過錯誤位置多項式系數(shù)計算門陣列中的與門計算所述伴隨式的加法運算,通過錯誤 位置多項式系數(shù)計算門陣列中的異或門計算所述伴隨式的乘法運算。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述錯誤位置多項式系數(shù)輸入到 尋找錯誤位置門陣列計算錯誤位置,包括: 將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列中; 將錯誤位置對應(yīng)的伽羅瓦域的向量代入錯誤位置多項式,與所述錯誤位置多項式的系 數(shù)相乘,所述相乘表示為乘法運算和加法運算;所述錯誤位置對應(yīng)的伽羅瓦域為錯誤位置 的集合; 通過尋找錯誤位置門陣列中的異或門計算所述乘法運算,通過尋找錯誤位置門陣列中 的與門計算所述加法運算;當(dāng)所述加法運算的結(jié)果為零時,將對應(yīng)的位置作為錯誤位置。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述錯誤位置輸入到糾錯門陣列 進行糾錯,包括: 將所述錯誤位置輸入到非門中; 在非門中對所述錯誤位置上的數(shù)據(jù)取反進行糾錯。
6. -種譯碼裝置,其特征在于,包括: 伴隨式計算模塊,用于將接收到的碼字輸入到伴隨式計算門陣列計算伴隨式; 系數(shù)計算模塊,用于在所述伴隨式不為全零矩陣時,將所述伴隨式輸入到錯誤位置多 項式系數(shù)計算門陣列計算錯誤位置多項式系數(shù); 錯誤位置計算模塊,用于將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列計算 錯誤位置; 糾錯模塊,用于將所述錯誤位置輸入到糾錯門陣列進行糾錯。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述伴隨式計算模塊包括: 碼字輸入子模塊,用于將接收到的碼字輸入異或門陣列; 伴隨式計算子模塊,用于通過異或門陣列將接收到的碼字與校驗矩陣的轉(zhuǎn)置相乘得到 伴隨式。
8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述系數(shù)計算模塊包括: 伴隨式輸入子模塊,用于將所述伴隨式輸入錯誤位置多項式系數(shù)計算門陣列; 矩陣子模塊,用于通過Peterson矩陣將錯誤位置多項式的系數(shù)表示成伴隨式的乘法 運算和加法運算; 系數(shù)計算子模塊,用于通過錯誤位置多項式系數(shù)計算門陣列中的與門計算所述伴隨 式的加法運算,通過錯誤位置多項式系數(shù)計算門陣列中的異或門計算所述伴隨式的乘法運 算。
9. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述錯誤位置計算模塊包括: 系數(shù)輸入子模塊,用于將所述錯誤位置多項式系數(shù)輸入到尋找錯誤位置門陣列中; 相乘子模塊,用于將錯誤位置對應(yīng)的伽羅瓦域的向量代入錯誤位置多項式,與所述錯 誤位置多項式的系數(shù)相乘,所述相乘表示為乘法運算和加法運算;所述錯誤位置對應(yīng)的伽 羅瓦域為錯誤位置的集合; 錯誤位置計算子模塊,用于通過尋找錯誤位置門陣列中的異或門計算所述乘法運算, 通過尋找錯誤位置門陣列中的與門計算所述加法運算;在所述加法運算的結(jié)果為零時,將 對應(yīng)的位置作為錯誤位置。
10. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述糾錯模塊包括: 錯誤位置輸入子模塊,用于將所述錯誤位置輸入到非門中; 糾錯子模塊,用于在非門中對所述錯誤位置上的數(shù)據(jù)取反進行糾錯。
【文檔編號】H03M13/15GK104378121SQ201310351283
【公開日】2015年2月25日 申請日期:2013年8月13日 優(yōu)先權(quán)日:2013年8月13日
【發(fā)明者】蘇志強, 劉會娟 申請人:北京兆易創(chuàng)新科技股份有限公司