




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、信號與系統 MATLAB 仿真實驗報告姓名:姚俊濤 學號:2021302540313班級:0910學院:電氣工程學院 專業:電氣工程與自動化目錄實驗1: 連續時間信號的表示及可視化4、實驗內容4、實驗程序與實驗圖形4(1)沖激信號4(2)階躍信號5(3)指數信號5(4)門函數6(5)f(t)=Sa(nwt)7(6)f(t)=Sin(2*pi*f*t)8實驗體會:9實驗2: 離散時間信號的表示及可視化10、實驗內容10、實驗程序與實驗圖形10(1)離散抽樣序列10(2) 階躍序列11(3)指數序列11(4) f(n)=R(n) (分別取不同的N值)12(5) f(n)=Sa(nw)14(6) f
2、(n)=Sin(nw) (分別取不同的w值)15實驗心得:17實驗3: 系統的時域求解17、實驗內容17、實驗程序與實驗圖形173.2.1 畫出x(n)、h(n)、y(n)的波形173.2.2 繪出y(n)的單位抽樣響應,并繪出H的幅頻及相頻特性曲線18實驗心得20實驗4: 信號的DFT分析20、實驗內容20、實驗程序與實驗圖形204.2.1 N=10時214.2.2 N=16時224.2.3 N=22時234.3 擴展實驗 N=32()和N=64()時244.3.1 N=32時244.3.2 N=64時254.4 結果比照與差異原因分析26進行理論值與計算值的比擬26查閱相關資料討論信號頻譜
3、分析過程中誤差原因及改善方法26實驗心得27實驗5: 系統時域解的快速卷積求法27、實驗內容27、問題分析27、實驗程序與實驗圖形285.3.1 序列、的圖形285.3.2 N=25時295.3.3 N=34時305.3.4 N=45時31正確卷積結果325.5 結果比照與差異原因分析33、實驗心得體會34六、信號與系統MATLAB仿真實驗心得體會34實驗1: 連續時間信號的表示及可視化1.1、實驗內容;分別取;分別畫出不同周期個數的波形;1.2、實驗程序與實驗圖形(1)沖激信號syms tf=dirac(t)ezplot(f,-5:5);xlabel('(t)');ylabe
4、l('(f)');沖激函數示意圖如下(2)階躍信號創立Heaviside 的M 文件,該文件如下:function f=Heaviside(t)正確定義出該函數并保存運行后,就可調用該函數了。如先定義向量:t=-5:0.01:5然后調用 Heaviside 函數表示出該信號并繪出波形f=heaviside(t)plot(t,f)axis(-5,5,-0.2,1.2)(3)指數信號將a=1和a=2時的圖形分別畫于同一界面中,便于形成比照,syms tsubplot 121f=exp(t) % a=1ezplot(f,-5:5);xlabel('(t)');ylab
5、el('(f)');title('f(t)=exp(t)')subplot 122f=exp(-t) %a=-1ezplot(f,-5:5);xlabel('(t)');ylabel('(f)');title('f(t)=exp(t)')(4)門函數t=-5:0.01:5;%設定時間變量t的范圍及步長y=rectpuls(t,2); %用rectpulst a)命令表示門函數,默認以零點為中心,寬度為aplot(t,y);%用plot函數繪制連續函數title('門函數'); %用title函數設置
6、圖形的名稱axis(-5 5 -0.5 1.5);(5)f(t)=Sa(nwt)syms tf=Sinc(pi/8*t)subplot 121ezplot(f,-15:15);xlabel('(t)');ylabel('(f)');axis(-15 15 -0.3 1.2)title('f(t)=Sa(pi/8*t)'); f=sinc(pi/18*t)subplot 122ezplot(f,-15:15);xlabel('(t)');ylabel('(f)');title('f(t)=Sa(pi/18*t
7、)');(6)f(t)=Sin(2*pi*f*t)周期信號(分別畫出不同周期個數的波形)sym ta %頻率記為af=sin(2*pi*a*t)ezplot(f,-15:15);xlabel('(t)');ylabel('(f)');axis(-15 15 -1.2 1.2)1.3實驗體會: 通過這次實驗,我掌握了根本信號函數圖形的繪制方法;更加直觀地認識了個根本信號的特性曲線。實驗2: 離散時間信號的表示及可視化2.1、實驗內容;分別取;分別取不同的N值;分別取不同的值;2.2、實驗程序與實驗圖形(1)離散抽樣序列由單位序列的定義知,只有在k = 0時
8、,f (k )的值為1,而當 時的值為零,用MATLAB的dirac語句來來表示單位序列及繪制其波形。y=0,0,0,0,0,1,0,0,0,0,0'x=-5:5;stem(x,y)axis(-5,5,-0.5,1.5)title('單位脈沖序列')xlabel('n') ylabel('y(n)')(2) 階躍序列 y=0,0,0,0,0,1,1,1,1,1,1'x=-5:5;stem(x,y)axis(-5,5,-0.5,1.5)title('階躍函數')xlabel('n')ylabel(
9、39;y(n)')(3)指數序列 (分別取a>0及a<0)a=1; % a=1時t=-5:1:5;f=exp(a*t);subplot 121stem(t,f,'b.','MarkerSize',10)xlabel('t')ylabel('f(t)')title('f(t)=exp(a*t) a=1') a=-1; %a=-1時t=-5:1:5;f=exp(a*t);subplot 122stem(t,f,'b.','MarkerSize',10)xlabel(&
10、#39;t')ylabel('f(t)')title('f(t)=exp(a*t) a=-1')(4) f(n)=R(n) (分別取不同的N值)N=10時 n=0:1:9;f=ones(10);stem(n,f,'b')axis(-5,15,0,1.5)title('R(n)n=10')N=20時 n=0:1:19;f=ones(20);stem(n,f,'b')axis(-5,25,0,1.5)title('R(n)n=20')(5) f(n)=Sa(nw)n=-45:1:45;f=sin
11、c(0.1*n);stem(n,f,'.');xlabel('n');ylabel('f');axis(-50 50 -1 1)n=-45:1:45;f=sinc(0.2*n);stem(n,f,'.');xlabel('n');ylabel('f');axis(-50 50 -1 1)(6) f(n)=Sin(nw) (分別取不同的w值)w=100時n=-15:1:15;f=sin(100*n);stem(n,f,'.');xlabel('n');ylabel(
12、39;f');w=200時n=-15:1:15;f=sin(200*n);stem(n,f,'.');xlabel('n');ylabel('f');2.3實驗心得:經查閱資料得知在用MATLAB表示離散序列并將其可視化時,我們要注意:第一,與連續時間信號不同,離散時間信號無法用符號運算來表示;第二,由于在MATLAB中,矩陣的元素個數是有限的,因此,MATLAB無法表示無限序列;第三,在繪制離散信號波形時,要使用專門繪制離散數據的stem命令,而不是plot命令。 實驗3: 系統的時域求解3.1、實驗內容1、設,求:,并畫出、波形。2、
13、求因果線性移不變系統的單位抽樣響應,并繪出的幅頻及相頻特性曲線。3.2、實驗程序與實驗圖形 畫出x(n)、h(n)、y(n)的波形n=-10:30; %設定變量范圍,步長默認為1h=0.9.n.*f; %hn的表示,注意向量相乘注意用點subplot 221 %產生圖形窗口2stem(n,h); %繪制hnxlabel('h(n)');axis(-10 10 0 1);x=heaviside(n)-heaviside(n-10); %階躍函數直接相減subplot 222 %產生圖形窗口3stem(n,x);xlabel('x(n)')axis(-10 20 0
14、 1.5); %設定坐標軸的范圍subplot 212 y=conv(h,x); %求h和x的卷積用命令convstem(y); %繪制函數yxlabel('y(n)=x(n)*h(n)')axis(-10 20 0 10);如下列圖所示,依次為f=h(n)、x(n)、y(n)=x(n)*h(n)的圖像:經分析,得到的卷積和結果符合理論計算結果,理論上求解卷積和的步驟為:先將x(n)反褶,然后向右平移,相乘,求和。當門函數序列恰好全部進入等比序列時,卷積和最大,繼續向右平移那么卷積和隨著等比數列各數相對減小而下降。3.2.2 繪出y(n)的單位抽樣響應,并繪出H的幅頻及相頻特性
15、曲線因果線性移不變系統,求其單位抽樣響應,并繪出的幅頻及相頻特性曲線。a=1 0 -0.81; %描述系統的差分方程的系數b=1 0 -1;%描述系統的差分方程的系數figure(1);h=impz(b,a,-10:10); %利用impz函數求系統的單位樣值響應stem(h); %繪制函數h 的離散序列xlabel('h(n)');title('系統的單位樣值響應')figure(2);freqs(b,a,:);%對連續系統頻率響應H(jw)進行分析的函數freqs()title('系統幅頻及相頻特性曲線')實驗圖形如下列圖所示:實驗結果與理論
16、解相同,相比之下使用軟件可快速求解,方便、準確,更加實用。實驗結果顯示該系統為低通型,相位移一直為.3.3實驗心得通過本次實驗,我掌握了利用MATLAB進行時域求解及其可視化的方法,并直觀地認識了幅度特性、相位特性的物理意義。實驗4: 信號的DFT分析4.1、實驗內容計算余弦序列的DFT。分別對N=10、16、22時計算DFT,繪出幅頻特性曲線,分析是否有差異及產生差異的原因。4.2、實驗程序與實驗圖形問題分析:連續時間傅里葉變換主要用來描述連續時間非周期信號的頻譜。任意的非周期信號,如果滿足狄里克利條件,那么,它可以被看作是由無窮多個不同頻率的周期復指數信號的線性組合構成的,每個頻率所對應的
17、周期復指數信號稱為頻率分量,其相對幅度為對應頻率的的之值,其相位為對應頻率的的相位。 N=10時實驗程序如下:N=10;n=0:N-1;x=cos(pi/8*n);y=fft(x,N);subplot(2,1,1);stem(n,x);title('取N=10時 離散序列'); ylabel('y(n)');xlabel('n');subplot(2,1,2);stem(n,y);ylabel('Phase');xlabel('Frequency(rad)');title('取N=10時 幅頻特性曲線
18、9;);實驗圖形如下列圖所示: N=16時實驗程序如下:N=16;n=0:N-1;x=cos(pi/8*n);y=fft(x,N);subplot(2,1,1);stem(n,x);title('取N=16時 離散序列'); ylabel('y(n)');xlabel('n');subplot(2,1,2);stem(n,y);ylabel('Phase');xlabel('Frequency(rad)');title('取N=10時 幅頻特性曲線');實驗圖形如下列圖所示:4.2.3 N=22時實
19、驗程序如下:N=22;n=0:N-1;x=cos(pi/8*n);y=fft(x,N);subplot(2,1,1);stem(n,x);title('取N=22時 離散序列'); ylabel('y(n)');xlabel('n');subplot(2,1,2);stem(n,y);ylabel('Phase');xlabel('Frequency(rad)');title('取N=10時 幅頻特性曲線');實驗圖形如下列圖所示:與補充的N=32、N=64時的序列圖和幅頻特性圖作以比照,然后分析選
20、取不同的N時DFT幅頻特性曲線產生差異的原因。4.3 擴展實驗 N=32()和N=64()時4.3.1 N=32時實驗程序如下:N=32;n=0:N-1;x=cos(pi/8*n);y=fft(x,N);subplot(2,1,1);stem(n,x);title('取N=32時 離散序列'); ylabel('y(n)');xlabel('n');subplot(2,1,2);stem(n,y);ylabel('Phase');xlabel('Frequency(rad)');title('取N=32時
21、幅頻特性曲線');實驗圖形如下列圖所示:4.3.2 N=64時實驗程序如下:N=64;n=0:N-1;x=cos(pi/8*n);y=fft(x,N);subplot(2,1,1);stem(n,x);title('取N=64時 離散序列'); ylabel('y(n)');xlabel('n');subplot(2,1,2);stem(n,y);ylabel('Phase');xlabel('Frequency(rad)');title('取N=64時 幅頻特性曲線');實驗圖形如下列圖所
22、示:4.4 結果比照與差異原因分析進行理論值與計算值的比擬此題為周期信號,無直流分量,所以取樣點數可為。從取樣點數N=16和N=32可以看出,取樣點數的不同,會造成頻率譜和相位譜的不同。當N=16時,n=1或15時有幅度值,而在N=32時,n=2和30時有幅度值,在N=64時,n=4和60時有幅度值,得到在N=16時,其頻譜已經和N=32時一致剛好成2倍關系,且N=16、32、64時均不產生混頻現象。而N=10或22時由于其不是周期序列的周期值,故產生了明顯的頻域混疊。討論信號頻譜分析過程中誤差原因及改善方法在頻譜分析過程中由于取樣頻率過低或者由于信號的截取長度不當將會產生誤差。取樣頻率過低,
23、可能會產生混頻現象,可以適當提高取樣率,增加樣點數,來減少混疊對頻譜分析所造成的誤差。對于連續周期信號,其時域取樣必須滿足時域取樣定理:其取樣點數K2*N+1其中N為最高諧波分量。截取信號長度不當,會產生功率泄露,對周期序列進行頻譜分析時,為防止泄露應做到:截取的長度應取一個根本周期或根本周期的整數倍,假設待分析的周期信號事先不知道其確切的周期,那么可截取較長時間長度的樣點進行分析,以減少功率泄露誤差。當然,必須在取樣頻率滿足取樣定理的條件下進行,否那么混疊與泄露同時存在給頻譜分析造成困難。4.3實驗心得通過這次實驗,我掌握了連續時間周期信號的傅里葉級數的物理意義和分析方法;掌握了連續時間傅里
24、葉變換的分析方法及其物理意義;進一步學習了系統頻率響應特性的計算方法和特性曲線的繪制發法;深入學習了幅度特性、相位特性的物理意義。實驗5: 系統時域解的快速卷積求法5.1、實驗內容用快速卷積法計算系統響應,:,。要求取不同的L點數,并畫出、波形,分析是否有差異及產生差異的原因。5.2、問題分析MATLAB的conv()函數可以幫助我們快速求出兩個離散序列的卷積和。conv函數的調用格式為: f=conv (fl, f2),其中fl為包含序列f1(k)的非零樣值點的行向量,f2為包含序列九(k)的非零樣值點的行向量,向量f那么返回序列的所有非零樣值點行向量。此題可利用離散傅里葉變換的相關性質進行
25、卷積快速運算,用fft和ifft函數語句實現。應用FFT實現數字濾波器實際上就是用FFT來快速計算有限長度序列的線性卷積。X(k)x(n)FFTIFFTH(k)H(k)X(k)y(n)這種方法就是先將輸入信號x(n)通過FFT變換為它的頻譜采樣值X(k),然后再和FIR濾波器的頻響采樣值H(k)相乘,H(k)可事先存放在存儲器中,最后再將乘積H(k)X(k)通過快速傅里葉變換簡稱IFFT復原為時域序列,即得到輸出y(n)。5.3、實驗程序與實驗圖形 5.3.1 序列、的圖形 程序如下:n1=0:14;%設定n1的值一代替門函數的作用n2=0:19;%設定n2的值以代替門函數的作用x=sin(0
26、.4.*n1);%正弦函數序列y=0.9.n2; %函數y的表達式Xk=fft(x,45);%求函數x的快速傅立葉變換Yk=fft(y,45);%求函數y的快速傅立葉變換Hk=Xk.*Yk;%時域內的卷積對應于頻域內的點乘h=ifft(Hk);%求Hk的快速傅立葉變換的反變換,即為x和y的卷積值subplot(2,1,1),stem(x);%繪制x的圖形xlabel('n');ylabel('x(n)');title('原序列 x(n)');subplot(2,1,2),stem(y);%繪制y的圖形xlabel('n');yla
27、bel('h(n)');title('原序列 h(n)');實驗圖形如下列圖所示:5.3.2 N=25時實驗源程序如下:clear alln1=0:14;%設定n1的值一代替門函數的作用n2=0:19;%設定n2的值以代替門函數的作用x=sin(0.4.*n1);%正弦函數序列y=0.9.n2; %函數y的表達式Xk=fft(x,25);%求函數x的快速傅立葉變換Yk=fft(y,25);%求函數y的快速傅立葉變換Hk=Xk.*Yk;%時域內的卷積對應于頻域內的點乘h=ifft(Hk);%求Hk的快速傅立葉變換的反變換,即為x和y的卷積值stem(h);%繪制h
28、的圖形xlabel('n');ylabel('y(n)')title('取L=25時 快速卷積法處理結果');實驗圖形如下列圖所示:5.3.3 N=34時實驗源程序如下:clear alln1=0:14;%設定n1的值一代替門函數的作用n2=0:19;%設定n2的值以代替門函數的作用x=sin(0.4.*n1);%正弦函數序列y=0.9.n2; %函數y的表達式Xk=fft(x,34);%求函數x的快速傅立葉變換Yk=fft(y,34);%求函數y的快速傅立葉變換Hk=Xk.*Yk;%時域內的卷積對應于頻域內的點乘h=ifft(Hk);%求Hk的
29、快速傅立葉變換的反變換,即為x和y的卷積值stem(h);%繪制h的圖形xlabel('n');ylabel('y(n)')title('取L=34時 快速卷積法處理結果');實驗圖形如下列圖所示:5.3.4 N=45時實驗源程序如下:clear alln1=0:14;%設定n1的值一代替門函數的作用n2=0:19;%設定n2的值以代替門函數的作用x=sin(0.4.*n1);%正弦函數序列y=0.9.n2; %函數y的表達式Xk=fft(x,45);%求函數x的快速傅立葉變換Yk=fft(y,45);%求函數y的快速傅立葉變換Hk=Xk.*Yk
30、;%時域內的卷積對應于頻域內的點乘h=ifft(Hk);%求Hk的快速傅立葉變換的反變換,即為x和y的卷積值stem(h);%繪制h的圖形xlabel('n');ylabel('y(n)')title('取L=45時 快速卷積法處理結果');實驗圖形如下列圖所示:用conv()函數求出兩個離散序列的卷積和。conv函數的調用格式為: f=conv (fl, f2).實驗程序如下:clear alln1=0:14;%設定n1的值一代替門函數的作用n2=0:19;%設定n2的值以代替門函數的作用x=sin(0.4.*n1);%正弦函數序列y=0.9.n2; %函數y的表達式z=conv(x,y); %求h和x的卷積用命令convstem(z); %繪制函數yxlabel('n');ylabel('y(n)=x(n)*h(n)');title('用conv函數計算的卷積結果')實驗圖形如下列圖所示:5.5 結果比照與差異原因分析經與使用conv()函數求出兩個離散序列的卷積和作比照,可以看出,當時,快速卷積法求得卷積和是正確的。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論