プログラミング/LabView/波形発振器 の履歴(No.1)
更新- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- プログラミング/LabView/波形発振器 へ行く。
- 1
波形発振器 VI を作る†
プログラミング/LabView/スニペットライブラリ#y4f95948 のデザインをサブ VI に分割して、再利用性の高い波形発振器の実装を考えます。
サブ VI を切り出した正弦波発生器†
切り出されたサブ VI†
使用例†
もちろん、正弦波だけでよければ標準の波形生成コンポーネントがあるので、 それを使えばいいのですが、もっと凝ったものを作りたいとき、 上記の wavegen-sin.vi を改造すればいろいろできる、という話です。
安全な発振器†
上記の発振器では amplitude や offset を変更すると出力が不連続に変化してしまいます。 出力電圧をつなぐ機器によってはそのような不連続な変化は装置に過負荷を与えてしまいます。
そこで、amplitude や offset、wave type、enable oscillation を変えても出力が不連続に変化することがない、 装置などに接続しても安全な発振器を作りました。
- wave type で正弦波と三角波を選べます
- offset に2次の iir フィルタを掛けています
- amplitude は一定の速度で変化します
- enable oscillation が on になったときは必ず位相ゼロから始まります
- enable oscillation が off になると振幅が徐々に小さくなります
- 振幅がゼロになる前に再び on にすると、振幅は元の値に徐々に戻ります
- enable oscillation が on になる瞬間に wave type が読み取られます
動作確認用 VI
必要となるサブVI†
iir-module.vi
シンプルな1次の iir ローパスフィルタです。
slope-module.vi
速度一定で入力値に追随するフィルタです。
入力値を追いかけている間 sloping が true になります。
detect-change.vi
入力値が変化したら changed が true になります。
質問・コメント†
Counter: 7162 (from 2010/06/03),
today: 1,
yesterday: 2