一種並行BCH編解碼的設計與實現(下)

2020-11-24 電子產品世界

接上篇
2.2 計算錯誤位置多項式[4]
在上一步的伴隨式的計算中,若 Si 的值不全為0,則 表示信息在傳輸過程中發生了錯誤,需要求出錯誤位置多項
式,有關關鍵方程[4-5]這裡不再贅述,設位置多項式為:

本文引用地址:http://www.eepw.com.cn/article/201703/344967.htm


則回到步驟2。
2.3 求解錯誤位置(並行錢氏搜索)
在 [ 5 ] 中 所 涉 及 到 的 是 錢 氏 搜 索 的 基 本 算 法 , 最 大 的 缺 陷 就 是 一 次 只 能 尋 找 一 個 位 置 , 本 文 使 用 的 碼 字 是
(4304,4096,16),碼長為4304,完成一次錢氏搜索需要消 耗4096個時鐘周期,是難以容忍的,所以本文在原來的算 法上進行了改進,在同樣的時間內能夠完成對8個位置的搜 索,完成一次錢氏搜索的時間降低為原來的八分之一,即538個周期。
編解碼理論知

本文中的BCH(4304,4096,16)是一個縮短碼,原碼是(8191,7983,16)。所以在使用錢氏搜索尋找錯誤位置的時候,並不需要把全部的元素都搜索一遍,本文所用的碼字相 對於原碼縮短了3387位,只需要從第3387位開始搜索即可, 從而在很大程度上提高了錢氏搜索的效率。


本文設計的並行錢氏搜索電路結構如圖6所示。
對圖6的描述如下: 第一個時鐘周期, 二路選擇器把 最左邊有限域乘法器得出的結果存入寄存器中,之後每一 個周期,二路選擇器選擇後面反饋過來的數據。現在只看 第一排,有8個有限域乘法器,且每一個乘法器計算出來之 後都會送到下面的加法器中進行運算,所以實現了8位並行 計算的功能。一共有15排這樣的有限域乘法器,計算過程 跟第一排完全相似。加法器得出的結果用 表示,如果輸出 結果為0表示對應的位沒有出錯,如果為1證明對應的位是 錯誤的,也就找到了錯誤的位置。假如搜索到8位都沒有出 錯,那麼輸出結果為00000000,如果全部出錯,輸出結果為11111111。


3 BCH編解碼器的仿真與分析
數學軟體Matlab嵌有BCH編解碼函數,可以完成計算 BCH碼的生成多項式、對數據進行編碼解碼等功能。ISE中 的仿真結果出來後,與matlab中生成的數據進行對比,可以 驗證仿真結果的正確與否。
3.1 BCH編碼器測試結果與分析
首先向matlab程序輸入4096Byte的數據,對這4096Byte 的數據進行編碼,將編碼後的校驗位與通過所設計的BCH 編碼器編碼後產生的校驗位進行對比,以此驗證編碼器的功 能。若兩者生成的校驗位相同,則認為所設計的BCH編碼器 能夠正確實現其功能。假 設 輸 入 的 4 0 9 6 By t e 的 數 據 全 部 為 8' b11111111 , 由mat l ab 程序計算得到的校驗位如下: 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0

00010000 01101110 01110111 01111111 00000100 00001000
11111001 11000101 10100011 01100000 10110110 11011011
00101111 10001010 11111101 00011100 10100110 00011111
00011011 01000011 11100001 11011111 10001111 11010001
利 用 I S E 對 B C H 編 碼 器 進 行 仿 真 , 得 到 的 結 果 如 圖 7(177頁)所示。
對比公式4中得到的結果和matlab程序得到的結果,發現兩者結果相同,因此,可以證明所設計的BCH編碼器是正確的。
3.2 BCH解碼器的測試結果與分析
當我們把信息位和校驗位放在一塊進行解碼的時候,得到的結果如圖所示,錯誤位置值的八位數據全部為0,如圖8(177頁)所示。
這 時 我 們 故 意 把 校 驗 位 的 最 後 8 位 1 1 0 1 0 0 0 1 改 為11011110,然後進行與上面同樣的操作,得到的結果如圖9
所示。如圖9(177頁)所示發生錯誤的8位對應的錯誤位置的 數據位為00001111,其他錯誤位置的數據位均為00000000, 由此證明錯誤位置已經找到,只要把發生錯誤的數據位與錯 誤位置的數據位進行異或就能得到正確的數據。以 上 測 試 可 以 得 出 , 我 們 設 計 的 B C H 譯 碼 器 是 正 確 的,能夠找到錯誤的位置並進行修正。

