Luc*_*nza 5 arrays actionscript fft frequency frequency-analysis
最近我问了这个问题:如何从FFT获得基频?(你实际上不需要阅读它)
我现在怀疑它:如何使用cepstral算法?
我只是不知道如何使用它,因为我所知道的唯一语言是ActionScript 3,因此我几乎没有关于C,Java等中的本机函数的引用,以及我应该如何在AS上实现它们.大多数文章是关于这些语言= /(尽管如此,欢迎使用AS以外的其他语言的答案,请解释脚本如何工作请)
我发现有关cepstral的文章找到FFT结果的基本频率告诉我,我应该这样做:
信号→FT→abs()→square→log→FT→abs()→square→power倒谱
数学上:| F {log(| F {f(t)} |²)} |²
重要信息:
我不知道:
谢谢!
注意,FFT的输出是复数值的数组,即每个bin = re + j*im.我想你可以组合abs和square操作并计算re*re + im*im每个bin.这为每个bin提供了一个正值,显然您可以非常轻松地计算每个bin的日志值.然后,您需要对此对数平方数据执行第二次FFT,并再次使用第二个FFT的输出,您将计算re*re + im*im每个bin.然后,您将获得一系列正值,这些值将具有一个或多个峰值,表示输入的基本频率.
| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |