我使用 ringdroid 应用程序 ( http://code.google.com/p/ringdroid/ ) 获取波形,但如果我需要获得声功率(类似均衡器),我必须使用傅里叶变换或者没有 FT 也可以?请你能告诉我任何提示吗?我试图在很多页面中找到解决方案,但没有好的结果。感谢您的回答
问问题
318 次
1 回答
0
如果您只想要总功率,则无需进行 FFT。您可以将平方幅度相加,然后除以总时间。
需要记住的几件事:1)确保在求和之前取振幅的平方。2)这里的0很重要,幅度需要从0开始偏转,即没有声音时读数的偏转;因此,如果您的值范围从 0 到 1024,则无声音值可能是 512,并且需要在取平方之前从每个值中减去该值。
另外,顺便说一句,如果您正在为听觉信号制作电平表,您可能想要获取log
功率,因为感知响度随对数而不是总功率而变化。但这是一个感知问题,取决于你想要代表什么。
最后,值得注意的是,以这种方式计算的功率(即直接从波形计算)将得到与使用 FFT 计算功率完全相同的结果。这被称为Parseval 定理。
于 2013-06-21T15:13:08.013 回答