maye 发表于 2008-12-24 17:26

对音频信号在时域上进行FFT变换后的幅值与DB值有什么对应关系?

以前是学计算机的,刚刚接触音频这一块,有个问题不明白……向各位求教。

对声音信号在时域进行FFT变换后,比如在横坐标X处对应的值为Y,那么abs(Y),即对Y取模的这个值是实部与虚部的平方和开根号么?

另外,abs(Y)这个值和声音的DB值有什么关系?

能认为是10lg(abs(Y)/Y0)么?Y0取多少呢?

songzy41 发表于 2008-12-24 19:31

对整套系统进行校正,使Y代表为声压,单位为微巴,Y0为20微巴,同时声压级的公式是
20lg(abs(Y)/Y0)

maye 发表于 2008-12-26 09:00

回复 沙发 songzy41 的帖子

那么怎样进行校正呢?
时域信号经过FFT变换后,abs(Y)这个值就是声压的值吗?或者和声压值有什么对应关系?

songzy41 发表于 2008-12-26 17:15

“abs(Y)这个值就是声压的值吗”,当然不是声压值。
要校准的话,先要校准传声器,测量得到传声器的灵敏度(单位是V/Pa),其次要对采集系统进行校准,当有一标准电压输入时,对应于多少值。这样就可知道,当采集到多少数值时,相应的声压是多少巴,或多少微巴。

maye 发表于 2008-12-26 19:12

回复 地板 songzy41 的帖子

你说的校准我不是很懂。。。

我是纯粹想通过MATLAB分析wav文件得出一个图,横轴是频率,纵轴是DB值。

我其实是在MATLAB里读入wav文件的时域信号值,然后对N个点(即X序列)做FFT得到一个序列Y。然后取abs(Y)的,之后的程序里我都是把20*lg(abs(Y)/Y0)当作声压级DB值了。但是数值和AUDITION里分析的DB值不一样,才问一下的。

不知道AUDITION里是怎么分析WAV文件某个声道在某一频率的DB值的。我希望能在MATLAB里编程得到同样的DB值。

多谢你耐心的回复了~呵呵 虽然不是很懂

songzy41 发表于 2008-12-26 20:02

当然楼主也可以用20*lg(abs(Y)/Y0)表示成dB值,这时用Y0=1,这样得到的是相对值。

honorfight 发表于 2010-3-4 11:10

抱歉翻老贴出来,我想请教一下,如果20*lg(abs(Y)/Y0)表示成dB值,这时用Y0=1,这样得到的是相对值。
怎么样去将其换算为绝对值? 或者它有没有一个可以计算出来的范围?以方便进行颜色渲染。

凉草帽 发表于 2011-4-24 16:02

{:{13}:} 学习了

cellqueen 发表于 2017-2-10 14:35

{:{13}:}现在也遇到要转换,不懂,求指导!
页: [1]
查看完整版本: 对音频信号在时域上进行FFT变换后的幅值与DB值有什么对应关系?