信工院通信原理實驗指導(dǎo)書_第1頁
信工院通信原理實驗指導(dǎo)書_第2頁
信工院通信原理實驗指導(dǎo)書_第3頁
信工院通信原理實驗指導(dǎo)書_第4頁
信工院通信原理實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

通信原理實驗指導(dǎo)書班級:____________學(xué)號:____________姓名:____________目錄第一部分知識準(zhǔn)備.........................................................................................................................3一前言...................................................................................................................................3二MATLAB初步........................................................................................................................41.CommandWindow指令窗簡介...................................................................................41.1命令的執(zhí)行與顯示............................................................................................41.2MATLAB基本命令..............................................................................................42.矩陣、矢量和標(biāo)量.....................................................................................................52.1矩陣...................................................................................................................52.2計算矩陣尺寸命令size..................................................................................52.3矢量...................................................................................................................62.4計算矢量長度命令length..............................................................................62.5標(biāo)量...................................................................................................................62.6數(shù)據(jù)類型...........................................................................................................63.基本運算.....................................................................................................................63.1矢量與標(biāo)量的加減乘除...................................................................................63.2矢量與矢量之間的加減...................................................................................73.3矢量與矢量之間的點乘“.*”與點除“./”.................................................73.4冪“^”與點冪“.^”.......................................................................................74.函數(shù).............................................................................................................................74.1三角函數(shù)...........................................................................................................84.2指數(shù)類函數(shù).......................................................................................................84.3復(fù)數(shù)類函數(shù).......................................................................................................84.4取整函數(shù)...........................................................................................................84.5取余數(shù)函數(shù).......................................................................................................84.6矩陣的產(chǎn)生與變換函數(shù)...................................................................................84.7數(shù)據(jù)分析函數(shù)...................................................................................................94.8繪圖類函數(shù).......................................................................................................95.MATLAB編程............................................................................................................135.1M文件..............................................................................................................135.2自定義函數(shù).....................................................................................................136.其他基本操作...........................................................................................................13第二部分實驗指導(dǎo).....................................................................................................................15實驗一數(shù)字基帶傳輸系統(tǒng)的MATLAB仿真.......................................................................15一、實驗?zāi)康?................................................................................................................15二、實驗內(nèi)容.................................................................................................................15三、實驗原理.................................................................................................................153.1信號及系統(tǒng)在計算機(jī)中的表示.....................................................................153.1.1時域取樣及頻域取樣.........................................................................153.1.2頻域分析.............................................................................................163.2與隨機(jī)信號產(chǎn)生相關(guān)的指令.........................................................................173.2.1高斯噪聲的產(chǎn)生.................................................................................17第1頁3.2.2隨機(jī)碼序列的產(chǎn)生.............................................................................173.2.3產(chǎn)生數(shù)字隨機(jī)信號的一般方法.........................................................173.3信號的仿真.....................................................................................................183.3.1連續(xù)時間信號的仿真.........................................................................183.3.2離散時間信號的仿真.........................................................................19四、實驗步驟.................................................................................................................20五、實驗報告要求.........................................................................................................22附錄.................................................................................................................................231.T2F子函數(shù)........................................................................................................232.F2T函數(shù)............................................................................................................23實驗二模擬信號幅度調(diào)制仿真實驗.................................................................................24一、實驗?zāi)康?................................................................................................................24二、實驗內(nèi)容.................................................................................................................24三、實驗原理.................................................................................................................243.1AM調(diào)制............................................................................................................243.2DSB調(diào)制..........................................................................................................263.3SSB調(diào)制..........................................................................................................27四、實驗步驟.................................................................................................................29五、實驗報告要求.........................................................................................................31實驗三二進(jìn)制數(shù)字信號調(diào)制仿真實驗.............................................................................32一、實驗?zāi)康?................................................................................................................32二、實驗內(nèi)容.................................................................................................................32三、實驗原理.................................................................................................................323.1二進(jìn)制數(shù)字序列的產(chǎn)生.................................................................................323.2OOK調(diào)制..........................................................................................................333.32FSK調(diào)制........................................................................................................343.42PSK調(diào)制........................................................................................................35四、實驗內(nèi)容.................................................................................................................35五、實驗報告要求.........................................................................................................39實驗四模擬信號數(shù)字傳輸仿真實驗.................................................................................40一、實驗?zāi)康?................................................................................................................40二、實驗內(nèi)容.................................................................................................................40三、實驗原理.................................................................................................................403.1抽樣.................................................................................................................403.1.1低通信號的抽樣定理.........................................................................403.1.2帶通信號的抽樣定理.........................................................................423.2量化.................................................................................................................423.2.1均勻量化.............................................................................................433.2.2非均勻量化.........................................................................................433.3編碼.................................................................................................................45四、實驗步驟.................................................................................................................46五、實驗報告要求.........................................................................................................49第2頁第一部分知識準(zhǔn)備一

