デジタルフィルタ
2025/06/02
ダウンロード
DigitalFilter.kufb (ライブラリのみ)
※ 動作確認はシミュレータで行いました
概略
簡易的なデジタルフィルタを作成します

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

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

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

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

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

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

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

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

オールパスフィルタ
カットオフ周波数あたりの位相を変えます
シンボル
LPF (ローパスフィルタ)
カットオフ周波数以下を通すフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- 出力
- Result = フィルタ後のデータ
HPF (ハイパスフィルタ)
カットオフ周波数以上を通すフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- 出力
- Result = フィルタ後のデータ
BPF (バンドパスフィルタ)
カットオフ周波数から帯域幅分のみ通すフィルタ
カットオフ周波数を30Hzとして帯域幅を1オクターブとした場合は30/2から30x2の周波数になるので、15Hzから60Hzを通すことになります
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- BandWidth = 帯域幅
- 出力
- Result = フィルタ後のデータ
NotchF (ノッチフィルタ)
カットオフ周波数から帯域幅以外を通すフィルタ
BPFとは逆に15Hzから60Hz以外を通すことになります
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- BandWidth = 帯域幅
- 出力
- Result = フィルタ後のデータ
LowShelfF (ローシェルフフィルタ)
カットオフ周波数以下を増幅量で指定した分だけ増幅するフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- gain = 増幅量
- 出力
- Result = フィルタ後のデータ
HiShelfF (ハイシェルフフィルタ)
カットオフ周波数以上を増幅量で指定した分だけ増幅するフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- gain = 増幅量
- 出力
- Result = フィルタ後のデータ
PeekingF (ピーキングフィルタ)
カットオフ周波数を中心とした帯域幅分を増幅量で指定した分だけ増幅するフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- BandWidth = 帯域幅
- gain = 増幅量
- 出力
- Result = フィルタ後のデータ
AllPassF (オールパスフィルタ)
カットオフ周波数周辺のみの位相を変えるフィルタ
- 入力
- In = アナログデータ
- SampFreq = サンプリング周波数
- Freq = カットオフ周波数
- 出力
- Result = フィルタ後のデータ


