【问题标题】:Damped sinusoidal form FFT of signal信号的阻尼正弦形式 FFT
【发布时间】: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


【解决方案1】:

您看起来是正确的:您的信号是一个带有一些噪声的脉冲,而 FFT 基本上是一个 sinc 函数(或 sinc 的 abs,因为您应该将其绘制为 FFT)这是什么你会期待脉搏。

这是一个简单的演示。 (顺便说一句,我把脉冲比你的窄一点,目的是让sinc 更宽,因为宽度成反比,所以我不需要放大。)

import numpy as np
import matplotlib.pyplot as plt # For ploting

N = 1000
t = np.linspace(0, 1., N)
y = ( (t>0.46) & (t<0.54)).astype(float)

f = np.abs(np.fft.rfft(y))
faxis = np.fft.rfftfreq(y.size, 1./N)

plt.figure()
plt.subplot(211)
plt.plot(t, y)
plt.ylim(-.1, 1.1)
plt.subplot(212)
plt.plot(faxis, f)
plt.ylim(0, 90)
plt.show()

在脉冲之上,您有很多尖峰噪声,这些噪声会添加到 FFT 中。这通常具有大部分远离 sinc 低频的频谱质量,但这可能取决于噪声的确切性质。

【讨论】:

  • 感谢您的回答。它确实似乎澄清了正在发生的事情。在我的情况下,是否有任何可以从 fft 中减去的信息? fft谱中sinc函数的那些波周期是什么意思?
  • 在脉冲的 FFT 中可能没有比从脉冲本身更容易获得的任何东西。 sinc 和脉冲的宽度成反比,因此您可以确定脉冲宽度(这在时域中可能更容易做到)并且每个中的总功率将是相同的(根据 Parseval 定理 - 但在时域)。另外,我想你可以适应 sinc 并将其移除,只剩下噪声的变换(尽管在时域中也可能更容易做到)。
  • @Jost:另外,我重读了你的问题,我不明白你所说的“地面期”是什么意思。无论是直接在时域中还是在 FFT 中表示的时域周期性,我都没有看到任何周期性的迹象。 (当然,FFT 假设时域信号随样本长度呈周期性变化。)
  • 在作业中,他们要求提供基本周期以及与测量时间相关的带宽/精度。除了上面绘制的信号之外,我还测量了电压信号 (imgur.com/a/9llqRJD)。它们显示出一些周期性,所以我将从那里计算周期。顺便说一句,拟合 sinc 并将其移除并仅保留噪声变换是什么意思?
  • 我想我已经回答了你的基本问题,而且这个作业中有很多你知道但我不知道的事情(例如,你在课堂上介绍的内容、实际数据等),所以我不能和你一起完成整个事情,我基本上会把它留在这里。通过“拟合同步”我的意思是:因为您知道它是一个脉冲并且脉冲 FFT 转换为 sinc,您可以对 FFT 中的 sinc 形式进行数值拟合,以将其从 FFT 中移除(在复数空间中,而不是在腹肌上)。我不是为您的问题推荐这个,只是说可以做到。
猜你喜欢
  • 2022-11-07
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多