前言《通信原理》課程是電子通信類專業(yè)的主要技術(shù)基礎(chǔ)課程之一,是電子通信類專業(yè)本科生的必修課程,也是電子信息類專業(yè)碩士研究生入學(xué)考試必考課程。該課程的主要內(nèi)容是論述怎樣可靠而有效地實現(xiàn)消息的傳輸,使學(xué)生掌握通信的基本概念和常用的傳輸方式及其原理,并能判斷出噪聲、信道、傳輸方式等因素對通信指標(biāo)的影響。該課程的基本理論和方法大量用于電子通信領(lǐng)域的各個方面,特別是在電話網(wǎng)、數(shù)據(jù)通信網(wǎng)、綜合業(yè)務(wù)數(shù)字網(wǎng)和移動通信網(wǎng)等領(lǐng)域有著極其廣泛的應(yīng)用。實驗實踐與《通信原理》的教學(xué)相配合,對加強(qiáng)學(xué)生對通信原理理論的感性認(rèn)識,提高學(xué)生的綜合能力具有重要的意義。要想充分地了解某種傳輸方式的特性,最理想的辦法莫過于把它做出來,實際測量其參數(shù)。然而實際制作一套通信系統(tǒng)所需的周期長、代價高,有時要改變系統(tǒng)的某些參數(shù)就可能意味著整個系統(tǒng)需要重做。故對于研究設(shè)計人員來說,通過把所有的設(shè)計方案、研究問題等都做成硬件,再對硬件進(jìn)行測量從而獲得系統(tǒng)性能的研究方法應(yīng)屬于不得己而為之。較好的研究方法應(yīng)該是在硬件制作前就對將要制作的實際傳輸系統(tǒng)做充分的研究,對其參數(shù)進(jìn)行評估,以判斷設(shè)計是否合理,如果設(shè)計是合理的,就可以放心地去實現(xiàn)系統(tǒng),不然就需要修改現(xiàn)有設(shè)計再做分析。即先進(jìn)行軟件的仿真,在仿真結(jié)果達(dá)標(biāo)后,再進(jìn)行具體的硬件制作。近年來,計算機(jī)多媒體教學(xué)手段的運用逐步普及,大量優(yōu)秀的科學(xué)計算和系統(tǒng)仿真軟件不斷涌現(xiàn),為我們實現(xiàn)實際系統(tǒng)設(shè)計、計算機(jī)輔助教學(xué)和學(xué)生上機(jī)實驗提供了很好的平臺。通過對這些軟件的分析和對比,我們選擇MATLAB語言作為輔助教學(xué)工具,借助MATLAB強(qiáng)大的計算能力和圖形表現(xiàn)能力,將《通信原理》中的概念、方法和相應(yīng)的結(jié)果,以圖形的形式直觀地展現(xiàn)給學(xué)生,大大地方便學(xué)生迅速理解和掌握教學(xué)內(nèi)容?!锻ㄐ旁韺嶒炛笇?dǎo)書》采用的實驗平臺也是MATLAB。為了使學(xué)生能夠較好的使用MATLAB語言完成相應(yīng)的實驗任務(wù),教程中除了回顧了MATLAB軟件使用的基本知識外,更詳細(xì)地給出了與通信相關(guān)的眾多的MATLAB函數(shù)及其用法,同時給出了大量的范例程序,說明針對某一具體問題進(jìn)行編程的方法等。學(xué)生們在實驗前,只要認(rèn)真閱讀、預(yù)習(xí)實驗的相關(guān)內(nèi)容,并在實驗中,嚴(yán)格按照《實驗教程》規(guī)定的實驗內(nèi)容和步驟進(jìn)行實驗,即可完成相應(yīng)的實驗報告?!锻ㄐ旁韺嶒炛笇?dǎo)書》中設(shè)計的實驗項目包括:1、數(shù)字基帶傳輸系統(tǒng)的MATLAB仿真;2、模擬信號幅度調(diào)制仿真實驗;3、二進(jìn)制數(shù)字信號調(diào)制仿真實驗;4、模擬信號數(shù)字傳輸仿真實驗。所有這些實驗項目所涉及到的實驗內(nèi)容基本上覆蓋了《通信原理》課程的大部分主要內(nèi)容。期望本部分實驗?zāi)軒Ыo你如下收獲:(1)學(xué)會MATLAB軟件的最基本運用。MATLAB軟件是一種很實用的數(shù)學(xué)軟件,它易學(xué)易用,MATLAB對于許多的通信仿真類問題的解決是很適用的。(2)了解計算機(jī)仿真的基本原理及方法,掌握通過仿真去研究通信問題的方法。(3)加深對通信原理課程相關(guān)內(nèi)容的理解。和其他課程的實驗指導(dǎo)書有所不同的是,本實驗教程同時兼作《實驗報告》之用,目的是希望將學(xué)生從實驗報告的文字撰寫中解脫出來,從而將主要精力和時間用到對問題的分析、算法的確定和程序的編寫之中。本實驗教程中所給出的全部范例程序,都在MATLAB6.5上運行,且是正確的。由于時間倉促和編者水平有限,本實驗教程在編寫和編輯的過程中,不可避免地存在錯誤和不當(dāng)之處,懇請老師和同學(xué)們批評指正。第3頁二MATLAB初步1.CommandWindow指令窗簡介1.1命令的執(zhí)行與顯示在Windows中,用鼠標(biāo)雙擊MATLAB圖標(biāo)即可啟動MATLABforWindows。MATLAB的命令提示符為“>>”。MATLAB的命令也稱語句或函數(shù)。在命令行中,鍵入命令并按回車,就可以執(zhí)行命令。執(zhí)行結(jié)果或其他與命令執(zhí)行相關(guān)的信息將隨后顯示在屏幕上。如下圖所示:在命令的末尾加上英文輸入法下的分號“;”,表示不顯示函數(shù)的返回值或語句的運行結(jié)果。一行中可以有多條命令,命令與命令之間應(yīng)用逗號“,”或分號“;”隔開。以逗號結(jié)尾的命令顯示結(jié)果,以分號結(jié)尾的命令不顯示結(jié)果。要注意,在MATLAB中,標(biāo)識符的大小寫是有區(qū)別的。例如:>>a=6a=6>>A???Undefinedfunctionorvariable'A'.可見,由于定義的是變量a,并賦值為6,故可顯示a=6的結(jié)果。而其大寫A并沒有定義,所以報錯說沒有定義這個變量。1.2MATLAB基本命令(1)幫助命令helphelp命令是一個非常有用的幫助命令,它用于幫助用戶了解MATLAB命令與函數(shù)的用法或者其他相關(guān)的內(nèi)容。如果你忘記了一個命令的用法,只要敲入“help命令”,MATLAB就會顯示有關(guān)這個命令的詳細(xì)信息。MATLAB命令區(qū)分大小寫,但有一些命令不分大小寫,help就是其中的一個。(2)顯示目錄命令whatwhat用于列出目錄中的M、MAT和MEX文件,其中M文件就是MATLAB程序文件。what第4頁命令區(qū)分大小寫。(3)尋找函數(shù)命令whichwhich命令顯示函數(shù)所在文件的位置,給出文件位置的路徑。如果是內(nèi)部函數(shù)則顯示此函數(shù)是內(nèi)部的。>>whichmaxD:\MATLAB\toolbox\matlab\datafun\max.m表明函數(shù)max是由M文件max.m定義的,以及該文件存放路徑的位置。(4)路徑顯示命令pathPath顯示MATLAB的搜尋路徑。MATLAB尋找命令或M文件時,先查找當(dāng)前目錄,如果找不到,則按path設(shè)定的搜尋路徑去找。P=path返回一個字符串P,P的內(nèi)容是搜尋路徑。Path(P)把字符串P所描述的路徑作為當(dāng)前的搜尋路徑。path(path,P)把P追加到當(dāng)前搜尋路徑中,P在最后。path(P,path)把P加入當(dāng)前搜尋路徑中,P在最前。(5)顯示變量命令who,whosWho和whos命令都用于顯示當(dāng)前變量,但是whos給出的信息更加詳細(xì)。(6)清除變量命令clear用clear命令可以把不要的變量從內(nèi)存中清除。如果要清除所有的變量,只需輸入clear即可。如果只想清除部分變量,則在clear后加上要清除的變量名。(7)改變目錄cd和顯示目錄命令dircd命令用于改變當(dāng)前的目錄,dir命令用來顯示目錄里的文件。(8)窗口編輯命令clc:清除屏幕上的內(nèi)容,但并不清除變量。home:移動光標(biāo)到左上角。Format:設(shè)置輸出格式,例如小數(shù)點位數(shù)等echo:開或關(guān)顯示命令。more:控制多頁顯示。2.矩陣、矢量和標(biāo)量2.1矩陣MATLAB的基本運算對象是矩陣。方括弧“[]”用來定義矩陣。逗號“,”或空格用來分割一行中的不同元素,分號“;”用來分割不同的行。例如:>>a=[123;4,5,6;789]a=147

