带有峰值至RMS检测的音频噪声测量

时间:2019-07-22 13:01:40

标签: audio signal-processing fft rms

我对以下代码有疑问,我发现以下代码可以测量音频中包含多少噪声:

Sx = fft(x .* hann(length(x), 'periodic')) pk2rms = max(abs(Sx))/sqrt(sum(abs(Sx).^2)/length(Sx))

此代码应计算信号的峰均比,并应用于测量音频信号中包含的噪声。

据我了解,max(abs(Sx))计算峰值,而sqrt(sum(abs(Sx).^2)计算RMS。但是我不明白为什么会这样。为什么首先必须应用FFT来计算峰?峰值不只是信号中包含的最高振幅吗?如果是这样,我应该执行max(abs(x))而不将信号转换为频域吗? 为什么我必须将整个信号除以信号长度?

我可以想象我的问题的答案对于某些专家是显而易见的,但是直到现在我都找不到合适的答案。

非常感谢您!

1 个答案:

答案 0 :(得分:0)

信噪比(SNR)为您提供品质因数,它告诉您最强信息信号与系统中不需要的噪声之间的距离。从某种意义上讲,它是有用信号在被杂音淹没之前的房间。

如果在时域中获取信号的幅度,则会得到许多具有不同频率的不同信号的叠加。这可能是所需信号的不同成分,但也可能是噪声。这不是您想要的。