信號分析及處理實驗指導書_第1頁
信號分析及處理實驗指導書_第2頁
信號分析及處理實驗指導書_第3頁
信號分析及處理實驗指導書_第4頁
信號分析及處理實驗指導書_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信號分析與處理 實驗指導書實驗一 時域分析實驗一. 實驗目的 (1) 熟悉MATLAB開發(fā)環(huán)境。(2) 掌握MATLAB各種表達式的書寫規(guī)則以及常用函數(shù)的使用。(3) 熟悉MATLAB的基本操作(4) 熟悉MATLAB中產(chǎn)生信號和繪制信號的基本命令。(5) 熟悉序列的簡單運算,如:加法、標量乘法、時間反轉、延時、乘法等。二. 實驗原理MATLAB (矩陣實驗室的簡稱)是一種專業(yè)的計算機程序,用于工程科學的矩陣數(shù)學運算。但在以后的幾年內(nèi),它逐漸發(fā)展為一種極其靈活的計算體系,用于解決各種重要的技術問題。MATLAB程序執(zhí)行MATLAB語言,并提供了一個極其廣泛的預定義函數(shù)庫,這樣就使得技術工作變得

2、簡單高效。三. 實驗任務及步驟1、 學習了解MATLAB的實驗環(huán)境:在Windows桌面上, 雙擊MATLAB圖標,即可進入MATLAB系統(tǒng)命令窗口。 圖1-1 MATLAB系統(tǒng)命令窗口當MATLAB運行時,有多種類型的窗口,有的用于接收命令,有的用于顯示信息。三個重要的窗口有命令窗口;圖像窗口;編輯/調試窗口;它們的作用分別為輸入命令;顯示圖形;充許使用者創(chuàng)建和修改MATLAB程序。在本節(jié)課中我們將會看到這三個窗口的例子。 當MATLAB程序啟動時,一個叫做MATLAB桌面的窗口出現(xiàn)了。默認的MATLAB桌面結構如圖1-1所示。在 MATLAB集成開發(fā)環(huán)境下,它集成了管理文件、變量和應用程序

3、的許多編程工具。在MATLAB桌面上可以得到和訪問的窗口主要有: 命令窗口(The Command Window) 命令歷史窗口(The Command History Window) 啟動平臺(Launch Pad) 編輯調試窗口(The Edit/Debug Window) 工作臺窗口和數(shù)組編輯器(Workspace Browser and Array Editor) 幫助空間窗口(Help Browser) 當前路徑窗口(Current Directory Browser)1.1 命令窗口 MATLAB桌面的右邊是命令窗口。在命令窗口中,用戶可以在命令行提示符(>>)后輸入一

4、系列的命令,這些命令的執(zhí)行也是在這個窗口中實現(xiàn)的。假設你要計算一個半徑為2.5m的圓的面積。在命令窗口中的操作如下:當回車鍵敲下的一瞬間,結果被計算了出來,并被存儲到一個叫 area 的變量中(其實是一個 1×1 的數(shù)組)。這個變量的數(shù)值將顯示在命令窗口(The Command Windows) 而且這個變量能進行進一步的計算。(注意是MATLAB預先定義好的變量,所以pi不需要預先聲明。) 如果一個語句在一行內(nèi)書寫太長了,可能要另起一行接著寫,在這種情況下我們需要在第一行末打上半個省略號(.),再開始第二行的書寫。將一系列命令寫入一個文件,在命令窗口(The Command Win

5、dows)輸入此文件的文件名,然后MATLAB就開始執(zhí)行這個文件,而不是用直接在命令窗口(The Command Windows)鍵入的方法,這樣的文件叫做腳本文件(Script files),由于腳本文件(Script files)的擴展名為“.m”,所以這它也叫做M文件。1.2 歷史命令窗口(The History Command Window )歷史命令窗口(The History Command Window)用于記錄用戶在命令窗口(The Command Windows),其順序是按逆序排列的。即最早的命令在排在最下面,最后的命令排在最上面。這些命令會一直存在下去,直到它被人為刪除。

6、雙擊這些命令可使它再次執(zhí)行。在歷史命令窗口(The Command Windows)刪除一個或多個命令,可以先選擇,然后單擊右鍵,這時就有一個彈出菜單出現(xiàn),選擇 Delete Section。任務就完成了。1.3 啟動平臺(the launch pad)啟動平臺是一個特殊的工具,為MATLAB和其工具箱提供幫助、demos、其他相關文件和應用程序等參考資料。這些信息是產(chǎn)品附帶的,所有的參考資料都在每個產(chǎn)品或工具箱后面列出。不同的人擁有不同的產(chǎn)品,所以這個內(nèi)容隨個人安裝的不同而不同。 圖1-2顯示的是只帶有基本 MATLAB產(chǎn)品的參考資料的啟動平臺。雙擊其中一個條目,你將會得到 MATLAB的幫

