声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 11495|回复: 8

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

[复制链接]
发表于 2008-12-24 17:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

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

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

能认为是10lg(abs(Y)/Y0)么?Y0取多少呢?
回复
分享到:

使用道具 举报

发表于 2008-12-24 19:31 | 显示全部楼层
对整套系统进行校正,使Y代表为声压,单位为微巴,Y0为20微巴,同时声压级的公式是
20lg(abs(Y)/Y0)
 楼主| 发表于 2008-12-26 09:00 | 显示全部楼层

回复 沙发 songzy41 的帖子

那么怎样进行校正呢?
时域信号经过FFT变换后,abs(Y)这个值就是声压的值吗?或者和声压值有什么对应关系?
发表于 2008-12-26 17:15 | 显示全部楼层
“abs(Y)这个值就是声压的值吗”,当然不是声压值。
要校准的话,先要校准传声器,测量得到传声器的灵敏度(单位是V/Pa),其次要对采集系统进行校准,当有一标准电压输入时,对应于多少值。这样就可知道,当采集到多少数值时,相应的声压是多少巴,或多少微巴。
 楼主| 发表于 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值。

多谢你耐心的回复了~呵呵 虽然不是很懂
发表于 2008-12-26 20:02 | 显示全部楼层
当然楼主也可以用20*lg(abs(Y)/Y0)表示成dB值,这时用Y0=1,这样得到的是相对值。
发表于 2010-3-4 11:10 | 显示全部楼层
抱歉翻老贴出来,我想请教一下,如果20*lg(abs(Y)/Y0)表示成dB值,这时用Y0=1,这样得到的是相对值。
怎么样去将其换算为绝对值? 或者它有没有一个可以计算出来的范围?以方便进行颜色渲染。
发表于 2011-4-24 16:02 | 显示全部楼层
学习了
发表于 2017-2-10 14:35 | 显示全部楼层
现在也遇到要转换,不懂,求指导!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 23:41 , Processed in 0.072597 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表