258

3692.2計算矩陣尺寸命令size函數(shù)size(A)返回一個行矢量[n,m],其中n是A的行數(shù),m是A的列數(shù)。例如對于剛才定義的矩陣a計算其尺寸:>>size(a)ans=33第5頁2.3矢量只有一行或一列的矩陣就是矢量,分別被稱為行矢量和列矢量。例如:>>b=[1482]b=1482>>c=[1;4;8;2]

%b是一個行矢量%c是一個列矢量c=1482考慮到通信實驗內(nèi)容的要求,我們主要研究行矢量。2.4計算矢量長度命令lengthLength用于計算矢量的長度,如果x是一個常數(shù),則length(x)返回1;如果x是一個矢量,則length(x)返回矢量的長度;如果x是一個M×N的矩陣,則length(x)返回M、N中較大的一個值。例如計算剛才定義的矢量b的長度的命令為:>>length(b)ans=42.5標(biāo)量只有一個元素的矢量或矩陣就是標(biāo)量。例如d=[1]或d=1的意思是把d定義為一個值為1的標(biāo)量。2.6數(shù)據(jù)類型(1)實數(shù)MATLAB不需要對實數(shù)作類型說明,所有的數(shù)都按雙精度浮點方式保存。對很大及很小的-18(2)字符串MATLAB也支持字符串變量。字符串由一對單引號給定。字符串在MATLAB中被看作是一個矢量,每個字符構(gòu)成矢量的元素。例如str=’hello’str=[’h’,’e’,’l’,’l’’,’o’]。(3)復(fù)數(shù)在MATLAB中如果標(biāo)識符i或j沒有被定義過,那個一個復(fù)數(shù)可以簡單地用兩個實數(shù)a,b組成:d=a+j*b或d=a+i*b表示復(fù)數(shù)。許多人編程時習(xí)慣用i、j作循環(huán)變量,如果你的程序涉及復(fù)數(shù)運算的話,最好避免使用它們。3.基本運算3.1矢量與標(biāo)量的加減乘除矢量加(+)、減(-)、乘(*)或除以(/)一個標(biāo)量時,其結(jié)果是該矢量的每一個元素加、減、乘、除以同一標(biāo)量。例如:>>A=[1:5]+1A=23456第6頁數(shù)可采用科學(xué)計數(shù)法。如1.3e-18表示1.3×10。數(shù)可采用科學(xué)計數(shù)法。如1.3e-18表示1.3×10。>>c=[321]*3+jc=9.0000+1.0000i6.0000+1.0000i3.0000+1.0000i標(biāo)量加(+)、減(-)或乘以(*)矢量的結(jié)果與矢量加(+)、減(-)或乘以(*)標(biāo)量的結(jié)果相同,即矢量與標(biāo)量的加、減、乘(+、-、*)運算滿足交換律。但請注意:標(biāo)量除以(/)矢量(a/A)是非法的。3.2矢量與矢量之間的加減兩個相同長度的矢量相加或相減是其對應(yīng)的元素相加或相減。例如:>>a=[1:3]*5-[6:6:20]/3a=3693.3矢量與矢量之間的點乘“.*”與點除“./”若A與B是兩個長度相同的矢量,則A.*B是A與B的對應(yīng)元素相乘,A./B是A與B的對應(yīng)元素相除。注意比較下面的三條指令:>>c=[1:3].*[2,5,5]c=21015>>c=[1:3]*[2,5,5]???Errorusing==>mtimesInnermatrixdimensionsmustagree.>>c=[1:3]*[2;5;5]c=273.4冪“^”與點冪“.^”對于標(biāo)量a、b,a^b是以a為底,b為指數(shù)的冪運算。例如:>>2^3ans=8對于標(biāo)量x及矢量A,A.^x是對矢量A的每一個元素求以x為指數(shù)的冪運算。>>[-149].^0.5ans=0.0000+1.0000i2.00003.0000而x.^A是一個矢量,它的每一個元素是以x為底,以A的對應(yīng)元素為指數(shù)的冪。>>10.^[-2:2]ans=0.01000.10001.000010.0000100.0000對于兩個相同長度的矢量A、B,A.^B的結(jié)果是一個與A同長度的矢量,其元素是以A的對應(yīng)元素為底,以B的對應(yīng)元素為指數(shù)的冪。4.函數(shù)MATLAB中函數(shù)名稱和變量都是以字母開頭,所有的函數(shù)名稱均由小寫字母組成。所有的函數(shù)或命令都可借助help菜單或在命令行中鍵入help得到幫助。結(jié)合課程實驗的需要,這里介紹一些常用函數(shù)。第7頁4.1三角函數(shù)三角函數(shù)包括正弦sin、余弦cos、正切tan、反正切atan等。例如:>>X=[0:pi/6:pi];Y=sin(X)Y=00.50000.86601.00000.86600.5000

