循環(huán)碼編解碼器設(shè)計(jì)_第1頁(yè)
循環(huán)碼編解碼器設(shè)計(jì)_第2頁(yè)
循環(huán)碼編解碼器設(shè)計(jì)_第3頁(yè)
循環(huán)碼編解碼器設(shè)計(jì)_第4頁(yè)
循環(huán)碼編解碼器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

VHDL語(yǔ)言的循環(huán)碼編譯碼器設(shè)計(jì).參考資料字通信》第二版第7章第4節(jié)循環(huán)碼 (循環(huán)碼原理)《通信原理》第六版第11章第6節(jié)循環(huán)碼(循環(huán)碼原理循環(huán)碼的編解碼方法)《EDA技術(shù)與應(yīng)用》第三版第7章第1節(jié)組合邏輯電路設(shè)計(jì)應(yīng)用(編碼器設(shè)計(jì)譯碼器設(shè)計(jì))/wlkc/course/180002088-1/203-03.htm(網(wǎng)上資料).設(shè)計(jì)原理2.1編碼器的設(shè)計(jì)VHDL是一種行為描述語(yǔ)言,其編程結(jié)構(gòu)類(lèi)似于計(jì)算機(jī)中的C語(yǔ)言,在描述復(fù)雜邏輯設(shè)計(jì)時(shí),非常簡(jiǎn)潔,具有很強(qiáng)的邏輯描述和仿真能力,是未來(lái)硬件設(shè)計(jì)語(yǔ)言的主流。在本設(shè)計(jì)中,應(yīng)用VHDL語(yǔ)言,在Altera公司的QuartusII7.2軟件環(huán)境下,按照自頂而下的設(shè)計(jì)方法,對(duì)編譯碼器進(jìn)行設(shè)計(jì)仿真。根據(jù)給定的(n,k)值選定生成多項(xiàng)式g(x),即從xn+1的因子中選一個(gè)(n-k)次多項(xiàng)式作為,假設(shè)給定信息碼組為m(x)=(mk-1,mk-2...m0),其次數(shù)小于k,則xn-km(x)的次數(shù)必定小于n。用g(x)除xn-km(x),得到余式r(x),r(x)的次數(shù)必定小于g(x)的次數(shù),即小于(n-k)。將此余式r(x)加于信息位之后作為監(jiān)督位,即r(x)和xn-km(x)相加,得到多項(xiàng)式必定是一個(gè)碼組多項(xiàng)式。因?yàn)樗囟鼙籫(x)整除,且商的次數(shù)不大于(k-1)。根據(jù)以上原理,循環(huán)碼的編碼步驟可以歸納如下:用xn-k乘信息碼m(x),這一運(yùn)算實(shí)際上是在信息碼后附加上(n-k)個(gè)“0”用g(x)除xn-km(x)得到商Q(X)編出的碼組T(x)=xn-km(x)+r(x)。由此可見(jiàn),編碼的核心是如何確定余式r(x),找到r(x)后,可直接將其所代表的編碼位附加到信息位之后,完成編碼。編碼電路可采用(n-k)級(jí)反饋移位寄存器和異或門(mén)(模2加)組成的除法電路實(shí)現(xiàn)。2.2譯碼器的設(shè)計(jì)接收端譯碼的要求有兩個(gè):檢錯(cuò)和糾錯(cuò)。檢錯(cuò)若接收碼組R(x)與發(fā)送碼組相同,即R(x)=T(x),則R(x)必定能被g(x)整除;若在傳輸中發(fā)生錯(cuò)誤,即R(x)尹T(x),則R(x)被g(x)除時(shí)可能除不盡而有余項(xiàng),從而發(fā)生錯(cuò)誤。因此,可以以余項(xiàng)是否為零來(lái)判斷接收碼組中有無(wú)錯(cuò)誤。但是,有錯(cuò)碼的接收碼組也有可能被g(x)整除,這時(shí)的錯(cuò)碼就不能檢出。這種錯(cuò)誤稱(chēng)為不可檢錯(cuò)誤,其誤碼必定超過(guò)了此編碼的檢錯(cuò)能力。糾錯(cuò)為了能夠糾錯(cuò),要求每個(gè)可糾正的錯(cuò)誤圖樣必須與一個(gè)特定余式有一一對(duì)應(yīng)關(guān)系。只有存在上述一一對(duì)應(yīng)的關(guān)系時(shí),才可能從上述余式唯一地決定錯(cuò)誤圖樣,從而糾正錯(cuò)碼。以下是為糾錯(cuò)而設(shè)計(jì)的。由于(7,4)循環(huán)碼的最小碼距為d0=3,由d0>2t+1得,此循環(huán)碼只能糾正一個(gè)錯(cuò)碼。當(dāng)經(jīng)過(guò)信道傳輸后發(fā)生錯(cuò)誤時(shí),接收碼組多項(xiàng)式R(x)不再是的倍式。其中S(x)是R(x)除以g(x)后的余式,是不大于r-1次的碼組多項(xiàng)式,稱(chēng)為伴隨多項(xiàng)式或校正子多項(xiàng)式。時(shí)接收碼組多項(xiàng)式可表示為發(fā)送碼組多項(xiàng)式T(x)與差錯(cuò)多項(xiàng)式E(x)之和,艮"R(x)=T(x)+E(x)綜合以上式子,我們由就可進(jìn)一步確定E(x):S(x)=rem[T(x)+E(x)]=rem[E(x)]g(x) g(x)對(duì)于一個(gè)S(x),E(x)可能有多種形式。由S(x)確定E(x)時(shí)同樣使用最大似然比準(zhǔn)則。對(duì)最小碼重的差錯(cuò)多項(xiàng)式E(x),由上式求出對(duì)應(yīng)的伴隨多項(xiàng)式S(x),將E(x)與S(x)的對(duì)應(yīng)關(guān)系列成譯碼表。當(dāng)收到任一碼組R(x)后,利用S(x)=rem[R(x)/g(x)]求出S(x),對(duì)照譯碼表找到E(x),再用R(x)=T(x)+E(x)求T(x),即T(x)=R(x)+E(x)為已經(jīng)糾錯(cuò)的原發(fā)送碼組。糾錯(cuò)完畢之后,只需要取糾錯(cuò)后的前四位,即為所譯碼元。而在實(shí)際電路設(shè)計(jì)過(guò)程中,由于二進(jìn)制只有0與1兩種狀態(tài),知道錯(cuò)誤位置后,可以直接對(duì)該位置的碼元取反即可。綜上所述,糾錯(cuò)的步驟如下:把接收碼組R(x)送入除法電路,得到余數(shù)D1D2D3即為伴隨矩陣S(x)。由典型生成矩陣G和典型監(jiān)督矩陣HT之間的關(guān)系可進(jìn)一步求得,再由S=E.HT可得錯(cuò)誤圖樣E(x),這樣就可以確定錯(cuò)碼的位置。(3)根據(jù)錯(cuò)誤的碼位,對(duì)該碼位的碼元取反輸出便可得到原發(fā)送碼組T(x)。其中,T(x)的前四位即為譯出碼元m(x)。.設(shè)計(jì)步驟3.1VHDL設(shè)計(jì)流程循環(huán)碼編譯系統(tǒng)的結(jié)構(gòu)循環(huán)碼編譯系統(tǒng)結(jié)構(gòu)圖如圖所示。由定時(shí)控制單元信碼發(fā)生器、編碼器單元、模擬錯(cuò)碼發(fā)生器、錯(cuò)碼位置計(jì)算單元、糾錯(cuò)單元組成。其中錯(cuò)碼位置計(jì)算單元和糾錯(cuò)單元合在一起構(gòu)成譯碼器。信道3.2程序流程分析該程序流程主要通過(guò)輸入一組四位信息碼組,然后根據(jù)編碼后的余數(shù)輸出對(duì)編碼進(jìn)行檢錯(cuò)判斷,若輸出余數(shù)為000則無(wú)錯(cuò)碼。3.3程序設(shè)計(jì)根據(jù)程序流程圖編寫(xiě)程序,源程序如下所示:LIBRARYieee;USEieee.std_logic_1164.all;ENTITYcycleISPORT(datain:INSTDLOGIC;clk,clr,clr2:INSTD_LOGIC;enable1:instd_logic;enable2:instd_logic;tout:outstd_logic_vector(6downto0);judge:outstd_logic_vector(1downto0));ENDcycle;ARCHITECTUREarc_cycleOFcycleISSIGNALd0,d1,d2:STD_LOGIC;signalq1,q2,q0:STD_LOGIC_vector(7downto0):="00000000";signaldataout:std_logic;signaldin:std_logic_vector(6downto0);signalrout:std_logic_vector(2downto0);--signaldin:std_logic_vector(6downto0):="0000000";BEGINu1:process(clk)variableg:std_logic;variablem:integerrange1to8;beginif(clk'eventandclk='1')thenifclr=Ttheng:='0‘;m:=1;dataout<=,0,;elseifm<=8thenifm<=4thendataout<=datain;casemiswhen1=>din(6)<=dataout;when2=>din(6)<=dataout;when3=>din(5)<=dataout;when5=>din(3)<=dataout;when6=>din(2)<=dataout;when7=>din(1)<=dataout;when8=>din(0)<=dataout;endcase;g:=datainXORd2;elsedataout<=d2;casemiswhen1=>din(6)<=dataout;when2=>din(6)<=dataout;when3=>din(5)<=dataout;when4=>din(4)<=dataout;when5=>din(3)<=dataout;when6=>din(2)<=dataout;when7=>din(1)<=dataout;when8=>din(0)<=dataout;endcase;g:='0';endif;d2<=d1;d1<=gXORd0;d0<=g;m:=m+1;endif;endif;endif;endprocessu1;u2:process(clk)beginif(clk'eventandclk='1')thenifenable1='1'thenforiin1to7loopq2(i)<=q1(i-1);q1(i)<=q2(i-1)xorq0(i-1);q0(i)<=din(7-i)xorq2(i-1);endloop;rout(0)<=q0(7);rout(1)<=q1⑺;rout(2)<=q2(7);q0(0)<=q0(7);q2(0)<=q2(7);q1(0)<=q1⑺;endif;endif;endprocessu2;u3:process(clk)beginif(clk'eventandclk='1')thenifenable2='1'then--enable2if(clr2=T)thentout<="0000000";judge<="00";elsecaseroutistout<=din(6downto1)&(notdin(0));judge<="11";when"101"=>tout<=(notdin(6))&din(5downto0);judge<="11”;when"0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論