[問題] 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