通信原理課程設計 HDB3碼程序設計
《通信原理課程設計 HDB3碼程序設計》由會員分享,可在線閱讀,更多相關《通信原理課程設計 HDB3碼程序設計(14頁珍藏版)》請在裝配圖網上搜索。
1、國地質大學長城學院科課程設計 題目: HDB3碼程序設計 系別信息工程學院學生姓名王濤專業(yè)電子信息工程學號044130113指導教師路靜職稱講師2016年06月21日 HDB3碼程序設計 摘要 數字信號的傳輸方式按其在傳輸中對應的信號的不同可分為數字基帶傳輸系統(tǒng)和數字頻帶傳輸系統(tǒng)。在數字通信中,選擇合適在信道中傳輸的碼型是十分重要的,常用的傳輸碼型是AMI碼,但當原信碼出現長連“0”串時,信號的電平長時間不調變時,造成提取定時信號的困難。解決連“0”碼問題的有效方法之一是采用HDB3碼。HDB3碼(三階高密度碼)是比較常用的信道傳輸碼型,HDB3碼具有較強的檢錯能力,當數據
2、序列用HDB3碼傳輸時,若傳輸過程中出現單個誤碼,其極性交替變化規(guī)律將受到破壞,因而在接收端根據HDB3碼這一獨特規(guī)律特性,可檢出錯誤并糾正錯誤,同時HDB3碼方便提取位定時信息。 關鍵詞:三階高密度碼;基帶傳輸系統(tǒng);檢錯能力; 目錄 1緒論11.1設計的目的11.2HDB3碼簡介12課題設計內容22.1數字基帶信號碼型設計原則22.2HDB3碼編碼原理22.3HDB3碼譯碼原理33課程設計目的與要求43.1課程設計的目的43.2課程設計的要求44設計原理及設計思路54.1總體方案設計54.2數字基帶傳輸系統(tǒng)65MATLAB仿真軟件7Matlab的優(yōu)勢和特點7基本功能76系統(tǒng)軟件設計96
3、.1程序流程及思路9M文件調用函數10M文件運行程序11運行效果圖12總結13參考文獻13 1緒論 1.1設計的目的 1、了解HDB3編碼原理; 2、對HDB3編碼進行仿真模型設計; 3、運用MATLAB軟件或硬件描述語言對HDB3編碼進行設計,并對各模塊進行分析、仿真與驗證;4、要求有系統(tǒng)框圖,電路原理圖,軟件流程圖,模擬仿真結果圖。通過該課程設計,可以提高學生綜合應用所學基礎知識的能力和計算機編程的能力,為今后的學習和工作積累經驗。 1.2HDB3碼簡介 三階高密度雙極性碼是一種適用于基帶傳輸的編碼方式,它是為了克服AMI碼的缺點而出現的,具有能量分散,抗破壞性強等特點。三階
4、高密度雙極性碼用于所有層次的歐洲E-carrier系統(tǒng),HDB3碼將4個連續(xù)的“0”位元取代成“000V”或“B00V”。這個做法可以確保連續(xù)的violationsareofdifferingpolarity,即是相隔單數的一般B記號。 HDB3碼的前身是AMI碼,AMI碼的全稱是傳號交替發(fā)轉碼,其編碼規(guī)則是將消息碼的T”(傳號)交替地變換為“+1”和“-1”,而“0”(空號)保持不變。AMI碼對應的波形是具有正、負、零三種電平的脈沖序列。它可以看成是單極性波形的變形,即“0”仍對應零電平,而T”交替對應正、負電平。AMI碼的優(yōu)點是沒有直流成分,且高、低頻分量少,能量集中在頻率為1/2碼速處
5、;編解碼電路簡單,且可利用傳號極性交替這一規(guī)律觀察誤碼情況;如果它是AMI-RZ波形,接收后只要全波整流,就可變?yōu)閱螛O性RZ波形,從中可以提取位定時分量。鑒于以上優(yōu)點,AMI碼成為較常用的傳輸碼型之一。,但當原信碼出現長連“0”串時,信號的電平長時間不調變時,造成提取定時信號的困難。所以這時就用到了HDB3碼。 2 課題設計內容 2.1 數字基帶信號碼型設計原則 數字基帶信號是數字信息的電脈沖表示,電脈沖的形式稱為碼型。通常把數字信息的電脈沖表示過程稱為碼型編碼或碼型變換。由碼型還原為數字信息稱為碼型譯碼。不同的碼型具有不同的頻域特性,合理的設計碼型使之適合于給定信息的傳輸特性,是基帶傳
6、輸首先要考慮的問題。通常,再設計數字基帶信號碼型時應考慮以下原則。 1. 碼型中低頻,高頻分量盡量少。 2. 碼型中應包含定是信息,以便定是提取。 3. 碼型變換設備要定時可靠。 4. 碼型具有一定檢錯能力,若傳輸碼型有一定的規(guī)律性,就可根據這一規(guī)律性來檢測傳輸質量,以便做到自動檢測。 5. 編碼方案對發(fā)送消息類型不應有任何限制,適合于所有二進制信號。這種與信源的統(tǒng)計特性無關的特性稱為對信源具有透明性。 6. 低誤碼增殖,誤碼增殖是指單個數字傳輸錯誤在接收端解碼時,造成錯誤碼元的平均個數增加。從傳輸質量要求出發(fā),希望他越小越好。 7. 高的編碼效率。 8. 以上幾點并不是任何基
7、帶傳輸碼型均能完全滿足的,常常是根據實際要求滿足其中的一部分。HDB3碼是三元碼,是把1位二進制信碼變換成1位三電平均值的碼。碼型有無直流的特點,而且同步信息豐富。使用Matlab/Simulink仿真軟件,設計所選擇的基帶傳輸的編碼和譯碼系統(tǒng)。系統(tǒng)能根據隨機信源輸入的二進制信息序列給出對應的編碼及譯碼結果,并以圖形化的方式顯示出波形,能觀察各分系統(tǒng)的各級波形。 2.2HDB3碼編碼原理 HDB3碼是三階高密度雙極性碼,可看做AMI碼的一種改進。使用這種碼型的目的是解決源信碼中出現連0串時所帶來的問題,其編碼原理是這樣的:先把消息變成AMI碼,然后檢查AMI碼的連0情況,如果沒有3個以上的
8、連0串,那么這時的AMI碼與HDB3碼完全相同。當出現4個或4個以上的連0串時,則將4個連0串的第4個0變換成1碼。這個由0碼變換來的1碼稱為破壞脈沖,用符號V表示;而原來的二進制1碼稱為信碼,用符號B表示。當信碼序列中加入脈沖以后,信碼B和破壞脈沖V的正負極性必須滿足以下兩個條件。 1. B碼和V碼各自都應始終保持極性交替變換的規(guī)律,以便確定輸出碼中沒有直流成分。 2. V碼必須與前一個信碼同極性,以便和正常的AMI碼區(qū)分開來。但是當兩個V碼之間的信碼B的數目是偶數時,以上兩個條件就無法滿足,此時應該把后面的那個V碼所在的連0串中的第一個0變?yōu)檠a信碼B,即4個連0串變?yōu)锽00V,其中B的
9、極性與前面相鄰的B碼極性相反,V碼的極性與B的極性相同。如果兩V碼之間的B碼數目是奇數,就不再加補信碼B。在接收端譯碼時,由兩個相鄰的同極性碼找到破壞脈沖V,從V碼開始向前連續(xù)4個碼(包括V碼)變?yōu)?連0經全波整流后可恢復原單極性碼。 HDB3的優(yōu)點是無直流成分,低頻成分少,即使有長連0碼時也能提取同步信息;缺點是編譯碼電路比較復雜。 2.3HDB3碼譯碼原理 譯碼的關鍵是尋找破壞脈沖(V碼)。若3連0的前后非零脈沖同極性,則后面的非零脈沖就是V碼,將000V譯為0000;若2連0的前后非零脈沖同極性,即為B00V形式,將其譯為0000。然后,再將其余所有-1或+1譯為1,即可恢復原來信
10、碼。HDB3碼保留了AMI碼的優(yōu)點,切實連0個數不超過4,有利于信息的提取。 3 課程設計目的與要求 3.1 課程設計的目的 課程設計是網絡工程專業(yè)的實踐性環(huán)節(jié)之一,是一門理論性和實踐性都很強的、面向實際應用的課程。通過本課程的學習,學生應該掌握基本的通信設計方法,通過實踐使學生明白通信過程中的相關HDB3的編碼與譯碼原理,更加深入了解HDB3的編譯碼過程的實現。 3.2課程設計的要求 根據相關通信原理資料和課程講解,綜合MATLAB相關知識,設計仿真系統(tǒng),使其能夠實現HDB3的編碼及譯碼功能。 通過該課程設計,可以提高學生綜合應用所學基礎知識的能力和計算機編程的能力,為今后的學習
11、和工作積累經驗。 4 設計原理及設計思路 4.1 總體方案設計 在實際的傳輸系統(tǒng)中,并不是所有的代碼電氣波形都可以信道中傳輸。含有直流分量和較豐富的單極性基帶波形就不適宜在低頻傳輸特性差的信道中傳輸,因為它有可能造成信號的嚴重的畸變。 在傳輸碼(或稱線路嗎)的結構將取決于實際信道特性和系統(tǒng)的工作條件。通常,傳輸碼的結構應具有以下的特性: 1. 相應的基帶信號無直流分理,且低頻分量少: 2. 便于從信號中提取定時信息: 3. 信號中高頻分應盡量少以節(jié)省傳輸頻帶并減少碼間串擾。 4. 不受信號源統(tǒng)計特性影響,即能適應于信息源變化: 5. 具有內在的檢錯能力,傳輸的碼型應具有一定的
12、規(guī)律性,以便利用這一規(guī)律性進行宏觀監(jiān)測: 6. 編譯碼設備要盡可能簡單,等等。滿足以上特性的傳輸碼型種類繁多,這里使用HDB3。 要了解HDB3碼的編碼規(guī)則,首先要知道AMI碼的構成規(guī)則,AMI碼就是把單極性脈沖序列中相鄰的“1”碼(即正脈沖)變?yōu)闃O性交替的正、負脈沖。將“0”碼保持不變,把“1”碼變?yōu)?1、-1交替的脈沖。如: AMI碼:-10000+10000-1+10000-1+1 日2。3碼(3ndOrderHighDensityBipolar)的全稱是三階高密度雙極性碼,它是AMI碼的一種改進型,改進目的是為了保持AMI碼的優(yōu)點而克服其缺點,使連“0”個數不超過3個。其編碼規(guī)
13、則: 1. 檢查消息碼中連“0”的個數。當連“0”數目小于等于3時,HBD3碼與AMI碼一樣(“1”交替的變換為“+1”和“-1”,“0”保持不變)。 2. 當連“0”數目超過3時,將每4個連“0”化作一小節(jié),定義為“B00V"稱為破壞節(jié),其中V稱為破壞脈沖,而B稱為調節(jié)脈沖; 3. V與前一個相鄰的非“0”脈沖的極性相同(這破壞了極性交替的規(guī)則,所以V稱破壞脈沖),并且要求相鄰的V碼之間極性必須交替。V的取值為“+1”或“-1”; 4. B的取值可選0、+1或-1,,以使V同時滿足(3)中的兩個要求; 5. V碼后面的傳號碼極性也要交替。例如: 消息碼:AMI碼:-10000+1
14、0000-1+100000000-1+1HDB3碼:-1000-V+1000+V-1+1-B00-V+B00+V-1+1 其中的±B脈沖和土V脈沖與±1脈沖波形相同,用V或B表示的目的是為了示意其中的該非“0”碼是由原信碼的“0”變換而來的。 當相鄰兩個V碼之間有奇數個T”碼時,能保證V碼滿足(3)的要求,B取“0”;當相鄰兩個V碼之間有偶數個T”碼時,不能保證V碼極性交替,B取“+1”或“-1”,B碼的符號與前相鄰T”相反,而其后面的V碼與B碼極性相同。 4.2數字基帶傳輸系統(tǒng) 概念:未經調制的數字信號所占據的頻譜是從零頻或者很低頻率開始,稱為數字基帶信號,不經載波調制而直接傳輸數字
15、基帶信號的系統(tǒng),稱為數字基帶傳輸系統(tǒng)。 數字基帶傳輸的研究的意義: 第一:在利用對稱電纜構成的近程數據通信系統(tǒng)中廣泛采用這種傳輸方式。 第二:數字基帶傳輸方式迅速發(fā)展,用于低速或高速數據傳輸。 第三:基帶傳輸系統(tǒng)的許多問題也是帶通傳輸系統(tǒng)必須考慮的問題。 第四:任一個線性調制的帶通傳輸系統(tǒng),可以等效為一個基帶傳輸系統(tǒng)。 數字基帶信號 通信的根本任務是遠距離傳輸信息,準確地傳輸數字信息是數字通信中的一個重要環(huán)節(jié)。在數字傳輸系統(tǒng)中,其傳輸對象通常是二進制數字信息。它可能是來自計算機、網絡或其他數字設備的各種數字代碼,也可能來自數字電話終端的脈沖編碼信號。數字信息在一般情況下可以表示為
16、一個數字序列: ?,a-2,a-I,a0,al,a2,?,an,?簡記為{an}。an是數字序列的基本單元,稱為碼元。每一個碼元只能取離散的有限個值,例如在二進制中,an取0或1兩個值;在M進制中,an取0,1,2,?,M-1等M個值,或者取二進制碼的M種排列。 在傳輸碼(或稱線路嗎)的結構將取決于實際信道特性和系統(tǒng)的工作條件。通常,傳輸碼的結構應具有以下的特性 1. 相應的基帶信號無直流分理,且低頻分量少 2. 便于從信號中提取定時信息: 3?信號中高頻分應盡量少以節(jié)省傳輸頻帶并減少碼間串擾。 4.不受信號源統(tǒng)計特性影響,即能適應于信息源變化: 5?具有內在的檢錯能力,傳輸的碼
17、型應具有一定的規(guī)律性,以便利用這一規(guī)律性進行宏觀監(jiān)測。 6?編譯碼設備要盡可能簡單,等等。 5MATLAB仿真軟件 MATLAB是矩陣實驗室的簡稱,是美國MathWorks公司出品的商業(yè)數學軟件,用于算法開發(fā)、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。 1. Matlab的優(yōu)勢和特點友好的工作平臺和編程環(huán)境 MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具采用的是圖形用戶界面。 2. 簡單易用的程序語言 Matlab一個高級的距陣/陣列語言,它包含控制語句、函數、數據結構
18、、輸入和輸出和面向對象編程特點。 3. 強大的科學計算機數據處理能力 MATLAB是一個包含大量計算算法的集合。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。 4. 出色的圖形處理功能 MATLAB自產生之日起就具有方便的數據可視化功能,以將向量和距陣用圖形表現出來,并且可以對圖形進行標注和打印。 5. 應用廣泛的模塊集合工具箱 MATLAB對許多專門的領域都開發(fā)了功能強大的模塊集和工具箱。一般來說,他們都是由特定領域的專家開發(fā)的,用戶可以直接使用工具箱學習、應用和評估不同的方法而不需要自己編寫代碼。 6. 實用的程序接口和發(fā)布平臺 新版本的MATLAB可以利
19、用MATLAB編譯器和C/C++數學庫和圖形庫,將自己的MATLAB程序自動轉換為獨立于MATLAB運行的C和C++代碼。同時MATLAB的一個重要特色就是他有一套程序擴展系統(tǒng)和一組稱之為工具箱的特殊應用子程序。 7. 應用軟件開發(fā)(包括用戶界面) 在開發(fā)環(huán)境中,使用戶更方便地控制多個文件和圖形窗口;在編程方面支持了函數嵌套,有條件中斷等;在圖形化方面,有了更強大的圖形標注和處理功能,包括對性對起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5。 5.1 基本功能 MATLAB是由美國基本功能mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)
20、境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。 MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測
21、、金融建模設計與分析等領域。 MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數學軟件。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持??梢灾苯诱{用,用戶也可以將自己編寫的實用程序導入到MATLAB函數庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經典的程序,用戶可以直接進行下載就可以用。 6系統(tǒng)軟件設計 6.1程序流程及思路實驗編碼原理框圖如下所示: NRZ
22、?連零檢測 取代節(jié)判斷 玻壞點產 生 HDB3 >單怒變換 ―L- 圖1編碼框圖 譯碼規(guī)則: 在接收端,將接收到的HDB3碼序列恢復為原輸入二進制數字信息序列的過程稱為譯碼。 對HDB3碼而言,譯碼就是找到編碼時插入的特殊序列并將它恢復為0000。根據編碼原則,HDB3的譯碼可分為三個步驟: 1.根據““V”的極性特點,找出特殊序列。由于編碼時,每個““V”的極性都與其前一個T”碼的極性相同,所以,
23、在接收序列中一旦出現連續(xù)兩個同極性碼時,兩個同極性碼的后一個即為“V”,此“V”與其前的三位碼就是一個特殊序列; 2?將所有的特殊序列都恢復為“0000”; 3. 將正、負脈沖都恢復為T”碼,零電平恢復為“0”碼。 下圖是譯碼的框圖: 6.2M文件調用函數function[yn,decode]=HDB3(xn)yn=xn;num=0;fork=1:length(xn)ifxn(k)==1num=num+1;ifnum/2==fix(num/2)yn(k)=1;elseyn(k)=-1;end endendnum=0;yh=yn;sign=0;V=zeros(1,length(yn
24、));B=zeros(1,length(yn));fork=1:length(yn)ifyn(k)==0num=num+1;ifnum==4num=0;yh(k)=1*yh(k-4);V(k)=yh(k);ifyh(k)==signyh(k)=-1*yh(k);yh(k-3)=yh(k);B(k-3)=yh(k);V(k)=yh(k);yh(k+1:length(yn))=-1*yh(k+1:length(yn));endsign=yh(k); end elsenum=0; endendre=[xn',yn',yh',V',B'];input=yh;decode=input;sign=0
25、;fork=1:length(yh) ifinput(k)~=0ifsign==yh(k)decode(k-3:k)=[0000];endsign=input(k); endenddecode=abs(decode);error=sum([xn'-decode']);subplot(3,1,1);stairs([0:length(xn)-1],xn);axis([0length(xn)-22]);subplot(3,1,2);stairs([0:length(xn)-1],yh);axis([0length(xn)-22]);subplot(3,1,3);stairs([0:length(
26、xn)-1],decode);axis([0length(xn)-22]);6.3M文件運行程序xn=[1yn=HDB3(xn); 7運行效果圖圖3運行效果圖第12頁共13頁 8總結 在整個設計過程中我懂得了許多東西,也培養(yǎng)了獨立思考和設計的能力,樹立了對知識應用的信心,相信會對今后的學習工作和生活有非常大的幫助,并且提高了自己的動手實踐操作能力,使自己充分體會到了在設計過程中的成功喜悅。雖然這個設計做的不怎么好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我終身受、人益。 在沒有做課程設計以前,覺得課程設計只是對知識的單純總結,但是通過這次課程設計發(fā)現自己的看法
27、有點太片面,課程設計不僅是對前面所學知識的一種檢驗,也是對自己能力的一種提高,通過這次課程設計使自己明白了原來的那點知識是非常欠缺的,要學習的東西還很多,通過這次課程設計,明白學習是一個長期積累的過程,在以后的工作和生活中都應該不斷的學習,努力提高自己的知識和綜合素質。希望以后像這樣的課程設計在多一點。 參考文獻 1. 郭文彬,桑林編著,通信原理-基于Matlab的計算機仿真,北京郵電大學出版社,2006曹志剛,錢亞生,現代通信原理,清華大學出版社,2002年郭仕劍等,《MATLAB7.x數字信號處理》,人民郵電出版社,2006年劉衛(wèi)國.MATLAB程序設計教程[M].北京:中國水利水電出版社,2005. 2. 樊昌信?曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2008.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產培訓勿忘安全本心人人講安全個個會應急
- 預防性維修管理
- 常見閥門類型及特點
- 設備預防性維修
- 2.乳化液泵工理論考試試題含答案