在matlab裡面, 如何用FFT函式計算出諧波的真實幅值?

時間 2021-06-01 03:30:40

1樓:getnewer

訊號有P個諧波,假定各個諧波訊號實余弦訊號那麼就可以寫成2*P個復指數訊號。

那麼最極端的情況下(無噪),你只需要4*P點的FFT,就可以算出諧波的每個頻率,進而求出每個諧波上的幅度。

有噪情況下,FFT的點數N(N>4P)越大,抗噪效能越好。

2樓:王俊

細分頻率

當N=128時, ,15Hz和40Hz都無法被 整除,出現「柵欄效應」——40Hz分量被分散到它的周邊頻率上,在15Hz分量附近也是同樣的現象。另外,為何N=128的圖里最高峰處x=39.84,是因為

當N=1024時,還是由於「柵欄效應」,所以幅值也不對。

王俊:1周學FFT——第2天 DFT和IDFT的MATLAB實現

3樓:榴蓮的哥哥

根據取樣定律你的取樣頻率取是沒錯的,工程上一般取5-10倍。你的影象裡的幅值和頻率不精確,主要是因為出現了頻率和幅值洩露的現象。你的取樣頻率fs是100,也就是說在一秒內你取樣了100個點,而你的資料點數N為128、1024,也就是說你在幾個取樣週期內多出了28個取樣點或者24個,而這多出來的點數,經過fft之後不能完全表達出乙個取樣週期中的頻率和幅值,即把剩餘的72個或76個點中的幅值和頻率給洩露了。

下圖是用你的程式,採用不同資料點數的fft後的對比,左邊為128 右邊是100。

結論:選取的取樣點數N 應為取樣頻率fs 的正整數倍

4樓:

雖然理論上二倍的最高訊號頻率就夠了,但是一般取樣頻率還是五到十倍比較好。如果要精確計算幅值的話首先要對的準,就是取樣點正好能落在最高點上,所以別做128或者1024點直接1000點比較好。

還有你最後,計算幅值是直接abs然後非零頻率處乘2就行不是平方。你那是在計算功率fs=

500;N=

1000

;%取樣頻率和資料點數n=

0:N-

1;t=

n/fs;

%時間序列x=

0.5*

sin(2*

pi*15*

t)+2

*sin(2

*pi*40

*t);%訊號就是t=0/100, 1/100, 2/100,…, 126,100, 127/100y=

fft(x,

N);%對訊號進行快速Fourier變換P2=

abs(y)

/N;%求得Fourier變換後的振幅P1=

P2(1:

N/2+

1);P1(

2:end-1)

=2*P1

(2:end-1

);%雙邊帶轉單邊帶f=

n*fs/

N;%頻率序列

plot(f

(1:N

/2),P1(1

:N/2

));%繪出Nyquist頻率之前隨頻率變化的振幅

Minecraft 裡面如何用沉管法建隧道?

tefx 原版無mod 1.水底建平台做基座。可以直接用玻璃做的,因為打算做實驗的,就先用土了。2.水面上建個支架,沙子搭好形狀。3.敲掉支撐的土壤,讓沙子沉下去。4.上邊鋪個頂,因為是淺水,好辦多了。5.準備掏沙子。6.邊掏邊放玻璃搭牆。這步怎麼給自己留空氣同時快速的挖看實際情況吧,方法很多。比如...

在大學裡面如何處理舍友關係?

童掌櫃的 與人相處,不要期望他人的所思所想,所作所為跟自己一樣,因為你們的家庭背景,生活環境,思想,價值觀都不同,這就如雞和鴨,雞同鴨講能講的通嗎?所以,很正常,接納,接受,理解,求同存異就好相處了。 Tsicsaf 把自己照顧好就行,要是真有志同道合的,你們會自動建立很棒的關係。如果沒有,乙個人也...

Football Manager裡面如何安撫替補門將的情緒?

瘋狂的查理 我的經驗就是賣掉值錢的那個。我已經把FM作為養成類遊戲來玩了,最近在玩的一代是2019,用的娜娜,門將有切赫和萊諾,開始萊諾主要打聯賽,切赫打盃賽,切赫不高興。兩人水平基本一,所以就做了替換。過了兩月,萊諾又不高興。這個時候,我就開始球探搜尋新門將了,U23 高潛力 買得起是我的三大買人...