2次フィルタ
時間とともに周波数の増加する信号を5種類の2次フィルタに与え、特性を比較します。
ソースコードやプロジェクトファイルのダウンロードはこちら →biquad.zip
| ブロック図 | ![]() | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| プログラム |
proc
{
t = currTime(); // 現在時刻
if t<10
{
wave = sin( t*t*t ); // 周波数(3*t^2)の正弦波
Lpf = bqLpf( wave, fn, dp ); // 2次ローパスフィルタ
Hpf = bqHpf( wave, fn, dp ); // 2次ハイパスフィルタ
Bpf = bqBpf( wave, fn, dp ); // 2次バンドパスフィルタ
Notch = bqBef( wave, fn, dp ); // 2次ノッチフィルタ
Apf = bqApf( wave, fn, dp ); // 2次オールパスフィルタ
Aout( 0, 0, 1, Lpf ); // チャンネル0: Lpf を出力
Aout( 1, 0, 1, Hpf ); // チャンネル1: Hpf を出力
Aout( 2, 0, 1, Bpf ); // チャンネル2: Bpf を出力
Aout( 3, 0, 1, Notch ); // チャンネル3: Notch を出力
Aout( 4, 0, 1, Apf ); // チャンネル4: Apf を出力
}
} | |||||||||||||||||||||||||||||||||
| 説明 |
時刻を t とすると、sin(t3) は周波数 3t2 の正弦波なので、5秒後の周波数は75[rad/s]です。
これをフィルタの固有周波数 fn としました。
以下の関数、信号、パラメータを使っています。
| |||||||||||||||||||||||||||||||||
| 設定例 | ![]() | |||||||||||||||||||||||||||||||||
| 記録例 | ![]() | |||||||||||||||||||||||||||||||||
| 固有周波数近傍の拡大表示 | ![]() |



