溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Matlab中利用fft繪制信號頻譜圖

發布時間:2021-04-30 15:28:41 來源:億速云 閱讀:1193 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在Matlab中利用fft繪制信號頻譜圖,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

fs=500;%采樣率
f1=5;%信號頻率
f2=10;%信號頻率
T=1;%時寬1s
n=round(T*fs);%采樣點個數
t=linspace(0,T,n);%時域橫坐標
x = 3+cos(2*pi*f1*t) + 2.*cos(2*pi*f2*t);%形成三頻信號,注意第二個頻率信號幅度為2,直流幅度為3
figure(1);
plot(t,x);%畫時域圖
xlabel("t/s")
grid on

X = fftshift(fft(x./(n))); %用fft得出離散傅里葉變換
f=linspace(-fs/2,fs/2-1,n);%頻域橫坐標,注意奈奎斯特采樣定理,最大原信號最大頻率不超過采樣頻率的一半
figure(2)
plot(f,abs(X));%畫雙側頻譜幅度圖
xlabel("f/Hz")
ylabel("幅度")
grid on

顯然,該信號有三個頻率分量,直流(0頻),5Hz和10Hz,對應的幅度分別為3、1、2,其時域波形圖如下:

怎么在Matlab中利用fft繪制信號頻譜圖

轉換為頻域的關鍵函數是X = fftshift(fft(x./(n)));一定注意需要除以總樣本數n,然后用fftshift將曲線挪一下位置。
做完這步操作后,得出的是雙邊頻譜,頻率范圍從-fs/2到fs/2,這是因為奈奎斯特采樣定理,給定采樣頻率為fs,那么原信號的最大頻率不超過fs/2。橫坐標的點數和時域信號的采樣點數相同,這由離散傅里葉變換的性質給出。

繪制頻譜幅度圖如下:

怎么在Matlab中利用fft繪制信號頻譜圖

關于怎么在Matlab中利用fft繪制信號頻譜圖就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女