0.00004.2指數(shù)類函數(shù)指數(shù)類函數(shù)包括e的指數(shù)exp、自然對數(shù)log、常用對數(shù)log10和平方根sqrt等。在MATLAB中可對負(fù)數(shù)求對數(shù)或求平方根。例如:>>sqrt(-2)ans=0+1.4142i4.3復(fù)數(shù)類函數(shù)復(fù)數(shù)類函數(shù)包括求模abs、角度angle、共軛conj、實部real和虛部imag等。4.4取整函數(shù)取整函數(shù)包括零方向取整fix、負(fù)無窮方向取整floor、正無窮方向取整ceil、四舍無入取整round、取符號sign等。>>x=[-1:0.5:1]*pi;[x;fix(x);floor(x);ceil(x);round(x);sign(x)]ans=-3.1416-1.570801.57083.1416-3.0000-1.000001.00003.0000-4.0000-2.000001.00003.0000-3.0000-1.000002.00004.0000-3.0000-2.000002.00003.0000-1.0000-1.000001.00001.00004.5取余數(shù)函數(shù)用rem(x,y)可以求得x除以y的余數(shù)。4.6矩陣的產(chǎn)生與變換函數(shù)(1)全零矩陣zeros及全1矩陣oneszeros(n,m)產(chǎn)生一個尺寸為n×m,元素全為零的矩陣。ones(n,m)產(chǎn)生一個尺寸為n×m,元素全為1的矩陣。若n或m不是整數(shù),則按取整后的結(jié)果計算。若n或m中(取整后)有一個為0或負(fù)值則返回一個空矩陣。zeros(N)產(chǎn)生一個尺寸為N維全零矩陣。ones(N)產(chǎn)生一個尺寸為N維全1矩陣。zeros(size(A))產(chǎn)生一個尺寸與A相同的全零矩陣。ones(size(A))產(chǎn)生一個尺寸與A相同的全1矩陣。(2)隨機(jī)數(shù)產(chǎn)生命令rand及正態(tài)隨機(jī)數(shù)產(chǎn)生命令randnrand(n,m)產(chǎn)生一個尺寸為n×m的矩陣,其元素按均勻分布隨機(jī)取值于區(qū)間[0,1]。randn(n,m)產(chǎn)生一個尺寸為n×m的矩陣,其元素服從標(biāo)準(zhǔn)正態(tài)分布。randn(size(A))產(chǎn)生一個尺寸與A相同的正泰分布隨機(jī)矩陣。rand(size(A))產(chǎn)生一個尺寸與A相同的均勻分布隨機(jī)矩陣。例如:>>a=sign(randn(1,8000));>>b=(a+1)/2;>>c=b+0.1*randn(size(b));b包含8000個取值1、0等概的隨機(jī)二進(jìn)制數(shù)。c是b加上方差為0.1的高斯干擾。第8頁(3)元素均勻分隔命令linspace函數(shù)linspace(a,b,N)產(chǎn)生一個N維矢量,N個元素均勻分隔區(qū)間[a,b],第一個元素是a,最后一個元素是b。(4)矩陣元素重排命令reshapereshape(x,m,n)把矩陣x的元素重新排列成m×n的矩陣形式,按逆時針的方向取數(shù)。但矩陣x的元素個數(shù)必須等于m×n個,否則會出現(xiàn)錯誤。>>A=[123456],B=reshape(A,3,2)A=123456B=142536>>A=[123456];B=reshape(A,4,1)???Errorusing==>reshapeToRESHAPEthenumberofelementsmustnotchange.4.7數(shù)據(jù)分析函數(shù)數(shù)據(jù)分析函數(shù)包括:最大值max、最小值min、均值mean、標(biāo)準(zhǔn)差std、升序排序sort、求和sum等。4.8繪圖類函數(shù)MATLAB提供了豐富的繪圖功能。結(jié)合課程實驗的需要,在此簡要介紹二維曲線的繪制方法。如想進(jìn)一步了解MATLAB繪圖方面的功能,請執(zhí)行helpgraphics、helpplotxy、helpxyz、helpcolor或者執(zhí)行MATLAB的演示程序demo。(1)二維繪圖函數(shù)plot若X、Y是兩個相同長度的矢量,函數(shù)plot(X,Y)將激活一個圖形窗口,并畫出一個以X為橫坐標(biāo),以Y為縱坐標(biāo)的曲線。使用plot(X,Y)函數(shù)時,若省略參量X,MATLAB將把Y中元素的順序號作為橫坐標(biāo)的坐標(biāo)值,也就是說此時橫坐標(biāo)參量是X=[1:length(Y)]。使用plot(X,Y)函數(shù)時,也可加入另一個參量S:plot(X,Y,S),S用來規(guī)定繪圖時使用的顏色及繪制方法。MATLAB規(guī)定S是長為1到3個字符的字符串。構(gòu)成S的字符有兩部分,第一部分是顏色,用一個字符表示;第二部分是繪制方法,用一到兩個字符表示。它們的定義如下表所示。例如:第9頁符號符號顏色符號線型y黃色.點m紫色o圓圈c青色x×標(biāo)記r紅色+加號g綠色*星號b藍(lán)色-實線w白色:點線k黑色-.點劃線--虛線>>x=linspace(0,2*pi,30);>>y=sin(x);>>z=cos(x);>>plot(x,y,'m:',x,z,'r-',x,y,'bo',x,z,'k+')其生成的圖形為:0.20-0.2-0.4-0.6-0.8-1

0

1

2

3

4

5

6

