【发布时间】:2018-10-11 19:23:48
【问题描述】:
我正在做信号分析课程的作业,我必须分析信号。我现在已经尝试了很多东西,但 FFT 看起来很奇怪,而且看起来不像我们在课堂上学到的“正常外观”FFT,这仍然让我感到困扰。
FFT(复数值的绝对值): FFT abs values - FFT abs values zoomed in
FFT(无绝对值): FFT zoomed in
上图中的 FFT 在 0-30Hz 频率范围内放大。其余频率范围没有显示很多(高)峰值,这可能是由噪声引起的。
信号是在焊接过程中产生的,使用采样频率为 1000Hz 的示波器。我已经对信号进行了滤波以去除噪声,然后使用 MATLAB 的 fft 函数将信号转换为频谱。
滤波前后的信号: Original signal and filtered signal
我的一般问题是,显示的 FFT 是否有效还是我犯了错误?我估计地面频率在5.5Hz左右,当我取一个周期的大正弦波时可以这样说吗?我还注意到一个(地??)周期内大约有 64 个小正弦波,这是高谐波形式吗?。
如果我的理论是正确的,是什么导致 fft 是阻尼正弦形式?
我使用的代码基本如下。我把噪声过滤掉了,因为我认为这个问题没有必要。数据集是一个 40100 行的矩阵。
fs = 1000;
cleanSignaal = data(:,4);
fftSignal = fft(cleanSignaal)/lenght(cleanSignaal);
f = fs/(2*length(fftSignal)):fs/length(fftSignal):fs;
plot(f,abs(fftSignal));
xlim([0 fs(m)/2]);
title('Fast Fourier Transform')
xlabel('Frequentie (Hz)')
ylabel('Magnitude')
谢谢!
【问题讨论】:
-
幅度为负如何?您确定要绘制 FFT 而不是时域图吗?
-
我没有采用 FFT 的绝对值。当我采用绝对值时,FFT 更加混乱,如:imgur.com/a/zkkxdp7
-
放大时您可以看到相同的模式 (imgur.com/a/pYK3ENK),但很难分析。你能告诉我为什么最高振幅在 0Hz 左右吗?我以为我知道 0Hz 频率并不存在,因此可以忽略。
-
能否请您显示用于获取此 FFT 的数据图? (您可能需要放大一点,以便我们可以设置相关的时间刻度。)另外,您是否尝试过取 FFT 的倒数,以检查您是否获得了原始信号?
-
这是Wiener Filter前后的数据:i.stack.imgur.com/cwb7Q.png我还没用过ifft函数。
标签: signals signal-processing fft analysis