數字訊號處理實驗報告

2022-09-02 03:21:05 字數 4934 閱讀 5434

學號: 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...