vc中的hdb3編碼與解碼要點(diǎn)_第1頁
vc中的hdb3編碼與解碼要點(diǎn)_第2頁
vc中的hdb3編碼與解碼要點(diǎn)_第3頁
vc中的hdb3編碼與解碼要點(diǎn)_第4頁
vc中的hdb3編碼與解碼要點(diǎn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、索孝理乂夬專EAST CHINA INSTITUTE OF TECHNOLOGY課程設(shè)計(jì)題目: hdb3碼的編碼解碼學(xué) 號:1020420311姓名: 金立強(qiáng)班級:10204203專業(yè):通信工程課程名稱:通信原理課程老師:涂其遠(yuǎn)2013.1.8設(shè)計(jì)內(nèi)容與設(shè)計(jì)目的設(shè)計(jì)內(nèi)容:要求學(xué)生能夠熟練地用 VC語言編寫基本的通信系統(tǒng)的的應(yīng)用程序,進(jìn)行hdb3碼的編碼與解碼設(shè)計(jì)與仿真。-16 -一設(shè)計(jì)原理與思路 3二程序設(shè)計(jì)流程 4三.程序代碼 5四運(yùn)行結(jié)果11五. 參考資料13六. 設(shè)計(jì)心得 14設(shè)計(jì)原理及設(shè)計(jì)思路要了解HDB3碼的編碼規(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 +1HBD3( 3nd Order High Density Bipolar )的全稱是三階高密度雙極性碼, 它是AMI碼的一種改進(jìn)型,改進(jìn)目的是為了保持 AMI碼的優(yōu)點(diǎn)而克服其缺點(diǎn),使 連“0”個數(shù)不超過3個。其編碼規(guī)則:(1)檢查消息碼中連“ 0”的個數(shù)。當(dāng)連“ 0”數(shù)目小于等于3時,HBD碼與 AMI碼一樣(“1”交替的變換為“ +1 ”和“ -1”,“0”保持不變)。(2)當(dāng)連“0”數(shù)目超過3

3、時,將每4個連“0”化作一小節(jié),定義為“ B00V" 稱為破壞節(jié),其中V稱為破壞脈沖,而B稱為調(diào)節(jié)脈沖;(3)V與前一個相鄰的非“0”脈沖的極性相同(這破壞了極性交替的規(guī)則, 所以V稱破壞脈沖),并且要求相鄰的V碼之間極性必須交替。V的取值為“ +1” 或“-1”;(4)B的取值可選0、+1或-1 ,以使V同時滿足(3)中的兩個要求;(5)V碼后面的傳號碼極性也要交替。例如:消息碼: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+1HDB碼:-1 000-V +1 000+V

4、 -1+1-B00-V +B00+V -1+1其中的土 B脈沖和土V脈沖與土 1脈沖波形相同,用V或B表示的目的是為了 示意其中的該非“ 0”碼是由原信碼的“ 0”變換而來的。當(dāng)相鄰兩個V碼之間有奇數(shù)個“1”碼時,能保證V碼滿足(3)的要求,B 取“ 0”;當(dāng)相鄰兩個V碼之間有偶數(shù)個“1”碼時,不能保證 V碼極性交替,B 取“+1”或“-1”,B碼的符號與前相鄰“ 1”相反,而其后面的V碼與B碼極性 相同。二.程序流程圖實(shí)驗(yàn)編碼原理框圖如下所示:譯碼規(guī)則:在接收端,將接收到的 HDB碼序列恢復(fù)為原輸入二進(jìn)制數(shù)字信息序列的過 程稱為譯碼。對HDB碼而言,譯碼就是找到編碼時插入的特殊序列并將它恢復(fù)

5、為0000。根據(jù)編碼原則,HDB的譯碼可分為三個步驟:(1) 根據(jù)“v”的極性特點(diǎn),找出特殊序列。由于編碼時,每個“ V'的極 性都與其前一個“ T碼的極性相同,所以,在接收序列中一旦出現(xiàn)連續(xù)兩個同極性碼時,兩個同極性碼的后一個即為“ V”此“ V'與其前的三位碼就是一個 特殊序列;(2) 將所有的特殊序列都恢復(fù)為“ 0000”;(3) 將正、負(fù)脈沖都恢復(fù)為“ T碼,零電平恢復(fù)為“ 0”碼。 下圖是譯碼的框圖:.程序源代碼#include <graphics.h>/就是需要引用這個圖形庫#in clude<stdio.h> #in clude<c

6、oni o.h>#defi ne max 1000 假設(shè)輸入的碼個數(shù)最大1000個void show(i nt code,i nt len gth,i nt x);void mai n()char n zmax='0'int nzin max=0;int n zxmax=0;int amimax=0;int amixmax=0;int hdb3max=0;bool sig n=0;int len gth=0;bool v=1;printf(”please in put a group of NZ code:n");scan f("%s", n

7、z);HDB3 碼for(i nt i=0; nzi!='O'i+)計(jì)算輸入碼個數(shù)len gth+;for(i nt i=0;i<le ngth;i+) if(n zi='1')nzin i=1;將輸入的char型轉(zhuǎn)為int型方便計(jì)算碼型變換if(n zi='0')nzin i=0;for(i nt i=0;i<le ngth;i+)II將源碼轉(zhuǎn)為ami碼if(n zi ni=1)amii=2*sig n-1;sig n=!sig n;/正負(fù)符號跳轉(zhuǎn)if(nzin i=0)amii=0;for(i nt i=0;i<le ngt

8、h;i+) hdb3碼初始化hdb3i=amii;如果出現(xiàn)四個連0for(int i=0;i<=length-4;i+) /ami 碼轉(zhuǎn) hdb3if(amii=O&&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 followi ng:n");getch();fo

9、r(i nt i=0;i<le ngth;i+)將轉(zhuǎn)化的hdb3碼輸出prin tf("%d",hdb3i);prin tf("nnnnhdb3解碼n”);hdb3碼的解碼getch();for(i nt i=0;i<le ngth;i+)hdb3碼轉(zhuǎn)為ami碼,讓amix初始化amixi=hdb3i;for(i nt i=0;i<=le ngth-4;i+)if(hdb3i=hdb3i+4&&hdb3i+1=0&&hdb3i+2=0&&hdb3i+3=0)/若hdb3碼中存在X000Y,X=Y那么

10、認(rèn)為是Y出是V點(diǎn)破壞點(diǎn)并將 v置0 amixi+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(i nt i=0;i<le ngth;i+)/ami轉(zhuǎn)原碼,nzx初始化n zxi=amixi;for(i nt i=0;i<le ngth;i+)/將等于-1的位置1if(amixi=-1)n zxi=1;prin tf("nNZ code as follow in g:n");輸出原

11、碼for(i nt i=0;i<le ngth;i+)prin tf("%d", nzxi);getch();in itgraph(640, 480,SHOWCONSOLE);/輸出屏初始化,繪制直角坐標(biāo)系moveto(50,50);lin eto(50,350);moveto(50,120);lin eto(50+le ngth*20,120);moveto(50,200);lin eto(50+le ngth*20,200);moveto(50,280);lin eto(50+le ngth*20,280);show( nzi n,le ngth,O);/ 繪制輸

12、入的原碼show(hdb3,le ngth,1);/ 繪制原碼轉(zhuǎn)換的 hdb3show(nzx,length,2);/繪制由 hdb3 轉(zhuǎn)化的原碼getch(); void show(i nt code,i nt len gth,i nt x) moveto(50,120+x*80);for(i nt i=0;i<le ngth;i+)if(codei=0)lin eto(50+i*20,120+x*80);lin eto(50+(i+1)*20,120+x*80);if(codei=1)lin eto(50+i*20,120+x*80-30);lin eto(50+(i+1)*20,1

13、20+x*80-30);if(codei=-1)lin eto(50+i*20,120+x*80+30);lin eto(50+(i+1)*20,120+x*80+30);五. 運(yùn)行效果圖如圖隨機(jī)輸入一組nz碼。D:.耳程設(shè)計(jì)'h db 3sS-exeplease input a group of NZ code:1 Bl001010101010110010101010100101010101001019101011100000101019100101Mb3 c&da as Folio沁n祚101(30-1010-1&10101-10010-1010-10100-101

14、01010100101010101_11_100-10-1010lU 160-101hdb3解碼NZ code as following:1 R1O0101 耐 H1010J Bl001 01A101 0111 001010111001 Bl六. 結(jié)果分析和結(jié)論HDB3( High Den sity Bin ary 3)碼的全稱是 3階高密度雙極性碼。它是AMI碼的一種改進(jìn)型,主要是為了克服 AMI碼中連“ 0”時所帶來的提取定時信 息的困難。HDB3編碼規(guī)則是:先把消息代碼中的“ 1”交替變成“+1”和“1” ,“0”仍然保持“0”不變的AMI碼,然后去檢查AMI碼的連“0”的情況,當(dāng)沒 有

15、4個和4個以上連“ 0”串時,這樣的AMI碼就是HDB3碼;當(dāng)出現(xiàn)4個和4 個以上連“0”串時,則將每4個連“0”的小段的第4個“0”變換成與其前一個 非零符號相同極型的符號,并用“+ V'和“V'表示.若此“ V'使后面的序 列破壞了“極性交替反轉(zhuǎn)”的原則,則將出現(xiàn)直流分量。故需要保證相鄰“ V”的符號也是極性相反,所以,當(dāng)不滿足 V也極性相反時,將這個連“ 0”碼無串 的等一個“ 0”變成“一B'和“+ B” ?!癇”的符號與前一個非“ 0”碼的符號 相反,并且讓后面的非“ 0”碼元符號從“ V'碼開始再交替變化。七. 參考資料1 樊昌信,曹麗娜通信

16、原理,第六版。2. 曹志剛,錢亞生,現(xiàn)代通信原理,清華大學(xué)出版社,2002年2006 年3. 郭仕劍等,MATLAB 7.x數(shù)字信號處理,人民郵電出版社,4. 譚浩強(qiáng),c語言程序設(shè)計(jì),第二版。八. 設(shè)計(jì)心得通過本次設(shè)計(jì),我進(jìn)一步熟悉了 c語言的語法規(guī)則同時也對同學(xué)原理中 HDB3 碼有了更深刻的認(rèn)識,同時通過設(shè)計(jì)也學(xué)到了很多書本上學(xué)不到的知識。并且此次對于vc有了進(jìn)一步的學(xué)習(xí)與理解,對我以后在學(xué)習(xí)以及工作中是很有幫助的。東華理工大學(xué)課程設(shè)計(jì)評分表班級:學(xué)號:學(xué)生姓名:課程設(shè)計(jì)題目:項(xiàng)目內(nèi)容滿分實(shí)評選 題能結(jié)合所學(xué)課程知識、有一定的能力訓(xùn)練。符合選題要求 (5人一題)10工作量適中,難易度合理10能力水平能熟練應(yīng)用所學(xué)知識,有一定查閱文獻(xiàn)及運(yùn)用文獻(xiàn)資料能力10理論

溫馨提示

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

評論

0/150

提交評論