在MATLAB中使用fft函數(shù)進行諧波分析【轉(zhuǎn)發(fā)】

2017-05-22  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

老師讓我做一下諧波分析,我在網(wǎng)上看了一篇帖子,感覺挺不錯的,沒有轉(zhuǎn)帖,而是總結(jié)一下。
可以直接將需要分析的數(shù)據(jù)輸入到command中,分別命名,然后保存為.mat文件。比如:
在MATLAB中使用fft函數(shù)進行諧波分析
這樣在根目錄下就生成一個mymat.mat文件。
這是保存的方法,然后分析。我在網(wǎng)上下載的一組數(shù)據(jù),文件名是‘聲波數(shù)據(jù).mat’。先把這個文件放到根目錄下,編寫程序如下:
在MATLAB中使用fft函數(shù)進行諧波分析
第一張圖是信號的波形,第二張圖是對其頻率的分析。

然后不解的地方是在第4行,出現(xiàn)了y1=y1-mean(y1).
如果沒有這一句就會得不到第二張圖的結(jié)果。
mean函數(shù)是對數(shù)列的求平均值,解答者說,fft不能對直流量分析,就是使用mean函數(shù)將直流量去掉后才能進行分析。

還看了一些帖子是對函數(shù)進行fft分析的。
比如下面的程序:
fs=218;
N=218;
n=0:N-1;
n2=1:N/2+1;t=n/fs;
aa=-3*sin(2*pi*32*t)+15*sin(2*pi*52*t)+9*sin(2*pi*66*t);
y=fft(aa);
mag=abs(y);
f=n*fs/N;
figure
plot(f(n2),mag(n2))
>> figure
>> plot(t,aa);
在MATLAB中使用fft函數(shù)進行諧波分析


在MATLAB中使用fft函數(shù)進行諧波分析


第一張圖是對諧波分析的結(jié)果,可以看出有32次、52次和66次諧波。幅值比例不是函數(shù)中各次諧波的幅值,這個原因是fft本身是離散的求頻率,是根據(jù)比例來的,這和fft函數(shù)對波形分析的原理來的。
然后我們改變采樣點的個數(shù),而數(shù)據(jù)點保持不變,得到的結(jié)果
在MATLAB中使用fft函數(shù)進行諧波分析

然后改變數(shù)據(jù)個數(shù),數(shù)據(jù)點只有30個而采樣點為100;得到的結(jié)果。
在MATLAB中使用fft函數(shù)進行諧波分析


失真了,和預(yù)期的不一樣,就是說沒有分析出來想要的頻率,因為數(shù)據(jù)點太少了,然而頻率點還是保持在一定的比例上,比如期望的是32:52:66,而現(xiàn)在的大致是2:6:8.我看過一篇介紹fft分析原理的帖子,大致的意思是采樣點足夠多時,橫坐標(biāo)每隔一個坐標(biāo)代表的是1Hz。觀察上圖,如果采樣點不夠多就會導(dǎo)致成比例下降。那么如果說采樣數(shù)據(jù)較少,我們只知道一組數(shù)據(jù)的一些頻率并且知道是幾次的,那么就可以大致知道含有幾次諧波,但是遺憾的是不能夠知道諧波幅值大小。

我是初學(xué)者,共同探討聯(lián)系QQ:1245693624.

本文轉(zhuǎn)自http://blog.sina.com.cn/u/14ecd62080102wton



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:在MATLAB中使用fft函數(shù)進行諧波分析【轉(zhuǎn)發(fā)】 MatLab培訓(xùn) MatLab培訓(xùn)課程 MatLab在線視頻教程 MatLab技術(shù)學(xué)習(xí)教程 MatLab軟件教程 MatLab資料下載 MatLab代做 MatLab基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com