- KVKV-X
デジタルフィルタ
デジタルフィルタとは
デジタルフィルタは信号に含まれる不要なノイズを除去したり、 特定の周波数成分のみを抽出するための信号処理手法です。 PLCのアナログ入力値にはノイズが含まれることが多く、 ローパスフィルタやノッチフィルタを利用することで 安定した制御や測定が可能になります。
概要
KEYENCE KVシリーズおよびKV-Xシリーズで利用できる
デジタルフィルタのサンプルプログラムを紹介します。
アナログ入力に含まれるノイズの除去や、
特定周波数成分の抽出を行うための
ローパスフィルタ(LPF)、
ハイパスフィルタ(HPF)、
バンドパスフィルタ(BPF)、
ノッチフィルタなどを
ファンクションブロックとして実装しています。
各フィルタの動作波形とサンプルプログラムを公開していますので、
PLCでの信号処理やアナログデータ解析の参考にしてください。

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

ローパスフィルタ
100Hz以上の周波数をカットオフしてノイズを除去します

ハイパスフィルタ
100Hz以下の周波数をカットオフしてノイズを除去します

バンドパスフィルタ
30Hzから1オクターブの周波数を通過させます

ノッチフィルタ
30Hzから1オクターブの周波数を除去します

ローシェルフフィルタ
100Hz以下の周波数を増幅します

ハイシェルフフィルタ
100Hz以上の周波数を増幅します

ピーキングフィルタ
30Hzから1オクターブの周波数を増幅します

オールパスフィルタ
カットオフ周波数あたりの位相を変えます
シンボル
各ファンクション共通の入出力変数
- In
- 入力値
- SampFreq
- サンプリング周波数
- Freq
- カットオフ周波数
- BandWidth
- 帯域幅
- gain
- 増幅量
- Result
- 計算結果
サンプリング周波数はデフォルトは実行するタスクのタスク周期で1スキャンで複数のアナログ値を取得する高速アナログユニットでは設定値に合わせてサンプリング周波数(Hz)を入力してください
LPF (ローパスフィルタ)
カットオフ周波数以下を通すフィルタ
HPF (ハイパスフィルタ)
カットオフ周波数以上を通すフィルタ
BPF (バンドパスフィルタ)
カットオフ周波数から帯域幅分のみ通すフィルタ
カットオフ周波数を30Hzとして帯域幅を1オクターブとした場合は30/2から30x2の周波数になるので、15Hzから60Hzを通すことになります
NotchF (ノッチフィルタ)
カットオフ周波数から帯域幅以外を通すフィルタ
BPFとは逆に15Hzから60Hz以外を通すことになります
LowShelfF (ローシェルフフィルタ)
カットオフ周波数以下を増幅量で指定した分だけ増幅するフィルタ
HiShelfF (ハイシェルフフィルタ)
カットオフ周波数以上を増幅量で指定した分だけ増幅するフィルタ
PeekingF (ピーキングフィルタ)
カットオフ周波数を中心とした帯域幅分を増幅量で指定した分だけ増幅するフィルタ
AllPassF (オールパスフィルタ)
カットオフ周波数周辺のみの位相を変えるフィルタ
LPF (ローパスフィルタ)
カットオフ周波数以下を通すフィルタ
HPF (ハイパスフィルタ)
カットオフ周波数以上を通すフィルタ
BPF (バンドパスフィルタ)
カットオフ周波数から帯域幅分のみ通すフィルタ
カットオフ周波数を30Hzとして帯域幅を1オクターブとした場合は30/2から30x2の周波数になるので、15Hzから60Hzを通すことになります
NotchF (ノッチフィルタ)
カットオフ周波数から帯域幅以外を通すフィルタ
BPFとは逆に15Hzから60Hz以外を通すことになります
LowShelfF (ローシェルフフィルタ)
カットオフ周波数以下を増幅量で指定した分だけ増幅するフィルタ
HiShelfF (ハイシェルフフィルタ)
カットオフ周波数以上を増幅量で指定した分だけ増幅するフィルタ
PeekingF (ピーキングフィルタ)
カットオフ周波数を中心とした帯域幅分を増幅量で指定した分だけ増幅するフィルタ
AllPassF (オールパスフィルタ)
カットオフ周波数周辺のみの位相を変えるフィルタ
