【正文】
output serial dataEND ffce。ENTITY ffce IS實體說明PORT (clk, ce, din: IN BIT。 —調(diào)用庫函數(shù)USE IEEE. STD_LOGIC_1164. ALL 。譯碼器程序 File generated by program. The decoder for BCH code (15,7), t=2 with optimisation. GF(2^4) is generated by polynomial [1+x+...] 11001。 END PROCESS。 ELSE count= count+1。139。139。 block needed only for symulation remove it for synthesis !!!!!!!! PROCESS BEGIN WAIT UNTIL clk39。cout(3)= cout(2) AND NOT reset。北華航天工業(yè)學(xué)院畢業(yè)論文37cout(1)= (cout(0) XOR cout(3)) AND NOT reset。139。 PROCESS BEGIN increment or reset cout in ring, cout=L^countWAIT UNTIL clk39。END IF。 THENvdin1= 39。ELSIF vdinS=39。 THENvdin1= 39。IF vdinR=39。EVENT AND clk=39。 vdinS=1 if cout==n1vdin= vdin1 AND NOT reset。 remove it for syntesis BEGINvdinR= NOT cout(0) AND NOT cout(1) AND cout(2) AND cout(3)。 SUBTYPE countn IS INTEGER RANGE 0 TO n。 cout in GF(2^m)。 END ecount。ENTITY ecount ISPORT (clk, reset: IN BIT。 —調(diào)用庫函數(shù)USE IEEE. STD_LOGIC_1164. ALL 。 COUNTER MODULO n FOR ENCODER BCH CODE (n,k) 模 n 計數(shù)器 pe parallel data in。 END PROCESS。139。 Polynomial generating encoder: 1+a1*x+a2*x^2+...(多項式 g(x)生成編碼器)100010111 Number of XOR gates= 3北華航天工業(yè)學(xué)院畢業(yè)論文36 PROCESS BEGIN WAIT UNTIL clk39。rin(6)= rout(5) XOR rin0。rin(4)= rout(3) XOR rin0。rin(2)= rout(1)。rin(0)= rin0。 BEGINdout= rout(7)。ARCHITECTURE eringa OF ering ISSIGNAL rin, rout: BIT_VECTOR(0 TO 7)。dout: OUT BIT)。USE IEEE. STD_LOGIC_UNSIGNED. ALL 。 File consists following entities: enc, ering, ecount, esr ring for encoder 循環(huán)編碼,g(x)函數(shù)的產(chǎn)生LIBRARY IEEE 。 Ren, .。 Dalton, .。 Zhang, H.。 Leea, .。SS code1ISSSE′01 Proc1 pp1460—1464, Tokyo, Japan ,July 1 2022[10]Kuixi Yin1 The High Capacity and High Speed diffCDMA with the BCH Double Error Correct ion and Continuous Phase Primary Modulation 1IEEE PIMRC′99, P roceeding1 Vol13, pp1556—1560, Osaka of Japan ,Sep 1 1999[11]Steiera, .。感謝我的指導(dǎo)老師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。首先感謝各位指導(dǎo)老師,各位同學(xué)給我的支持和幫助,感謝他們在這幾個月份給與的關(guān)鍵性指導(dǎo)和提議。在今后的學(xué)習(xí)工作中,我將銘記恩師對我的教誨和鼓勵,盡自己最大的努力取得更好的成績。北華航天工業(yè)學(xué)院畢業(yè)論文33致 謝在此我要向我的導(dǎo)師張增良副教授致以最衷心的感謝和深深的敬意!本文研究設(shè)計工作是在我的導(dǎo)師張增良副教授的精心指導(dǎo)和悉心關(guān)懷下完成的,從開題伊始到論文結(jié)束,我所取得的每一個進(jìn)步、編寫的每一段程序都無不傾注著導(dǎo)師辛勤的汗水和心血。第三,),(21tsS?? ts21,? ?通過求解 的根,確定錯誤位置數(shù) ,并糾正 中的錯誤。第一,由接收多項式 計算校正子)(Xr。對不同的設(shè)計方法進(jìn)行分析和比較,選擇優(yōu)化的設(shè)計方法,利用 VHDL 分別設(shè)計(15,7)BCH 碼的編碼器和譯碼器,并對兩部分進(jìn)行單獨仿真調(diào)試,實現(xiàn)其相應(yīng)的功能。圖 59 三 位 錯 碼 譯 碼 器 仿 真 圖 小結(jié)本章著重進(jìn)行軟件上實現(xiàn)設(shè)計的模塊分析、代碼編寫、調(diào)試編譯、時序功能仿真、樣圖分析、驗證分析等工作內(nèi)容。圖 58 兩 位 錯 碼 譯 碼 器 仿 真 圖北華航天工業(yè)學(xué)院畢業(yè)論文31如圖 59 所示。圖 57 一 位 錯 碼 譯 碼 器 仿 真 圖如圖 58 所示。)7,15(圖 56 譯 碼 器 仿 真 圖如圖 57 所示。圖 55 編 碼 器 仿 真 圖北華航天工業(yè)學(xué)院畢業(yè)論文30 譯碼器仿真圖如圖 56 所示。圖 54 譯 碼 器 頂 層 模 塊 編碼器仿真圖如下圖 55 所示。 編碼器頂層文件生成模塊頂層文件生成模塊由 生成函數(shù)模塊及 n 計數(shù)模塊程序組成,實現(xiàn) BCH 碼編)(xg )7,15(碼,當(dāng)輸入 7 位信息位時,輸出相對應(yīng)的 15 位碼字,可參照第 章節(jié)中計算出的碼字驗證其正確性。 error has been founderrcheck= NOT cef。 single errerr2= ff1 AND ch1_or(3) AND ff3 AND NOT neq。 cefa clock enable p1, p3 cepa=1 if start of a new word or errcefa = cef OR err。gen:FOR i IN 1 TO 3 GENERATEch1_or(i)= ch1_or(i1) OR ch1(i)。 din_reset= din AND NOT reset。 h1: dch1PORT MAP (clk, err, errcheck, pe, syn1, ch1)。s1: dsyn1PORT MAP (clk, pe, din_reset, syn1)。f1: ffcePORT MAP (clk, cefa, ch1_or(3), ff1)。b1: dbufPORT MAP (clk, err, vdout1, din_reset, dout)。 END COMPONENT。 din: IN BIT_VECTOR(0 TO 3)。 END COMPONENT。北華航天工業(yè)學(xué)院畢業(yè)論文27 din: IN BIT_VECTOR(0 TO 3)。 END COMPONENT。COMPONENT dsyn3 syndrom calculation 綜合計算電路 3PORT (clk, pe, din: IN BIT。 dout1: OUT BIT_VECTOR(0 TO 3))。 END COMPONENT。COMPONENT dbuf buffer shift registers 緩沖寄存器PORT (clk, err, vdout, din: IN BIT。 cef, pe, vdout, vdout1: OUT BIT)。 END COMPONENT。COMPONENT ffce PORT (clk, ce, din: IN BIT。 dout: OUT BIT)。 Chien output 檢錯SIGNAL ch1_or: BIT_VECTOR(0 TO 3)。 SIGNAL syn1, syn3: BIT_VECTOR(0 TO 3)。 pe parallel enable srsc。 END dec。ENTITY dec ISPORT (clk, reset, din: IN BIT。 —調(diào)用庫函數(shù)USE IEEE. STD_LOGIC_1164. ALL 。END enca。dout= (NOT vdin1 AND rout) OR (vdin1 AND rin)。EVENT AND clk=39。vdin= vdin1。rin= din AND NOT reset。 BEGINc1: ecountPORT MAP (clk, reset, vdin1)。 dout: OUT BIT)。 END COMPONENT。 rllring loop lock,鎖環(huán) peparallel enable din,并行 dinCOMPONENT ecount counter encoder,計數(shù)器編碼PORT(clk, reset: IN BIT。 output serial data,串行數(shù)據(jù)輸出END enc。ENTITY enc ISPORT (clk, reset, din: IN BIT。 —調(diào)用庫函數(shù)USE IEEE. STD_LOGIC_1164. ALL 。 b1: dbuf s1: dsyn1 s3: dsyn3 c1: dcount h3: dch3 e1: deq f2: ffce f1: ffce h1: dch1 din dout syn1 syn3 ch1 ch3 neq 北華航天工業(yè)學(xué)院畢業(yè)論文22圖 46 雙 糾 錯 電 路 小結(jié)本章主要介紹了基于 BCH 碼的編譯碼原理,理論分析,數(shù)學(xué)推論,主模塊電路設(shè)計樣圖,編碼器運(yùn)用反饋移位寄存器實現(xiàn)了系統(tǒng)碼字的編碼,譯碼器電路中應(yīng)用到了迭代譯碼算法、牛頓恒等式、錢氏搜索譯碼、雙糾錯電路等經(jīng)典模擬電路分析及應(yīng)用。dsyn1,dsyn2 為計算電路,dch1,dch3 為錢氏搜索電路,deq 為比較糾錯電路,ffce 為 D 觸發(fā)器序列產(chǎn)生電路,dcount 為 n 計數(shù)器模塊,dbuf 為緩沖器寄存器。如圖 45 差311,0ss?311錯定位電路所示。如圖 44 錢氏搜索譯v?? ?碼算法電路所示。在從緩沖區(qū)中讀出 之前,t 個乘法器工作一t?,21? 1?nr次。圖 43 迭 代 譯 碼 算 法 電 路 錢氏搜索譯碼電路此電路以一種簡單、直接的方式實現(xiàn)錯誤位置校驗過程。圖 42 綜 合 計 算 電 路 b0 b1 b2 bnk1 g1 g2 gnk1 xnk i(x) c(x) S1 S2 1 2 S1 S2 S3 S4 r(x) 北華航天工業(yè)學(xué)院畢業(yè)論文20 迭代譯碼算法電路此電路實現(xiàn)伯利坎普迭代算法(BMA) ,當(dāng)錯誤位置多項式 經(jīng)過 t1 次迭代后在)(x?C 中得到確認(rèn)。第三次含有)0,(14r 3??,最后一個 移入電路時,寄存器中含有 向量表示式。在第一次),(410r?移位之后,寄存器中含有 。圖 41 編 碼 器 電 路 綜合計算電路此綜合計算電路主要實現(xiàn)輸入 求出伴隨多項式 即 在該電路的執(zhí)行)(xris),(4321s過程中,寄存器初試時為空。北華航天工業(yè)學(xué)院畢業(yè)論文19 主模塊電路設(shè)計方框圖 編碼器電路此編碼器電路主要利用線性反饋移位寄存器(LFSR)實現(xiàn)了 式。),(l??? )(x這個方法將 的各次方代入 中計算其結(jié)果是否為1,相當(dāng)于錯誤位置多項式對)(x?域元素的全體搜索了一遍,因此稱為搜索法,也稱錢氏搜索法。若 ,則 有錯;1)1( ????lltttl ???? 2?nr,則 無錯。若是,則 對應(yīng)著錯誤位置,即?11,??tt 1n?碼元 出錯;否則無錯。l?根據(jù)本此設(shè)計要求,代入數(shù)據(jù)整理得 ,再根據(jù)牛頓恒等公式得?????????????43123ss????????)()( )(32342 3241s? 搜索法譯碼原理設(shè)接收多項式 ,判斷第一位 是否有錯誤,即0121)( rxxrxrnn?????? 1?nr確定 是否對應(yīng)著錯誤位置,這等效于檢驗 是否是 的根。如果 和錯誤個數(shù) v 已知,則利用上述 v 個方程組即可求出 v 個未知is數(shù);如果 v 未知,假設(shè) v=t,根據(jù)自回歸建模技術(shù),可以由伴隨式構(gòu)造出一個矩陣,利北華航天工業(yè)學(xué)院畢業(yè)論文17用前 t 個伴隨式來得到下一個伴隨式,經(jīng)過數(shù)學(xué)運(yùn)算,可得到有 t 個未知數(shù)的 t 個方程構(gòu)成的一個線性方程組,用矩陣表示為