通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):27715544 上傳時(shí)間:2021-08-19 格式:DOC 頁數(shù):12 大小:266.75KB
收藏 版權(quán)申訴 舉報(bào) 下載
通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)_第1頁
第1頁 / 共12頁
通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)_第2頁
第2頁 / 共12頁
通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)_第3頁
第3頁 / 共12頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《通信原理課程設(shè)計(jì)報(bào)告基于QuartusII的(74)漢明碼的編解碼器的設(shè)計(jì)(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、通信電子線路實(shí)驗(yàn)與設(shè)計(jì)報(bào)告 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 通信原理課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)題目:基于Quartus II的(7,4)漢明碼的編解碼器的設(shè)計(jì) 班 級(jí):

2、 學(xué) 號(hào): 姓 名: 指導(dǎo)教師姓名: 錢志文 任艷玲 設(shè)計(jì)地點(diǎn): 目錄 序言 …………………………………………………………………………2 第一章 軟件簡(jiǎn)介 ……………………………………………………3 第二章 工作原理 ……………………………………………………4 第

3、三章 基于Quartus II的(7,4)漢明碼的編解碼器的設(shè)計(jì)的仿真實(shí)現(xiàn) 3.1 仿真方案原理 ……………………………………5 3.2 仿真的功能程序 ……………………………………6 3.3 仿真的結(jié)果與分析 ………………………………7 參考文件 …………………………………………………………………10 體會(huì)與建議 ………………………………………………………………10 附錄 …………………………………………………………………10 序言 漢明(Hamming)碼是一種一種

4、能夠糾正一位錯(cuò)碼或檢測(cè)兩位錯(cuò)碼的一種效率較高的線性分組碼。本次課程設(shè)計(jì)的任務(wù)就是利用EDA技術(shù)在Quartus II軟件下用VHDL語言實(shí)現(xiàn)(7,4)漢明碼的編譯碼的設(shè)計(jì)和仿真。從而進(jìn)一步加深對(duì)漢明碼編譯碼原理的理解。 EDA(Electronic Design Automation技術(shù)是隨著集成電路和計(jì)算機(jī)技術(shù)飛速發(fā)展應(yīng)運(yùn)而生的一種高級(jí)、快速、有效的電子設(shè)計(jì)電動(dòng)化工具。目前,VHDL語言已經(jīng)成為EDA的關(guān)鍵技術(shù)之一,VHDL是一種全方位的硬件描述語言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門級(jí)三個(gè)不同層次的設(shè)計(jì),支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,覆蓋面

5、廣,抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來越廣泛。 VHDL語言具有功能強(qiáng)大的語言結(jié)構(gòu),可用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì),并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫和可重復(fù)使用的原件的生成,近幾十年來,EDA技術(shù)獲得了飛速的發(fā)展,它以計(jì)算機(jī)為平臺(tái),根據(jù)硬件描述語言VHDL,自動(dòng)地完成邏輯編譯,化簡(jiǎn)為割、綜合及優(yōu)化,布局布線,仿真直至對(duì)特定目標(biāo)芯片的適配編譯,邏輯映射和編程下載等工作,以自頂向下的設(shè)計(jì)方法,使硬件設(shè)計(jì)軟件化,拜托了傳統(tǒng)手工設(shè)計(jì)的眾多缺點(diǎn),隨著EDA技術(shù)的深入發(fā)展,基于硬件描述語言的方法將由取代傳統(tǒng)手工設(shè)計(jì)方法的趨勢(shì)。 一、Quart

6、us II軟件簡(jiǎn)介 QuartusⅡ是Altera公司推出的CPLD/FPGA的開發(fā)工具,QuartusⅡ提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性。 QuartusⅡ設(shè)計(jì)軟件提供完整的多平臺(tái)設(shè)計(jì)環(huán)境,可以很輕松地滿足特定設(shè)計(jì)的需要。 它是可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境,擁有FPGA 和CPLD設(shè)計(jì)的所有階段的解決方案。 與其它EDA軟件相比較QuartusⅡ軟件的特點(diǎn)主要包括: 1、 可利用原理圖、結(jié)構(gòu)框圖、Verilog HDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件。 2、 芯片(電路)平面布局連線編