7MATLABforWindows所繪的圖可通過剪貼板直接復(fù)制到MicrosoftWord或其他應(yīng)用程序中。(2)命令hold與clf在缺省狀態(tài)下,執(zhí)行plot時MATLAB先清除圖形窗口再行繪圖。執(zhí)行holdon后再執(zhí)行plot時,MATLAB將不清除圖形窗口,這樣就可以在同一圖形窗口內(nèi)畫多條曲線。例如:>>t=[0:0.01:4*pi];>>holdon;>>plot(t,sin(t+pi/3),'r-')>>plot(t,cos(t-pi/3),'k:')>>plot(t,sin(2*t),'b--')0.20-0.2-0.4-0.6-0.8-1

0

2

4

6

8

10

12第10頁這一段程序在同一圖形窗口繪出了3條曲線,第1條實線是sin(t+π/3),第2條虛線是cos(t-π/3),第3條波折線是sin2t。執(zhí)行holdoff將使圖形窗口變回原來的狀態(tài)。單獨執(zhí)行hold而不帶參數(shù)on或off,將圖形窗口的hold狀態(tài)反轉(zhuǎn)。命令clf則是清除當(dāng)前的圖形窗口,但它不改變hold的狀態(tài)。(3)命令grid與命令axis命令gridon給圖形窗口打上格線,而gridoff則是取消圖形窗口中的格線。單獨執(zhí)行g(shù)rid將反轉(zhuǎn)格線的狀態(tài)(有或無)。命令axis(a)設(shè)定X軸與Y軸的坐標(biāo)范圍。通常a是一個包含4個元素的行矢量,例如:a=[Xmin,Xmax,Ymin,Ymax],其元素分別代表X軸與Y軸的最大值與最小值。例如,運行下列程序:>>t=[0:0.01:4*pi];>>holdon;>>plot(t,sin(t),'r-')>>plot(t,sin(2*t),'b:')>>gridon>>axis([0,4,-1.1,+1.1])可得:0.20-0.2-0.4-0.6-0.8-10

0.5

1

1.5

2

2.5

3

3.5

4(4)標(biāo)簽xlable(str)給X軸加上一個以字符串str為內(nèi)容的標(biāo)簽,ylable(str)給Y軸加上一個以字符串str為內(nèi)容的標(biāo)簽,title(str)則是給整個圖加上一個標(biāo)題。例如:>>t=[0:0.01:4*pi];>>plot(t,sin(2*t),'b--')>>axis([0,4,-1.1,+1.1])>>xlabel('時間t');>>ylabel('幅值y');>>title('函數(shù)sin2t的波形');可得如下波形:第11頁函數(shù)sin2t的波形0.20-0.2-0.4-0.6-0.8-10

0.5

1

1.5

2

2.5

3

3.5

4時間t(5)figure與close如果要在同一個程序中開出多個圖形窗口,可以使用figure命令。單獨執(zhí)行figure后,MATLAB將創(chuàng)建一個新的圖形窗口,并以此作為當(dāng)前圖形窗口。執(zhí)行figure(N)將使第N個圖形窗口成為當(dāng)前圖形窗口。如果第N個圖形窗口不存在,則figure(N)將創(chuàng)建一個新窗口。新窗口的編號不一定是N,而是按實際已有的窗口序號順序排列。命令close關(guān)閉當(dāng)前圖形窗口;close(N)關(guān)閉第N個圖形窗口;closeall關(guān)閉所有圖形窗口。(6)創(chuàng)建子圖命令subplotSubplot(m,n,p)命令將當(dāng)前圖形窗口分割成m*n個繪圖區(qū)域,并選擇第p個區(qū)域為激活區(qū)域。如圖所示,子圖沿頭一行從左至右編號,接著編第2行,依次類推。例如:>>closeall>>x=linspace(0,2*pi,30);>>y=sin(x);z=cos(x);>>a=2*sin(x).*cos(x);>>b=sin(x)./(cos(x)+eps);>>subplot(2,2,1)%選取4個子圖中的左上子圖>>plot(x,y),axis([02*pi-11]),title('1.sin(x)')>>subplot(2,2,2)%選取4個子圖中的右上子圖>>plot(x,z),axis([02*pi-11]),title('2.cos(x)')>>subplot(2,2,3)%選取4個子圖中的左下子圖>>plot(x,a),axis([02*pi-11]),title('3.2sin(x)cos(x)')>>subplot(2,2,4)%選取4個子圖中的右下子圖>>plot(x,b),axis([02*pi-2020]),title('4.2sin(x)/cos(x)')>>gtext('子圖1')>>gtext('子圖2');第12頁幅值y幅值y>>gtext('子圖3');>>gtext('子圖4');可得到如下圖形:10.50-0.5

1.sin(x)

子圖1

10.50-0.5

2.cos(x)子圖2-1

0

2

4

6

-1

0

2

4

610.50-0.5

3.2sin(x)cos(x)子圖3

20100-10

4.2sin(x)/cos(x)子圖4-1

0

2

4

6

-20

0

2

4

65.MATLAB編程5.1M文件用文本編輯器如motepad.exe把MATLAB的命令及語句編輯成一個文本文件,并把文件的擴(kuò)展名定為.m,這樣的文件叫M文件。在MATLAB命令行中鍵入M文件的文件名(不包括小數(shù)點及擴(kuò)展名“.m”),即可一次性地執(zhí)行該文件中的所有命令或語句。M文件可以包括所有合法的MATLAB命令或語句,也可以包括其他已經(jīng)編好的其他M文件名。5.2自定義函數(shù)MATLAB中可以編制自己的函數(shù)。一個函數(shù)對應(yīng)一個M文件,函數(shù)名就是M文件的文件名,自定義函數(shù)的M文件第一行必須是如下格式:function[返回值表]=函數(shù)名(輸入變量表)在函數(shù)內(nèi)部定義的變量都是本地變量。本地變量同外部變量(調(diào)用函數(shù)的外部過程所使用的變量)使用不同的內(nèi)存區(qū),因此即使它們的標(biāo)識符相同,也不會發(fā)生沖突。MATLAB的函數(shù)中也可以定義全局變量,格式是:globalabc此句聲明a、b、c是全局變量。Global聲明必須在引用之前。6.其他基本操作(1)命令pause暫停執(zhí)行M文件,等待敲任意鍵。Pause(n)則將正在執(zhí)行的M文件暫停n秒。第13頁(2)命令moreon使MATLAB在向屏幕輸出滿屏?xí)r,等待用戶敲任意鍵以繼續(xù)顯示。more(n)規(guī)定每屏顯示的行數(shù)。(3)使用組合鍵Ctrl+C可中斷正在執(zhí)行的命令語句或M文件。(4)在命令行使用上下移動鍵可搜尋以前的命令。敲一個字母后再使用上下移動鍵可搜尋相同字母起頭的命令。第14頁第二部分

