首页 > 解决方案 > 使用峰到 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))不将信号转换为频域吗?为什么我必须将整个事情除以信号的长度?

我可以想象我的问题的答案对你们中的一些专家来说是显而易见的,但直到现在我才找到正确的答案。

非常感谢您!

标签: audiosignal-processingfftrms

解决方案


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

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


推荐阅读