7、輯。 3、LogicLock增量設(shè)計(jì)方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對(duì)原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊。 4、功能強(qiáng)大的邏輯綜合工具。 5、完備的電路功能仿真與時(shí)序邏輯分析。 6、定時(shí)/時(shí)序分析與關(guān)鍵路徑延時(shí)分析。 7、可使用SignalTap Ⅱ邏輯分析工具進(jìn)行嵌入式的邏輯分析。 8、支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件。 9、使用組合編譯方式可一次完成整體設(shè)計(jì)流程。 10、自動(dòng)定位編譯錯(cuò)誤。 11、高效的期間編程與驗(yàn)證工具。 12、可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。

8、13、能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。 2、 (7,4)漢明碼的編解碼器的工作原理 2.1漢明碼的構(gòu)造原理 線性分組碼是一類重要的糾錯(cuò)碼,應(yīng)用很廣泛。在(n,k)分組碼中,若監(jiān)督碼元是按線性關(guān)系模2相加而得到的,則稱其為線性分組碼。 現(xiàn)在以(7,4)分組碼為例來說明線性分組碼的特點(diǎn)。設(shè)氣碼字為A=【a6,a5,a4,a3,a2,a1,a0】,前4位是信息元,后3位是監(jiān)督元,可用下列線性方程組來描述該分組碼產(chǎn)生監(jiān)督元: 顯

9、然,這3個(gè)方程式線性無關(guān)的。代入上述公式可得(7,4)碼的全部碼組,如表1所示。 信息位 a6a5a4a3 監(jiān)督位 a2a1a0 信息位 a6a5a4a3 監(jiān)督位 a2a1a0 0000 000 1000 111 0001 011 1001 100 0010 101 1010 010 0011 110 1011 001 0100 110 1100 001 0101 101 1101 010 0110 011 1110 100 0111 000 1111 111

10、 表1 (7,4)漢明碼的全部碼組 由上表可知:(7,4)漢明碼的最小碼距d0=3,它能糾正1位錯(cuò)或檢2位錯(cuò)。由此可見,漢明碼是能夠糾正單個(gè)錯(cuò)誤的線性分組碼,其特點(diǎn)是:最小碼距d0=3,碼長(zhǎng)n與監(jiān)督位r滿足關(guān)系式:2r-1>=n,說明上述所說的(7,4)線性分組碼就是漢明碼。同時(shí),由于碼率k/n=(n-r)/n=1-r/n,故當(dāng)n很大和r很小時(shí),碼率接近1,可見:漢明碼是一種高效碼。 2.2校正子(伴隨式)S 校正子與錯(cuò)碼位置的關(guān)系,如表2所示 S1S2S3 錯(cuò)碼位置 S1S2S3 錯(cuò)碼位置 001 a0 101 a4 010 a1 110 a5 100 a

11、2 111 a6 011 a3 000 無錯(cuò) 表2 校正子與錯(cuò)碼位置 由上表可知: 當(dāng)S=001時(shí),則出錯(cuò)在0位; 當(dāng)S=010時(shí),則出錯(cuò)在1位; 當(dāng)S=100時(shí),則出錯(cuò)在2位; 當(dāng)S=011時(shí),則出錯(cuò)在3位; 當(dāng)S=101時(shí),則出錯(cuò)在4位; 當(dāng)S=110時(shí),則出錯(cuò)在5位; 當(dāng)S=111時(shí),則出錯(cuò)在6位; 當(dāng)S=000時(shí),則無錯(cuò)。 2.3(7,4)漢明碼的編解碼器的工作原理 編碼:將輸入的4位信息碼編成7位漢明碼,即加入3位監(jiān)督位。 解碼:輸入7位漢明碼翻譯成4位信息碼,并且能糾正其中可

12、能出現(xiàn)的一個(gè)錯(cuò)誤。 3、 基于Quartus II的(7,4)漢明碼的編解碼器的設(shè)計(jì)的仿真實(shí)現(xiàn) 3.1 仿真方案原理 編碼器的設(shè)計(jì)流程圖如下: 開始 輸入信息碼a3a2a1a0 編出監(jiān)督位b2b1b0 輸出(7,4)漢明碼 b6b5b4b3b2b1b0 結(jié)束 (7,4)漢明碼的編碼就是將輸入的四位信息碼編成七位的漢明碼,即加入三位監(jiān)督位。 根據(jù)式A = [a6 a5 a4 a3] G可知,信息碼與生成矩陣G的乘積就是編好以后 的(7,4)漢明碼,而生成矩陣G又是已知的,可以得出如下方程組 a6=a6 a5=a5 a

