プログラムの内容を説明している。配列操作の参考にはなるかもしれないが、2次元ソートをする場合はLove! LabVIEWのVIを参考にした方が良い。
すでにインフラの整備が行き渡った日本のLabViewerはリモート計測をめざしてマニュアルを紐解いているかもしれない。TCP VIsはたったの9個だから、マニュアルをさらっと読んで、Exampleを動かしてみるにかぎる。自分の机の上に2台のPCが載っているやつはそうザラにはいないだろうけど、離れたところにあるPCを使って一人で実験するのは傍目にはかなりばかばかしいから注意しよう。走ってはいけない!
さて今日は強度グラフ(Intensity Graph)についておさらいをしておこう。たしか導入されたのはLV3からで、Transformを気に入って使っていたオレはすぐに好きになった。
1975年、暗号の世界に新しいアイデアが生まれた。ルールブックを運ぶ危険を冒すことなく、暗号、復号が可能になった。天才達のアイデアをLabVIEWで追体験しよう。どこまで迫れるかは良くは分からないが、、、
今回のポイントは、カスタムコントロールと属性ノードのPositionを使ってみよう、といったところだ。カスタムコントロールの例はExample>General>Controls>custom.llbにあるので一度みてみると良いだろう。無味乾燥な工業製品のダミーで埋まりがちなフロントパネルだが、少しの手間で雰囲気を変えることができる。
LabVIEWで計算したデータや測定したデータをほかのアプリケーションに渡したい、というのは自然な欲求らしい。
今回は、Info-LVのアーカイブにあるAppleScript.llbを使ってExcelにデータを渡すVIを作ってみたので紹介しよう。Mac OS Userのみの話題となってしまうが、Mac OS8発売記念(?)として大目に見てもらおう。
解析する部分を生データからトライアンドエラーで手軽に切り出せないと効率が悪い。信号処理を気持ち良く楽しむためには、ツールの整備から始めなくてはいけないと思う。手始めにデータから興味のある部分を切り出してくるVIを作ろう。
Next/Sun sound fileはSunとNextで標準的に使われているシンプルなサウンドファイルフォーマットだ。拡張子はNextでは.sndが使われ、Sunでは.auが使われる。
さて、今回はFFTについて調べてみよう。 自分も含め、あまり周波数解析に縁のない人は、FFTは難しそうだという漠然とした感覚を持っている。このような印象を与えているのは、説明書の数式が面倒そうだという事以外に、窓関数の存在にもあるような気がする。LabVIEWでは豊富な窓関数が用意されている。
一般的に、波形データのパワースペクトルを計算するのは興味のある周波数領域でピークを持つ周波数とピーク値を知りたいからだろう。LabVIEWのグラフ表示器は便利にできているためグラフからカーソルで値を拾うことが多いが、繰り返し作業が続くと面倒になって自動的に処理したくなるのが人情だ。
LVと他のアプリケーションの関係を考えると、データ収集と解析はLVでやって、表示やレポート作成はエクセルにデータを渡すというのが一般的な使い方だろう。データの表示方法のなかで2次元データの立体表示はデータ全体の様子を視覚化する上で有効というだけでなく、なにかすごいことをしてるんだぞ、と威嚇する効果もある。少しうっとおしさを我慢する必要があるが、ビルゲーツの指示にしたがえば簡単に作ることができる。
さて、次のテーマを決めた。遊んでみたいことはいくつかあるけれど、今回は、Wavelet変換! 短時間フーリエ変換に似ていますが、時間ごとに周波数が変化する事象を解析するのがWavelet 解析の利用目的です。副産物として、データの圧縮のために使う人もいるようです。
さて、先が見えないのはいつものことながら、FaxやJPEGやzipにも使われているハフマン(Huffman)圧縮から調べ始めてみよう。ハフマン圧縮は出現頻度の高いデータに少ないビット数のコードを割り付け、出現頻度の低いものには多くのビット数からなるコードを割り付けることによって圧縮する方法だ。他にも同様なアルゴリズムが考えられているが、その中で最も効率のよいアルゴリズムであることが証明されている。