バターワース(IIR)またはウィンドウFIRを選び、フィルタータイプ・次数・カットオフ周波数をスライダーで調整。振幅(dB)・位相応答を対数スケールでリアルタイム確認できます。
デジタルフィルターは、入力信号 $x[n]$ と出力信号 $y[n]$ の差分方程式で表されます。IIRフィルター(バターワース)は、過去の出力も利用する帰還型です。
$$ y[n] = \sum_{k=0}^{M}b_k x[n-k] - \sum_{k=1}^{N}a_k y[n-k] $$$a_k, b_k$: フィルター係数(極と零点を決定), $N$: フィルター次数(帰還項の数), $M$: 非帰還項の数。$a_k$ が全て0ならFIRフィルターになります。
周波数応答 $H(e^{j\omega})$ は、システムの特性を周波数領域で評価するための重要な関数です。振幅応答(ゲイン)と位相応答からなります。
$$ H(e^{j\omega}) = \frac{Y(e^{j\omega})}{X(e^{j\omega})}= \frac{\sum_{k=0}^{M}b_k e^{-j\omega k}}{1 + \sum_{k=1}^{N}a_k e^{-j\omega k}}$$$\omega = 2\pi f / f_s$: 正規化角周波数, $f_s$: サンプリング周波数。この絶対値 $|H(e^{j\omega})|$ をデシベル($20 \log_{10}|H|$)でプロットしたのが振幅特性グラフです。カットオフ周波数 $f_c$ は通常、$|H| = 1/\sqrt{2}$ (約-3dB)となる点と定義されます。
振動・騒音(NVH)解析:自動車や航空機の開発では、エンジン振動や走行風切音から特定周波数成分を抽出・除去します。回転数に同期した次数成分を追跡するため、カットオフ周波数を可変とするフィルター設計が重要です。
生体信号処理:心電図(ECG)や脳波(EEG)の計測データには、筋電ノイズや商用電源ノイズ(50/60Hz)が混入します。ノッチフィルター(狭帯域除去フィルター)やローパスフィルターを用いて、診断に有用な信号成分だけを取り出します。
オーディオ・音響処理:音楽制作や音声通信では、特定の周波数帯域をブーストまたはカットするイコライザー、高音域のノイズを除去するデエッサーなどがフィルターの応用例です。FIRフィルターの線形位相特性は、音の歪みを防ぐために不可欠です。
通信システム:無線通信では、所望のチャネル(周波数帯)のみを通し、隣接チャネルを強く遮断する帯域通過フィルターが必須です。高い選択性(急峻な遮断特性)が要求されるため、最適なフィルタータイプと次数の選択が設計課題となります。
まず、「次数Nが高いほど良いフィルター」という誤解があります。確かに次数を上げると遮断特性は急峻になりますが、計算量が増え、リアルタイム処理では遅延が問題になります。例えば、マイコンで処理する場合、バターワースIIRでN=8を超えると、係数の量子化誤差の影響で発散するリスクも。実務では「必要十分な性能」を見極め、ローパスならN=4〜6で設計することが多いです。
次に、カットオフ周波数$f_c$の設定ミスです。シミュレーター上では$f_c$を自由に動かせますが、実際の信号処理ではサンプリング定理を忘れてはいけません。サンプリング周波数$f_s$が10kHzの場合、理論上扱える最高周波数は5kHz(ナイキスト周波数)です。ここで$f_c$を4.8kHzに設定すると、折り返し歪み(エイリアシング)の危険地帯に突入します。安全マージンをとり、$f_c$は$f_s$の1/4以下(この例なら2.5kHz以下)に抑えるのが定石です。
最後に、フィルター適用による信号の「頭出し」問題です。フィルターは過去のデータに依存するため、適用開始直後の出力は不安定です。例えば、振動データの最初の0.1秒はフィルターが定常状態に達しておらず、信頼できません。実務では、この過渡応答期間を除外するか、双方向フィルタリング(filtfilt処理)で位相歪みを消す工夫が必要です。
このシミュレーターで学ぶ「周波数応答」の概念は、制御工学と深く結びついています。フィルターの振幅/位相特性は、制御系の安定性を評価するボード線図そのものです。例えば、サーボモーターの位置制御では、高周波ノイズを抑えるローパスフィルター(制御器で言えばロー�ーバスフィルタ)を設計し、システム全体の位相余裕を確保します。
また、音響・音声処理では、FIRフィルターの線形位相特性が不可欠です。音楽EQ(イコライザー)や音声コーデック(AAC, Opus)の内部では、複数のバンドパスフィルターが使われています。特に「聴覚心理モデル」に基づくマスキング効果を利用した圧縮では、人間が聞こえない周波数成分をフィルターで積極的に除去します。
さらに高度な応用として、通信工学の変復調技術があります。無線通信では、特定のチャネル(周波数帯)だけを通し、他を遮断する帯域通過フィルターが鍵です。5GやWi-Fiの基地局では、隣接チャネル干渉を防ぐため、シミュレーターで試したようなサイドローブ抑制が優れた窓関数(カイザー窓など)がFIR設計に用いられています。
まず次のステップは、「実際の信号に適用して影響を観察する」ことです。シミュレーターで設計したフィルター係数($a_k$, $b_k$)を、Python(SciPyのsignalライブラリ)やMATLABで実際の時系列データ(例えばオーディオファイル)に適用してみましょう。フィルター前後の波形とスペクトルを比較すれば、「位相歪みが聴覚にどう影響するか」が体感できます。
数学的背景を深めたいなら、「z変換」の理解が必須です。差分方程式をz領域で表すと、フィルターの特性は「極」と「零点」の配置で幾何学的に解釈できます。例えば、バターワースフィルターの極が単位円上に等間隔で配置されること、その配置が次数Nで決まることを学べば、シミュレーターの挙動がより深く理解できるでしょう。伝達関数は、 $$H(z) = \frac{\sum_{k=0}^{M}b_k z^{-k}}{1 + \sum_{k=1}^{N}a_k z^{-k}}$$ と表されます。
最後に、このツールを出発点として、適応フィルターやウェーブレット変換といった発展トピックに進むことをお勧めします。適応フィルター(LMSアルゴリズムなど)は、ノイズの周波数が時間変化する場合(走行中の車内騒音など)に係数を自動調整する技術です。ウェーブレットは、周波数だけでなく時間局所性も同時に分析できるため、衝撃波形の検出など、非定常信号解析の強力なツールとなります。