《信號(hào)與系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書.doc
《《信號(hào)與系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《信號(hào)與系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書.doc(40頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
《信號(hào)與系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書 黃劍航 編 莆田學(xué)院機(jī)電工程學(xué)院 2015年3月 目錄 實(shí)驗(yàn)1 MATLAB在信號(hào)處理中的應(yīng)用基礎(chǔ).................................1 實(shí)驗(yàn)2 連續(xù)時(shí)間信號(hào)在MATLAB中的表示 ..............................6 實(shí)驗(yàn)3 連續(xù)時(shí)間信號(hào)在MATLAB中的運(yùn)算 .............................12 實(shí)驗(yàn)4 傅里葉變換及其性質(zhì).........................................................18 實(shí)驗(yàn)5 信號(hào)抽樣及抽樣定理………………….............................24 實(shí)驗(yàn)6 連續(xù)時(shí)間LTI系統(tǒng)的時(shí)域分析 .......................................30 前言 MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,它是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分?! ? MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MathWorks公司也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。 MATLAB在信號(hào)與系統(tǒng)中的應(yīng)用主要包括符號(hào)運(yùn)算和數(shù)值計(jì)算仿真分析。由于信號(hào)與系統(tǒng)課程的許多內(nèi)容都是基于公式演算,而MATLAB借助符號(hào)數(shù)學(xué)工具箱提供的符號(hào)運(yùn)算功能,能基本滿足信號(hào)與系統(tǒng)課程的需要。例如解微分方程、傅立葉正反變換、拉普拉斯正反變換和Z正反變換等。MATLAB在信號(hào)與系統(tǒng)中的另一主要應(yīng)用是數(shù)值計(jì)算與仿真分析,主要包括函數(shù)波形繪制、函數(shù)運(yùn)算、沖激響應(yīng)仿真分析、信號(hào)的時(shí)域分析、信號(hào)的頻譜分析等內(nèi)容。數(shù)值計(jì)算仿真分析可以幫助學(xué)生更深入地理解信號(hào)與系統(tǒng)的理論知識(shí),并為將來使用MATLAB進(jìn)行信號(hào)處理領(lǐng)域的各種分析和實(shí)際應(yīng)用打下基礎(chǔ)。 實(shí)驗(yàn)報(bào)告要求如下: 1. 具體格式參照“莆田學(xué)院機(jī)電工程學(xué)院實(shí)驗(yàn)報(bào)告”格式。 2. 注意實(shí)驗(yàn)報(bào)告要求分析組織有條理,截圖美觀,結(jié)論正確。 實(shí)驗(yàn)1 MATLAB在信號(hào)處理中的應(yīng)用基礎(chǔ) 1. 實(shí)驗(yàn)?zāi)康? 熟悉MATLAB工作環(huán)境和基本操作;熟悉MATLAB數(shù)組及矩陣運(yùn)算;學(xué)習(xí)函數(shù)的編制,掌握MATLAB的編程應(yīng)用。通過不同的程序結(jié)構(gòu)和不同的實(shí)際編程問題,掌握MATLAB的編程方法。 2. 實(shí)驗(yàn)內(nèi)容 2.1假設(shè)x=3,y=4。利用MTLAB 計(jì)算下列表達(dá)式:, 要求: (1)在命令窗口直接輸入,得到運(yùn)算結(jié)果; (2)編寫M文檔并在命令窗口執(zhí)行,然后用工作空間平臺(tái)查看有哪些變量在當(dāng)前工作區(qū)。 2.2 一小球從空中下落的位移公式為: ,利用MATLAB 計(jì)算小球在t=5s 時(shí)的位置,已知:. 2.3計(jì)算函數(shù)在為如下取值時(shí)候的函數(shù)值,取4.9, 3.2, 100, 1.5, 9.75, 2.56,16, 4.9, 10。 2.4 確定下列數(shù)組的大小,通過whos 或工作空間窗口(The workspace browser)檢查你的答案。注意在本練習(xí)中后面的數(shù)組可能要用到前面數(shù)組的定義。 (1) u=[10, 20, 10+20] (2) v=[-1;20;3] (3) w=[1 0 -9;2 -2 0;1 2 3] (4) x=[u v] (5) y(3,3)=-7 (6) z=[zeros(4,1) ones(4,1) zeros(1,4)] (7) v(4)=x(2,1) 2.5 執(zhí)行完2.4的所有題目后,w(2,1)的值是多少? x(2,1)的值是多少?y(2,1)的值是多少? 2.6 c 數(shù)組的定義如下,寫出下面子數(shù)組的內(nèi)容。 c = 1.1000 -3.2000 3.4000 0.6000 0.6000 1.1000 -0.6000 3.1000 1.3000 0.6000 5.5000 0 (1) c(2,:) (2) c(:,end) (3) c(1:2,2:end) (4) c(6) (5) c(4:end) (6) c(1:2,2:4) (7) c([1 4],2) (8) c([2 2],[3 3]) 2.7 當(dāng)賦值語(yǔ)句執(zhí)行后,下列數(shù)組的內(nèi)容是多少? (1) a=[1 2 3; 4 5 6; 7 8 9]; a([3 1],:)=a([1 3],:); (2) a=[1 2 3; 4 5 6; 7 8 9]; a([1 3],:)=a([2 2],:); (3) a=[1 2 3; 4 5 6; 7 8 9]; a=a([2 2],:); 2.8 假設(shè)a,b,c 和d 的定義如下: 分別運(yùn)行出下列表達(dá)式的運(yùn)算結(jié)果,并思考點(diǎn)乘和乘法的不同。 (1) a + b (2) a .* c (3) a * b (4) a * c (5) a + c (6) a + d (7) a .* d (8) a * d 2.9一個(gè)程序?qū)嵗龑W(xué)習(xí): (溫度轉(zhuǎn)換)設(shè)計(jì)一個(gè)MATLAB 程序,讀取一個(gè)華氏溫度的輸入,輸出開爾文溫度。 華氏溫度和開爾文溫度的轉(zhuǎn)換關(guān)系式可在物理學(xué)課本中找到。其關(guān)系式為: 在物理學(xué)參考書中舉了一些例子,我們可以用來檢驗(yàn)我們程序是否正確。例如 我們?cè)O(shè)計(jì)程序的步驟如下 : (1)提示用戶鍵入華氏溫度值 (2)讀取輸入值 (3)通過關(guān)系式轉(zhuǎn)換為開氏溫度 (4)輸出結(jié)果,結(jié)束 我們將會(huì)用input 函數(shù)輸入華氏溫度,用fprintf 函數(shù)輸出結(jié)果。 % Script file:temp_conversion.m % % Purpose: % To convert an input temperature from degrees Fahrenheit to % an output temperature in kelvins. % % Record of revisions: % Date Programmer Description of change % ==== ========= ================ % 12/01/97 S.J.Chapman Original code % %Define variables: % temp_f --Temperature in degrees Fahrenheit % temp_k --Temperature in kelvins %Prompt the user for the input temperature. temp_f=input(Enter the temperature in degrees Fahrenheit:); %Converttokelvins. temp_k=(5/9)*(temp_f-32)+273.15; %Writeouttheresult. fprintf(%6.2f degrees Fahrenheit = %6.2f kelvins.\n,... temp_f,temp_k); 我們輸入上面的例子中的華氏溫度值,以檢測(cè)程序的正確性。注意用戶的輸入值已用黑 體字標(biāo)出。 >> temp_conversion Enter the temperature in degrees Fahrenheit:212 212.00 degrees Fahrenheit = 373.15 kelvins. >> temp_conversion Enter the temperature in degrees Fahrenheit:-110 -110.00 degrees Fahrenheit = 194.26 kelvins. 這個(gè)結(jié)果和物理教科書的結(jié)果相同。 2.10編寫一個(gè)程序,計(jì)算出坐標(biāo)系中用戶指定兩點(diǎn)(X1,Y1)和(X2,Y2)之間的距離。要求有輸入、輸出及其相關(guān)提示。 2.11雙曲余弦的定義如下:, 編寫一個(gè)程序,計(jì)算出用戶指定的x 的值對(duì)應(yīng)的雙曲余弦值。用這個(gè)程序計(jì)算雙曲余弦值的若干值,并和MATLAB 中的內(nèi)建函數(shù)cosh(x)得到的值比較看看是否完全相同。并用MATLAB 打印出這個(gè)函數(shù)的圖象。 2.12 電子工程:負(fù)載的最大輸出功率一個(gè)內(nèi)阻Rs=50Ω,電動(dòng)勢(shì)V=120V 的電源驅(qū)動(dòng)一個(gè)負(fù)載RL。當(dāng)RL 為多少時(shí),RL 的功率最大?在這種情況下,功率為多少?畫以RL 為自變量的RL 功率圖。 2.13利用公式求的近似值,直到最后一項(xiàng)的絕對(duì)值小于為止。 2.14 Fibonacci(斐波納契)序列的元素滿足Fibonacci 規(guī)則: 且;現(xiàn)要求該序列中第一個(gè)大于20000 的元素,并指明該元素是序列的第幾項(xiàng)。 2.15在田徑比賽中,一個(gè)身高為一米八零的鉛球運(yùn)動(dòng)員,大概以多大的角度(和水平方向夾角)推鉛球,才能使鉛球推得最遠(yuǎn),并求出最遠(yuǎn)距離。不計(jì)空氣阻力,假設(shè)鉛球出手點(diǎn)和運(yùn)動(dòng)員高度相等,且鉛球出手瞬間初始速度大小為14m/s,重力加速度取g=10m/s2。 2.16 打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是一個(gè)水仙花數(shù),滿足153=1^3+5^3+3^3。 2.17 有一個(gè)函數(shù): ,寫一程序,輸入x,輸出y值。 2.18 輸入3個(gè)整數(shù),要求按大小輸出。 2.19 編寫一個(gè)MATLAB 程序,要求輸入圓柱體的半徑和高,然后輸出體積。 3. 思考 3.1 MATLAB 的命令窗口的作用是什么? 3.2 列出幾種不同的得到MATLAB 幫助的方法。 3.3 什么是工作區(qū)?在同一工作區(qū)內(nèi),你如何決定它里面存儲(chǔ)了什么? 3.4 你怎樣清空MATLAB 工作區(qū)內(nèi)的內(nèi)容? 3.5 數(shù)組,矩陣,向量有什么區(qū)別? 3.6 回答關(guān)于下列矩陣的有關(guān)問題 (1)C 的大小是多少? (2)C(2,3)的值是多少? (3)列出值為0.6 的元素的下標(biāo) 3.7 腳本文件和函數(shù)文件的區(qū)別是什么? 實(shí)驗(yàn)2 連續(xù)時(shí)間信號(hào)在MATLAB中的表示 1. 實(shí)驗(yàn)?zāi)康? 學(xué)會(huì)運(yùn)用MATLAB表示常用連續(xù)時(shí)間信號(hào)的方法;觀察并熟悉這些信號(hào)的波形和特性。 2. 實(shí)驗(yàn)原理 在某一時(shí)間區(qū)間內(nèi),除若干個(gè)不連續(xù)點(diǎn)外,如果任意時(shí)刻都可以給出確定的函數(shù)值,則稱該信號(hào)為連續(xù)時(shí)間信號(hào),簡(jiǎn)稱為連續(xù)信號(hào)。從嚴(yán)格意義上講,MATLAB數(shù)值計(jì)算的方法并不能處理連續(xù)時(shí)間信號(hào)。然而,可利用連續(xù)信號(hào)在等時(shí)間間隔點(diǎn)的取樣值來近似表示連續(xù)信號(hào),即當(dāng)取樣時(shí)間間隔足夠小時(shí),這些離散樣值能夠被MATLAB處理,并且能較好地近似表示連續(xù)信號(hào)。 MATLAB提供了大量生成基本信號(hào)的函數(shù)。比如常用的指數(shù)信號(hào)、正余弦信號(hào)等都是MATLAB的內(nèi)部函數(shù)。為了表示連續(xù)時(shí)間信號(hào),需定義某一時(shí)間或自變量的范圍和取樣時(shí)間間隔,然后調(diào)用該函數(shù)計(jì)算這些點(diǎn)的函數(shù)值,最后畫出其波形圖。 3. 實(shí)例分析 3.1 典型信號(hào)的MATLAB表示 (1)實(shí)指數(shù)信號(hào) 實(shí)指數(shù)信號(hào)的基本形式為。式中,為實(shí)數(shù)。當(dāng)時(shí),實(shí)指數(shù)信號(hào)隨時(shí)間按指數(shù)式增長(zhǎng);當(dāng)時(shí),實(shí)指數(shù)信號(hào)隨時(shí)間按指數(shù)式衰減;當(dāng)時(shí)候,則轉(zhuǎn)化為直流信號(hào)。MATLAB中用exp函數(shù)來表示實(shí)指數(shù)信號(hào),其語(yǔ)句格式為: 例1 用MATLAB命令產(chǎn)生單邊衰減指數(shù)信號(hào),并繪出時(shí)間的波形圖。 解:MATLAB源程序?yàn)椋? clear;clc; K = 2; a = -1.5; t = 0:0.01:3; ft = K*exp(a*t); plot(t,ft);grid on axis([0,3,0,2.2]); title(單邊指數(shù)衰減信號(hào)); (2)正弦信號(hào) 正弦信號(hào)的基本形式為或者。其中K 是振幅;是角頻率;是初相位。這三個(gè)參數(shù)稱為正弦信號(hào)的三要素。MATLAB中可用sin或者cos函數(shù)來表示正弦信號(hào),其語(yǔ)句格式為: 例2 用MATLAB命令產(chǎn)生正弦信號(hào),并繪出時(shí)間的波形圖。 解:MATLAB源程序?yàn)椋? clear;clc; K = 2; w = 2*pi; phi = pi/4; t = 0:0.01:3; ft = K*sin(w*t+phi); plot(t,ft);grid on axis([0,3,-2.2,2.2]); title(正弦信號(hào)); 圖1 單邊指數(shù)衰減信號(hào) 圖2 正弦信號(hào) (3)抽樣信號(hào) 抽樣信號(hào)的基本形式為,在MATLAB中用與類似的函數(shù)表示,定義為。 可以看出,函數(shù)與沒有本質(zhì)的區(qū)別,只是在時(shí)間尺度上不同而已。 例3 用MATLAB命令產(chǎn)生抽樣信號(hào),并繪出時(shí)間為的波形圖。 解:MATLAB源程序?yàn)椋? clear;clc; t = -6*pi: pi/100: 6*pi; ft = sinc(t/pi); plot(t,ft);grid on axis([-20,20,-0.5,1.2]); title(抽樣信號(hào)); 圖3 抽樣信號(hào) (4)矩形脈沖信號(hào) 矩形脈沖信號(hào)在MATLAB中可用rectpuls函數(shù)產(chǎn)生,其語(yǔ)句格式為: 該函數(shù)用于產(chǎn)生一個(gè)幅度為1、寬度為width,且以t=0為對(duì)稱軸的矩形脈沖信號(hào),width的默認(rèn)值為1。 例4 用MATLAB命令畫出下列矩形脈沖信號(hào)的波形圖。 解:根據(jù)所定義的矩形脈沖信號(hào),定義的矩形脈沖寬度為1,脈沖的中心位置相對(duì)于縱軸向右移動(dòng)了0.5。因此,其MATLAB源程序?yàn)椋? clear;clc; t = -0.5: 0.01: 3; t0 = 0.5; width = 1; ft = 2* rectpuls(t-t0, width); plot(t,ft);grid on axis([-0.5,3,-0.2,2.2]); title(矩形脈沖信號(hào)); 圖4 矩形脈沖信號(hào) 周期性矩形波信號(hào)或方波在MATLAB中可用square函數(shù)產(chǎn)生,其語(yǔ)句格式為: y=square(t,DUTY) 該函數(shù)用于產(chǎn)生一個(gè)周期為,幅值為的周期性方波信號(hào),其中,DUTY參數(shù)用來表示信號(hào)的占空比DUTY%,即在一個(gè)周期內(nèi)脈沖寬度(正值部分)與脈沖周期比值。占空比默認(rèn)值為0.5。 例5 用MATLAB命令產(chǎn)生頻率為10Hz,占空比為30%的周期方波信號(hào)。 解:MATLAB源程序?yàn)椋? clear;clc; t = 0: 0.001: 0.3; y = square(2*pi*10*t, 30); plot(t,y);grid on axis([0,0.3,-1.2,1.2]); title(周期方波信號(hào)); 圖5 周期方波信號(hào) 還有非周期的三角波脈沖可以用tripuls函數(shù),周期三角波(鋸齒波)可以用sawtooth函數(shù)實(shí)現(xiàn)。同學(xué)們可以通過MATLAB help自學(xué),或者上網(wǎng)搜索及其他途徑學(xué)習(xí)。 3.2 單位階躍信號(hào)的MATLAB表示 單位階躍信號(hào)是信號(hào)分析中的基本信號(hào)之一,在信號(hào)與系統(tǒng)分析中有著十分重要的意義,常用于簡(jiǎn)化信號(hào)的時(shí)域數(shù)學(xué)表示。例如,表示分段函數(shù)信號(hào)、時(shí)限信號(hào)和因果信號(hào)等。單位階躍信號(hào)用符號(hào)表示,定義為: 例6 用MATLAB命令產(chǎn)生單位階躍信號(hào)。 解:MATLAB源程序?yàn)椋? clear;clc; t = -1: 0.01: 5; ft = (t >=0 ); plot(t,ft);grid on axis([-1,5,-0.5,1.5]); title(單位階躍信號(hào)); 圖6 單位階躍信號(hào) 此外,也可以在MATLAB的工作目錄下創(chuàng)建uCT的M文件,其MATLAB源文件為: function f = uCT(t) f = (t>=0); 保存后,就可調(diào)用該函數(shù),并運(yùn)用plot命令來繪制單位階躍信號(hào)的波形。例如,圖6中波形也可以用如下代碼實(shí)現(xiàn): clear;clc; t = -1: 0.01: 5; ft = uCT(t); plot(t,ft);grid on axis([-1,5,-0.5,1.5]); title(單位階躍信號(hào)); 注意,在此定義的uCT函數(shù)是階躍信號(hào)數(shù)值表示方法,因此在數(shù)值計(jì)算機(jī)中我們將調(diào)用uCT函數(shù)。而在MATLAB的MAPLE內(nèi)核中,將Heaviside函數(shù)定義為階躍信號(hào)符號(hào)表達(dá)式,在符號(hào)運(yùn)算過程中,若要調(diào)用它必須用sym定義后,才能實(shí)現(xiàn)。例如,還可用下面的命令會(huì)出階躍信號(hào),即: clear;clc; y=sym(Heaviside(t)); % 定義符號(hào)表達(dá)式 ezplot(y,[-1,5]).grid on 在表示分段函數(shù)信號(hào)、時(shí)限信號(hào)時(shí),經(jīng)常用到延時(shí)的單位階躍信號(hào),對(duì)于延時(shí)T的單位階躍信號(hào),可以用 uCT(t-T)來表示。 例7 用MATLAB命令實(shí)現(xiàn)幅度為1、寬度為1的門函數(shù)。 解:MATLAB源程序?yàn)椋? clear;clc; t = -1: 0.01: 1; ft = uCT(t+0.5)-uCT(t-0.5); plot(t,ft);grid on axis([-1,1 -0.2,1.2]); title(門函數(shù)); 圖 圖7 門函數(shù)波形 4. 實(shí)驗(yàn)內(nèi)容 4.1 利用MATLAB命令畫出下列連續(xù)信號(hào)的波形圖。 (1) (2) (3) (4) 4.2 利用MATLAB命令產(chǎn)生幅度為1、周期為1、占空比為0.5的一個(gè)周期矩形脈沖信號(hào)。T=1;f=1/T=1 4.3 利用MATLAB命令畫出如下信號(hào)的實(shí)部、虛部、模和幅角。 cos(pi/4*t)+jsin(pi/4*t) 5. 問題與思考 階躍信號(hào)函數(shù)中語(yǔ)句ft = (t >=0 )的含義。 實(shí)驗(yàn)3 連續(xù)時(shí)間信號(hào)在MATLAB中的運(yùn)算 1. 實(shí)驗(yàn)?zāi)康? 學(xué)會(huì)運(yùn)用MATLAB進(jìn)行連續(xù)信號(hào)的時(shí)移、反折和尺度變換;學(xué)會(huì)運(yùn)用MATLAB進(jìn)行連續(xù)信號(hào)的相加、相乘運(yùn)算;學(xué)會(huì)運(yùn)用MATLAB數(shù)值計(jì)算方法求連續(xù)信號(hào)的卷積。 2. 實(shí)驗(yàn)原理 2.1信號(hào)的時(shí)移、反折和尺度變換 信號(hào)的時(shí)移、反折和尺度變換是針對(duì)自變量時(shí)間而言的,其數(shù)學(xué)表達(dá)式與波形變換之間存在一定的變換規(guī)律。 信號(hào)的時(shí)移就是將信號(hào)數(shù)學(xué)表達(dá)式中的用替換,其中為正實(shí)數(shù)。因此,波形的時(shí)移變換是將原來的波形在時(shí)間軸上向左或者向右移動(dòng)。為波形向左移動(dòng);為波形向右移動(dòng)。信號(hào)的反折就是將表達(dá)式中的自變量用替換,即變換后的波形是原波形的y軸鏡像。信號(hào)的尺度變換就是將表達(dá)式中的自變量用替換,其中,為正實(shí)數(shù)。對(duì)應(yīng)于波形的變換,則是將原來的的波形以原點(diǎn)為基準(zhǔn)壓縮()至原來的,或者擴(kuò)展()至原來的。 上述可以推廣到的情況。 2.2 MATLAB數(shù)值計(jì)算法求連續(xù)時(shí)間信號(hào)的卷積 用MATLAB分析連續(xù)時(shí)間信號(hào),可以通過時(shí)間間隔取足夠小的離散時(shí)間信號(hào)的數(shù)值計(jì)算方法來實(shí)現(xiàn)。可調(diào)用MATLAB中的conv( )函數(shù)近似地?cái)?shù)值求解連續(xù)信號(hào)的卷積積分。如果對(duì)連續(xù)時(shí)間信號(hào)和進(jìn)行等時(shí)間間隔(足夠小)均勻抽樣,則和分別變?yōu)殡x散序列和。其中為整數(shù)。當(dāng)足夠小時(shí),和即為連續(xù)時(shí)間信號(hào)和。因此連續(xù)信號(hào)的卷積積分運(yùn)算轉(zhuǎn)化為: 采用數(shù)值計(jì)算法,只求當(dāng)時(shí)卷積積分的值,其中,為整數(shù),即 其中,實(shí)際就是離散序列和的卷積和。當(dāng)足夠小時(shí),就是卷積積分的結(jié)果,從而連續(xù)時(shí)間信號(hào) 上式表明通過MATLAB實(shí)現(xiàn)連續(xù)信號(hào)和的卷積,可以利用各自抽樣后的離散時(shí)間序列的卷積再乘上抽樣間隔。抽樣間隔越小,誤差也就越小。 3. 實(shí)例分析 例1 已知信號(hào),試用MATLAB命令畫出、、、的波形圖。 解:根據(jù)已知信號(hào),先建立函數(shù)文件,即在MATLAB的工作目錄下創(chuàng)建funct1.m文件,MATLAB源程序?yàn)椋? function f = funct1(t) f=uCT(t+2)-uCT(t)+(-t+1).*(uCT(t)-uCT(t-1)); 然后,可以調(diào)用上述函數(shù)來繪制所求的信號(hào)波形。程序運(yùn)行完,產(chǎn)生如圖1所示的波形。MATLAB源程序?yàn)椋? clear;clc; t = -2:0.01:4; ft1 = funct1(t-2); ft2 = funct1(3*t); ft3 = funct1(-t); ft4 = funct1(-3*t-2); subplot(221) plot(t,ft1);grid on title(f(t-2)); axis([-2 4 -0.5 2]); subplot(222) plot(t,ft2);grid on title(f(3t)); axis([-2 4 -0.5 2]); subplot(223) plot(t,ft3);grid on title(f(-t)); axis([-2 4 -0.5 2]); subplot(224) plot(t,ft4);grid on title(f(-3t-2)); axis([-2 4 -0.5 2]); 圖1 f(t-2),f(3t),f(-t),f(-3t-2)波形圖 例2 用MATLAB數(shù)值計(jì)算分析法求信號(hào)與的卷積積分。 解:因?yàn)槭且粋€(gè)持續(xù)時(shí)間無限長(zhǎng)的信號(hào),而計(jì)算機(jī)數(shù)值計(jì)算不可能計(jì)算真正的無限長(zhǎng)時(shí)間信號(hào),所以在進(jìn)行的抽樣離散化時(shí),所取的時(shí)間范圍讓衰減到足夠小就可以了,本例中取。MATLAB源程序?yàn)椋? clear;clc; dt = 0.01; t = -1:dt:2.5; f1 = uCT(t)- uCT(t-2); f2 = exp(-3*t).*uCT(t); f = conv(f1,f2)*dt; n =length(f); tt = (0:n-1)*dt-2;(tt從-2開始) subplot(221), plot(t,f1),grid on; axis([-1, 2.5, -0.2,1.2]); title(f1(t)); xlabel(t); subplot(222), plot(t,f2),grid on; axis([-1, 2.5, -0.2,1.2]); title(f2(t)); xlabel(t); subplot(212), plot(tt,f),grid on; title(f(t)=f1(t)*f2(t)); xlabel(t); 程序運(yùn)行后,產(chǎn)生如圖2所示的波形。 圖2 例2的卷積結(jié)果 由于和的時(shí)間范圍都是從開始,所以卷積結(jié)果的時(shí)間范圍從開始,增量還是取樣間隔,這就是上面MATLAB語(yǔ)句tt = (0:n-1)*dt-2的由來。 對(duì)于時(shí)限信號(hào)的卷積運(yùn)算,還可以利用MATLAB中的function命令建立一個(gè)實(shí)用函數(shù)來求卷積。例如,可以建立連續(xù)時(shí)間信號(hào)卷積運(yùn)算的函數(shù)ctsconv.m,其MATLAB源程序?yàn)椋? function [f,t] = ctsconv(f1,f2,t1,t2,dt) f = conv(f1,f2); f = f*dt; ts = min(t1) +min(t2); te = max(t1)+max(t2); t = ts:dt:te; subplot(221) plot(t1,f1); grid on axis([ min(t1), max(t1), min(f1)-abs(min(f1)*0.2), max(f1)+abs(max(f1)*0.2) ]) title(f1(t));xlabel(t); subplot(222) plot(t2,f2); grid on axis([ min(t2), max(t2), min(f2)-abs(min(f2)*0.2), max(f2)+abs(max(f2)*0.2) ]) title(f2(t));xlabel(t); subplot(212) plot(t,f); grid on axis([ min(t), max(t), min(f)-abs(min(f)*0.2), max(f)+abs(max(f)*0.2) ]) title(f(t)=f1(t)*f2(t));xlabel(t); 對(duì)于例2,可以用上面定義的ctsconv函數(shù)求的,MATLAB源程序?yàn)椋? clear;clc; dt = 0.01; t1 = -1:dt:2.5; f1 = uCT(t1)- uCT(t1-2); t2 = t1; f2 = exp(-3*t2).*uCT(t2); [t,f] = ctsconv(f1,f2,t1,t2,dt); 程序運(yùn)行后,可獲得和例2相同的波形結(jié)果。 4. 實(shí)驗(yàn)內(nèi)容 4.1 試用MATLAB命令繪制信號(hào)的波形圖。 4.2 已知信號(hào),畫出、、、的波形。 4.3 求信號(hào)與 的卷積結(jié)果,并畫出和的波形。 4.4 求信號(hào)與自身的卷積結(jié)果,并畫出和的波形。 5. 問題與思考 MATLAB運(yùn)算符中 .*和 * 的區(qū)別?可結(jié)合例子說明。(實(shí)驗(yàn)1和實(shí)驗(yàn)2都有碰到的) 實(shí)驗(yàn)4 傅里葉變換及其性質(zhì) 1. 實(shí)驗(yàn)?zāi)康? 學(xué)會(huì)運(yùn)用MATLAB求連續(xù)時(shí)間信號(hào)的傅里葉(Fourier)變換;學(xué)會(huì)運(yùn)用MATLAB求連續(xù)時(shí)間信號(hào)的頻譜圖;學(xué)會(huì)運(yùn)用MATLAB分析連續(xù)時(shí)間信號(hào)的傅里葉變換的性質(zhì)。 2. 實(shí)驗(yàn)原理及實(shí)例分析 2.1 傅里葉變換的實(shí)現(xiàn) 信號(hào)的傅里葉變換定義為: , 傅里葉反變換定義為:。 信號(hào)的傅里葉變換主要包括MATLAB符號(hào)運(yùn)算和MATLAB數(shù)值分析兩種方 法,下面分別加以探討。同時(shí),學(xué)習(xí)連續(xù)時(shí)間信號(hào)的頻譜圖。 2.1.1 MATLAB符號(hào)運(yùn)算求解法 MATLAB符號(hào)數(shù)學(xué)工具箱提供了直接求解傅里葉變換與傅里葉反變換的函 數(shù)fourier( )和ifourier( )。Fourier變換的語(yǔ)句格式分為三種。 (1) F=fourier(f,):它是符號(hào)函數(shù)f的Fourier變換,默認(rèn)返回是關(guān)于的函數(shù)。 (2) F=fourier(f,v):它返回函數(shù)F是關(guān)于符號(hào)對(duì)象v的函數(shù),而不是默認(rèn)的,即。 (3) F=fourier(f,u,v):是對(duì)關(guān)于u的函數(shù)f進(jìn)行變換,返回函數(shù)F是關(guān)于v的函數(shù),即。 傅里葉反變換的語(yǔ)句格式也分為三種。 (1) f=ifourier(F):它是符號(hào)函數(shù)F的Fourier反變換,獨(dú)立變量默認(rèn)為,默認(rèn)返回是關(guān)于x的函數(shù)。 (2) f=ifourier(F,u):它返回函數(shù)f是u的函數(shù),而不是默認(rèn)的x。 (3) f=ifourier(F,u,v):是對(duì)關(guān)于v的函數(shù)F進(jìn)行反變換,返回關(guān)于u的函數(shù)f。 值得注意的是,函數(shù)fourier( )和ifourier( )都是接受由sym函數(shù)所定義的符號(hào) 變量或者符號(hào)表達(dá)式。 例1 用MATLAB符號(hào)運(yùn)算求解法求單邊指數(shù)信號(hào)的傅里葉變換。 解:MATLAB源程序?yàn)椋? ft = sym(exp(-2*t)*Heaviside(t)); Fw = fourier(ft) 運(yùn)行結(jié)果為:Fw = 1/(2+i*w) 例2 用MATLAB符號(hào)運(yùn)算法求的傅里葉逆變換 解:MATLAB源程序?yàn)椋? ft = sym(exp(-2*t)*Heaviside(t)); Fw = fourier(ft) 運(yùn)行結(jié)果為:ft = 1/2*exp(-t)*heaviside(t)+1/2*exp(t)*heaviside(-t) 2.1.2 連續(xù)時(shí)間信號(hào)的頻譜圖 信號(hào)的傅里葉變換表達(dá)了信號(hào)在處的頻譜密度分布情況,這就 是信號(hào)的傅里葉變換的物理含義。一般是復(fù)函數(shù),可以表示成 。與曲線分別稱為非周期信號(hào)的幅度頻譜與相位頻譜,它們都是頻率的連續(xù)函數(shù),在形狀上與相應(yīng)的周期信號(hào)頻譜包絡(luò)線相同。非周期信號(hào)的頻譜有兩個(gè)特點(diǎn),密度譜和連續(xù)譜。要注意到,采用fourier()和ifourier() 得到的返回函數(shù),仍然是符號(hào)表達(dá)式。若需對(duì)返回函數(shù)作圖,則需應(yīng)用ezplot()繪圖命令。 例3 用MATLAB命令繪出例1中單邊指數(shù)信號(hào)的幅度譜和相位譜。 解:MATLAB源程序?yàn)? ft = sym(exp(-2*t)*Heaviside(t)); Fw = fourier(ft); subplot(211) ezplot(abs(Fw));grid on title(幅度譜) phase = atan(imag(Fw)/real(Fw)); subplot(212) ezplot(phase);grid on title(相位譜) 圖1 單邊指數(shù)信號(hào)的幅度譜和相位譜 2.1.3 MATLAB數(shù)值計(jì)算求解法 fourier( )和ifourier( )函數(shù)的一個(gè)局限性是,如果返回函數(shù)中有諸如單位沖激函數(shù)等項(xiàng),則用ezplot()函數(shù)無法作圖。對(duì)某些信號(hào)求變換時(shí),其返回函數(shù)可能包含一些不能直接用符號(hào)表達(dá)的式子,因此不能對(duì)返回函數(shù)作圖。此外,在很多實(shí)際情況中,盡管信號(hào)是連續(xù)的,但經(jīng)過抽樣所獲得的信號(hào)則是多組離散的數(shù)值量,因此無法表示成符號(hào)表達(dá)式,此時(shí)不能應(yīng)用fourier()函數(shù)對(duì)f(n)進(jìn)行處理,而只能用數(shù)值計(jì)算方法來近似求解。 從傅里葉變換定義出發(fā)有, 當(dāng)足夠小時(shí),上式的近似情況可以滿足實(shí)際需要。對(duì)于時(shí)限信號(hào),或者在所研究的時(shí)間范圍內(nèi)讓衰減到足夠小,從而近似地看成時(shí)限信號(hào),則對(duì)于上式可以考慮有限n的取值。假設(shè)是因果信號(hào),則有 傅里葉變換后在域用MATLAB進(jìn)行求解,對(duì)上式的角頻率進(jìn)行離散化。假設(shè)離散化后得到N個(gè)樣值,即 -1, 因此有 。采用行向量,用矩陣表示為 。其要點(diǎn)是要正確生成的M個(gè)樣本向量與向量。當(dāng)足夠小時(shí),上式的內(nèi)積運(yùn)算(即相乘求和運(yùn)算)結(jié)果即為所求的連續(xù)時(shí)間信號(hào)傅里葉變換的數(shù)值解。 例4 用MATLAB數(shù)值計(jì)算法求三角脈沖幅度譜。三角脈沖的數(shù)學(xué)表達(dá)式如下: 解:MATLAB源程序?yàn)椋? dt = 0.01; t = -4:dt:4; ft = (t+4 )/2.*uCT(t+4)-t.*uCT(t)+(t-4)/2.*uCT(t-4); N = 2000; k = -N:N; W = 2*pi*k/((2*N+1)*dt); F = dt * ft*exp(-j*t*W); plot(W,F), grid on axis([-pi pi -1 9]); xlabel(W), ylabel(F(W)) title(amplitude spectrum); 圖2 三角脈沖信號(hào)的幅度譜 2.2 傅里葉變換的性質(zhì) 傅里葉變換的性質(zhì)包含了豐富的物理意義,并且揭示了信號(hào)的時(shí)域和頻域的 關(guān)系。熟悉這些性質(zhì)成為信號(hào)分析研究工作中最重要的內(nèi)容之一。 2.2.1 尺度變換特性 傅里葉變換的尺度變換特性為:若,則有,其 中,a為非零實(shí)常數(shù)。 例5 設(shè)矩形信號(hào),用MATLAB命令繪出該信號(hào)及其 頻譜圖。當(dāng)信號(hào)的時(shí)域波形擴(kuò)展為原來的2倍,或壓縮為原來的1/2時(shí),則分別得到和,用MATLAB命令繪出和的頻譜圖,并加以分析比較。 解:采用符號(hào)運(yùn)算法求解,并分析結(jié)果。MATLAB源程序?yàn)椋? ft1 = sym(Heaviside(t+1/2)-Heaviside(t-1/2)); subplot(321); ezplot(ft1,[-1.5 1.5]),grid on Fw1 = simplify(fourier(ft1)); subplot(322); ezplot(abs(Fw1),[-10*pi 10*pi]), grid on axis([-10*pi 10*pi -0.2 2.2]); ft2 = sym(Heaviside(t/2+1/2)-Heaviside(t/2-1/2)); subplot(323); ezplot(ft2,[-1.5 1.5]), grid on Fw2 = simplify(fourier(ft2)); subplot(324); ezplot(abs(Fw2),[-10*pi 10*pi]),grid on axis([-10*pi 10*pi -0.2 2.2]); ft3 = sym(Heaviside(2*t+1/2)-Heaviside(2*t-1/2)); subplot(325); ezplot(ft3,[-1.5 1.5]), grid on Fw3 = simplify(fourier(ft3)); subplot(326); ezplot(abs(Fw3),[-10*pi 10*pi]),grid on axis([-10*pi 10*pi -0.2 2.2]); 2.2.2 頻移特性 傅里葉變換的頻移特性為:若,則有。頻 移技術(shù)在通信系統(tǒng)中得到廣泛應(yīng)用,諸如調(diào)幅變頻等過程都是在頻譜搬移的基礎(chǔ)上完成的。頻移的實(shí)現(xiàn)原理是將信號(hào)乘以載波信號(hào)或,從而完成頻譜的搬移,即 例6 閱讀并運(yùn)行如下程序段,并觀察信號(hào)調(diào)制前后的頻譜。 ft1 = sym(4*(Heaviside(t+1/4)-Heaviside(t-1/4))); Fw1 = simplify(fourier(ft1)); subplot(121); ezplot(abs(Fw1),[-24*pi 24*pi]),grid on axis([-24*pi 24*pi -0.2 2.2]); title(矩形信號(hào)頻譜); ft2 = sym(4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4))); Fw2 = simplify(fourier(ft2)); subplot(122); ezplot(abs(Fw2),[-24*pi 24*pi]),grid on axis([-24*pi 24*pi -0.2 2.2]); title(矩形調(diào)制信號(hào)頻譜); 3. 實(shí)驗(yàn)內(nèi)容 3.1 試用MATLAB命令求下列信號(hào)的傅里葉變換,并繪出其幅度譜和相位譜。 (1) (2) 3.2 試用MATLAB命令求下列信號(hào)的傅里葉反變換,并繪出其時(shí)域信號(hào)圖。 (1) (2) 3.3 試用MATLAB數(shù)值計(jì)算方法求門信號(hào)的傅里葉變換,并畫出其頻譜圖。 門信號(hào)即,其中。 3.4 已知兩個(gè)門信號(hào)的卷積為三角波信號(hào),試用MATLAB命令驗(yàn)證傅里葉變換 的時(shí)域卷積定理。 4. 問題與思考 傅里葉變換的其他性質(zhì)可以用類似的方法加以驗(yàn)證,試舉一例,說明你驗(yàn)證過程的思路。 實(shí)驗(yàn)5 信號(hào)抽樣及抽樣定理 1. 實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)是綜合性實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康闹饕獮椋簩W(xué)會(huì)運(yùn)用MATLAB完成信號(hào)抽樣及對(duì)抽樣信號(hào)的頻譜進(jìn)行分析;學(xué)會(huì)運(yùn)用MATLAB改變抽樣間隔,觀察抽樣后信號(hào)的頻譜變化;學(xué)會(huì)運(yùn)用MATLAB對(duì)抽樣后的信號(hào)進(jìn)行重建。進(jìn)一步加深對(duì)信號(hào)采樣和重建過程的理解。 2. 實(shí)驗(yàn)原理及實(shí)例分析 2.1 信號(hào)抽樣 信號(hào)抽樣是連續(xù)時(shí)間信號(hào)分析向離散時(shí)間信號(hào)、連續(xù)信號(hào)處理向數(shù)字信號(hào)處 理的第一步,廣泛應(yīng)用于實(shí)際的各類系統(tǒng)中。所謂信號(hào)抽樣,也稱為取樣或采樣,就是利用抽樣脈沖序列從連續(xù)信號(hào)中抽取一系列的離散樣值,通過抽樣過程得到的離散樣值信號(hào)稱為抽樣信號(hào),用表示。從數(shù)學(xué)上講,抽樣過程就是抽樣脈沖和原連續(xù)信號(hào)相乘的過程,即: 因此可以用傅里葉變換的頻移卷積性質(zhì)來求抽樣信號(hào)的頻譜。常用的抽樣脈沖序列有周期矩形脈沖序列和周期沖激脈沖序列。 假設(shè)原連續(xù)信號(hào)的頻譜為,即;抽樣脈沖是一個(gè)周期信號(hào),它的頻譜為: 其中,為抽樣角頻率,為抽樣間隔。因此,抽樣信號(hào)的頻譜為: 上式表明,信號(hào)在時(shí)域被抽樣后,它的頻譜是原連續(xù)信號(hào)的頻譜以抽樣角頻率為間隔周期的延拓,即信號(hào)在時(shí)域抽樣或離散化,相當(dāng)于頻域周期化。在頻譜的周期重復(fù)過程中,其頻譜幅度受抽樣脈沖序列的傅里葉加權(quán),即被加權(quán)。 假設(shè)抽樣信號(hào)為周期沖激脈沖序列,即: 因此,沖激脈沖序列抽樣后信號(hào)的頻譜為: 可以看出,是以為周期等幅地重復(fù)。 例1 已知升余弦脈沖信號(hào)為,,參數(shù) 用MATLAB編程,實(shí)現(xiàn)該信號(hào)經(jīng)沖激脈沖抽樣后得到的抽樣信號(hào)及其頻譜。 解:升余弦脈沖信號(hào)的頻譜大部分集中在之間,當(dāng)采用抽樣間隔時(shí),根據(jù)抽樣定理,可以從抽樣信號(hào)恢復(fù)出原信號(hào)。MATLAB源程序?yàn)椋? Ts = 1; dt = 0.1; t1 = -4:dt:4; ft = ((1+cos(t1))/2).*(uCT(t1+pi)-uCT(t1-pi)); subplot(221) plot(t1,ft), grid on axis([-4 4 -0.1 1.1]) xlabel(Time(sec)),ylabel(f(t)) title(升余弦脈沖信號(hào)) N=500; k = -N:N; W = 2*pi*k/((2*N+1)*dt); Fw = dt*ft*exp(-j*t1*W); subplot(222) plot(W,abs(Fw)), grid on axis([-10 10 -0.2 1.1*pi]) xlabel(\omega),ylabel(F(w)) title(升余弦脈沖信號(hào)的頻譜) t2 = -4:Ts:4; fst = ((1+cos(t2))/2).*(uCT(t2+pi)-uCT(t2-pi)); subplot(223) plot(t1,ft,:),hold on stem(t2,fst),grid on axis([-4 4 -0.1 1.1]) xlabel(Time(sec)),ylabel(fs(t)) title(抽樣后的信號(hào)),hold off Fsw = Ts*fst*exp(-j*t2*W); subplot(224) plot(W,abs(Fsw)), grid on axis([-10 10 -0.2 1.1*pi]) xlabel(\omega),ylabel(Fs(w)) title(抽樣信號(hào)的頻譜) 圖1 升余弦脈沖信號(hào)經(jīng)抽樣后的頻譜比較 很明顯,升余弦脈沖信號(hào)的頻譜在抽樣后發(fā)生了周期延拓,頻域上該周期為。 2.2 抽樣定理 若是帶限信號(hào),帶寬為,則信號(hào)可以用等間隔的抽樣值來唯一表 示。經(jīng)抽樣后的頻譜就是將的頻譜在頻率軸上以抽樣頻率為間隔進(jìn)行周期延拓。因此,當(dāng)時(shí),或者抽樣間隔時(shí),周期延拓后頻譜不會(huì)產(chǎn)生頻率混疊;當(dāng)時(shí),周期延拓后頻譜將產(chǎn)生頻率混疊。通常把滿足抽樣定理要求的最低抽樣頻率,稱為奈奎斯特頻率,把最大允許的抽樣間隔 稱為奈奎斯特間隔。 2.3 信號(hào)重建 抽樣定理表明,當(dāng)抽樣間隔小于奈奎斯特間隔時(shí),可用抽樣信號(hào)唯一地 表示原信號(hào),即信號(hào)的重建。為了從頻譜中無失真地恢復(fù)原信號(hào),可采用截止頻率為的理想低通濾波器。 設(shè)理想低通濾波器的沖激響應(yīng)為,則 其中,,,因此 上式表明,連續(xù)信號(hào)可以展開為抽樣函數(shù)的無窮級(jí)數(shù),系數(shù)等于抽樣值。利用MATLAB中的函數(shù)來表示,有,所以可獲得由重建的表達(dá)式,即: 例2 對(duì)例1中的升余弦脈沖信號(hào),假設(shè)其截止頻率,抽樣間隔, 采用截止頻率的低通濾波器對(duì)抽樣信號(hào)濾波后重建信號(hào),并計(jì)算重建信號(hào)與原升余弦脈沖信號(hào)的絕對(duì)誤差。 解:MATLAB源程序?yàn)椋? wm =2; %升余弦脈沖信號(hào)帶寬 wc = 1.2*wm; %理想低通截止頻率 Ts = 1; %抽樣間隔 n = -100:100; %時(shí)域計(jì)算點(diǎn)數(shù) nTs = n *Ts; %時(shí)域抽樣點(diǎn) fs = ((1+cos(nTs))/2).*(uCT(nTs+pi)-uCT(nTs-pi)); t = -4:0.1:4; ft = fs*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t)))); t1 = -4:0.1:4; f1 = ((1+cos(t1))/2).*(uCT(t1+pi)-uCT(t1-pi)); subplot(311) plot(t1,f1,:), hold on stem(nTs,fs),grid on axis([-4 4 -0.1 1.1]) xlabel(nTs),ylabel(f(nTs)); title(抽樣間隔Ts=1時(shí)的抽樣信號(hào)f(nTs)) hold off subplot(312) plot(t,ft),grid on axis([-4 4 -0.1 1.1]) xlabel(t),ylabel(f(t)); title(由f(nTs)信號(hào)重建得到升余弦脈沖信號(hào)) error = abs(ft-f1); subplot(313) plot(t,error),grid on xlabel(t),ylabel(error(t)); title(重建信號(hào)與原升余弦脈沖信號(hào)的絕對(duì)誤差) 圖2 抽樣信號(hào)的重建與誤差分析 程序的運(yùn)行結(jié)果如圖2所示,重建后的信號(hào)與原升余弦脈沖信號(hào)的誤差在以內(nèi),這是因?yàn)楫?dāng)選取升余弦脈沖信號(hào)帶寬時(shí),實(shí)際上已經(jīng)將很少的高頻分量忽略了。 例3 如果例2中的抽樣間隔修改為.5,低通濾波器的截止頻率修改為 。那么,從理論分析將會(huì)產(chǎn)生頻譜混疊,則重建的信號(hào)與原來的升余弦脈沖信號(hào)相比也會(huì)產(chǎn)生較大失真。按要求修改例2 MATLAB程序,并分析失真的誤差。 解:程序略,所得結(jié)果如圖3所示。 3. 實(shí)驗(yàn)內(nèi)容 3.1 設(shè)有三個(gè)不同頻率的正弦信號(hào),頻率分別為 。現(xiàn)在用抽樣頻率對(duì)這三個(gè)正弦信號(hào)進(jìn)行抽樣,用MATLAB命令畫出各抽樣信號(hào)的波形及頻譜,并分析頻率混疊現(xiàn)象。 3.2 結(jié)合抽樣定理,用MATLAB編程實(shí)現(xiàn)信號(hào)經(jīng)沖激脈沖抽樣后得到的抽樣信號(hào)及其頻譜,并利用重構(gòu)信號(hào)。 4. 問題與思考 4.1 通過簡(jiǎn)單計(jì)算,說明例3中重建信號(hào)失真的原因。 4.2 說明例2與例3中nTs向量和t向量的區(qū)別。 圖3 不滿足抽樣定理?xiàng)l件的信號(hào)的重建 實(shí)驗(yàn)6 連續(xù)時(shí)間LTI系統(tǒng)的時(shí)域分析 1. 實(shí)驗(yàn)?zāi)康? 學(xué)會(huì)運(yùn)用MATLAB符號(hào)求解連續(xù)系統(tǒng)的零輸入響應(yīng)和零狀態(tài)響應(yīng);學(xué)會(huì)運(yùn)用MATLAB數(shù)值求解連續(xù)系統(tǒng)的零狀態(tài)響應(yīng);學(xué)會(huì)運(yùn)用MATLAB求解連續(xù)系統(tǒng)的沖激響應(yīng)和階躍響應(yīng);思考運(yùn)用MATLAB卷積積分法求解系統(tǒng)的零狀態(tài)響應(yīng)。 3 實(shí)驗(yàn)原理和實(shí)例分析 2.1 連續(xù)時(shí)間系統(tǒng)零輸入響應(yīng)和零狀態(tài)響應(yīng)的符號(hào)求解 LTI連續(xù)系統(tǒng)可用線性常系數(shù)微分方程來描述,即: 其中,和為實(shí)常數(shù)。該系統(tǒng)的完全響應(yīng)由零輸入響應(yīng)和零狀態(tài)響應(yīng)兩部分組成。 MATLAB符號(hào)工具箱提供了dsolve函數(shù),可實(shí)現(xiàn)常系數(shù)微分方程的符號(hào)求解,其調(diào)用格式為: dsolve(eq1,eq2,…,cond1,cond2,…,v) 其中,參數(shù)eq1,eq2…表示各微分方程,它與MATLAB符號(hào)表達(dá)式的輸入基本相同,微分或?qū)?shù)的輸入是用Dy,D2y,D3y,…來分別表示y的一階導(dǎo)數(shù),y的二階導(dǎo)數(shù),y的三階導(dǎo)數(shù)…;參數(shù)cond1,cond2,…表示個(gè)初始條件或起始條件;參數(shù)v表示自變量,默認(rèn)為變量t。可利用dsolve函數(shù)來求解系統(tǒng)微分方程的零輸入響應(yīng)和零狀態(tài)響應(yīng),進(jìn)而求出完全響應(yīng)。 例1 試用MATLAB命令求齊次微分方程的零輸入響應(yīng),已知起始條件為,,。 解:MATLAB源程序?yàn)椋? clear;clc; eq = D3y+2*D2y+Dy=0; cond = y(0)=1,Dy(0)=1,D2y(0)=2; ans = dsolve(eq,cond); simplify(ans) 得到結(jié)果: ans = 5-4*exp(-t)-3*exp(-t)*t,即零輸入響應(yīng), 在求解該微分方程的零輸入響應(yīng)過程中,到是沒有跳變的,因此,程序中初始條件選擇t=0時(shí)刻,即cond = y(0)=1,Dy(0)=1,D2y(0)=2。 例2 已知輸入,試用MATLAB命令求解微分方程的零狀態(tài)響應(yīng)。 解:依題意,可理解為求解給定的兩個(gè)方程,即 其MATLAB源程序?yàn)椋? clear;clc; eq1 = D3y+4*D2y+8*Dy=3*Dx+8*x; eq2 = x=Heaviside(t); cond = y(-0.01)=0,Dy(-0.01)=0,D2y(-0.01)=0; ans = dsolve(eq1,eq2,cond); simplify(ans.y) ans = 1/8*heaviside(t)*(exp(-2*t)*cos(2*t)-3*exp(-2*t)*sin(2*t)-1+8*t) 試用dsolve求解零狀態(tài)響應(yīng)和零輸入響應(yīng)時(shí),起始條件的時(shí)刻是不同的,不能選擇t=0時(shí)刻,程序中選擇了t=-0.01時(shí)刻。如果用 cond = y(0)=0,Dy(0)=0,D2y(0)=0定義初始條件,則實(shí)際上是定義了初始條件,,,因此,得出錯(cuò)誤的結(jié)論。還須注意,本例中dsolve的解答是和,必須用ans.y 取出。 例3 試用MATLAB命令求解微分方程,當(dāng)輸入 ,起始條件為,時(shí)系統(tǒng)的零輸入響應(yīng),零狀態(tài)響應(yīng)及完全響應(yīng)。 解:求得零輸入和零狀態(tài)響應(yīng)后,完全響應(yīng)則為二者之和。MATLAB源程序?yàn)椋? clear;clc; eq = D2y+3*Dy+2*y=0; cond = y(0)=1,Dy(0)=2; yzi = dsolve(eq,cond); yzi = simplify(yzi) eq1 = D2y+3*Dy+2*y=Dx+3*x; eq2 = x=exp(-3*t)*Heaviside(t); cond = y(-0.001)=0,Dy(-0.001)=0; yzs = dsolve(eq1,eq2- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 信號(hào)與系統(tǒng) 信號(hào) 系統(tǒng) 實(shí)驗(yàn) 指導(dǎo)書
鏈接地址:http://www.820124.com/p-6670020.html