實驗指導(dǎo)實驗一

數(shù)字基帶傳輸系統(tǒng)的MATLAB仿真一、實驗?zāi)康?、熟悉和掌握常用的用于通信原理時域仿真分析的MATLAB函數(shù);2、掌握連續(xù)時間和離散時間信號的MATLAB產(chǎn)生;3、牢固掌握沖激函數(shù)和階躍函數(shù)等函數(shù)的概念,掌握卷積表達(dá)式及其物理意義,掌握卷積的計算方法、卷積的基本性質(zhì);4、掌握利用MATLAB計算卷積的編程方法,并利用所編寫的MATLAB程序驗證卷積的常用基本性質(zhì);5、掌握MATLAB描述通信系統(tǒng)中不同波形的常用方法及有關(guān)函數(shù),并學(xué)會利用MATLAB求解系統(tǒng)功率譜,繪制相應(yīng)曲線?;疽螅赫莆沼肕ATLAB描述連續(xù)時間信號和離散時間信號的方法,能夠編寫MATLAB程序,實現(xiàn)各種常用信號的MATLAB實現(xiàn),并且以圖形的方式再現(xiàn)各種信號的波形。二、實驗內(nèi)容1、編寫MATLAB程序產(chǎn)生離散隨機(jī)信號2、編寫MATLAB程序生成連續(xù)時間信號3、編寫MATLAB程序?qū)崿F(xiàn)常見特殊信號三、實驗原理從通信的角度來看,通信的過程就是消息的交換和傳遞的過程。而從數(shù)學(xué)的角度來看,信息從一地傳送到另一地的整個過程或者各個環(huán)節(jié)不外乎是一些碼或信號的交換過程。例如信源壓縮編碼、糾錯編碼、AMI編碼、擾碼等屬于碼層次上的變換,而基帶成形、濾波、調(diào)制等則是信號層次上的處理。碼的變換是易于用軟件來仿真的。要仿真信號的變換,必須解決信號與信號系統(tǒng)在軟件中表示的問題。3.1信號及系統(tǒng)在計算機(jī)中的表示3.1.1時域取樣及頻域取樣一般來說,任意信號s(t)是定義在時間區(qū)間(-∞,+∞)上的連續(xù)函數(shù),但所有計算機(jī)的CPU都只能按指令周期離散運行,同時計算機(jī)也不能處理(-∞,+∞)這樣一個時間段。數(shù)為:

,

截短為sT(t),再對sT(t)按時間間隔Δt均勻取樣,得到取樣點Nt

Tt

(3-1)仿真時用這個樣值集合來表示信號s(t)。顯然Δt反映了仿真系統(tǒng)對信號波形的分辨率,Δt越小,則仿真的精確度越高。據(jù)通信原理所學(xué),信號被取樣以后,對應(yīng)的頻譜時頻率的周期函數(shù),其重復(fù)周期是

1t

。如果信號的最高頻率為fH,那么必須有fH≤

12t

,才能保證不發(fā)生頻域混疊失真。設(shè)Bs

12t

(3-2)第15頁為此將把s(t)按區(qū)間???TT??22??為此將把s(t)按區(qū)間???TT??22??則稱Bs為仿真系統(tǒng)的系統(tǒng)帶寬。如果在仿真程序中設(shè)定的采樣間隔是Δt,那么不能用此仿真程序來研究帶寬大于Bs的信號或系統(tǒng)。此外,任意信號s(t)的頻譜S(f)通常來說也是定義在時間區(qū)間(-∞,+∞)上的連續(xù)函數(shù),所以仿真頻域特性時,也必須把S(f)截短并取樣??紤]到系統(tǒng)帶寬為Bs,便把頻譜的截短區(qū)將式(3-2)代入式(3-3)得

Nf

2Bsf

(3-3)NfN

1tf

(3-4)同樣,信號在頻域被離散后,對應(yīng)到時域也是一個周期信號,其周期為

1f

。如果時域截短時間為T,那么必須T≤1/df才能保證不發(fā)生頻域混疊失真。也就是說,如果仿真程序中設(shè)定得頻域采樣間隔是Δf,那么就不能仿真截短時間超過域的取樣間隔設(shè)計為:

1f

的信號。所以,可以把頻將式(3-5)代入式(3-1)得

f

1T

(3-5)NtN

1tf

(3-6)這樣一來,時域的總?cè)狱c數(shù)及頻域的總?cè)狱c數(shù)都相等,為N

1tf

。要提高仿真的精度,就必須降低時域取樣間隔Δt及頻域取樣間隔Δf,也就是要加大總?cè)狱c數(shù)N。這說明仿真的精度與仿真系統(tǒng)的運算量直接有關(guān)。為了處理上的方便,我們今后規(guī)定采樣點數(shù)N為2的整冪。舉例來說,例如設(shè)計要求的系統(tǒng)帶寬為1MHz,頻域最好分辨率為10kHz,那么據(jù)此可求得Nf

2Bsf

200,則取N=256。對應(yīng)的其他參數(shù)為Bs=1MHz,f

2BsN

1ft

TN

0.5s。3.1.2頻域分析限于篇幅,在此不介紹MATLAB中關(guān)于傅立葉變換的有關(guān)函數(shù)。為了方便仿真,我們利用MATLAB提供的函數(shù)編寫了兩個函數(shù)t2f和f2t。t2f的功能是做傅立葉變換,f2t的功能是做傅立葉反變換,它們的引用格式分別為X=t2f(x)及x=f2t(X),其中x是時域信號x(t)j截短并采樣所得的取樣值矢量,X是對x(t)的傅立葉變換X(f)截短并采樣所得的取樣值矢量。第16頁間設(shè)計為[-Bs,Bs]然后再按間隔Δf均勻取樣,得到取樣點數(shù)為:7.8kHz間設(shè)計為[-Bs,Bs]然后再按間隔Δf均勻取樣,得到取樣點數(shù)為:7.8kHz,T128s,這兩個函數(shù)分別如附錄所示。我們關(guān)心的另一個指標(biāo)是信號的功率譜密度,任意信號s(t)的功率譜的定義是T→∞