13、4=a4 a3=a3 a2=a6+a5+a4 a1=a6+a5+a3 a0=a6+a4+a3 (此處‘+’即為異或), 就可以編出編碼程序了。 解碼器的設(shè)計(jì)流程圖如下: 開始 譯碼輸入7位碼 算出校正子s2s1s0 校正子s2s1s0為0? Y N 糾正出錯(cuò)的位 輸出4位信息碼 結(jié)束 解碼器算出校正子S與(7,4)漢明碼之間的關(guān)系: S2=a6+a5+a4+a2; S1=a6+a5+a3+a1; S0=a6+a4+a

14、3+a0;(此處‘+’為異或) 3.2仿真的功能程序 編碼器的主要功能程序介紹: 輸入信息碼a3a2a1a0,輸出(7,4)漢明碼b6b5b4b3b2b1b0。 首先,輸入信息碼a3a2a1a0,即使用以下語句:port(a:instd_logic_vector(3downto0); 監(jiān)督位與信息碼之間的對(duì)應(yīng)關(guān)系,使用異或運(yùn)算,即: b(2)<=a(3) xora(2)xora(1); b(1)<=a(3)xora(2)xora(0); b(0)<=a(3)xora(1)xora(0); 最后,將算好的監(jiān)督位與原來輸入的信息碼一起輸出,這樣,編碼程序就算完成了。 解碼器的

15、主要功能程序介紹: 首先,輸入7位漢明碼a6a5a4a3a2a1a0,用以下語句來實(shí)現(xiàn): port(a:in std_logic_vector(6 downto 0); 然后,根據(jù)這7位碼a6a5a4a3a2a1a0,計(jì)算校正子s2s1s0的值,校正子S與(7,4)漢明碼各位之間的關(guān)系,即 ss(2):=a(6) xor a(5) xor a(4) xor a(2); ss(1):=a(6) xor a(5) xor a(3) xor a(1); ss(0):=a(6) xor a(4) xor a(3) xor a(0); 第三,要判定校正子與0的關(guān)系,使用if語句,

16、若等于0,則表示沒有錯(cuò)誤;若不為0,則表示其中有一位出錯(cuò)??梢缘玫叫U覵與錯(cuò)碼位置之間的關(guān)系,才用 case語句,編寫程序如下: when "001" =>bb(0):= not bb(0);c<="000"; when "010" =>bb(1):= not bb(1);c<="001"; when "100" =>bb(2):=not bb(2);c<="010"; when "011" =>bb(3):=not bb(3);c<="011"; when "101" =>bb(4):=not bb(4);c<="100"; when "110" =>bb(5):=not

17、 bb(5);c<="101"; when "111" =>bb(6):=not bb(6);c<="110"; 上述程序中,bb是變量,存放的是輸入7位漢明碼a6a5a4a3a2a1a0,當(dāng)S="001",時(shí),表示a0出錯(cuò),則只需將這一位的值取反,然后再送給輸出。a1、a2、a3、 a4、a5、a6出錯(cuò)的原理也是一樣的。最后,將沒有錯(cuò)誤的(7,4)漢明碼或已經(jīng)糾正1個(gè)錯(cuò)誤的(7,4)漢明碼輸出,這樣譯碼程序就完成了。為了方便閱讀波形,加入輸出了校正子S和錯(cuò)誤位數(shù)C。若第0位(a0)出錯(cuò),則C輸出0, 依次類推;若無錯(cuò),則輸出7。 3.3 仿真的結(jié)果與分析 編碼器:建好波形文件,

18、設(shè)置好輸入信息碼a3a2a1a0的初始值,點(diǎn)擊,進(jìn)行波形仿真,出現(xiàn)如下波形: 圖3-1 編碼器的仿真波形圖 解碼器:(1)、如果按照表1中的(7,4)漢明碼的全部碼組來設(shè)計(jì)輸出,此時(shí)全是正確的碼組,得出下面的仿真波形圖: 圖3-2 正確的解碼器的仿真波形圖 (2) 、隨便改一個(gè)錯(cuò)誤的碼,比如將正確的0000000改成0100000,此時(shí)得出以下的仿真波形圖: 圖3-3 隨便改一個(gè)錯(cuò)誤的碼的仿真波形圖 由上圖可知,當(dāng)輸出為0100000時(shí),根據(jù)校正子S與錯(cuò)碼位置的關(guān)系表2可得,a5出錯(cuò),此時(shí)校正子為110。 (3)、將a6低電平設(shè)置成高電平,來檢驗(yàn)校正子的錯(cuò)誤

19、碼,其仿真波形圖如下: 圖3-4 糾正一位錯(cuò)誤碼的仿真波形圖 由上圖可知,a為輸出7位漢明碼,與表1不同的是,a6全部變成高電平,此時(shí)b糾正高四位的漢明碼,c為出錯(cuò)的位數(shù),s為校正子。 參考文件 [1] 《通信原理》 樊昌信、曹麗娜,國防工業(yè)出版社,2012 [2] 《通信系統(tǒng)實(shí)驗(yàn)與設(shè)計(jì)指導(dǎo)書》 電信學(xué)院通信原理課程組 [3] 《VHDL硬件描述語言》 辛春艷,國防工業(yè)出版社,2002 體會(huì)與建議 經(jīng)歷了為期1周的通信原理課程設(shè)計(jì)結(jié)束了,體會(huì)和收益頗多...... 這次課程設(shè)計(jì)的題目是基于Quartus ii的(7,4)漢明碼的編解碼器的設(shè)計(jì),錢老師在分布題目的

20、時(shí)候,就說出了這個(gè)題目的重要點(diǎn)與要注意的地方。但是一開始還是有點(diǎn)手足無措,畢竟上學(xué)期的通信原理學(xué)得不是很好,還有以前的Quartus軟件的VHDL語言也遺忘了許多,去網(wǎng)上和圖書館查閱了許多資料。終于領(lǐng)會(huì)了(7,4)漢明碼的編解碼的原理,方法和本次課程設(shè)計(jì)需要實(shí)現(xiàn)的基于VHDL的漢明碼的編解碼方案。 同時(shí),在設(shè)計(jì)的過程中,也遇到了許多問題,比如在解碼的問題上,因?yàn)樽兞康脑龆啵跃惋@得更加難了。但是在最后老師驗(yàn)收的時(shí)候,因?yàn)槲沂菍⒕幋a和解碼分開來設(shè)計(jì)的,而老師要求在一個(gè)程序中顯示出來。但由于時(shí)間限制,結(jié)果就沒有繼續(xù)探討。同時(shí)老師提出的加分題在糾錯(cuò)方面也沒有設(shè)計(jì)出來。希望以后可以多多改善,學(xué)習(xí)更