4  結束語
本文首先測試了並行編碼,將得出的數據與matlab中產 生的編碼數據進行對比,發現兩者的結果完全一致,然後對 解碼進行同樣的過程,發現所測試的數據也是正確的。但有 一個問題尚未解決,那就是測試的數據量比較小,並不能夠 完全保證所寫的程序是正確的,而且當錯誤的個數超出糾錯 能力的時候,能夠發現錯誤,但是無法糾正過來。

參考文獻:
[1]王新梅,肖國鎮,糾錯碼—原理與方法[M]. 西安:西安電子科技大學 出版社,2001.
[2]王傑.NAND  Flash主控中BCH編解碼器的研究和ASIC實現[D]
.浙江:浙江大學電氣學院,2010.
[3]胡珊珊. B-T2系統中BCH解碼器的設計與實現[D]. 武漢:武漢理工大 學信息工程學院,
2012. [4]唐建軍,紀越峰,超高速BCH碼解碼改進算法研究[J].北京郵電大學 學報,2004,25
(9):21-27.
[ 5 ] Y n n i  C h e n , K e s h a b  k . P a r h i . A r e a  E f f i c i e n t  P a r a l l e l D e c o d e r  A r c h i t e c t u r e  f o r  L o n g  B C H  C o d e
s [ J ] . I E E E International Conference on Acoustics,Speech,and Signal
Processing,2004,5(4):481-483.
[6]殷民.  快閃記憶體控制器中差錯控制編碼研究[D]. 合肥:中國科學技術大學 信息科學技術學院,
2012.
[7]  Yin, Min;Xie,  Menwang;Yi,Bo. Optimized  algorithms  for binary BCH codes
[C].Beijing: Circuits  and Systems (ISCAS), 2013 IEEE International  Symposium on
,2013.
[8]Wu,Tao, Efficient Recording of Parallel  Chien Search Results of BCH Code by
Three-Staged and  Group-Sorted  Circuit[C]. chengdu:Computational Science and Engineering(CSE),2014. [9]Zhu,Yuelin,An  Intellectual  Biography[D].Boston:Harvard
University,2002.


