リアルタイムデータ処理システム開発プラットフォーム
リアルタイムデータ処理システム開発プラットフォームの構築
ブレインコプロセッサー(仮称)システムに必要な要素技術として、計測した脳信号(MEG,EEG)をリアルタイムに処理し、その結果を外部に出力するためのリアルタイムデータ処理システムが必要となる。そこで、ADボード、PCからなる開発プラットフォームを構築した。ソフトウエアはMatlabに、ADをハンドリングするためのData Acquisition Toolbox、信号処理機能強化のためのSignal Processing Toolboxを付加している。
![システムブロック図](./img/realtime_system_block.gif)
外観はほとんどPCそのもので、写真にするほどではないが、デュアルディスプレイ、デュアルマウスがちょっと変わっているかな。下の写真は、左ディスプレイにMatlabコマンドウインドウ、右にヘルプウインドウを表示している。
![デュアルディスプレイの写真](./img/dual_display2.gif)
デュアルマウスは2人でプログラムを検討するときに便利。
![デュアルマウスの写真](./img/dual_mouse1.gif)
画面上には2つのマウスポインタが表示されます。
![デュアルマウスのマウスポインタ](./img/dual_mouse3.gif)
搭載しているADボードは、32チャネルAD(シングルエンド)、2チャネルDA、8チャネルDIOを有しており、写真のような端子台を使って信号の入出力を行います。
![AD入出力部の写真](./img/ad_input.gif)
リアル脳トレ
いきなり高度なものはたいへんなので、手始めにα波の強弱によって音が変わるものを作ってみましょう。音はPC内臓のサウンドカードを使って出力します。プログラムは、Data Acqusisition Toolboxのユーザーガイドに載っているサンプルプログラムをちょっと改造します。
![α波トレーニングマシーンブロック図](./img/alpha_trainer_block.gif)
予備計測
本試行の前に通常状態でのα波の状態を計測します。
- 脳波の約1秒間毎のパワースペクトルを計算し、α波帯域(8-13Hz)のパワーを算出。
- 10回の最大値、最小値、平均値を算出し、これらの値から閾値low,highを決定。
本試行
- 脳波データを収録しながら約1秒間毎のα帯域のパワーの値を算出。
- その値が、
閾値lowより小さい場合、
低音(500Hz)のトーンバースト(ポー)
閾値lowより大きく、閾値highより小さい場合、
中音(1000Hz)のトーンバースト(プー)
閾値highより大きい場合、
高音(2000Hz)のトーンバースト(ピー)
を発生させる。
できれば音を連続的に変化させたいところですが、メモリ上にデータを作成しそれを出力するという使い方しかできないようですので、断続音を用いることにしました。α波が強くなると高い音(ピー)になり、弱くなると低い音(ポー)という音がなります。被験者は常に高い音が鳴るように自分の脳をコントロールします。これぞ、リアル脳トレ。
![リアル脳トレ](./img/real_no_tore.gif)
さあ、実験
果たしてα波は強化されるか? コントロールとして音が鳴らない状態での脳波も計測しました。脳波電極は後頭部と耳朶に付け、その両者の電位差を計測します。なお、開眼状態で実験を行いました。