Matlab關於用FFT作譜分析完整版

2022-06-16 07:00:04 字數 2074 閱讀 6262

一、實驗目的

1.理解fft演算法的程式設計思想。

2.熟練掌握利用fft對訊號作頻譜分析。

包括正確地進行引數選擇、作頻譜圖以及讀頻譜圖。

3.了解fft的應用。

二、實驗環境

以上作業系統

2.安裝matlab6.0以上版本

三、實驗原理

1、離散傅利葉變換(dft)

dft是週期序列,有n個獨立的數值,所以他的許多特性可以通過有限長序列沿拓來得到。對於乙個長度為n的有限長序列x(n),也即小(n)只在0~(n-1)各點上有非零值,即

把序列x(n)以n為週期進行週期沿拓得到週期序列,則有

所以,有限長序列x(n)的離散傅利葉變換(dft)為

逆變換編制訊號產生子程式,產生以下典型訊號供譜分析:

, 其它n

,1 , 其它n

應當注意,如果給出的是連續訊號,則首先要根據其最高頻率確定取樣速率以及由頻率解析度選擇取樣點數n,然後對其進行軟體取樣(即計算,),產生對應序列。對訊號,頻率解析度的選擇要以能分辨開其中的三個頻率對應的譜線為準則。對週期序列,最好擷取週期的整數倍進行譜分析,否則有可能產生較大的分析誤差

源程式%x6(n)=cos(8пt)+cos(16пt)+cos(20пt) fs=64khz,

n=16,32,64

m=input('fft點數=');

n=0:(m-1);

subplot(2,2,1);

x6=cos(pi*n/8)+cos(pi*n/4)+cos(pi*n*5/16);

stem(n,x6,'.');

xlabel('n');

ylabel('x6(n)');

title('x6(n)=cos(8пt)+cos(16пt)+cos(20пt)的函式');

subplot(2,2,2);

xa=fft(x6,16);

i=0:15;

stem(i,abs(xa),'.');

xlabel('k');

ylabel('x6(n)');

title('x6(n)的16點fft');

subplot(2,2,3);

xb=fft(x6,32);

i=0:31;

stem(i,abs(xb),'.');

xlabel('k');

ylabel('x6(n)');

title('x6(n)的32點fft');

subplot(2,2,4);

xc=fft(x6,64);

i=0:63;

stem(i,abs(xc),'.');

xlabel('k');

ylabel('x6(n)');

title('x6(n)的64點fft');

直接執行程式,按照實驗內容及程式提示鍵入1~8,分別對~及、進行譜分析。輸出的波形及其8點dft和16點dft,的16點、32點和64點取樣序列及其dft。

1、及其8點和16點dft

2、及其8點和16點dft

3、及其8點和16點dft

4、的8點和16點波形及其dft

5、的8點和16點波形及其dft

6、的16點、32點和64點取樣序列波形及其dft

選7時,計算並圖示和及其dft。程式自動計算並繪圖驗證dft的共軛對稱性。當n=16時,,。

即為的共軛對稱分量,而是的共軛反對稱分量。根據dft的共軛對稱性,應有以下結果:

的8點和16點波形及其dft

繪出和的模。它們正是圖中16點的和。

選8時,計算並圖示和及其dft。程式自動計算並繪圖驗證dft的共軛對稱性的第二種形式:如果,,則, 。其中,。

的8點和16點dft

程式計算結果如下:

及,正好與圖中的16點及相同。

及,正好與圖中16點的及相同。

四、實驗小結

實驗主要是求、、、、、、、的dft變換。其中是直接給出了離散序列,而、則是經過、運算得到的、。離散傅利葉變換可以看作是在時的z變換,即表明的n點dft是的z變換在單位圓上的n點等間隔取樣。

離散傅利葉變換也可以看作在時的傅利葉變換,即表明可以看作的傅利葉變換在區間上的n點等間隔取樣。

用FFT做譜分析

實驗一 用fft做譜分析 1 實驗目的 1 進一步加深dft演算法原理和基本性質的理解。2 熟悉fft演算法原理和fft子程式的應用。3 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便在實際中正確應用fft。2 實驗原理 dft是週期序列,有n個獨立的數值...

實驗三 用FFT對訊號作頻譜分析 實驗報告

一 實驗目的與要求 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。二 實驗原理 用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析...

實驗三 用FFT對訊號作頻譜分析 實驗報告

一 實驗目的與要求 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。二 實驗原理 用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析...