7、助,運行 MATLAB的示例,訪問這個程序所支持的標準工具,或訪問MATLAB在互聯(lián)網(wǎng)上的網(wǎng)站。圖 1-2 帶有基本 MATLAB產(chǎn)品的參考資料的啟動平臺1.4 編輯調試器 編輯調試器一般用于創(chuàng)建M文件,或者修改已存在的M文件。當你打開或修改一個M文件,編輯調試器會自動被調用。創(chuàng)建一個M 文件的方法:一、在菜單按“File/New/M-file”創(chuàng)建; 二、單擊圖標。 打開一個已存在的 M 文件也有兩個方法: 一、按路徑“File/Open”打開; 二、單擊圖標。編程調試器是個重要的程序的文檔編輯器,MATLAB語言的一些特性會被不同的顔色表現(xiàn)出來。M文件中的評論用綠色表示,變量和數(shù)字用黑色來

8、表示,字符變量用紅色表示,語言的關鍵字用藍色表示。如圖1-3顯示了一個包含有M文件的簡單的編輯窗口。 圖1-3顯示了一個包含有M 文件的簡單的編輯窗口當 M 文件保存完后,在命令窗口(The Command Windows)中輸入這個M文件的名字,它就可以被執(zhí)行了。1.5 圖像窗口(Figure Windows) 圖像窗口主要是用于顯示MATLAB圖像。它所顯示的圖像可以是數(shù)據(jù)的二維或三維坐標圖,圖片,或用戶圖形接口。下面是一個簡單的腳本文件(Script files)用于計算函數(shù)sinx 并打印出圖像。如果此文件以 sin_x.m 為文件名保存,那么你可以在命令窗口(The Command

9、Windows)輸入此文件名就可以執(zhí)行文件了。當腳本文件(Script files)被編譯后,MATLAB將會找開一個圖像窗口,并在窗口打印出函數(shù)sinx的圖像。 圖1-4 函數(shù) sinx 的圖像1.6 工作區(qū)瀏覽器 當前工作區(qū)的內(nèi)容也可以通過基于 GUI 的工作空間窗口檢測到。工作空間窗口默認出現(xiàn)在MATLAB桌面的左上角,它提供了和 whos 命令可得到的相同的信息,并當工作區(qū)內(nèi)的內(nèi)容發(fā)生改變時,其內(nèi)的信息也會隨之更新。工作空間窗口(The workspace browser)允許用戶改變工作區(qū)內(nèi)的任何一個變量的內(nèi)容。 圖 1-5 工作空間窗口典型的工作空間窗口(The workspace

10、 browser)如圖 1-5.你能看到它顯示的信息和whos命令得到的信息是一樣的。雙擊這個窗口任一變量便產(chǎn)生了一個數(shù)組編輯器,這個編輯器允許用戶修改保存在變量中的信息。1.7 MATLAB 幫助 你有三種方法可以得到MATLAB的幫助。最好的方法是使用幫助空間窗口(help browser)。你可以單擊MATLAB桌面工具欄上的圖標,也可以在命令窗口(The Command Windows)中輸入helpdesk 或 help win 來啟動幫助空間窗口(help browser)。你可以通過瀏覽MATLAB參考證書或搜索特殊命令的細節(jié)得到幫助。幫助空間窗口如圖1-6所示。 圖1-6 幫助

11、空間窗口 另外還有兩種運用命令行的原始形式得到幫助。第一種方法是在MATLAB命令窗口(The Command Windo ws)中輸入help 或help和所需要的函數(shù)的名字。如果你在命令窗口(The Command Windows)中只輸入help, MATLAB將會顯示一連串的函數(shù)。如果有一個專門的函數(shù)名或工具箱的名字包含在內(nèi),那么help將會提供這個函數(shù)或工具箱。 第二種方法是通過lookfor 命令得到幫助。lookfor 命令與help 命令不同,help命令要求與函數(shù)名精確匹配,而lookfor只要求與每個函數(shù)中的總結信息有匹配。Lookfor 命令 比 help 命令運行起來慢

12、得多,但它提高了得到有用信息的機會。舉個例子,假設你想找到一個求矩陣的逆陣(inverse of matrix)的函數(shù)。但是MATLAB中沒有叫 inverse 的函數(shù),這時 help 命令就不起作用了,只能用 lookfor 命令,得到結果.1.8 信號時域分析1用到的MATLAB命令運算符: . + - * / ; %基本矩陣: i ones pi rand randn zeros基本函數(shù): cos exp imag real 數(shù)據(jù)分析: sum二維圖形: axis grid legend plot subplot stairs stem title xlable ylable clf工具

