信号処理とは、信号を解析したり変化させたりして、そこから有用な情報を取り出すことです。信号には、変化する電圧、録音された音、振動、検出器で測った光などがあります。実際には、「どの周波数が含まれているか」「どの成分を残すべきか」「誤差を生まずにデジタル保存するにはどれくらいの速さでサンプリングすべきか」といった問いが中心になります。
中心となる考え方は主に3つです。フーリエ変換は周波数成分を示します。フィルタは信号の一部を通し、他の部分を抑えます。サンプリングは連続信号をデジタルデータに変えますが、必要な周波数に対して十分高いサンプリング周波数でなければなりません。
時間領域と周波数領域
時間領域では、信号がその瞬間ごとにどう変化するかを見ます。この見方は、パルスがいつ到着したか、センサーがいつ急に大きな値を示したかなど、タイミングが重要なときに役立ちます。
周波数領域では、同じ信号を複数の周波数成分の混合として見ます。この見方は、ゆっくりしたドリフトと速い振動を分けたいとき、支配的な音の周波数を見つけたいとき、あるいはフィルタが何をするかを理解したいときに有用です。
この2つの見方は同じ信号を表しています。違う問いに答えているだけです。
フーリエ変換でわかること
フーリエ変換は、信号を正弦波成分で書き直す方法です。平たく言えば、各周波数がどれだけ含まれているかを調べます。
連続信号 に対して、変換は次のように書かれます。
この積分を手で計算できなくても、考え方を使うことはできます。大事な直感は、複雑な波形も、より単純な振動の組み合わせとして理解できることが多いという点です。
たとえばマイクの信号に のハムノイズと の音が含まれているとします。時間領域のグラフはごちゃごちゃして見えるかもしれませんが、周波数領域ではその近くにピークが現れます。実際に何が起きているかを素早く把握するには、この方法が最も手っ取り早いことがよくあります。
フィルタは信号をどう変えるか
フィルタは、異なる周波数が系をどれだけ通過しやすいかを変えます。
- ローパスフィルタは低い周波数を通し、高い周波数を弱めます。
- ハイパスフィルタは高い周波数を通し、低い周波数を弱めます。
- バンドパスフィルタは選んだ範囲の周波数を通し、その外側の周波数を弱めます。
この説明は周波数に基づくものです。つまり、フィルタが自動的に何が「ノイズ」かを判断してくれるわけではありません。取り除きたい成分が、残したい成分と周波数や、フィルタが利用する別の性質で分かれているときにだけ、フィルタは役立ちます。
そのため、フィルタは音声のクリーンアップ、センサーの平滑化、通信システム、計測機器などで広く使われます。
なぜサンプリング周波数が重要なのか
サンプリングとは、連続時間信号を離散的な時刻で記録することです。保存したい最高周波数を とすると、サンプリング周波数は
を満たす必要があります。これは理想的なサンプリングの図式でエイリアシングを避けるためです。このしきい値 をナイキスト周波数と呼びます。
エイリアシングとは、高い周波数成分が、サンプリング後により低い周波数であるかのように見えてしまうことです。いったんそうなると、サンプルされたデータは本来とは違う信号を示してしまう可能性があります。
実際のシステムでは、技術者は通常この最小条件より高い周波数でサンプリングし、デジタル化の前にアンチエイリアスフィルタを使うこともよくあります。実際の信号は完全に帯域制限されているわけではないので、この余裕が重要です。
例題:センサーから高周波ノイズを取り除く
温度センサーは本来ゆっくり変化するはずなのに、測定電圧に速い電気的リップルが重なっているとします。単純なモデルは
です。
ここで定数項 は基準レベル、 の項は注目したいゆっくりした物理的変化、 の項は不要な干渉です。
フーリエ変換の見方では、この信号は主に次の3つの周波数位置にエネルギーを持っています。
- 定数オフセットに対応する
- ゆっくりした温度変化に対応する
- 干渉に対応する
目的がゆっくりした傾向を残すことなら、ローパスフィルタが役立ちます。なぜなら、有用な成分は低周波側にあり、干渉はそれよりずっと高い周波数にあるからです。カットオフ周波数を より十分高く、 より十分低いところに設定すれば、ゆっくりした変化をほぼ保ったままリップルを弱められます。
次にサンプリングを考えます。もし でサンプリングすると、ナイキスト周波数は です。 成分はこの限界を超えているので、サンプリング前に取り除かない限り、サンプルデータでは正しく表現できません。理想的なエイリアシング計算では、 でサンプリングされた の正弦波は、まったく同じサンプル点を繰り返すため、サンプル上では消えてしまうことさえあります。だからといって元の干渉が無害だったわけではありません。サンプリングによって、誤解を招く形で隠されてしまったということです。
この例では、3つの考え方がつながっています。
- フーリエ変換は不要な成分を見つけるのに役立つ
- フィルタは、その成分が別の周波数帯にあるので取り除ける
- サンプリングの条件は、デジタル化前の前処理フィルタがなぜ重要かを示す
信号処理でよくある間違い
フーリエ変換を完全な全体像だと考える
実際の測定は有限長で、ノイズを含み、時間とともに変化することも多いです。周波数グラフは有用ですが、それでも測定データの解釈であって、現実そのものの完全な指紋ではありません。
何を残すべきかを決めずにフィルタをかける
ローパスフィルタは高周波ノイズを減らしますが、本物の高周波信号も同時に弱めます。フィルタが「良い」と言えるのは、明確な目的がある場合だけです。
ナイキスト周波数を余裕のある設計目標だと思う
は理想的な最小条件です。実際には、この限界ぎりぎりで設計すると、理想的でないフィルタや現実の信号成分に対応する余地がほとんどありません。
サンプリングが情報を作り出すと思い込む
サンプリングは、もともとあるものを記録するだけです。周波数が低すぎれば、デジタル化しても失われた細部を後から取り戻すことはできません。
信号処理はどこで使われるか
信号処理は、測定値や波が情報を運ぶあらゆる場面で使われます。物理学や工学では、マイク、地震計、無線受信機、ECG や EEG の装置、光検出器、制御システムなどがその例です。
特に、生の信号をそのままでは読み取りにくいときに有効です。複雑な波形をただ眺めるのではなく、変換、フィルタ、サンプリングのルールを使って、解釈しやすい形にしていきます。
似た信号処理の問題に挑戦してみよう
次のような信号を考えてみましょう。
そして、実用的な2つの問いを立ててみてください。ローパスフィルタはどの周波数を残そうとするでしょうか。また、信号全体に対してナイキスト限界を十分に上回るサンプリング周波数はどれくらいでしょうか。次の一歩として、伝達関数 と比較し、系が周波数領域で信号をどう変形するかを見るのも有益です。