バンドパスフィルター

バンドパスフィルターとは

バンドパスフィルターとは、信号において特定範囲の周波数を通過させますが、この範囲を上回る周波数と下回る周波数をブロックするフィルターです。バンドパスフィルターを通過できる周波数の範囲は、通過帯域と呼ばれています。

バンドパスフィルターの用途

バンドパスフィルターは無線通信で使用されることが多く、特定の周波数帯域の送受信を可能にします。無線信号では複数の周波数帯域を使用することで、異なるソースからの信号が同じ空間で共存できるようにします。調整可能なバンドパスフィルターにより、1 つの受信機で複数の周波数帯域の通信信号を受信できるようになります。その他のデジタル信号処理の用途では、バンドパスフィルターは信号スペクトルのさまざまな部分を解析するために使用できます。たとえば生体信号処理では、心電図 (ECG) の特定の周波数成分を抽出するためにバンドパスフィルターが使用されています。これにより、医師や研究者は心拍の適切な特性を測定できます。オーディオシステムでは、バンドパスフィルターはイコライゼーションに使用されています。イコライゼーションにより、特定の周波数の音量を調整して特有のサウンドシグネチャを作成します。

通過帯域応答が 1 kHz から 1.4 kHz で 0 dB となっているバンドパスフィルターの振幅応答を示す、MATLAB のフィルターの可視化ツールのスクリーンショット。

MATLAB におけるフィルターの可視化ツール上のバンドパスフィルターの振幅応答。

MATLAB と Simulink を使用したバンドパスフィルター設計

MATLAB® または Simulink® を使用すると、有限インパルス応答 (FIR) ベースおよび無限インパルス応答 (IIR) ベースのフィルターを設計できます。

FIR フィルターは、本質的に安定しています。これらは、波形形状を維持しながらフィルター処理された信号に遅延をもたらす線形位相を得られるよう設計できます。しかし、これらのフィルターは過渡応答が長くなり、特定の用途では計算コストが高くなることがあります。MATLAB を使用すると、フィルター次数を指定することで周波数要件および計算量を満たすようフィルターを設計できます。FIR フィルターは、波形形状から有用な情報を得る音声、医療、レーダー、およびその他の用途で活用できます。FIR ベースのローパスフィルターの一般的設計手法には、カイザーウィンドウ最小二乗、および等リップルがあります。

応答が 60 から 120 Hz の通過帯域で約 0 dB となっているバンドパスフィルターの振幅応答を示す、MATLAB のフィルターの可視化ツールのスクリーンショット。

MATLAB の関数 designfilt を使用して設計された FIR バンドパスフィルターの振幅応答。

計算リソースが不足している場合には、IIR フィルターが役立ちます。ただし、安定した、因果性がある IIR フィルターは完全に線形な位相をもちません。IIR フィルターは一般的に、オーディオ イコライゼーション、医療用センサーの信号処理、IoT/IIoT スマートセンサー、および高速電気通信/RF の用途で使用されています。IIR ベースのフィルターの設計手法には、バタワース、チェビシェフ (I 型II 型 )、および 楕円があります。

応答が 60 から 120 Hz の通過帯域で 0 dB となっているバンドパスフィルターの振幅応答を示す、MATLAB によるフィルターの可視化ツールのスクリーンショット。

MATLAB の関数 designfilt を使用して設計された IIR バンドパスフィルターの振幅応答。

Signal Processing Toolbox™ の関数 bandpass により、信号を迅速にフィルター処理できます。フィルタータイプ、フィルター次数、減衰などのパラメーターに対し、より詳細な制御が必要な場合は、designfilt およびその他のアルゴリズム固有の関数 (butterfir1) を使用できます。MATLAB を使用したフィルター設計の詳細については、Signal Processing Toolbox を参照してください。


ソフトウェア リファレンス

参考: DSP System Toolbox, ローパスフィルター, フィルター設計, 量子化, ハイパスフィルター, ノッチフィルター