======================
(野村さんへのメモ)
・省スペースのためには、「BITalino」の各プロックの写真は、BITalinoの全体写真が奇麗に(大きめに)あれば、無くてもいいと思います
・e-Healthの写真等は、全てe-HealthのWebサイト(オンラインショップ)にある画像です。必要があれば許諾を求めるか、このイメージで新たにイラストを描いて下さい
======================

■第4部　マイコンでトライ！ 生体情報の信号処理の基礎■

第3章　生体情報の計測/信号処理のためのアナログ回路技術

3-3　生体信号センシング製品の実例

●「BITalino」と「e-Health」

本節では、最近、海外で登場した「生体信号センサ」システムを2種類、紹介・解説します。いずれも最新の半導体テクノロジーと、ArduinoやRaspberry Piなど話題のマイコンと関係しています。その一つは図3-3-1の「BITalino」(http://www.bitalino.com/)であり、もう一つは図3-3-2の「e-Health」(http://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-sensor-platform-arduino-raspberry-pi-medical)です。いずれもネット上のショップで日本でも購入することができます。

(図3-3-1　BITalino)

(図3-3-2　e-Health)

●BITalino

図3-3-1の「BITalino」は、ポルトガル・リスボンのISEL(Instituto Superior de Engenharia de Lisboa)という研究所でJose Guerreiro氏が2013年10月にまとめた修士論文(http://repositorio.ipl.pt/bitstream/10400.21/3293/1/Disserta%C3%A7%C3%A3o.pdf)の中で、生体信号検出システムの実例として実現したシステムです。ネットショップでは、皮膚に貼り付ける電極5枚と、「3電極」(筋電・心電)と「2電極」(皮膚電気抵抗)の電極ケーブル各1本、リチウムポリマー電池1個、とメイン基板とのベーシックなセットが149ユーロです。

◆Arduino/Bluetoothスタンドアロン

図3-3-3は、BITalinoの中央ブロック部分に横たわるコンピュータブロックで、スペックとしては
	・MCU　: ATMEGA328P - AVR 8-bit RISC
	・Clock　: 8MHz
	・Power　: Vcc = 3.3V
となっています。これは「Arduino」(ユーザがプログラムを書き換えられるマイコン)そっくりなのですが、開発者本人はArduinoで開発したものの、ユーザがファームウェアをオリジナルに改編できないので、「Arduino風のAVRマイコン」という言い方が正しいことになります。

(図3-3-3　BITalinoのマイコンブロック部分)

またBITalinoの中央ブロック部分の下には、電源関係のブロックとともに、「Class II Bluetooth v2.0 (range up to 10 m) - 115200 bps」というBluetoothモジュールがあり、ArduinoなどのようなホストPCと接続するUSBコネクタがありません。ユーザはBluetooth経由で、BITalinoから送られてくる「EMG, ECG, EDA, LUX, ACCという下記の5種類のセンサ情報パケットを受信します。これを表示するためのアプリケーションも提供されていますが、自作するためのツールやAPIも公開されていて、PythonやJavascriptでセンサ情報を利用したアプリケーションを開発できるようになっています。

◆筋電センサ(EMG)

図3-3-4は、BITalinoの筋電センサのブロックで、回路図は図3-3-5となっています。第2章で紹介した筋電センサ回路と似ていますが、初段はAD627の上位互換のINA333であり、この出力を積分してリファレンスに戻すことで、等価的にカットオフ10HzのHPFを形成し、入力のDCオフセット電圧を除去しています。

(図3-3-4　BITalinoの筋電センサ部分)

(図3-3-5　BITalinoの筋電センサ回路)

◆心電センサ(ECG)

図3-3-6は、BITalinoの心電センサのブロックで、回路図は図3-3-7となっていて、開発者が気に入っているのか「筋電センサ回路と完全に同一構成」で、コンデンサと抵抗の数値だけ、心電図情報に対応させて換えているだけです。

(図3-3-6　BITalinoの心電センサ部分)

(図3-3-7　BITalinoの心電センサ回路)

◆皮膚電気抵抗センサ(EDA)

図3-3-8は、BITalinoの心電センサのブロックで、回路図は図3-3-9となっていて、ごく普通のOPアンプ増幅回路とローパスフィルタです。

(図3-3-8　BITalinoの皮膚電気抵抗センサ部分)

(図3-3-9　BITalinoの皮膚電気抵抗センサ回路)

◆光センサ(血流/脈拍) (LUX)

図3-3-10は、BITalinoの「LUX」センサのブロックで、回路図は図3-3-11です。つまりはフォトトランジスタの「明るさ」センサ(波長 : 360-970nm)です。生体計測においては、被験者の周囲環境光の計測も重要ですし、赤外LEDなどの光源を用いて、指先とか耳たぶの血流計測をすれば、そこから脈拍を検出できますが、BITalinoが送っているのはフォトトランジスタの出力電圧だけです。

(図3-3-10　BITalinoの光センサ部分)

(図3-3-11　BITalinoの光センサ回路)

◆3次元加速度センサ (ACC)

図3-3-12は、BITalinoの3次元加速度センサのブロックで、回路図は図3-3-13となっていて、ポピュラな3次元加速度センサADXL335(Bandwidth: 0〜50Hz、Range: ±3g)の出力をそのまま出しています。身体に3次元加速度センサを取り付ければ、じっとしていても重力加速度の成分によって身体の「姿勢」が検出できますし、何か動けばもちろん「身振り」をセンシング出来ます。

(図3-3-12　BITalinoの3次元加速度センサ部分)

(図3-3-13　BITalinoの3次元加速度センサ回路)

●e-Health

上述のBITalinoが、ファームウェアを書き換えできないAVRマイコンによって生体センシング情報を送信するシステムとして完結しているのに対して、このe-Healthは、ホストマイコンとしてArduinoやRaspberry Piに対応した「生体センサ・シールド」です。基板上のコネクタはArduinoシールドなのですが、「ArduinoシールドをRaspberry Piに変換するアダプタ基板」も一緒に出していて、両方に対応しています。

図3-3-14の生体センサ・シールド単体の価格は75ユーロですが、周辺機器として提供されているものを全て図3-3-15のように含むセットは450ユーロ(6万円以上)になります。ここで注意点は、e-Healthは図3-3-16のように8種類の生体情報を計測できる、と言っていますが、後述のように実は完成品の計測器を外部オプション装置として繋ぐだけ、つまりこのシールドは単にそれら計測器とデジタル通信してデータを受け取っているだけ(図3-3-17)、という生体情報もたくさんあるので注意して下さい。

(図3-3-14　e-Healthの基板部分)

(図3-3-15　e-Healthのセット全景)

(図3-3-16　e-Healthで計測できる生体信号)

(図3-3-17　e-Healthのインターフェース信号)

◆血流/脈拍

図3-3-18は、e-Healthの血流/脈拍センサ部分で、回路図は図3-3-19となっていて、単純な8ビットのデジタル入力ポートです。つまり、指先クリップの部分に、製品として完成している(センサ回路と、生体信号の情報処理アルゴリズムを盛り込んだマイコンを内蔵した)「血流/脈拍計」という外部機器のデジタルインターフェースであって、生体センサ回路ではありません。

(図3-3-18　e-Healthの血流/脈拍センサ)

(図3-3-19　e-Healthの血流/脈拍センサ回路)

◆心電図

図3-3-20は、e-Healthの心電センサ部分で、回路図は図3-3-21となっていて、こちらはきっちりとした差動アンプとローバスフィルタの生体信号センサ回路になっています。ただし、このセンサ出力はArduinoのA/D入力、あるいはRaspberry Piに接続されたA/Dコンバータに入るだけなので、そこに信号処理アルゴリズムを盛り込む必要があります。

(図3-3-20　e-Healthの心電センサ)

(図3-3-21　e-Healthの心電センサ回路)

◆呼吸

図3-3-22は、e-Healthの「Airflow: breathing」という呼吸センサ部分で、回路図は図3-3-23となっていて、OPアンプの増幅回路とローバスフィルタだけです。鼻の穴付近のアダプタの中が不明なのですが、筆者がかつて製作した例だと、
	・大気圧センサによる空気圧変化
	・鼻息の風量で曲がるリード状の曲げセンサ
	・鼻息の通過で温度低下を検出するサーミスタまたは電球フィラメント
などのいずれかによって、「呼吸」の検出が可能です。

(図3-3-22　e-Healthの呼吸センサ)

(図3-3-23　e-Healthの呼吸センサ回路)

◆体温

図3-3-24は、e-Healthの体温センサで、回路図は図3-3-25となっていて、単純なサーミスタの高精度抵抗測定回路です。筋電・心電・脳波のように「変化」を捉えるよりも、まず第一に「正確な値(体温)」を計測する必要があるために、専用の基準電圧発生回路を用意して、かなり面倒な「校正」作業を必要とします。

(図3-3-24　e-Healthの体温センサ)

(図3-3-25　e-Healthの体温センサ回路)

◆血圧

図3-3-26は、e-Healthの血圧センサのブロックで、回路図は図3-3-27と、単純な2チャンネルのデジタルポートだけです。つまり、液晶表示まで付いた血圧計は製品として完成している(センサ回路からマイコンまで内蔵)外部機器であり、e-Healthはシリアル通信でそのデータを受け取っているだけで、生体センサ回路はありません。

(図3-3-26　e-Healthの血圧センサ)

(図3-3-27　e-Healthの血圧センサ回路)

◆姿勢

図3-3-28は、e-Healthの「Patient position and falls」、つまり身体の位置(姿勢)のセンサのブロックで、関係するコネクタの回路図は図3-3-29です。ポイントは、3次元加速度センサを仕込んだベルトを胸に巻き付ける場所がきちんと指定されていて、センサ回路は2ビットのアナログと2ビットのデジタル信号でセンサからの信号を受けているだけです。Arduino用のサンプルコードを見てみると、重力加速度の成分を閾値で判定して「姿勢」情報を返すようになっています。

(図3-3-28　e-Healthの位置(姿勢)センサ)

(図3-3-29　e-Healthの位置(姿勢)センサ回路)

◆皮膚電気抵抗

図3-3-30は、e-Healthの「Galvanic Skin Response (GSR)」、つまり皮膚電気抵抗のガルバノメーター・センサのブロックで、回路図は図3-3-31と、体温計の回路とほぼ同じになっています。

(図3-3-30　e-Healthの皮膚電気抵抗センサ)

(図3-3-31　e-Healthの皮膚電気抵抗センサ回路)

◆血糖値

図3-3-32は、e-Healthの「血糖値計」の部分で、指先に針を挿して血を採る必要があります。回路図は図3-3-33となっていて、MAX232でRS-232-Cに変換しているだけの、単純なシリアル通信ポートです。つまり、液晶表示まで付いた血糖値計は製品として完成していて、e-Healthはシリアル通信でそのデータを受け取っているだけで、生体センサ回路はありません。

(図3-3-32　e-Healthの血糖値センサ)

(図3-3-33　e-Healthの血糖値センサ回路)

◆筋電

図3-3-34は、e-Healthの筋電センサのブロックで、図3-3-35はその回路図です。ここでは、両極電源回路で構成されていて、全波整流回路に平滑回路まで揃っているので、かなり積分されていて、これを後でArduinoやRaspberry PiでA/Dした場合には、既に積分されているので、高い周波数成分とか筋肉の俊敏な動作は検出できない事になります。

(図3-3-34　e-Healthの筋電センサ)

(図3-3-35　e-Healthの筋電センサ回路)
