YouTube
0:18 実機デモ
0:38 出題
1:10 生体センサとは
2:25 ノイズを除去する4つのフィルタ
3:54 特定の周波数を除去するノッチフィルタ
4:59 フィルタ特性をAC解析で確認する方法
5:50 まとめ
ノイズを除去する4つのフィルタ
今回はそんな方のために、「センサのノイズを除去するいろんな方法」というテーマで基本的な4つのノイズフィルタの話をしていきます。
この記事を読むと、ノイズフィルタの種類別の特徴と、ノイズを除去する方法が理解できるようになるので是非最後までご覧ください。
この内容は、QC出版のメルマガでも解説していますので、是非そちらも併せてご覧下さい。
実機デモ
以下の画像は、生体センサの一つである筋電位センサを使って、手に力を入れるとそれに合わせてサーボモータが動くようにしたものです。
センサはスイッチサイエンスで購入した「MyoWARE」というものを使っています。
力の入れ方に応じて角度を変えたり、ネットを介して信号を送ることで遠隔操作ガジェットなんかにも応用することができます。
問題
突然ですが、ここで問題です。
この回路の周波数特性は、a〜dのうちどれでしょうか?
以下の図を見て考えてみて下さい。
(1) a (2) b (3) c (4) d
そのうちの一つが50Hzや60Hzのような商用周波数による電磁ノイズです。
それでは解答となります。
※以下の解答タブを押すと答えが出ます。
生体センサとは
まずはそもそも生体センサとは何かについてです。
私たちは自分の体の内部の状態を知りたいとき、直接センサを埋め込むわけにはいかないので、体の外側からアクセスできる情報を用いて内部を推測する必要があります。
このような時に使われるのが生体センサであり、一般的なものでは体温計や血圧計などもそれにあたります。
これらは比較的情報が取得しやすいのですが、例えば筋電位と呼ばれる筋肉が収縮する際に発生する電気信号などは、信号が弱いため検知することが難しいです。
こちらは「MyoWare」の筋電位センサを使って、腕の筋肉を測定したものです。
以下の画像のように、力を入れると電圧が上がっていきます。
この電圧値を読み取って値に応じた操作をすることで、遠隔操作ガジェットのようなものを作ることができます。
簡単に取得できているように見える筋肉の情報ですが、実はもともと発生している電圧レベルは数100uVから数mV程度しかありません。
以下のようなセンサモジュールには、オペアンプで1000倍程度増幅する回路が内蔵されています。
この時、もともとの電圧レベルが低いので、以下の画像にあるように様々なノイズが乗ってきてしまうというのが生体センサを扱う上での大きな悩みです。
最初にこれらを除去しないと、ノイズも合わせて増幅してしまうことになります。
ノイズを除去する4つのフィルタ
そこで、ノイズフィルタの出番です。
ここでは4つのタイプのノイズフィルタを紹介します。
ノイズフィルタは以下のように主に4つのタイプがあり、除去したい周波数に応じて使い分けます。
- ローパスフィルタ
- ハイパスフィルタ
- バンドパスフィルタ
- バンドエリミネーションフィルタ
入力をVin、出力をVoutとした時、Vout/Vinの関係を周波数ごとにプロットした周波数特性は、先ほど問題で説明した以下の図のようになります。
周波数特性が意味するものは、縦軸の数値が小さくなっている周波数成分は小さくなり、数値が大きい周波数成分はそのまま通過するということです。
実際にパルス波形を入力とし、出力側を見てみるとこのように立ち上がりが鈍った波形になります。
立ち上がりが鈍った波形になるのは、立ち上がりは時間的な変化が早く、その部分の成分がカットされるためです。
一方でハイパスフィルタはローパスフィルタと真逆の特性を持っており、パルスの立ち上がりの部分はそのまま追従しており、パルスが安定してきたところで電圧が落ちていることが分かります。
また、バンドパスフィルタはローパスフィルタとハイパスフィルタを掛け合わせたような回路であるため、出力の特性はローパスとハイパスのフィルタの間を取ったような波形が出力されます。
また、周波数特性で3dB落ちる周波数を「カットオフ周波数」と呼びます。
カットオフ周波数は以下の式で計算することができるので、カットしたい周波数が決まっていたら、以下の式を参考にして各定数を決めて回路を設計します。
(※抵抗値をR、コンデンサの容量をCとした場合)
特定の周波数を除去するノッチフィルタ
そして最後に、少し特殊なノッチフィルタについて紹介します。
バンドエリミネーションフィルタの中でも、特に除去する周波数が狭いフィルタのことをノッチフィルタと呼びます。
生体センサに乗るノイズの一つに、ハムノイズと呼ばれる50Hzや60Hzの商用周波数のノイズがあります。
これは私たちの体自体がアンテナになってしまい、生体センサに混入してしまうものです。
ノッチフィルタは、以下の画像のように特定の周波数だけ除去したい時に使われます。
ノッチフィルタは以下のような形をしており、RとCはそれぞれこの関係式に習って設定します。
またRとCをこの関係式の通り設定した場合、「ノッチ周波数」と呼ばれる除去する周波数は以下の式で表されます。
例えばノッチ周波数を50Hzとするには、以下の画像のような定数を設定すれば良いです。
フィルタ特性をAC解析で確認する方法
こちらも、実際に波形を確認してみましょう。
このように正弦波を入力して周波数を変えていってみると、周波数が低いところや高いところではほぼ同じ振幅で出力されるのですが、50Hz付近ではかなり出力波形が小さくなっているのが分かると思います。
これがノッチフィルタの威力です。
フィルタの周波数特性のように、周波数ごとの挙動の違いを見たいときは横軸を「時間軸」ではなく「周波数軸」にした方が確認しやすいです。
無料の回路シミュレーションソフトであるLTspiceには「AC解析」という簡単に周波数特性を確認できるモードがあるので、ここで覚えておきましょう。
AC解析の使い方を、簡単に説明していきます。
以上、簡単ですがAC解析の使い方でした。
まとめ
今回は、「センサノイズを除去するいろんな方法」というテーマで基本的な4つのフィルターを紹介してきました。
この4つを使えるようになれば、かなり広い範囲で応用が効くと思うので、必ず押えておきましょう。