13、箱:sawtooth square2序列的產(chǎn)生(1) 程序11:單位抽樣序列的產(chǎn)生和繪制% Program P1_1% Generation of a Unit Sample Sequence clf;% Generate a vector from -10 to 20n = -10:20;% Generate the unit sample sequenceu = zeros(1,10) 1 zeros(1,20);% Plot the unit sample sequencestem(n,u);xlabel('Time index n');ylabel('Ampli

14、tude');title('Unit Sample Sequence');axis(-10 20 0 1.2);(2) 程序12:正弦序列的產(chǎn)生和繪制% Program P1_2% Generation of a sinusoidal sequencen = 0:40;f = 0.1;phase = 0;A = 1.5;arg = 2*pi*f*n - phase; x = A*cos(arg);clf;% Clear old graphstem(n,x);% Plot the generated sequenceaxis(0 40 -2 2);grid; title(

15、'Sinusoidal Sequence');xlabel('Time index n');ylabel('Amplitude');axis;3序列的運算(信號的平滑) 數(shù)字信號處理應用的一個常見例子是從被加性噪聲污染的信號中移除噪聲。假定信號sn被噪聲dn所污染,得到一個含有噪聲的信號xn=sn+dn。我們需要對xn進行運算,產(chǎn)生一個合理的逼近sn,對時刻n的樣本求平均,產(chǎn)生輸出信號是一種簡單有效的方法。如:三點滑動平均的信號。程序13 實現(xiàn)三點滑動平均的信號運算: yn=(x(n-1)+x(n)+x(n+1)/3程序如下:% Signal S

16、moothing by Averagingclf;R = 51;d = 0.8*(rand(R,1) - 0.5); % 產(chǎn)生隨機噪聲m = 0:R-1;s = 2*m.*(0.9.m); % 產(chǎn)生未被污染的信號x = s + d' %產(chǎn)生被噪聲污染的信號subplot(2,1,1);plot(m,d','r-',m,s,'g-',m,x,'b-.');xlabel('Time index n');ylabel('Amplitude');legend('dn ','sn &#

17、39;,'xn ');x1 = 0 0 x;x2 = 0 x 0;x3 = x 0 0;y = (x1 + x2 + x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,x,'g-');legend( 'yn ','sn ');xlabel('Time index n');ylabel('Amplitude');4實驗問題回答(1) 命令clf,axis,title,xlable和ylable的作用是什么?(2) 程序12中正弦序列的頻率是多少?怎

18、樣可以改變它?哪個參數(shù)控制該序列的振幅?該序列周期是多少?(3) 程序13中加性噪聲dn是什么樣的形式?語句x=s+d代表什么?信號x1,x2,x3與信號x之間的關系是什么?四實驗報告要求1 按照實驗內(nèi)容要求完成相關實驗程序,并得出相關的實驗結果(包括圖形結果)。2 回答實驗中提出的問題。3 總結本次實驗結果,按照實驗報告格式要求,書寫實驗報告。五實驗設備PC機,MATLAB軟件實驗二 頻域分析實驗一. 實驗目的1. 進一步加深DFT算法原理和基本性質的理解(FFT是DFT的一種快速算法,F(xiàn)FT的運算結果必然滿足DFT的基本性質)。2. 熟悉FFT算法原理和FFT 函數(shù)的應用。3. 學習用FF

19、T對連續(xù)信號和時域離散信號進行譜分析的方法,了解可能出現(xiàn)的分析誤差及其原因。二. 實驗步驟1. 復習DFT的定義、性質和用 DFT作譜分析的有關內(nèi)容。2. 復習FFT算法原理與編程思想。熟悉FFT算法的MATLAB實現(xiàn)。注:MATLAB提供fft函數(shù)來計算的DFT,fft函數(shù)是用機器語言,而不是以MATLAB指令寫成的,因此執(zhí)行速度快。格式(1): y=fft(x) 計算x的FFT變換y。當x為矩陣,計算x中每一列信號的離散傅氏變換。當x的長度為2的冪時,采用基2算法,否則采用分裂基算法。格式(2): y=fft(x,n) 計算x的n點FFT,當x長度大于n時,截斷x,否則補零。Plot線性繪

20、圖函數(shù)。stem:繪制離散序列圖。subplot:多坐標設置與定位當前坐標系。figure:創(chuàng)建新的圖形窗口(用于輸出圖形的窗口)。3. 產(chǎn)生下列信號并進行譜分析。(1) (2) (3) (4) (5) (6) 4. 編寫程序5. 輸出結果,總結結論,按要求寫出實驗報告。三. 實驗內(nèi)容1. 對上述6個信號,逐個進行譜分析對于, :。對于 :在一個周期內(nèi)取點抽樣,做頻譜分析。(參考)每個信號譜分析的流程設計為:開始讀入長度產(chǎn)生實驗信號繪制時間波形圖用fft函數(shù)進行譜分析曲線繪制結束程序:% fftfigure(1);n1=0:3;x1=1,1,1,1;subplot(221);stem(n1,x

21、1);title('x1序列');k1=0:7;y11=fft(x1,8);magy11=abs(y11);subplot(222);stem(k1,magy11);title('x1的8點FFT');k2=0:15;y12=fft(x1,16);magy12=abs(y12);subplot(224);stem(k2,magy12);title('x1的16點FFT');%x2figure(2);n2=0:7;x2=1,2,3,4,4,3,2,1;subplot(221);stem(n2,x2);title('x2序列');k1

