JavaDsp
數字信號處理(DSP)方面的Java封裝,包含常用的一些處理方法,如濾波、信號變換等等。
該類庫是我本科畢業設計中的一部分,絕大部分都是我自己寫實現的,很少部分算法有我另外幾個朋友參與討論和實現,在此表示感謝。
說明
架構(管道風格)
考慮到信號處理都是數據(信號)的輸入和輸出,爲了便於多重操作(前一個輸出作爲後一個的輸入),整個庫大量採用“管道”風格。在com.sin.java.dsp.base下面定義了管道的基本屬性和基本操作。
數據類型變換和信號處理都屬於管道操作,他們都繼承子管道基類。
常用的調用:BasePipe.pipesCal(原始輸入, 管道1, 管道2, 管道3),該調使“原始輸入”順序“流過”管道1、 管道2、 管道3。上一個管道的輸出類型必須是下一個管道的輸入類型,否則會出現類型轉換錯誤。
如果只使用單個管道對數據進行處理的話可能會是這樣的:管道A.calDoubles(數據),讓數據流過“管道A”,並將流出後的數據強制轉換成double[]。
具體的使用實例見test下面。
包結構說明
- com.sin.java.dsp 根目錄
- com.sin.java.dsp.base 基礎包,保護複數定義和管道定義
- com.sin.java.dsp.adapter 適配器,用於數據類型轉換
- com.sin.java.dsp.filter 廣義濾波器(所有的信號變換都定義爲濾波)
- com.sin.java.dsp.trans 信號變換
- com.sin.java.dsp.util 工具包
部分運行截圖
- 對信號進行濾波
- 對信號進行FFT
怎麼獲取這些代碼?
- 如果你只是想簡單的使用這些代碼的話你可以把它當作一個壓縮包下載到你的電腦上,點擊右邊的“Download ZIP”:
- 如果你喜歡這些代碼,那麼你可以加星:
- 如果你覺得這些代碼還有很多可以改善的地方,那麼請先fork一下(歡迎fork):
- fork之後這些代碼就變成了你的了,你可以從自己的倉庫中把它們clone到你的電腦上,之後的操作就和git一樣了:
享受開源帶來的樂趣吧