LabVIEW Communications CFX - 複素固定小数点



こんにちは
ドルフィンシステムの笹生です。
皆さんは LabVIEW NXG/ LabVIEW Communications をすでにお使いでしょうか?
通常の LabVIEW と比較して色々と変わった点が多いと思うのですが、今回はその中でも新規で追加された数値の型「CFX(複素固定小数点)」について紹介します。(Webで調べたのですがあまり紹介されていないようですね)

CFX - 複素固定小数点

複素数の実数、虚数がそれぞれ符号付の固定小数点として扱える型です。
FPGA で複素数が使用できます。(←ここがうれしい!)
割と多くの演算でそのまま複素数の入力、出力として使用できます。(←ここもうれしい!)
制御器などを右クリックすると変更できる「表記法」にも CFX があります。


FPGAで複素数が扱える

FPGA ではないホスト側であれば従来から浮動小数点の複素数が使用できるのですが、通常の LabVIEW FPGA で複素数を計算するときには、型としての実数、虚数を別々の固定小数点にして計算していました。無線の世界ですと IQ 複素数を扱うことが多いので別々に計算させるのは実装上の手間が増えてしまします。
一方のLabVIEW NXG/ LabVIEW Communications では 「CFX - 複素固定小数点」が新たに型として加わり、FPGA でも使用できるようになっています。実数、虚数はそれぞれ固定小数点のフォーマットに従いますので、設定をすれば整数部分、小数部分のフォーマットを自在に変更できます。
また割と多くの演算子でこの CFX がそのまま入出力に使えるのでブロックダイアグラムが非常にすっきりします
以下の図では、参考までに CFXを使った簡単な演算について記述してみました。
これまでの LabVIEW なら、別々に分けてから演算しなくてはいけなかったのですが、このようにシンプルに記述できるようになりました。

まとめ

LabVIEW NXG/ Communications では「CFX - 複素固定小数点」が新たに型として追加されたことでFPGA の実装でも実数・虚数を別々に計算させる必要がほとんど無くなりました。
まだまだ勉強中ですが引き続き、従来の LabVIEW と違うところをお知らせしていきたいと思います。


















0 件のコメント :

コメントを投稿