2019年10月27日

FFTというものがありましてん・・・・シーーン

VAIディジタル信号処理・コロナ社 2000年頃 という本がありましてん。そこのFFTの説明とBASICでのプログラムを読んで理解した次第である。何を?  さーー。
ただ、行列の分解を続けてバタフライ演算のシグナルフロー図を出して、それを一般化したプログラムにするには無理がある。なんでそういう分解ができるのかの根拠がないし、列に応じて回転子の指数が決まるが解説がない。そのシグナルフローをプログラムするとBASICのコードのようになる、それは分かった。
ここらは数学的には基数2のFFTアルゴリズムという解説が必要であるがこの本には詳しい事はかいてなかったので別の本を読んだ。
高速フーリエ変換・外人、今井・他 訳 科学技術出版社 1980年ごろ。

というわけでBASICのプログラムをC言語に書き換えて動作を確認したのだがN = 16だとExcelでの結果との比較で一致しているので書き換えて正しく動作している、としておく。
ただ、数字がズラズラと並ぶの見て一致しているかどうか見てもなー。
そこでグラフ化だ。
   C言語のグラフィクスってどうすんだっけ?  って悩まない。そんな高度な事はオレにはできん、キリッ)
ここはイージーに。簡単な手法で。そう、結果のデータをファイルに落としてgnuplotで表示すれば楽ですね(笑) Excelでtext file読み込んで表示してもいいけどさ。手間暇がかかるで。

ところがgnuplotの使い方を忘れてもうて。数年前にいじったのだった。gFortranで計算して結果をファイルに書いてgFortranからgnuplotを起動してデータファイルを食わせる処理も書いて、ようするに手動でgnuplotをいじらないですむ。
今回もC言語で同じ事をしようと思ったが面倒なのでデータファイルを手動でgnuplot起動して表示という安易な作戦。

で、いいたいのはここからだ。gnuplotはDOS窓での動作。wgnuplotはGUIアプリ。そこでwgnuplotを起動するのでして。しかーーーし、Fontが小さすぎるである。まー見づらい。視力低下のオレに対するいじめか(笑)
だが、アイコンいじっていたら、Choose Fontというのがあってサイズ変更可能でした。
ところが終了して再起動するとFontが小さいのでありまして。つまり、終了時の設定を記憶してくれないのでして。wgnuplotの枠も横長でして。こんなに大きい必要はない。
そういうわけなので、こういうことはどっかのファイルに設定を書けばwgnuplotは起動時にそれよんで初期設定はなされるはずだ。起動すると程よい大きさのFontに適切な枠の大きさになる。それだよ、それ。それが出来ないのでむかっ腹が。(笑)

くそ、今日中に初期値を書いてあるファイルを探して何とかするでがし。。。。

wgnuplotを起動したら画面の空白のところで右クリックすると選択肢が出ましたね。
Choose Fontという項目もあり。そして一番下に Update c:\…..というものがあり。
それが wgnuplot.iniを更新するのでした。 年に一回つかうかどうかのgnuplotなのでして。こううのどこかにメモ残しておかないと次回もGoogleすることになるぞ。OneNoteにメモしとこ

posted by toinohni at 08:27| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする