我使用ringdroid应用程序(http://code.google.com/p/ringdroid/)获取波形,但是如果我需要获取声功率(例如均衡器之类的东西),则必须使用傅立叶变换,否则可以不使用FT?请您告诉我任何提示吗?我正在尝试在很多页面中找到解决方案,但没有很好的结果。
感谢您的回答
最佳答案
如果只需要总功率,则无需进行FFT。您可以将振幅平方和相加,然后除以总时间。
请记住以下几点:1)在进行求和之前,请确保先取振幅的平方。 2)这里的0很重要,振幅需要从0开始偏离,即没有声音时从读数开始偏离;因此,如果您的值介于0到1024之间,则“无声音”值可能是512,并且需要在取平方之前从每个值中减去该值。
另外,顺便说一句,如果您要为听觉信号制作电平表,则可能需要采用功率的log
,因为感知的响度随对数而不是总功率而变化。但这是一个感知问题,取决于您要代表的内容。
最后,值得注意的是,以这种方式(即直接从波形中)计算出的功率将得出与使用FFT计算出的功率完全相同的结果。这称为Parseval's Theorem。