我来自流体力学领域,所以请原谅我提出了一个幼稚而基本的问题。
我正在尝试使用 FFT 对一组正实数(~Energy)执行高通滤波。但是,我得到的结果有很多负值。我试图量化其中有多少是负面的,似乎这些值是负数。
我尝试寻找答案,我看到了图像处理领域中使用的通用方法,人们可以抵消这些负值或使用一些阈值。但就我而言,我不能使用这些技术中的任何一种,因为我需要在过滤过程之后查看一些统计量。
所以我想问为什么这些负数出现在纯正输入中,如果是这样,有什么解决方案吗?
我来自流体力学领域,所以请原谅我提出了一个幼稚而基本的问题。
我正在尝试使用 FFT 对一组正实数(~Energy)执行高通滤波。但是,我得到的结果有很多负值。我试图量化其中有多少是负面的,似乎这些值是负数。
我尝试寻找答案,我看到了图像处理领域中使用的通用方法,人们可以抵消这些负值或使用一些阈值。但就我而言,我不能使用这些技术中的任何一种,因为我需要在过滤过程之后查看一些统计量。
所以我想问为什么这些负数出现在纯正输入中,如果是这样,有什么解决方案吗?
高通滤波器将去除信号中所有 0 Hz 分量或 DC 偏移的大部分。这类似于减去平均平均值,对于正态分布的信号,这将使大约一半的信号为负(因为它低于原始平均平均值)。
如果您希望在高通滤波器后均值相同,您可以随时将其添加回来。
如果您不关心实际平均值,您还可以添加任意大的正偏移量以确保总和始终为正。
高通滤波器具有一些类似于求导的特性。始终为正的函数的导数将在斜率为负的地方为负。你对此无能为力。例如,取函数. 这在 399 和 401 之间摆动(非常正),但导数是. 所以导数(即高通滤波器)将在和.
您可以尝试在非常接近 0 的某个值(非常大的正弦周期)和您当前的截止频率之间执行带通滤波器。