學號: 1080420123
姓名: 王逸群
哈爾濱工業大學
2023年4月20日
實驗三:用fft對訊號作頻譜分析
3.1實驗程式清單
用fft對訊號作頻譜分析
clear all;close all
實驗內容(1):
x1n=[ones(1,4產生序列向量x1(n)=r4(n)
m=8;xa=1:(m/2); xb=(m/2):-1:1; x2n=[xa,xb]; 產生長度為8的三角波序列x2(n)
x3n=[xb,xa];
x1k8=fft(x1n,8計算x1n的8點dft
x1k16=fft(x1n,16計算x1n的16點dft
x2k8=fft(x2n,8計算x1n的8點dft
x2k16=fft(x2n,16計算x1n的16點dft
x3k8=fft(x3n,8計算x1n的8點dft
x3k16=fft(x3n,16計算x1n的16點dft
以下繪製幅頻特性曲線:
subplot(2,2,1);mstem(x1k8); 繪製8點dft的幅頻特性圖
title('(1a) 8點dft[x_1(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x1k8))])
subplot(2,2,3);mstem(x1k16); 繪製16點dft的幅頻特性圖
title('(1b)16點dft[x_1(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x1k16))])
figure(2)
subplot(2,2,1);mstem(x2k8); 繪製8點dft的幅頻特性圖
title('(2a) 8點dft[x_2(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x2k8))])
subplot(2,2,2);mstem(x2k16); 繪製16點dft的幅頻特性圖
title('(2b)16點dft[x_2(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x2k16))])
subplot(2,2,3);mstem(x3k8); 繪製8點dft的幅頻特性圖
title('(3a) 8點dft[x_3(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x3k8))])
subplot(2,2,4);mstem(x3k16); 繪製16點dft的幅頻特性圖
title('(3b)16點dft[x_3(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x3k16))])
實驗內容(2)週期序列譜分析:
n=8;n=0:n-1; fft的變換區間n=8
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
x4k8=fft(x4n); 計算x4n的8點dft
x5k8=fft(x5n); 計算x5n的8點dft
n=16;n=0:n-1; fft的變換區間n=16
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
x4k16=fft(x4n); 計算x4n的16點dft
x5k16=fft(x5n); 計算x5n的16點dft
figure(3)
subplot(2,2,1);mstem(x4k8); 繪製8點dft的幅頻特性圖
title('(4a) 8點dft[x_4(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x4k8))])
subplot(2,2,3);mstem(x4k16); 繪製16點dft的幅頻特性圖
title('(4b)16點dft[x_4(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x4k16))])
subplot(2,2,2);mstem(x5k8); 繪製8點dft的幅頻特性圖
title('(5a) 8點dft[x_5(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x5k8))])
subplot(2,2,4);mstem(x5k16); 繪製16點dft的幅頻特性圖
title('(5b)16點dft[x_5(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(x5k16))])
實驗內容(3)模擬週期訊號譜分析:
figure(4)
fs=64;t=1/fs;
n=16;n=0:n-1fft的變換區間n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t); 對x6(t)16點取樣
x6k16=fft(x6nt); 計算x6nt的16點dft
x6k16=fftshift(x6k16); 將零頻率移到頻譜中心
tp=n*t;f=1/tp; %頻率解析度f
k=-n/2:n/2-1;fk=k*f; 產生16點dft對應的取樣點頻率(以零頻率為中心)
subplot(3,1,1);stem(fk,abs(x6k16),'.');box on 繪製8點dft的幅頻特性圖
title('(6a) 16點|dft[x_6(nt)]|');xlabel('f(hz)');ylabel('幅度');
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k16))])
n=32;n=0:n-1fft的變換區間n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t); %對x6(t)32點取樣
x6k32=fft(x6nt計算x6nt的32點dft
x6k32=fftshift(x6k32); 將零頻率移到頻譜中心
tp=n*t;f=1/tp頻率解析度f
k=-n/2:n/2-1;fk=k*f; 產生16點dft對應的取樣點頻率(以零頻率為中心)
subplot(3,1,2);stem(fk,abs(x6k32),'.');box on 繪製8點dft的幅頻特性圖
title('(6b) 32點|dft[x_6(nt)]|');xlabel('f(hz)');ylabel('幅度');
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k32))])
n=64;n=0:n-1fft的變換區間n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t); %對x6(t)64點取樣
x6k64=fft(x6nt計算x6nt的64點dft
x6k64=fftshift(x6k64將零頻率移到頻譜中心
tp=n*t;f=1/tp; 頻率解析度f
k=-n/2:n/2-1;fk=k*f; 產生16點dft對應的取樣點頻率(以零頻率為中心)
subplot(3,1,3);stem(fk,abs(x6k64),'.'); box on 繪製8點dft的幅頻特性圖
title('(6a) 64點|dft[x_6(nt)]|');xlabel('f(hz)');ylabel('幅度');
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k64))])
3.2 實驗程式執行結果
實驗3程式執行結果如圖10.3.1所示。
圖10.3.1
3.3程式執行結果分析討論:
用dft(或fft)分析頻譜,繪製頻譜圖時,最好將x(k)的自變數k換算成對應的頻率,作為橫座標便於觀察頻譜。
為了便於讀取頻率值,最好關於π歸一化,即以作為橫座標。
1、實驗內容(1)
圖(1a)和(1b)說明的8點dft和16點dft分別是的頻譜函式的8點和16點取樣;
因為,所以,與的8點dft的模相等,如圖(2a)和(3a)。但是,當n=16時,與不滿足迴圈移位關係,所以圖(2b)和(3b)的模不同。
2、實驗內容(2),對週期序列譜分析
的週期為8,所以n=8和n=16均是其週期的整數倍,得到正確的單一頻率正弦波的頻譜,僅在0.25π處有1根單一譜線。如圖(4b)和(4b)所示。
的週期為16,所以n=8不是其週期的整數倍,得到的頻譜不正確,如圖(5a)所示。n=16是其乙個週期,得到正確的頻譜,僅在0.25π和0.
125π處有2根單一譜線, 如圖(5b)所示。
3、實驗內容(3),對模擬週期訊號譜分析
有3個頻率成分,。所以的週期為0.5s。
取樣頻率。變換區間n=16時,觀察時間tp=16t=0.25s,不是的整數倍週期,所以所得頻譜不正確,如圖(6a)所示。
變換區間n=32,64 時,觀察時間tp=0.5s,1s,是的整數週期,所以所得頻譜正確,如圖(6b)和(6c)所示。圖中3根譜線正好位於處。
變換區間n=64 時頻譜幅度是變換區間n=32 時2倍,這種結果正好驗證了用dft對中期序列譜分析的理論。
3.4 簡答思考題
(1)答:週期訊號的週期預先不知道時,可先擷取m點進行dft,再將擷取長度擴大1倍擷取,比較結果,如果二者的差別滿足分析誤差要求,則可以近似表示該訊號的頻譜,如果不滿足誤差要求就繼續將擷取長度加倍,重複比較,直到結果滿足要求。
數字訊號處理實驗報告
實驗一訊號 系統及系統響應 一 實驗目的 1 熟悉連續訊號經理想取樣前後的頻譜變化關係,加深對時域取樣定理的理解 2 熟悉時域離散系統的時域特性 3 利用卷積方法觀察分析系統的時域特性 4 掌握序列傅利葉變換的計算機實現方法,利用序列的傅利葉變換對連續訊號 離散訊號及系統響應進行頻域分析。二 實驗原...
數字訊號處理實驗報告
一 實驗目的 1.複習和鞏固數字訊號處理中離散訊號的產生和運算 2.學習和掌握用matlab產生離散訊號的方法 3.學習和掌握用matlab對離散訊號進行運算 二 實驗原理 1 用matlab函式產生離散訊號 訊號是數字訊號處理的最基本內容。沒有訊號,數字訊號處理就沒了工作物件。matlab7.0內...
數字訊號處理實驗報告
山東建築大學實驗報告 課程 數字訊號處理 院 部 資訊與電氣工程學院 專業 電子資訊工程 班級 電信112 學生姓名 王丙全 學號 2011081245 指導老師 耿淑娟 完成時間 2013.11.08 山東建築大學實驗報告 學院 資訊與電氣工程學院班級電信112 姓名 王丙全學號 20110812...