簡易的なデジタルフィルタを作成します

元の波形には30Hzの正弦波に500Hzのノイズが含まれています
以下の8種類のフィルタをかけてみます

100Hz以上の周波数をカットオフしてノイズを除去します

100Hz以下の周波数をカットオフしてノイズを除去します

30Hzから1オクターブの周波数を通過させます

30Hzから1オクターブの周波数を除去します

100Hz以下の周波数を増幅します

100Hz以上の周波数を増幅します

30Hzから1オクターブの周波数を増幅します

カットオフ周波数あたりの位相を変えます
サンプリング周波数はデフォルトは実行するタスクのタスク周期で1スキャンで複数のアナログ値を取得する高速アナログユニットでは設定値に合わせてサンプリング周波数(Hz)を入力してください
以下のグラフは30Hz+500Hzの波形をサンプリング周波数=10000Hzで収集したときにフィルタを通した時のグラフです
カットオフ周波数以下を通すフィルタ

カットオフ周波数以上を通すフィルタ

カットオフ周波数から帯域幅分のみ通すフィルタ
カットオフ周波数を30Hzとして帯域幅を1オクターブとした場合は30/2から30x2の周波数になるので、15Hzから60Hzを通すことになります

カットオフ周波数から帯域幅以外を通すフィルタ
BPFとは逆に15Hzから60Hz以外を通すことになります

カットオフ周波数以下を増幅量で指定した分だけ増幅するフィルタ

カットオフ周波数以上を増幅量で指定した分だけ増幅するフィルタ

カットオフ周波数を中心とした帯域幅分を増幅量で指定した分だけ増幅するフィルタ

カットオフ周波数周辺のみの位相を変えるフィルタ


AnalogInのデータを100Hz以下の周波数のみ通すフィルタをかけてFilterAnalogに出力します
一例としてローパスフィルタは以下のように計算しています
ダウンロードされたときは利用規約に同意したものとみなします