




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、束聿理N火孽EAST CHINAINSTITUTE OF TECHNOLOGY課程設(shè)計(jì)hdb3 碼的編碼解碼學(xué)號(hào):姓名:班級(jí):專業(yè):課程名稱:課程老師:1020420311金立強(qiáng)10204203通信工程通信原理涂其遠(yuǎn)2013.1.8設(shè)計(jì)內(nèi)容與設(shè)計(jì)目的設(shè)計(jì)內(nèi)容:要求學(xué)生能夠熟練地用 VC語言編寫基本的通信系統(tǒng)的的應(yīng)用程序,進(jìn)彳T hdb3碼的編碼與解碼設(shè)計(jì)與仿真。-8 -1 .設(shè)計(jì)原理與思路 32 .程序設(shè)計(jì)流程 43 .程序代碼54 .運(yùn)行結(jié)果115 .參考資料136 .設(shè)計(jì)心得 14設(shè)計(jì)原理及設(shè)計(jì)思路要了解HDB刎的編碼規(guī)則,首先要知道 AMI碼的構(gòu)成規(guī)則,AMI碼就是把 單極性脈沖序列中相
2、鄰的“ 1”碼(即正脈沖)變?yōu)闃O性交替的正、負(fù)脈沖。將 “0”碼保持不變,把“ 1”碼變?yōu)?1、-1交替的脈沖。如:AMI碼:-10 0 0 0 +10 0 0 0 -1 +10 0 0 0 -1 +1HBD螞(3nd Order High Density Bipolar )的全稱是三階高密度雙極性碼, 它是AMI碼的一種改進(jìn)型,改進(jìn)目的是為了保持 AMI碼的優(yōu)點(diǎn)而克服其缺點(diǎn),使 連“0”個(gè)數(shù)不超過3個(gè)。其編碼規(guī)則:(1)檢查消息碼中連“ 0”的個(gè)數(shù)。當(dāng)連“ 0”數(shù)目小于等于3時(shí),HBDM與 AMI碼一樣(“1”交替的變換為“ +1”和“-1”,“0”保持不變)。(2)當(dāng)連“0”數(shù)目超過3時(shí),
3、將每4個(gè)連“0”化作一小節(jié),定義為“ B00V" 稱為破壞節(jié),其中V稱為破壞脈沖,而B稱為調(diào)節(jié)脈沖;(3) V與前一個(gè)相鄰的非“0”脈沖的極性相同(這破壞了極性交替的規(guī)則, 所以V稱破壞脈沖),并且要求相鄰的V碼之間極性必須交替。V的取值為“+1” 或 “-1”;(4) B的取值可選0、+1或-1 ,以使V同時(shí)滿足(3)中的兩個(gè)要求;(5) V碼后面的傳號(hào)碼極性也要交替。例如:消息碼:1 000 0 1 000 0 1 1 000 0 000 0 1 1AMI 碼:-1 000 0 +1 000 0 -1+1 000 0 000 0 -1+1HDB35: -1 000-V +1 00
4、0+V -1+1-B00-V +B00+V -1+1其中的± B脈沖和±丫脈沖與土 1脈沖波形相同,用V或B表示的目的是為了 示意其中的該非“ 0”碼是由原信碼的“ 0”變換而來的。當(dāng)相鄰兩個(gè)V碼之間有奇數(shù)個(gè)“1”碼時(shí),能保證V碼滿足(3)的要求,B 取“0”;當(dāng)相鄰兩個(gè)V碼之間有偶數(shù)個(gè)“1”碼時(shí),不能保證 V碼極性交替,B 取“+1”或“-1”,B碼的符號(hào)與前相鄰“ 1”相反,而其后面的V碼與B碼極性 相同。二.程序流程圖實(shí)驗(yàn)編碼原理框圖如下所示:譯碼規(guī)則:在接收端,將接收到的 HDB碼序列恢復(fù)為原輸入二進(jìn)制數(shù)字信息序列的過 程稱為譯碼。對(duì)HDB刈而言,譯碼就是找到編碼時(shí)
5、插入的特殊序列并將它恢復(fù)為0000。根據(jù)編碼原則,HDB的譯碼可分為三個(gè)步驟:(1)根據(jù)"V'的極性特點(diǎn),找出特殊序列。由于編碼時(shí),每個(gè)" V'的極 性都與其前一個(gè)“1”碼的極性相同,所以,在接收序列中一旦出現(xiàn)連續(xù)兩個(gè)同 極性碼時(shí),兩個(gè)同極性碼的后一個(gè)即為“ V',此"V'與其前的三位碼就是一個(gè) 特殊序列;(2)將所有的特殊序列都恢復(fù)為“ 0000”;(3)將正、負(fù)脈沖都恢復(fù)為“ 1”碼,零電平恢復(fù)為“ 0”碼。下圖是譯碼的框圖:二.程序源代碼#include <graphics.h> /就是需要引用這個(gè)圖形庫#incl
6、ude<stdio.h>#include<conio.h>#define max 1000 假設(shè)輸入的碼個(gè)數(shù)最大1000個(gè)void show(int code口,int length,int x);void main()char nzmax='0'int nzinmax=0;int nzxmax=0;int amimax=0;int amixmax=0;int hdb3max=0;bool sign=0;int length=0;bool v=1;printf("please input a group of NZ code:n");
7、HDB3 碼scanf("%s",nz);輸入一串二進(jìn)制碼將其轉(zhuǎn)為計(jì)算輸入碼個(gè)數(shù)for(int i=0;nzi!='0'i+)length+;for(int i=0;i<length;i+)將輸入的char型轉(zhuǎn)為int型方便計(jì)算碼型變換if(nzi='1')nzini=1;if(nzi='0')nzini=0;for(int i=0;i<length;i+) 將源碼轉(zhuǎn)為 ami 碼if(nzini=1)amii=2*sign-1;sign=!sign;正負(fù)符號(hào)跳轉(zhuǎn)if(nzini=0)amii=0;for(int
8、i=0;i<length;i+) /hdb3 碼初始化hdb3i=amii;for(int i=0;i<=length-4;i+) /ami 碼轉(zhuǎn) hdb3如果出現(xiàn)四個(gè)連0if(amii=0&&amii+1=0&&amii+2=0&&amii+3=0)v=!v;hdb3i+3=2*v-1;/bool型v計(jì)算,使得+1, -1之間跳轉(zhuǎn)if(hdb3i+3!=hdb3i-1)/ BOOV中若v與0000之前一位極性不相同,則將B=Vhdb3i=hdb3i+3;i=i+3;printf("hdb3 code as followin
9、g:n");getch();for(int i=0;i<length;i+)將轉(zhuǎn)化的hdb3碼輸出printf("%d",hdb3i);printf("nnnnhdb3解碼.n"); /hdb3碼的解碼getch();for(int i=0;i<length;i+)/hdb3碼轉(zhuǎn)為ami碼,讓amix初始化amixi=hdb3i;for(int i=0;i<=length-4;i+)if(hdb3i=hdb3i+4&&hdb3i+1=0&&hdb3i+2=0&&hdb3i+3=0
10、)/若hdb3碼中存在X000Y , X=Y那么認(rèn)為是Y出是V點(diǎn)破壞點(diǎn)并將 v置0amixi+4=0;if(hdb3i=hdb3i+3&&hdb3i+1=0&&hdb3i+2=0)/若hdb3碼中存在XOOY , x=y ,那么認(rèn)為是 BOOV破壞的amixi=0;amixi+3=0;for(int i=0;i<length;i+)/ami轉(zhuǎn)原碼,nzx初始化nzxi=amixi;for(int i=0;i<length;i+) / 將等于-1 的位置 1if(amixi=-1)nzxi=1;printf("nNZ code as foll
11、owing:n");輸出原碼for(int i=0;i<length;i+)printf("%d",nzxi);getch();initgraph(640, 480,SHOWCONSOLE);輸出屏初始化,繪制直角坐標(biāo)系moveto(50,50);lineto(50,350);moveto(50,120);lineto(50+length*20,120);moveto(50,200);lineto(50+length*20,200);moveto(50,280);lineto(50+length*20,280);show(nzin,length,0);繪制輸
12、入的原碼show(hdb3,length,1);繪制原碼轉(zhuǎn)換的 hdb3show(nzx,length,2);繪制由hdb3轉(zhuǎn)化的原碼getch();void show(int code口,int length,int x)moveto(50,120+x*80);for(int i=0;i<length;i+)if(codei=0)lineto(50+i*20,120+x*80);-9 -lineto(50+(i+1)*20,120+x*80);if(codei=1)lineto(50+i*20,120+x*80-30);lineto(50+(i+1)*20,120+x*80-30);i
13、f(codei=-1)lineto(50+i*20,120+x*80+30);lineto(50+(i+1)*20,120+x*80+30);-15 -五.運(yùn)行效果圖如圖隨機(jī)輸入一組nz碼。 D:課程設(shè)計(jì)hdb3%exeplease input a group of NZ code:1 Bl00101010101011001010101010010101010100101101011100003101019100101Mb3 c&da as fallowlnsF101130-1010-1 &10101 -10010-1010-10100-10101010100101010-10
14、1 _11_100-10-101010( 160-101hdb3解碼一NZ code as following: 1 R1O01 nmiOlflL01 01H1010J 弭LHM1 01A101 0111 0010101 Fil001 Bl六.結(jié)果分析和結(jié)論HDB3(High Density Binary 3)碼的全稱是 3階高密度雙極性碼。它是 AMI碼的一種改進(jìn)型,主要是為了克服 AMI碼中連“0”時(shí)所帶來的提取定時(shí)信 息的困難。HDB踹碼規(guī)則是:先把消息代碼中的“1”交替變成“+1”和“一1” , “0”仍然保持“0”不變的AMI碼,然后去檢查AMI碼的連“0”的情況,當(dāng)沒 有4個(gè)和4個(gè)
15、以上連“ 0”用時(shí),這樣的AMI碼就是HDB刎;當(dāng)出現(xiàn)4個(gè)和4 個(gè)以上連“0”用時(shí),則將每4個(gè)連“0”的小段的第4個(gè)“0”變換成與其前一個(gè) 非零符號(hào)相同極型的符號(hào),并用"+ V'和"-V'表示.若此“ V'使后面的序 列破壞了 “極性交替反轉(zhuǎn)”的原則,則將出現(xiàn)直流分量。故需要保證相鄰“ V'的符號(hào)也是極性相反,所以,當(dāng)不滿足 V也極性相反時(shí),將這個(gè)連“ 0”碼無用 的等一個(gè)“ 0”變成"一B'和"+ B” ?!癇”的符號(hào)與前一個(gè)非“ 0”碼的符號(hào) 相反,并且讓后面的非“ 0”碼元符號(hào)從" V'碼開
16、始再交替變化。七.參考資料1 .樊昌信,曹麗娜通信原理,第六版。2 .曹志剛,錢亞生,現(xiàn)代通信原理,清華大學(xué)出版社,2002年3 .郭仕劍等,MATLAB 7.x數(shù)字信號(hào)處理,人民郵電出版社,2006年4 .譚浩強(qiáng),c語言程序設(shè)計(jì),第二版。八.設(shè)計(jì)心得通過本次設(shè)計(jì),我進(jìn)一步熟悉了 c語言的語法規(guī)則同時(shí)也對(duì)同學(xué)原理中 HDB3 碼有了更深刻的認(rèn)識(shí),同時(shí)通過設(shè)計(jì)也學(xué)到了很多書本上學(xué)不到的知識(shí)。并且此次對(duì)于vc有了進(jìn)一步的學(xué)習(xí)與理解,對(duì)我以后在學(xué)習(xí)以及工作中是很有幫助的。東華理工大學(xué)課程設(shè)計(jì)評(píng)分表學(xué)生姓名:班級(jí):課程設(shè)計(jì)題目:學(xué)號(hào):項(xiàng)目?jī)?nèi)容滿分實(shí)評(píng)選 題能結(jié)合所學(xué)課程知識(shí)、有f的能力訓(xùn)練。符合選題要求(5 人一®)10工作量適中,難易度合理10能力水平能熟練應(yīng)用所學(xué)知識(shí),有f查閱文獻(xiàn)及運(yùn)用文獻(xiàn)資料能力10理論
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六一慶?;顒?dòng)方案
- 六一活動(dòng)加營(yíng)銷活動(dòng)方案
- 六一活動(dòng)童裝店活動(dòng)方案
- 六一活動(dòng)送課活動(dòng)方案
- 六一烹飪活動(dòng)策劃方案
- 六一社區(qū)籃球活動(dòng)方案
- 六一童話世界活動(dòng)方案
- 六一自助活動(dòng)方案
- 六一黏土活動(dòng)方案
- 六年級(jí)寫班級(jí)活動(dòng)方案
- GB/T 15171-1994軟包裝件密封性能試驗(yàn)方法
- GB/T 14518-1993膠粘劑的pH值測(cè)定
- 數(shù)字電路設(shè)計(jì)及verilog-hdl實(shí)現(xiàn)康磊課后答案
- GA/T 974.33-2011消防信息代碼第33部分:起火原因分類與代碼
- GA 44-2015消防頭盔
- 《科學(xué)護(hù)眼愛眼共享光明未來》近視防控宣傳教育課件
- 面向?qū)ο蠓治龊驮O(shè)計(jì)講座面向?qū)ο蠓椒▽W(xué)PPT資料
- 《財(cái)政學(xué)》教學(xué)大綱中文版
- 高危新生兒急診服務(wù)流程圖
- “文化引導(dǎo)型”城市更新思想思考與實(shí)踐課件
- 卷心菜中過氧化物酶熱穩(wěn)定性的初步研究
評(píng)論
0/150
提交評(píng)論