S(f)

2

2sT(t)的能量譜,

ST(f)T

2

是sT(t)在截短時間T內(nèi)的功率譜。對于MATLAB仿真系統(tǒng),若x是時域取樣值矢量,X是對應(yīng)的傅立葉變換,那么x的功率譜便為矢量P(X.conj(X))/T。3.2與隨機(jī)信號產(chǎn)生相關(guān)的指令3.2.1高斯噪聲的產(chǎn)生由于函數(shù)randn(1,N)產(chǎn)生N個互不相關(guān)的、均值為零、方差為1的高斯隨機(jī)數(shù),所以可xn0*Bs*randn(1,N)的總功率為n0*Bs,最高頻率分量為Bs,并且各樣點的值互不相關(guān),故它代表雙邊功率譜密度為

n02

(W/Hz)的白噪聲。3.2.2隨機(jī)碼序列的產(chǎn)生語句round(rand(1,M))產(chǎn)生M個取值1、0等概的隨機(jī)碼。函數(shù)round表示四舍五入。函數(shù)rand產(chǎn)生均勻分布于區(qū)間[0,1]的隨機(jī)數(shù)。語句sign(rand(1,M))產(chǎn)生M個取值±1等概的隨機(jī)碼。函數(shù)sign(x)對矢量x的元素取正負(fù)號,而高斯數(shù)randn取正負(fù)數(shù)的概率是相等的。3.2.3產(chǎn)生數(shù)字隨機(jī)信號的一般方法一般來說,隨機(jī)數(shù)字信號可以直接或間接表示成PAM信號(請參閱通信原理教材)。PAM信號是指所有形如s(t)

∞i?∞

is故對所有不同的數(shù)字信號,都可以用相同的方法來產(chǎn)生。1)

產(chǎn)生隨機(jī)序列矢量aa=round(rand(1,M));為了方便起見,一般規(guī)定a的長度M是2的整冪。2)

產(chǎn)生沖擊序列信號imp(t)imp=zeros(1,N);imp(1:L:M)=a/dt;矢量imp代表信號imp(t)。第17頁Ps(f)limTT,其中ST(f)Ps(f)limTT,其中ST(f)是s(t)截短后所得信號sT(t)的傅立葉變化,ST(f)是用它來產(chǎn)生高斯白噪聲。設(shè)仿真系統(tǒng)的取樣點數(shù)是N,系統(tǒng)帶寬為Bs,矢量∑ag(t?iT)的信號。它可以用如下的等效模型來表示:其中,N是imp的矢量長度,M是碼元矢量a中的碼元數(shù),L是每碼元內(nèi)的采樣點數(shù)?,F(xiàn)規(guī)定M、N都是2的整冪,于是L自然也是2的整冪。3)

產(chǎn)生PAM數(shù)字信號s(t)s(t)imp(t)?g(t)g(t)代表脈沖波形,例如,升余弦滾降要求的波形有:g(t)

sint/Tst/Ts

?

cos(at/Ts)1?(2at/Ts)2設(shè)g(t)的傅立葉變換為G(f),s(t)的傅立葉變換為S(f),則有:S(f)t2f(imp).*Gs(t)f2t(S(f))

