0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何區(qū)分Matlab中fft與fwelch 如何用fft求功率譜

jf_78858299 ? 來源:傅里葉的貓 ? 作者:貓叔 ? 2023-05-05 10:04 ? 次閱讀

講這個話題,就要先搞清楚頻譜、功率譜的概念,可參考我的另一篇文章

[信號的頻譜 頻譜密度 功率譜密度 能量譜密度]

做信號處理的朋友應(yīng)該都會fft比較熟悉,就是求傅里葉變換。我在這里也不再去講這個函數(shù)了,但需要注意的一點:實信號的頻譜關(guān)于0頻對稱,是偶函數(shù),如果st = cos(2pif0*t)+1; t的長度為4000,那么0頻的位置在第一個點,做fftshift后,0頻的位置在低2001個點的位置,fft后的信號關(guān)于第2001個點對稱,而不是4000個點左右對稱。

pwelch是用來求功率譜的,采用Welch平均周期法對信號進行譜估計,它通過分段選取數(shù)據(jù)進行加窗求功率,再進行平均,pwelch函數(shù)的使用方式為:

pxx = pwelch(x,window,noverlap,nfft)
[pxx,f] = pwelch(x,window,noverlap,f,fs)

其中,

  • X表示輸入序列;
  • window:當window是一個數(shù)值時,表示窗函數(shù)長度,即分段長度L,默認的窗函數(shù)為hamming窗;當window是一個序列時,表示窗函數(shù)序列;
  • NFFT表示FFT的點數(shù),X為實數(shù)時,當NFFT是偶數(shù)時,Pxx的長度是(NFFT/2+1);當NFFT是奇數(shù)時,Pxx的長度是(NFFT+1)/2;X為復(fù)數(shù)時,Pxx的長度就是NFFT,如果NFFT沒有指定,則默認是256或者比X長度大的2的N次冪
  • Fs 繪制功率譜曲線的采樣頻率,默認值為1
  • Pxx表示功率譜估計值
  • F表示Pxx值所對應(yīng)的頻率點
  • NOVERLAP指定分段重疊的樣本數(shù) ,如果NOVERLAP=L/2,則可得到重疊50%的Welch法平均周期圖

下面我們分別用fft和fwelch來求信號的功率譜。

clc;close all;clear all;

fs = 10e6;
N = 4000;
t = (0:N-1)/fs;
f0 = 1e5;

st = cos(2*pi*f0*t) + 1;
st_fft = fft(st);
psdx = abs(st_fft(1:end/2+1)).^2/fs/N;  %功率譜密度為能量譜密度除以時間,摸值的平方即為能量譜
psdx(2:end) = 2*psdx(2:end);            %乘2是因為fft結(jié)果是對稱的,在計算功率時需要把功率加回來;第一個點是0頻,這個點并不對稱
freq = linspace(0,fs/2,length(psdx));
[pxx,f] = pwelch(st,rectwin(N),32,N,fs);
figure;plot(freq,psdx);title('fft方法求功率譜密度');grid on
figure;plot(f,pxx);title('fwelch方法求功率譜密度');grid on

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 信號處理
    +關(guān)注

    關(guān)注

    48

    文章

    968

    瀏覽量

    102985
  • FFT
    FFT
    +關(guān)注

    關(guān)注

    15

    文章

    430

    瀏覽量

    59017
  • 傅里葉
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    20405
收藏 人收藏

    評論

    相關(guān)推薦

    STM32 FFT計算得到的相位matlab計算的不一致是什么原因造成的?

    STM32 FFT計算得到的相位matlab計算的不一致?
    發(fā)表于 04-18 07:52

    為什么LabVIEW的fft.vi和MATLABfft函數(shù)計算出來的結(jié)果不同?

    LabVIEW的fft.vi和MATLABfft函數(shù)計算的結(jié)果有時相差很小,有時完全不同這是為什么?例如在MATLABx=[1 2 3
    發(fā)表于 10-31 21:05

    MATLAB 濾波器FFT變換

    matlab如何對各級濾波器的輸出做FFT變換?大神指導(dǎo)
    發(fā)表于 04-16 20:26

    何用labveiw功率密度

    大神教我如何用labveiw功率密度。如果用matlab直接用一句語句就可以搞定[Yxx,
    發(fā)表于 04-17 13:43

    大神教我如何用labveiw功率密度

    大神教我如何用labveiw功率密度。如果用matlab直接用一句語句就可以搞,但是用la
    發(fā)表于 04-17 13:47

    FPGA FFT核的仿真與Matlab仿真結(jié)果差異很大

    有某試驗數(shù)據(jù),用matlabfft之后再求得的功率密度是這樣的:圖1但是用fft ip核,取
    發(fā)表于 04-21 20:36

    FFT功率問題

    您好,抱歉我的英語不好。我可以在FFTBuffic獲得FFT頻譜,但是不能得到FrimeSuffRealEdCurx()的功率。我的代碼有什么問題,或者程序參數(shù)錯誤嗎?我使用DSP
    發(fā)表于 08-27 15:11

    FFT和IFFT的Matlab實現(xiàn)

    第28章 FFT和IFFT的Matlab實現(xiàn)(幅頻響應(yīng)和相頻響應(yīng))本章主要講解fft,ifft和fftshift在matlab上的實現(xiàn)。目錄第28章
    發(fā)表于 08-17 07:48

    FFT和IFFT的Matlab實現(xiàn)

    第28章 FFT和IFFT的Matlab實現(xiàn)(幅頻響應(yīng)和相頻響應(yīng))本章主要講解fft,ifft和fftshift在matlab上的實現(xiàn)。目錄第28章
    發(fā)表于 08-17 06:22

    何用Matlab去實現(xiàn)FFT函數(shù)和IFFT函數(shù)呢

    MatlabFFT函數(shù)和IFFT函數(shù)有什么用法嗎?如何用Matlab去實現(xiàn)FFT函數(shù)和IFFT函數(shù)呢?
    發(fā)表于 11-18 07:05

    基于Matlab的系統(tǒng)信號FFT頻譜分析與顯示pdf

    基于Matlab的系統(tǒng)信號FFT頻譜分析與顯示
    發(fā)表于 06-19 14:55 ?63次下載

    matlab fft頻譜分析源程序代碼

    matlab fft頻譜分析源程序代碼:以下給出實現(xiàn)上述方法的一個具體的MATLAB程序?qū)嵗闯绦颉?/div>
    發(fā)表于 02-08 12:36 ?253次下載

    基于MATLAB系統(tǒng)的信號FFT頻譜分析與顯示

    基于MATLAB系統(tǒng)的信號FFT頻譜分析與顯示:給出一種用MATLAB系統(tǒng)實現(xiàn)信號頻譜分析與顯示的方法。MATLAB是具有很強的科學(xué)計算和圖形顯示界面的軟件系統(tǒng)。該法可對語音信號進行基
    發(fā)表于 02-08 12:38 ?101次下載

    利用FFT IP Core實現(xiàn)FFT算法

    利用FFT IP Core實現(xiàn)FFT算法 摘要:結(jié)合工程實踐,介紹了一種利用FFT IP Core實現(xiàn)FFT的方法,設(shè)計能同時對兩路實數(shù)序列進行256點
    發(fā)表于 01-16 10:04 ?6830次閱讀
    利用<b class='flag-5'>FFT</b> IP Core實現(xiàn)<b class='flag-5'>FFT</b>算法

    labview FFT分析信號頻譜幅度和相位實例

    labview FFT分析信號頻譜幅度和相位簡單實例,
    發(fā)表于 02-28 16:45 ?351次下載