21、多的知識(shí)。 附錄 編碼器源程序: library ieee; use ieee.std_logic_unsigned.all; use ieee.std_logic_1164.all; entity bm is port(a:in std_logic_vector(3 downto 0); b:out std_logic_vector(6 downto 0)); end bm; architecture one of bm is begin b(6)<=a(3); b(5)<=a(2); b(4)<=a(1); b(3)<=a(0); b(2)<=

22、a(3) xor a(2) xor a(1); b(1)<=a(3) xor a(2) xor a(0); b(0)<=a(3) xor a(1) xor a(0); end; 解碼器源程序: library ieee; use ieee.std_logic_1164.all; entity jm is port(a:in std_logic_vector(6 downto 0); s:out std_logic_vector(2 downto 0); b:out std_logic_vector(3 downto 0); c:out std_logic_vector(

23、2 downto 0)); end; architecture one of jm is begin process(a) variable ss:std_logic_vector(2 downto 0); variable bb:std_logic_vector(6 downto 0); begin ss(2):=a(6) xor a(5) xor a(4) xor a(2); ss(1):=a(6) xor a(5) xor a(3) xor a(1); ss(0):=a(6) xor a(4) xor a(3) xor a(0); bb:=a;

24、if ss> "000" then case ss is when "001" =>bb(0):=not bb(0);c<="000"; when "010" =>bb(1):=not bb(1);c<="001"; when "100" =>bb(2):=not bb(2);c<="010"; when "011" =>bb(3):=not bb(3);c<="011"; when "101" =>bb(4):=not bb(4);c<="100"; when "110" =>bb(5):=not bb(5);c<="101"; when "111" =>bb(6):=not bb(6);c<="110"; when others => null;c<="111"; end case; else b<= a(6)&a(5)&a(4)&a(3); end if; s<=ss; b<=bb(6)&bb(5)&bb(4)&bb(3); end process; end; 11

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!