计算对数功率谱时遇到0

信息处理 频谱
2022-02-16 07:26:57

要将功率谱转换为对数标度的功率谱,如何定义log10(X(k))if X(k)=0for some k

为了说明起见,我将我的过程简要介绍如下,这是一个惯例:

  1. X(k)通过 计算时域信号x(n)幅度谱X(k) = abs(fft(x(n)))

  2. 将幅度谱或功率谱分别转换为 db20*log10(X(k))10*log10(X(k)**2)

X(k)=0计算log10(X(k))未定义或-inf. 如何处理?

1个回答

通常,一个人的数据具有某种本底噪声(-96 dB 等)。因此,处理零(或微小)的 FFT 箱的一种常用方法是用本底噪声电平替换低于本底噪声的任何值,因为低于该值的任何值很可能不是有用的数据。在使用 log() 函数之前执行此操作可能会提供一些计算效率。