1

编辑:


我偶然发现了这个解释,以从 IEEE 论文(3 相非受控整流器中的开路故障诊断,Rahiminejad,Diduch,Stevenson,Chang)中获得能谱。“捕获包含相当于 4T 的多个样本的信号记录样本,并使用等于记录长度(其中 T 是基本周期)的 FFT 大小确定其 FFT。假设 FFT 大小与 4 个周期匹配对于周期性波形,每第 4 个 FFT bin 将与一个谐波频率重合,特别是 FFT bin 4k+1的中心将与第k 个谐波频率重合。

第 k 次谐波能量计算为以 bin 4k+1为中心的 5 个连续 FFT 值的平方幅度之和。额外的 FFT 值包含在谐波能量计算中,以降低计算能量对频率估计误差的敏感性,这会导致第 k 个谐波峰值从 bin 4k+1偏移。”

我不完全理解上面的段落。在我有限的理解中,粗线 是指函数 fft() 的输出的平方和,即复傅立叶级数系数​​。

有人可以展示一些光来获得能谱吗?@fpe:我不确定 ESD 的性能是否与能谱相同。顺便说一句,非常感谢您的回答:)


我正在尝试绘制信号的能谱以查看例如包含前三个谐波的归一化能量、基波与二次谐波的能量比等......

在这里,我设法获得了汉宁窗 FFT 幅度-Hz 和功率-Hz。但是,我不知道如何获得每个频率分量的能量-Hz。

任何帮助深表感谢 !

function [f,Xall_Wnd]=fftplotExxx(time,X_input)
Fs = 20000; % Sampling frequency
x = X_input; 

% Fast Fourier Transform 
    L = length (X_input); % Length of FFT
    nfft = 2^nextpow2(L); % Next power of 2 from length of signal

%wave = wave.*hamming(length(wave));
x_HammingWnd = x.*hamming(L);

% Take fft, padding with zeros so that length(X) 
%is equal to nfft 

Xall_Wnd = fft(x_HammingWnd, nfft)/L;  %hamming window fft

% FFT is symmetric, throw away second half

% Take the magnitude of fft of x 
mx_Wnd = 2*abs(Xall_Wnd(1:nfft/2+1)); 

% To get Power of x(t) by sqr of magnitude
m2x_Wnd = mx_Wnd.^2; 

% I am Not sure how to get energy spectrum
for i=1:L:nfft-L
E(i) = sum(Xall_Wnd(1:nfft/2+1).^2);
end

% Frequency vector
    f = Fs/2*linspace(0,1,nfft/2+1);

% Generate the plot, title and labels. 
subplot(2,2,1)
plot(time,X_input);
title('Time Domain')
xlabel('Time(s)')

subplot(2,2,2)
plot(f,m2x_Wnd); 
title('Power Spectrum of x(t)'); 
xlabel('Frequency (Hz)'); 
ylabel('Normalised Power of fft');

subplot(2,2,3)
plot(f,mx_Wnd); 
title('Hamming Window_ Spectrum of x(t)'); 
xlabel('Frequency (Hz)'); 
ylabel('Normalised Magunitude of fft');

subplot(2,2,4)
plot(f,E); 
title('Energy Spectrum of x(t)'); 
xlabel('Frequency (Hz)'); 
ylabel('Energy');
end 
4

1 回答 1

1

一般可以这样计算频谱:

h = spectrum.welch('hamming',2048,50);
PSD = psd(h,x(t),'nfft',2048,'fs',Fs);
于 2013-08-22T07:36:54.347 回答