相關焦點

  • JPEG軟體解碼及其在ARM7上的實現
    1 硬體設計及實現 以LPC2478為控制核心的小型嵌入式系統硬體實現框圖如圖1所示。LVDS信號是一種能夠滿足大數據傳送需求的差分信號技術,具有功耗低、可靠性高及高速傳送等特點。 在LPC2478控制LCD顯示模式下,LCD顯示數據的位寬度為16 bit,採用數據格式為R:G:B=5:6:5。
  • 基於FPGA流水線結構並行FFT的設計與實現
    FFT的FPGA實現同時具有軟體編程的靈活性和ASIC電路的快速性等優點,成為快速實時實現FFT的一種重要手段。文章意在設計一種高速率高吞吐率的FFT處理器,以滿足實時處理要求。設計採用流水線結構,流水線結構一般在FFT實現的每一級均採用一個運算單元,前一級算結果直接用於下一級運算而無需等到本級運算全部完成,因此,可提高運算速度。遞歸結構的運算的時間較長,並行迭代結構對數據存取帶寬要求很高,全並行結構資源消耗過大,均不適用。
  • 被壓縮的視覺:視頻編解碼技術
    所以我們日常從手機和電腦等電子設備上獲得的視頻信息都是被壓縮後再傳輸和存儲的,壓縮這些視頻信息的技術便稱為視頻編解碼技術。1. 顏色空間我們人眼的視覺信息是由視杆細胞和視錐細胞獲得的。視杆細胞主要感受光線的明暗變化,獲取視覺的亮度信息,而視錐細胞可以感受到顏色。根據仿生的原理,計算機採集視頻信號也採用亮度信息和速度信息分別採集的方式。
  • 千兆乙太網MAC的FPGA實現與設計
    摘要:在數字系統互聯設計中,高速串行I/O技術取代傳統的並行I/O技術成為當前發展的趨勢,與傳統並行接口技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的能力。乙太網作為一種高速的串行傳輸方式,是當前最基本、最流行的區域網組網技術,為了適應各種新開展的業務如流視頻等,其速率也在不斷提高。
  • 異步串行通信協議的設計與實現
    引言      在單片機控制系統中,CPU和外部通信主要有兩種方 式:並行通信和串行通信。並行通信,即數據的各位同時傳 送;串行通信,即數據按位次序傳送。
  • 淺談PCBA設計的RLC電路並行設計
    打開APP 淺談PCBA設計的RLC電路並行設計 上海韜放電子 發表於 2021-01-04 14:28:39 對於PCBA設計
  • 設計原理:如何在小尺寸DSP上實現2D條形碼解碼
    有兩種版本的數據矩陣,一種是基於循環冗餘校驗(CRC)和卷積糾錯,另一種是基於裡德所羅門(RS)糾錯。對於掃描、讀取和提取數據位,基於 CRC 與基於 RS 的數據矩陣解碼沒有區別。提取數據位之後,基於 CRC 的解碼與基於 RS 的解碼路徑不同,因為它們的交織和糾錯方法不同。
  • 結合實際時統項目提出了一種基於FPGA的高速時間統一系統設計方案
    採用FPGA實現授時、分頻,產生時間信號和各種同步信號,可以使時統接口模塊集成度更高,可維護性更強。 本文結合實際時統項目提出了一種基於FPGA的高速時間統一系統設計方案,它以Altera[1]公司Cyclone系列FPGA[2-3]晶片為核心,採用原理圖和Verilog語言編程[4]實現。
  • 用MC145026/27實現多機並口線通信
    摘要:介紹了一種用三態編解碼晶片MC145026/27實現的基於並口的多機線通信系統的組成原理和實現因此,本裝置選用並行接口通信,從而使得電路簡單易做、可靠性高。2 系統組成如圖1所示,本裝置主要由數據編解碼和發射接收兩大模塊組成。其中,數據編解碼模塊用來完成數據信息的輸入輸出、地址編碼、地址識別以及數據並/串轉換等任務;發射接收模塊是用來完成串行數據的調製發射及接收解調等任務。
  • 基於FPGA的並行掃頻DDS的實現
    因此,為了滿足電子幹擾系統更高(如400MHz系統時鐘)的要求,應該採用並行處理技術。1 並行DDS電路工作原理並行處理(Parallel Processing)是計算機系統中能同時執行兩個或更多個處理機的一種計算方法。處理機可同時工作於同一程序的不同方面。並行處理的主要目的是節省大型和複雜問題的解決時間。
  • AVS3+5G+8K,第三代國家數字視頻編解碼技術標準基準檔次制定完成
    日前,從剛剛閉幕的數字音視頻編解碼技術(AVS)標準工作組第68次會議傳來消息,工作組也已完成我國第三代國家數字視頻編解碼技術標準AVS3基準檔次的制定工作。對第一版參考軟體的測試表明,AVS3性能已經超過AVS2標準30%左右。
  • 使用FPGA實現高效並行實時上採樣
    通常採樣指的是下採樣,也就是對信號的抽取。其實,上採樣和下採樣都是對數位訊號進行重採,重採的採樣率與原來獲得該數位訊號的採樣率比較,大於原信號的稱為上採樣,小於的則稱為下採樣。上採樣是下採樣的逆過程,也稱增取樣或內插。
  • 基於CMMB系統的LDPC解碼器的設計與實現
    摘要:根據CMMB中LDPC碼校驗矩陣的結構特點,提出了一種部分並行解碼結構的實現方法,並在XILINX的VirtexIV的XC4VLX80型FPGA上實現了這種結構。
  • 多路數字視頻光纖傳輸系統的設計,軟硬體架構
    (2)項目的主要內容:項目的內容是設計了一種多路數字視頻光纖傳輸系統,典型的設計是8路數字視頻的光纖傳輸,技術上主要的利用數據壓縮和時分復用技術實現多路數字視頻的實時傳輸,設計的內容主要包括A/D和D/A、並串/串並、視頻壓縮/解壓縮、信道編碼/解碼以及電光/光電五個部分,其中並串轉換、視頻壓縮解壓縮、信道編碼採用XC2VP30 FPGA
  • 基於FPGA的幀內預測編碼器硬體架構設計詳解
    ,而FPGA 以其高速的計算速度和強大的並行處理能力成為H.264 和AVS 編解碼的理想平臺。本文在FPGA 平臺上採用資源共享、高並行和多流水線結構實現了亮度幀內預測算法。該方法在分析AVS 幀內亮度5 種預測模式的基礎上,將像素預測與模式判決在一個模塊中完成,並且利用各模式預測的相似性,實現運算單元共享和多種模式並行執行,兼顧了處理速度和實現代價。仿真及綜合結果表明該設計能夠完全滿足標清(704×576,30f/s) 數字視頻的實時處理要求。
  • 基於VHDL語言的卷積碼編解碼器的設計
    在某擴頻通信系統中,我們使用VHDL語言設計了(2,1,6)卷積碼編解碼器,並經過了在FPGA晶片上的驗證實驗。 2 卷積編碼器卷積碼通常記作(n0,k0,m),其編碼效率為k0/n0,m稱為約束長度。
  • 可重構的編碼非相干光片陣列實現並行螢光體成像
    通過編碼調製單元,對每片光片加載特定的調製頻率,實現對照明光編碼,二維圖像傳感器獲取的螢光圖像序列包含樣品的三維信息,對螢光數據解碼即可實現三維螢光成像。所研製的顯微鏡具有無掃描以及非相干光照明等特點,在器官三維結構、發育生物學、植物生理等需要低損傷的領域具有廣泛的應用前景。
  • 利用Xilinx FPGA實現高效並行實時上採樣
    本文介紹一種使用Virtex-6器件和免費WebPACK工具實現實時四倍上採樣的方法。本文引用地址:http://www.eepw.com.cn/article/201610/308387.htm許多信號處理應用都需要進行上採樣。
  • 一種紅外遙控式步進電機控制器的設計與實現
    摘要:介紹了以89C2051單片機為核心,針對步進電機在手動和自動控制模式的基礎上,設計出能夠實現遙控操作的控制器。以四相五線步進電機為研究對象,以集成紅外接收器接收遙控器發來的信號作為輸入信號,並送單片機進行解碼,單片機根據接收的輸入信號進行運算處理後,發出控制命令送步進驅動器,驅動步進電機工作。實現了步進電機的手動、自動及遙控方式下的正反轉,還實現定時時鐘控制以及LCD狀態顯示等功能。
  • 改裝車燈解碼是什麼意思?解碼器是幹什麼用的?為什麼要解碼?
    目前車燈改裝氙氣燈或者LED車燈常用的解碼方法有:1.加電容器解碼:通常的方法是加電容過計算機對燈泡的檢測,並且加裝方法是並行的。 (在電源線的正極和負極並聯一個電容器)根據驅動計算機輸出的檢測信號的大小,通常使用22000UF和4700UF。這種車燈解碼方法針對的是脈衝檢測和波形檢測模型。