[问题] JAVA做频谱分析

楼主: f88887878 (HAVE A NICE DAY)   2016-07-28 21:05:59
大家好
最近在运用JAVA抓到麦克风的声音
并加以分析做运算
现在已经能够抓到声音
但不太清楚要如何做频谱分析
有在网络上看到Jtransform的套件
我有试着将我拿到的值放进doublefft_1D
做complexforward转换
这时阵列中的实部跟虚部再去运算大小
印出来的值都超级大 匪夷所思
而且这样的话要如何得知他频率??
希望有高手帮忙解惑
感恩~
作者: nayd (Mr.洋芋片)   2016-07-31 06:33:00
fft出来的是壹个数列,要换成Hz的单位的话, 要看你的取样频率请翻开您的DSP课本
楼主: f88887878 (HAVE A NICE DAY)   2016-07-31 16:20:00
感谢大大,那我可以再请问一下,realFoward跟complexFoward使用的选择,是跟取样到的数列有关吗?还是他们转换出来的东西不同?
作者: p23j8a4b9z (我是小牙签~)   2016-07-31 23:44:00
是虚部跟实部吧 你可能要去看傅立叶转换了...
楼主: f88887878 (HAVE A NICE DAY)   2016-08-01 01:13:00
可是我不懂为啥realFoward跟complex都有转出实虚部还是realForward会让虚部等于0+
作者: nayd (Mr.洋芋片)   2016-08-01 02:30:00
刚刚看一下doc, realForward只计算real, 所以没错所你可以验证一下, 把实部和虚部各自做realForward,然后再合并起来, 应该要跟complexForward的结果一样
楼主: f88887878 (HAVE A NICE DAY)   2016-08-01 08:41:00
嗯嗯 大概清楚作用了 感谢楼上各位大大解析!!

Links booklink

Contact Us: admin [ a t ] ucptt.com