我有一个实数的输入序列,其中对于某些。我希望计算的 FFT 。
然而,在我计算 FFT 之前,信号被噪声破坏,所以和计算的 FFT,是的 FFT ,而不是 .
我希望在以下假设下从
- 是带限信号;FFT 频谱迅速衰减。
- 噪声是一个移位的 delta 函数,具有未知的移位和幅度,即,其中分别为实数和整数。
我将如何以一种计算效率高的方式做到这一点?
我有一个实数的输入序列,其中对于某些。我希望计算的 FFT 。
然而,在我计算 FFT 之前,信号被噪声破坏,所以和计算的 FFT,是的 FFT ,而不是 .
我希望在以下假设下从
我将如何以一种计算效率高的方式做到这一点?
使用零相位滤波器对输入进行高通滤波,以消除感兴趣的信号,只留下高通噪声。如果信号是周期性的,您可以在频域中执行此操作并通过 IFFT 转换回时域。找出峰值的时间,并从滤波后的 delta 函数的大小(峰值或均方根)推导出未滤波的 delta 函数的大小。知道延迟和幅度,从原始输入信号中减去噪声。做 FFT。
有更有效的方法来决定您的问题。在计算 FFT 之前,尝试在时域中使用一些非线性滤波器。中值滤波器是用于降低脉冲噪声的简单而有效的滤波器 ( Median_filter )。您可以使用大小为 3 的最简单版本。
更新
是对zimbra314的评语的回答。
奇怪的约束。在时域中降低脉冲噪声很容易,但在频域中则不然。但是,这是你的功课吗?如果是这样,我可以给你一个提示。请做delta函数的FFT。请参阅此频谱的幅度和相位。δ函数的幅值谱形式非常简单,高频成分很多。您的信号是带限的,因此没有任何高频分量。因此,您可以轻松估计噪声的幅度谱。如您所知,2 个函数之和 ( ) 的 FFT 是该信号的 FFT 之和。所以你可以中减去噪声的幅度谱
是否可以估计δ函数的相位谱。有关 delta 函数偏移的不同值,请参见相位...我想您会自己找到估计相位谱的方法。
更新 2
delta 函数的谱 ( ) 非常简单且众所周知。您的频带限制信号的频谱没有任何高频分量。所以 ( ) 的频谱的高频分量等于 \eta 的高频分量。算法是: