当前位置:   article > 正文

matlab fft计算功率,使用 FFT 获得功率频谱密度估计

fft后的功率怎么计算

具有指定采样率的偶数长度输入

对于一个采样率为 1 kHz 的偶数长度信号,分别使用 fft 和 periodogram 获得其周期图。比较二者的结果。

创建一个含 N(0,1) 加性噪声的 100 Hz 正弦波信号。采样频率为 1 kHz。信号长度为 1000 个采样点。使用随机数生成器的默认设置以获得可重现的结果。

rng default

Fs = 1000;

t = 0:1/Fs:1-1/Fs;

x = cos(2*pi*100*t) + randn(size(t));

使用 fft 获取周期图。信号是偶数长度的实数值信号。由于信号是实数值信号,您只需要对正负频率之一进行功率估计。为了保持总功率不变,将同时在两组(正频率和负频率)中出现的所有频率乘以因子 2。零频率 (DC) 和 Nyquist 频率不会出现两次。绘制结果。

N = length(x);

xdft = fft(x);

xdft = xdft(1:N/2+1);

psdx = (1/(Fs*N)) * abs(xdft).^2;

psdx(2:end-1) = 2*psdx(2:end-1);

freq = 0:Fs/length(x):Fs/2;

plot(freq,10*log10(psdx))

grid on

title('Periodogram Using FFT')

xlabel('Frequency (Hz)')

ylabel('Power/Frequency (dB/Hz)')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/967813
推荐阅读
相关标签
  

闽ICP备14008679号