Clojure(JVMで動くLISP系)でJavaの数値計算ライブラリApache Commons Mathを使う(3) 高速フーリエ変換(FFT)を実行してJFreeChartでプロットする。
今回はこの移植。
Javaの数値計算ライブラリApache Commons Mathを使う(3) 高速フーリエ変換(FFT)を実行してJFreeChartでプロットする。
コードはこんな感じで。
(ns mini.fft
(:import [org.apache.commons.math3.complex Complex]
[org.apache.commons.math3.transform FastFourierTransformer DftNormalization TransformType]
[org.jfree.data.xy XYSeriesCollection XYSeries]
[org.jfree.chart ChartFactory ChartPanel]
[org.jfree.chart.renderer.xy XYLineAndShapeRenderer]
[javax.swing JFrame]))
(def n 256)
(def t (make-array Double/TYPE n))
(def y (make-array Double/TYPE n))
(def f (make-array Double/TYPE n))
(def fft (FastFourierTransformer. DftNormalization/STANDARD))
(dotimes [i n]
(aset t i (double i))
(aset y i (Math/sin (aget t i)))
(aset f i (- (/ (double i) (double n)) 0.5)))
(def result (.transform fft y TransformType/FORWARD))
(def resultShift (make-array Complex n))
(dotimes [i (/ n 2)]
(aset resultShift i (aget result (+ i (/ n 2))))
(aset resultShift (+ i (/ n 2)) (aget result i)))
(defn create-dataset []
(let [series (XYSeries. "Real Part")
series2 (XYSeries. "Imaginary Part")]
(dotimes [i n]
(.add series (aget f i) (.getReal (aget resultShift i)))
(.add series2 (aget f i) (.getImaginary (aget resultShift i))) )
(doto (XYSeriesCollection.)
(.addSeries series)
(.addSeries series2)
)))
(defn create-chart [dataset]
(ChartFactory/createXYLineChart
"Fast Fourier Transform"
"frequency"
"result"
dataset))
(defn display-chart [chart]
(let [frame (JFrame. "FFT")
plot (.getXYPlot chart)
renderer (XYLineAndShapeRenderer.)
chart-panel (ChartPanel. chart)]
(.setSeriesShapesVisible renderer 0 false) ; 線だけ
(.setSeriesShapesVisible renderer 1 false) ; 線だけ
(.setRenderer plot renderer)
(doto frame
(.add chart-panel)
(.pack)
(.setVisible true))))
(defn -main []
(let [dataset (create-dataset)
chart (create-chart dataset)]
(display-chart chart)))
(-main)
|
結果はこちら。
« 高周波・RFニュース 2025年12月5日 QorvoがUWBとAIを用いた人体検知を解説、SEMCOが低ESL MLCCをADASに使う提案、TaoglasがWi-Fi 6/7, UWB, ISM向け小型チップアンテナ発表、京セラが5G基地局開発断念と報道、Yageoがシャークフィン+ホイップアンテナ発表 | トップページ | 天空のアトラス イタリア館の至宝@大阪市立美術館を観てきた。ファルネーゼのアトラスはやはりすごい。正義の旗もよかった。しかし何と言ってもレオナルドダヴィンチのアトランティコ手稿が本当に鏡文字で感動した。 »
「パソコン・インターネット」カテゴリの記事
- Gemma 4 QATがOllama経由で使えるようになっていた。そこでCodex(GPT-5.5)に、これまでいまいちだったローカルLLMでRF情報一週間分まとめて日本語で要約するアプリ(gemma4-26B-A4B QAT、DuckDuckGo Search、Flask使用)を作ってもらうと相当いい出来で使えそう。(2026.06.10)
- RF Weekly Digest (Gemini 3.5 Flash・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/31-6/7(2026.06.07)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/24-5/31(2026.05.31)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/17-5/24(2026.05.24)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年6月10日 Microwave Magazineはチューナブルフィルタ特集、Antenna and Propagation Magazineは電磁波解析パート2、Atisが北米の5G-SAホワイトペーパー発行、NXPが新1チップミリ波レーダ発表(2026.06.10)
- Gemma 4 QATがOllama経由で使えるようになっていた。そこでCodex(GPT-5.5)に、これまでいまいちだったローカルLLMでRF情報一週間分まとめて日本語で要約するアプリ(gemma4-26B-A4B QAT、DuckDuckGo Search、Flask使用)を作ってもらうと相当いい出来で使えそう。(2026.06.10)
- RF Weekly Digest (Gemini 3.5 Flash・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/31-6/7(2026.06.07)
- 高周波・RFニュース 2026年6月4日 Qualcommが6Gウェビナー開催、Next G Allianceが5G ISACイニシアティブ立ち上げ、Keysightが新RFシグナルアナライザ発表、アンリツが5G LTM評価環境構築(2026.06.04)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年6月10日 Microwave Magazineはチューナブルフィルタ特集、Antenna and Propagation Magazineは電磁波解析パート2、Atisが北米の5G-SAホワイトペーパー発行、NXPが新1チップミリ波レーダ発表(2026.06.10)
- Gemma 4 QATがOllama経由で使えるようになっていた。そこでCodex(GPT-5.5)に、これまでいまいちだったローカルLLMでRF情報一週間分まとめて日本語で要約するアプリ(gemma4-26B-A4B QAT、DuckDuckGo Search、Flask使用)を作ってもらうと相当いい出来で使えそう。(2026.06.10)
- RF Weekly Digest (Gemini 3.5 Flash・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/5/31-6/7(2026.06.07)
- 高周波・RFニュース 2026年6月4日 Qualcommが6Gウェビナー開催、Next G Allianceが5G ISACイニシアティブ立ち上げ、Keysightが新RFシグナルアナライザ発表、アンリツが5G LTM評価環境構築(2026.06.04)
« 高周波・RFニュース 2025年12月5日 QorvoがUWBとAIを用いた人体検知を解説、SEMCOが低ESL MLCCをADASに使う提案、TaoglasがWi-Fi 6/7, UWB, ISM向け小型チップアンテナ発表、京セラが5G基地局開発断念と報道、Yageoがシャークフィン+ホイップアンテナ発表 | トップページ | 天空のアトラス イタリア館の至宝@大阪市立美術館を観てきた。ファルネーゼのアトラスはやはりすごい。正義の旗もよかった。しかし何と言ってもレオナルドダヴィンチのアトランティコ手稿が本当に鏡文字で感動した。 »



コメント