一、 實驗目的與要求
學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。
二、 實驗原理
用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析度直接和fft的變換區間n有關,因為fft能夠實現的頻率解析度是2π/n,因此要求2π/n小於等於d。
可以根據此式選擇fft的變換區間n。誤差主要來自於用fft作頻譜分析時,得到的是離散譜,而訊號(週期訊號除外)是連續譜,只有當n較大時,離散譜的包絡才能逼近連續譜,因此n要適當選擇大一些。
三、 實驗步驟及內容(含結果分析)
(1)對以下序列進行fft分析:
x1(n)=r4(n)
x2(n)=
x3(n)=
選擇fft的變換區間n為8和16兩種情況進行頻譜分析,分別列印出幅頻特性曲線,並進行討論、分析與比較。
【實驗結果如下】:
實驗結果圖形與理論分析相符。
(2)對以下週期序列進行譜分析:
x4(n)=cos[(π/4)*n]
x5(n)= cos[(π/4)*n]+ cos[(π/8)*n]
選擇fft的變換區間n為8和16兩種情況進行頻譜分析,分別列印出幅頻特性曲線,並進行討論、分析與比較。
【實驗結果如下】:
(3)對模擬週期訊號進行頻譜分析:
x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt)
選擇取樣頻率fs=64hz,fft的變換區間n為16、32、64三種情況進行頻譜分析,分別列印出幅頻特性曲線,並進行討論、分析與比較。
【實驗結果如下】:
四、 【附錄】(實驗中**)
x1n=[ones(1,4)]; %產生r4(n)序列向量
x1k8=fft(x1n,8); %計算x1n的8點dft
x1k16=fft(x1n,16); %計算x1n的16點dft
%以下繪製幅頻特性曲線
n=8;
f=2/n*(0:n-1);
figure(1);
subplot(1,2,1);stem(f,abs(x1k8),'.'); %繪製8點dft的幅頻特性圖
title('(1a) 8點dft[x_1(n)]');xlabel('ω/π');ylabel('幅度');
n=16;
f=2/n*(0:n-1);
subplot(1,2,2);stem(f,abs(x1k16),'.'); %繪製8點dft的幅頻特性圖
title('(1a) 16點dft[x_1(n)]');xlabel('ω/π');ylabel('幅度');
%x2n 和 x3n
m=8;xa=1:(m/2); xb=(m/2):-1:1;
x2n=[xa,xb]; %產生長度為8的三角波序列x2(n)
x3n=[xb,xa];
x2k8=fft(x2n,8);
x2k16=fft(x2n,16);
x3k8=fft(x3n,8);
x3k16=fft(x3n,16);
figure(2);
n=8;
f=2/n*(0:n-1);
subplot(2,2,1);stem(f,abs(x2k8),'.'); %繪製8點dft的幅頻特性圖
title('(2a) 8點dft[x_2(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,3);stem(f,abs(x3k8),'.'); %繪製8點dft的幅頻特性圖
title('(3a) 8點dft[x_3(n)]');xlabel('ω/π');ylabel('幅度');
n=16;
f=2/n*(0:n-1);
subplot(2,2,2);stem(f,abs(x2k16),'.'); %繪製8點dft的幅頻特性圖
title('(2a) 16點dft[x_2(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,4);stem(f,abs(x3k16),'.'); %繪製8點dft的幅頻特性圖
title('(3a) 16點dft[x_3(n)]');xlabel('ω/π');ylabel('幅度');
%x4n 和 x5n
n=8;n=0:n-1;
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
x4k8=fft(x4n,8);
x4k16=fft(x4n,16);
x5k8=fft(x5n,8);
x5k16=fft(x5n,16);
figure(3);
n=8;
f=2/n*(0:n-1);
subplot(2,2,1);stem(f,abs(x4k8),'.'); %繪製8點dft的幅頻特性圖
title('(4a) 8點dft[x_4(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,3);stem(f,abs(x5k8),'.'); %繪製8點dft的幅頻特性圖
title('(5a) 8點dft[x_5(n)]');xlabel('ω/π');ylabel('幅度');
n=16;
f=2/n*(0:n-1);
subplot(2,2,2);stem(f,abs(x4k16),'.'); %繪製8點dft的幅頻特性圖
title('(4a) 16點dft[x_4(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,4);stem(f,abs(x5k16),'.'); %繪製8點dft的幅頻特性圖
title('(5a) 16點dft[x_5(n)]');xlabel('ω/π');ylabel('幅度');
%x8n
fs=64; t=1/fs;
n=16;n=0:n-1; %對於n=16的情況
nt = n*t;
x8n=cos(8*pi*nt)+cos(16*pi*nt)+cos(20*pi*nt)
x8k16=fft(x8n,16);
n=16;
f=2/n*(0:n-1);
figure(4);
subplot(2,2,1);stem(f,abs(x8k16),'.'); %繪製8點dft的幅頻特性圖
title('(8a) 16點dft[x_8(n)]');xlabel('ω/π');ylabel('幅度');
n=32;n=0:n-1; %對於n=16的情況
nt = n*t;
x8n=cos(8*pi*nt)+cos(16*pi*nt)+cos(20*pi*nt)
x8k32=fft(x8n,32);
n=32;
f=2/n*(0:n-1);
subplot(2,2,2);stem(f,abs(x8k32),'.'); %繪製8點dft的幅頻特性圖
title('(8a) 32點dft[x_8(n)]');xlabel('ω/π');ylabel('幅度');
n=64;n=0:n-1; %對於n=16的情況
nt = n*t;
x8n=cos(8*pi*nt)+cos(16*pi*nt)+cos(20*pi*nt)
x8k64=fft(x8n,64);
n=64;
f=2/n*(0:n-1);
subplot(2,2,3);stem(f,abs(x8k64),'.'); %繪製8點dft的幅頻特性圖
title('(8a) 64點dft[x_8(n)]');xlabel('ω/π');ylabel('幅度');
五、思考題及實驗體會
通過實驗,我知道了用fft對訊號作頻譜分析是學習數字訊號處理的重要內容。經常需要進行譜分析的訊號是模擬訊號和時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。
頻譜解析度直接和fft的變換區間n有關,因為fft能夠實現的頻率解析度是2л/n≤d。可以根據此式選擇fft的變換區間n。誤差主要來自於用fft作頻譜分析時,得到的是離散譜,而訊號(週期訊號除外)是連續譜,只有當n較大時,離散譜的包絡才能逼近於連續譜,因此n要適當選擇大一些。
週期訊號的頻譜是離散譜,只有用整數倍週期的長度作fft,得到的離散譜才能代表週期訊號的頻譜。如果不知道訊號週期,可以盡量選擇訊號的觀察時間長一些。
對模擬訊號進行頻譜分析時,首先要按照取樣定理將其變成時域離散訊號。如果是模擬週期訊號,也應該選取整數倍週期的長度,經過取樣後形成週期序列,按照週期序列的普分析進行。
實驗三 用FFT對訊號作頻譜分析 實驗報告
一 實驗目的與要求 學習用fft對連續訊號和時域離散訊號進行譜分析的方法,了解可能出現的分析誤差及其原因,以便正確應用fft。二 實驗原理 用fft對訊號作頻分析是學習數字訊號處理的重要內容,經常需要進行分析的訊號是模擬訊號的時域離散訊號。對訊號進行譜分析的重要問題是頻譜解析度d和分析誤差。頻譜解析...
用FFT對訊號做頻譜分析
湖北民族學院資訊工程學院實驗報告 電氣 電子類專用 班級 姓名 學號 實驗成績 實驗時間 2010 年 11 月 27 日 3 4節實驗地點 數字訊號處理實驗室 課題名稱 數字訊號處理實驗型別 設計型驗證型綜合型 實驗題目 用fft對訊號做頻譜分析 一 實驗儀器pc matlab 一 實驗目的 學習...
訊號的頻譜分析實驗報告
實驗 號的頻譜分析 一 實驗目的 1.掌握利用fft分析連續週期,非週期訊號的頻譜,如週期,非週期方波,正弦訊號等。理解cfs,ctft與dft fft 的關係。2.利用fft分析離散週期,非週期訊號的頻譜,如週期,非週期方波,正弦訊號等。理解dfs,dtft與dft fft 的關係,並討論連續訊號...