2025/06/02

KVKV-X

デジタルフィルタとは

デジタルフィルタは信号に含まれる不要なノイズを除去したり、 特定の周波数成分のみを抽出するための信号処理手法です。 PLCのアナログ入力値にはノイズが含まれることが多く、 ローパスフィルタやノッチフィルタを利用することで 安定した制御や測定が可能になります。

概要

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

30Hz正弦波に500Hzノイズを加えた元波形

元の波形

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

ローパスフィルタの波形

ローパスフィルタ

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

ハイパスフィルタの波形

ハイパスフィルタ

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

バンドパスフィルタの波形

バンドパスフィルタ

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

ノッチフィルタの波形

ノッチフィルタ

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

ローシェルフフィルタの波形

ローシェルフフィルタ

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

ハイシェルフフィルタの波形

ハイシェルフフィルタ

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

ピーキングフィルタの波形

ピーキングフィルタ

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

オールパスフィルタの波形

オールパスフィルタ

カットオフ周波数あたりの位相を変えます

シンボル

各ファンクション共通の入出力変数

入力
In
入力値
SampFreq
サンプリング周波数
Freq
カットオフ周波数
BandWidth
帯域幅
gain
増幅量
出力
Result
計算結果

サンプリング周波数はデフォルトは実行するタスクのタスク周期で1スキャンで複数のアナログ値を取得する高速アナログユニットでは設定値に合わせてサンプリング周波数(Hz)を入力してください


LPF (ローパスフィルタ)

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

LPFファンクションブロック

HPF (ハイパスフィルタ)

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

HPFファンクションブロック

BPF (バンドパスフィルタ)

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

BPFファンクションブロック

NotchF (ノッチフィルタ)

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

Notchファンクションブロック

LowShelfF (ローシェルフフィルタ)

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

LowShelfファンクションブロック

HiShelfF (ハイシェルフフィルタ)

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

HiShelfファンクションブロック

PeekingF (ピーキングフィルタ)

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

Peekingファンクションブロック

AllPassF (オールパスフィルタ)

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

AllPassファンクションブロック

LPF (ローパスフィルタ)

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

LPFファンクションブロック

HPF (ハイパスフィルタ)

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

HPFファンクションブロック

BPF (バンドパスフィルタ)

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

BPFファンクションブロック

NotchF (ノッチフィルタ)

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

Notchファンクションブロック

LowShelfF (ローシェルフフィルタ)

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

LowShelfファンクションブロック

HiShelfF (ハイシェルフフィルタ)

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

HiShelfファンクションブロック

PeekingF (ピーキングフィルタ)

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

Peekingファンクションブロック

AllPassF (オールパスフィルタ)

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

AllPassファンクションブロック

参考サイト様

簡単なデジタルフィルタの実装

ダウンロード

DigitalFilterKVXLib.kufb (ライブラリのみ)

※ KV-Xの動作確認はシミュレータで行いました

この記事へのコメント