1. TOP
  2. KEYENCE
  3. KV-Xシリーズ
  4. ファンクションブロック
  5. デジタルフィルタ

デジタルフィルタ

ダウンロード

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

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

概略

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

元の波形

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

ローパスフィルタ

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

ハイパスフィルタ

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

バンドパスフィルタ

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

ノッチフィルタ

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

ローシェルフフィルタ

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

ハイシェルフフィルタ

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

ピーキングフィルタ

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

オールパスフィルタ

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

シンボル

LPF (ローパスフィルタ)

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

LPF
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
出力
Result = フィルタ後のデータ

HPF (ハイパスフィルタ)

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

HPF
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
出力
Result = フィルタ後のデータ

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

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

BPF
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
BandWidth = 帯域幅
出力
Result = フィルタ後のデータ

NotchF (ノッチフィルタ)

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

Notch
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
BandWidth = 帯域幅
出力
Result = フィルタ後のデータ

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

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

LowShelf
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
gain = 増幅量
出力
Result = フィルタ後のデータ

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

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

HiShelf
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
gain = 増幅量
出力
Result = フィルタ後のデータ

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

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

Peeking
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
BandWidth = 帯域幅
gain = 増幅量
出力
Result = フィルタ後のデータ

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

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

AllPass
入力
In = アナログデータ
SampFreq = サンプリング周波数
Freq = カットオフ周波数
出力
Result = フィルタ後のデータ

参考サイト様

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

この記事へのコメント