ローパスフィルタ
2次ローパスフィルタの作成例です。試験用に雑音入り正弦波を発生させています。
ソースコードやプロジェクトファイルのダウンロードはこちら →lowpass.zip
(1)シミュレーション用のプログラムです。 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ブロック図 | ||||||||||||||||||||||||
プログラム | proc { test = w_sin( period, 0, amp ) + gauss( sd ); // 試験信号の生成 filter = bqLpf( test, freq, damp ); // フィルタ処理 } | |||||||||||||||||||||||
説明 | 以下の関数、信号、パラメータを使っています。
関数名は予約されていますが、信号名やパラメータ名は予約語以外なら任意です。
| |||||||||||||||||||||||
設定例 | ||||||||||||||||||||||||
記録例 |
(2)試験用プログラムです。アナログ出力した試験信号を入力とします。 | |||||||||
---|---|---|---|---|---|---|---|---|---|
ブロック図 | |||||||||
プログラム | proc { test = w_sin( period, 0, amp ) + gauss( sd ); // 試験信号の生成 Aout( 1, 0, 1, test ); // アナログ出力(1ch) signal = Ain( 0, 0, 1 ); // アナログ入力(0ch) filter = bqLpf( signal, freq, damp ); // フィルタ処理 Aout( 0, 0, 1, filter ); // アナログ出力(0ch) } | ||||||||
説明 | シミュレーションに以下の関数と信号を追加しました。
信号testをアナログ出力し、それをアナログ入力へ接続して、電気信号による試験を行います。
試験を終えたら、試験信号の発生は不要です。
| ||||||||
設定例 | |||||||||
記録例 |
(3)試験信号発生を除いたものです。 | |
---|---|
ブロック図 | |
プログラム | proc { signal = Ain( 0, 0, 1 ); // アナログ入力(0ch) filter = bqLpf( signal, freq, damp ); // フィルタ処理 Aout( 0, 0, 1, filter ); // アナログ出力(0ch) } |