%t2f為傅立葉變換函數(shù)%f2t為傅立葉反變換函數(shù)設(shè)矢量s代表數(shù)字信號s(t),矢量g代表脈沖波形g(t),矢量G代表其頻譜G(f)。那么s的產(chǎn)生方法是:s=conv(imp,g);其中,函數(shù)conv表示卷積。卷積后s的長度是length(imp)+length(g)-1??鄢舆t時間及拖尾時間后,數(shù)字信號為:Ii=find(g=max(g));s=s([1:N]+ii(1));也可用頻域的方法產(chǎn)生數(shù)字信號s(t):s=f2t(t2f(imp).*G);注意,此時imp的點數(shù)應(yīng)與g或G相同。若g的寬度小于imp,則應(yīng)用零補齊。3.3信號的仿真3.3.1連續(xù)時間信號的仿真如前所述,MATLAB有很多內(nèi)部數(shù)學(xué)函數(shù)可以用來產(chǎn)生這樣的數(shù)字序列,例如sin()、cos()、exp()等函數(shù)可以直接產(chǎn)生一個按照正弦、余弦或指數(shù)規(guī)律變化的數(shù)字序列。例如,運行如下程序%program1_1%Thisprogramisusedtogenerateasinusoidalsignalanddrawitsplotclear,%Clearallvariablescloseall,%Closeallfigurewindowsdt=0.01;%Specifythestepoftimevariablet=-2:dt:2;%Specifytheintervaloftimex=sin(2*pi*t);%Generatethesignalplot(t,x)%Openafigurewindowanddrawtheplotofx(t)title('Sinusoidalsignalx(t)')xlabel('Timet(sec)')在《通信原理》課程中,單位階躍信號u(t)和單位沖激信號δ(t)是二個非常有用的信號。第18頁它們的定義如下:這里分別給出相應(yīng)的簡單的產(chǎn)生單位沖激信號和單位階躍信號的擴(kuò)展函數(shù)。產(chǎn)生單位沖激信號的擴(kuò)展函數(shù)為:%deltafunctionfunctiony=delta(t)dt=0.01;y=(u(t)-u(t-dt))/dt;產(chǎn)生單位階躍信號的擴(kuò)展函數(shù)為:%Unitstepfunctionfunctiony=u(t)y=(t>=0);%y=1fort>0,elsey=0請將這二個MATLAB函數(shù)分別以delta和u為文件名保存在work文件夾中,以后,就可以像教材中的方法使用單位沖激信號δ(t)和單位階躍信號u(t)。3.3.2離散時間信號的仿真程序Program1_2用來產(chǎn)生離散時間信號x[n]=sin(0.2πn)。%Program1_2%Thisprogramisusedtogenerateadiscrete-timesinusoidalsignalanddrawitsplotclear,%Clearallvariablescloseall,%Closeallfigurewindowsn=-10:10;%Specifytheintervaloftimex=sin(0.2*pi*n);%Generatethesignalstem(n,x)%Openafigurewindowanddrawtheplotofx[n]title('Sinusoidalsignalx[n]')xlabel('Timeindexn')請仔細(xì)閱讀該程序,比較程序Program1_1和Program1_2中的不同之處,以便自己編程時能夠正確使用這種方法方針連續(xù)時間信號和離散時間信號。程序Program1_3用來仿真下面形式的離散時間信號:x[n]={....,0.1,1.1,-1.2,0,1.3,….}↑n=0%Program1_3%Thisprogramisusedtogenerateadiscrete-timesequence%anddrawitsplotclear,%Clearallvariablescloseall,%Closeallfigurewindowsn=-5:5;%Specifytheintervaloftime,thenumberofpointsofnis11.x=[0,0,0,0,0.1,1.1,-1.2,0,1.3,0,0];%Generatethesignalstem(n,x,'.')%Openafigurewindowanddrawtheplotofx[n]第19頁gridon,title('Adiscrete-timesequencex[n]')xlabel('Timeindexn')由于在程序的stem(n,x,'.')語句中加有'.'選項,因此繪制的圖形中每根棒條線的頂端是一個實心點。如果需要在序列的前后補較多的零的話,可以利用函數(shù)zeros(),其語法為zeros(1,N):圓括號中的1和N表示該函數(shù)將產(chǎn)生一個一行N列的矩陣,矩陣中的所有元素均為零。利用這個矩陣與序列x[n]進(jìn)行組合,從而得到一個長度與n相等的向量。例如,當(dāng)x[n]={0.1,1.1,-1.2,0,1.3}時,為了得到程序Program1_3中的序列,↑n=0可以用這個MATLAB語句x=[zeros(1,4)xzeros(1,2)]來實現(xiàn)。用這種方法編寫的程序如下:%Program1_4%Thisprogramisusedtogenerateadiscrete-timesinusoidalsignal%anddrawitsplotclear,%Clearallvariablescloseall,%Closeallfigurewindowsn=-5:5;%Specifytheintervaloftimex=[zeros(1,4),0.1,1.1,-1.2,0,1.3,zeros(1,2)];%Generatethesequencestem(n,x,'filled','r')%Openafigurewindowanddrawtheplotofx[n]gridon,四、實驗步驟(1)分析程序program1_1每條指令的作用,運行該程序,將結(jié)果保存,貼在下面的空白處。然后修改程序,將dt改為0.2,并執(zhí)行修改后的程序,保存圖形,看看所得圖形的效果怎樣。dt=0.01時的信號波形

dt=0.2時的信號波形請問:上述的兩幅圖形有什么區(qū)別,哪一副圖形看起來更接近于實際信號波形?為什么會有這種區(qū)別?答:第20頁(2)修改program1_1,,存盤程序名為Q1_2,生成實指數(shù)信號x(t)=e-2t。要求在圖形中加上網(wǎng)格線,并使用函數(shù)axis()控制圖形的時間范圍在0~2秒之間。然后執(zhí)行該程序,保存所的圖形。修改Program1_1后得到的程序Q1_2如下:

圖形結(jié)果如下:(3)將前文中所給的單位沖激信號和單位階躍信號的函數(shù)文件在MATLAB文件編輯器中編寫好,并分別以文件名delta和u存入work文件夾中以便于使用。抄寫函數(shù)文件delta如下:

抄寫函數(shù)文件u如下:(4)修改程序Program1_4,并以Q1_4為文件名存盤,利用axis()函數(shù),將圖形窗口的橫坐標(biāo)范圍改為-2≤n≤5,縱坐標(biāo)范圍改為-1.5≤x≤1.5。修改Program1_4后得到的程序Q1_4如下:

信號的波形圖(5)根據(jù)示例程序的編寫方法,編寫一個MATLAB程序,以Q1_5文件名存盤,給給定信號-0.5t求信號y(t)=x(1.5t+3),并繪制出x(t)和y(t)的圖形。編寫的程序Q1_5如下:第21頁x(t)=eu(t)x(t)=eu(t)x(t)和y(t)的圖形分別為:五、實驗報告要求1、按要求完整書寫你所編寫的全部MATLAB程序2、詳細(xì)記錄實驗過程中的有關(guān)信號波形圖(存于自帶的U盤中),圖形要有明確的標(biāo)題。全部的MATLAB圖形應(yīng)該用打印機(jī)打印,然后貼在本實驗報告中的相應(yīng)位置,實驗報告必須手寫。3、實事求是地回答相關(guān)問題,嚴(yán)禁抄襲。本實驗完成時間:年月日第22頁附錄在進(jìn)行信號時域和頻域特性分析時,經(jīng)常要求進(jìn)行函數(shù)的傅立葉變換和傅立葉反變換運算,為了編程的方便,可將傅立葉變換和反變換分別自定義為兩個子函數(shù),在編程時直接調(diào)用可提高編程的靈活性和方便程度。下面將這兩個常用的子函數(shù)定義如下:1.T2F子函數(shù)求函數(shù)m(t)傅立葉變換的函數(shù)T2F有兩個輸入?yún)?shù),兩個輸出參數(shù)。輸入?yún)?shù)t表示輸入數(shù)組的時間變量,st存放輸入數(shù)組,它的長度由length(t)決定;輸出參數(shù)f表示輸出的傅立葉變換對的頻率變量,sf用來存放輸出數(shù)組。T2F函數(shù)的程序如下:function[f,sf]=T2F(t,st)%ThisisafunctionusingtheFFTfunctiontocalculateasignal'sFourier%Transiation%Inputisthetimeandsignalvectors,thelengthoftimemustgreater%than2%Outputis

溫馨提示

  • 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

提交評論