22、=0:7;y21=fft(x2,8);magy21=abs(y21);subplot(222);stem(k1,magy21);title('x2的8點FFT');k2=0:15;y22=fft(x2,16);magy22=abs(y22);subplot(224);stem(k2,magy22);title('x2的16點FFT');%x3figure(3);n3=0:7;x3=4,3,2,1,1,2,3,4;subplot(221);stem(n3,x3);title('x3序列');k1=0:7;y31=fft(x3,8);magy31=a

23、bs(y31);subplot(222);stem(k1,magy31);title('x3的8點FFT');k2=0:15;y32=fft(x3,16);magy32=abs(y32);subplot(224);stem(k2,magy32);title('x3的16點FFT');%x4figure(4);n41=0:7;x41=cos(pi/4)*n41);subplot(221);stem(n41,x41);title('x4的8點序列');k1=0:7;y41=fft(x41,8);magy41=abs(y41);subplot(222)

24、;stem(k1,magy41);title('x4的8點FFT');n42=0:15;x42=cos(pi/4)*n42);subplot(223);stem(n42,x42);title('x4的16點序列');k2=0:15;y42=fft(x42,16);magy42=abs(y42);subplot(224);stem(k2,magy42);title('x4的16點FFT');%x5figure(5);n51=0:7;x51=sin(pi/8)*n51);subplot(221);stem(n51,x51);title('x5

25、的8點序列');k1=0:7;y51=fft(x51,8);magy51=abs(y51);subplot(222);stem(k1,magy51);title('x5的8點FFT');n52=0:15;x52=sin(pi/8)*n52);subplot(223);stem(n52,x52);title('x5的16點序列');k2=0:15;y52=fft(x52,16);magy52=abs(y52);subplot(224);stem(k2,magy52);title('x5的16點FFT');%x6figure(6);f1=4;

26、f2=8;f3=10;t=0:0.01:1;x6=cos(f1*2*pi*t)+cos(f2*2*pi*t)+cos(f3*2*pi*t);subplot(221);plot(t,x6);title('x6模擬信號');%x61 8T=0.5/8;t=0:T:0.5;x6=cos(f1*2*pi*t)+cos(f2*2*pi*t)+cos(f3*2*pi*t);k61=0:7;y61=fft(x6,8);magy61=abs(y61);subplot(222);stem(k61,magy61);title('x6的8點FFT');%x62 16T=0.5/16;

27、t=0:T:0.5;x6=cos(f1*2*pi*t)+cos(f2*2*pi*t)+cos(f3*2*pi*t);k62=0:15;y62=fft(x6,16);magy62=abs(y62);subplot(224);stem(k62,magy62);title('x6的16點FFT');2. fft函數(shù)最通常的應用是計算信號的頻譜。考慮一個由100hz和200hz正弦信號構成的信號,受零均值隨機信號的干擾,數(shù)據(jù)采樣頻率為1000hz。通過fft函數(shù)來分析其信號頻率成分。 t=0:0.001:1;%采樣周期為0.001s,即采樣頻率為1000hzx=sin(2*pi*100

28、*t)+sin(2*pi*200*t)+1.5*rand(1,length(t);%產(chǎn)生受噪聲污染的正弦波信號subplot(2,1,1);plot(x(1:50);%畫出時域內(nèi)的信號y=fft(x,512);%對x進行512點的ffty1=abs(y);f=1000*(0:256)/512;%設置頻率軸(橫軸)坐標,1000為采樣頻率subplot(2,1,2);plot(f,y1(1:257);%畫出頻域內(nèi)的信號四. 思考題如果周期信號的周期預先不知道,如何使用FFT進行分析。五. 實驗報告要求1. 簡述實驗的原理和目的。2. 輸出實驗中所用的程序以及所得的時域頻域性曲線,與理論結果比較,分析誤差產(chǎn)生的原因,以及FFT做譜分析時有關參數(shù)的選擇方法。3. 總結實驗所得的主要結論。4. 簡要回答思考題。實驗三 相關分析實驗一、實驗目的1、加深對互相干函數(shù)和自相關函數(shù)的理解;2、了解相干函數(shù)的數(shù)字計算方法。3、掌握利用Matl

溫馨提示

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

評論

0/150

提交評論