生産システム工学科ロボティクス履修コース ロボティクス実験 生体情報計測と信号処理に関する実験 担当教員 森谷健二 目的 ロボティクス分野においてセンシングは重要技術のひとつである 近年 特に介護 福 祉における支援技術 AT: Assistive Technology では生体情報のセンシングは重要な要素技 術の一つであり 福祉機器の開発などには欠かせない技術である 本テーマでは心電図など の心起因性信号計測(1 週目 班による実験)とそのデータ処理( 週目 個人による解析)を行 い 生体信号計測に必要な基礎技術について学習する 技術的な目的は以下の通りであるが 詳細な達成基準については別紙ルーブリック評価 シートを参考にすること LabView を用いて基礎となる簡単な計測プログラムを作成できる ELVIS と作成したプログラムを用いて心電図計測を行うことができる 得られた計測データについて 図表を用いて説明することができる 基礎的な生体信号処理を実行できる 実験方法 使用する機材 ソフトウェア NI ELVIS National Instruments 社が提供する一般によく使用される 1 種類の計測器を 1 つのプラットフォームに統合した 実験 実習用のプラットフォーム ロボティクスの RO ナンバリン グ(#1 #5)を使用すること 他の履修コースの ELVIS を無断 で使用しないこと LabVIEW National Instruments 社 が 提 供 す る GUI(Graphical User Interface)ベースのプラグラムソフトウェア ELVIS などのデ バイスと連動して高機能で直感的にプログラムができる 生体情報計測用センサ 様々な生体情報計測センサが用意されているが本実験では心 電図計 心拍パルス計 把持力計の 3 種類を使用する 非常に高価なので実験中は繊細に扱い 実験に使用しない他 のセンサには触れないこと
実験 実験に先立ち 個人情報管理と安全に関する誓約書を提出すること(ダウンロード可) I 資料にしたがって NI ELVIS と LabVIEW の準備を行い 計測プログラムを作成する II 心電図(ECG) 脈パルス 把持力について以下の条件で計測を行う A. 心電図(ECG Electrocardiogram)計測 Vernier EKG sensor 心電図用電極 ①マニュアル Web サイトより PDF ファイルをダウンロードすること に従って 3電極法で 心電図計測を行う ただし 電極は付属の電極ではなく日本光電の Vitrode A-5IL で行う こ の電極はメス型端子なので下図のようにワイヤを利用してセンサのワニ口クリップで挟むこと ②図のような電図波形が計測されていることを 確認せよ(心電図についての詳細は各自調査) 位相が反転している場合は赤と黄色の電極を入 れ替えよ また R 波が明確ではない場合はグラ ウンド電極を変えて試してみると良い ECG: Electrocardiogram (英語) EKG: Elektrokardiogramm (ドイツ語) 一般的な心電図波形 ③計測は約 分間行う 最初の 1 分は椅子に座ったまま 安静 閉眼状態で約60秒間の計測を 行い 次の 1 分は各班で決めた行動下において計測を行う この行動は 深呼吸する 教科書 を読む 音楽を聴く など 各班で決定するが 運動を伴うとノイズが出るので静的動作に限 ること 教科所の場合の強化や聞く音楽種も各班で決定せよ 今回は 分間はタイマー設定では ないので各自の時計で計測すること 上記の計測を各人 1 回おこなうこと(3 人班であれば一人一 回 計 3 回実施)
B. 心拍パルス計測 ハンドグリップ式心拍数計測センサ 心拍動にともなう皮膚表面のインピーダンス変化を計測する. 運動中でも計測可能な点が強みである. 指のガイドがあるのでそれに合わせて正しく持つこと 1マニュアル (Web サイトより PDF ファイルをダウンロードすること ) に従って, 心拍パルス計測を行う. ただし,Bluetooth 接続のため, たまに通信が途切れることがあるので注意すること. 今回は両手を前に出し, 受信コードをもって右写真のようにして計測する. 右図に示すような血圧のような脈波が計測されていることを確認せよ ( 図はモデル図であり, 実際の計測結果ではない ). この信号は心拍動を引き起こす電位ではなく, それにともなった関連信号であり, 心起因性信号という. 3 計測は約 9 秒間行う. 最初の 1 分は椅子に座ったまま, 安静, 閉眼状態で約 6 秒間の計測を行い, 次の 3 秒は各班で決めた行動下において計測を行う. この行動は スクワット, 横にステップする 椅子に座ったり立ったりする など, 動的な動作を各班で決定せよ. 通信範囲は m と記載されているが 5m 以内で行動すること ( できればコードを持ったまま動ける範囲 ) 計 3 回実施 ). 上記の計測を各人 1 回おこなうこと (3 人班であれば一人一回, 計 3 回実施 ). 計測が終わったら必ずエクセルで 3-5 秒分グのグラフを書き, 正しく計測されていることを確 認すること.
C. 把持力計 把持力計 ( 歪みセンサ ) 歪みセンサを用いて握力や把持力を計測す る. 電圧と力の関係はマニュアルを参照す ること. 1 マニュアル (Web サイトより PDF ファイルをダウンロードすること ) に従って, 握力または 把持力計測を行う. 本来は心電図計測などとの複数計測により様々な考察を行うが, 今回は単 体による計測とする. 使い方や電圧値を力への変換倍率についてはマニュアルを参照すること. 計測は約 3 秒間行う.1 最大握力計測, 親指と人差し指の最大把持力計測, を各人 1 回づつ 行うこと (3 人班であれば, それぞれの計測を 1 回ずつ, 計 6 回実施 ). 計測が終わったら必ずエクセルで 3 秒分グのグラフを書き, 正しく計測されていることを確認 すること. レポートは 週分まとめて報告する 1 週目の内容で必ず書かなくてはならないこと 実験目的: 目的がないなら実験をする必要がない 実験内容( 報告者自身がどのような実験内容 ( 行動, 手順 ) で, 何を計測したか報告する. 他者の計測内容の報告は不要. LabVIEW によるプログラム作成は実験方法に LabVIEW により計測プログラムを作成し, ------を計測した 程度の記載で良い. プログラム作成は生体情報を計測するための手段であって目的ではないので詳細は不要である. この実験では結果と考察は分けないので 結果と考察 にして以下について述べる ( 心電図 ) 自分の計測結果. 最初の 1 分と次の 1 分の中から任意の 8~1 秒 ( 各自選択 ) を同じ大きさで上下に並べ提示する ( 描画時間は同一, グラフの横幅は広くする ). ただし, 心電図は計測時に増幅されているのでマニュアルを参考にして元の検出信号の大きさでグラフを書くこと. 選択した行動と結果をリンクさせて結果を述べ, 安静時との比較考察を述べること. ( パルス波 ) 自分の計測結果. 同様に最初の 1 分と次の 1 分の中から任意の 8~1 秒ずつを提示 する. この結果は計測した電圧値のままで良い. 結果と考察も心電図と同様. ( 把持力 ) 自分の つの計測結果.3 秒の全計測データのグラフを N か Kg で表示し ( マニュア ルを参考して変換せよ ), 自分の最大握力と把持力がいくらであるか述べる.
( 二週目 ) 生体信号処理の基礎 ~ 心拍数の算出と信号処理 ~ 本実験では主に心起因性信号の計測を行ったが, 計測データは 波形 であって心拍数ではない. そこで計測した 種類の心起因性信号から心拍数を算出する. よく使われる信号処理についても 実際におこなう. 心拍数の算出 心拍数は 1 分当たりの拍動数 である拍 / 分,bpm(beats/minute) であらわすことが多い. 1 拍 動毎に瞬時心拍数として算出する ( 簡易的には 秒間の脈を数えて 6 倍する方法もあるが, これ ら安静時においてほとんど変動がないという前提での平均心拍数としての考え方である ). 大きなスパイク状の波である R 波の時間間隔 ( これを R-R インターバルとして用いることも多い ) を 1 分当たりに換算する. dt (sec) IHR 6 ( bpm ) dt dt の単位は秒 計算では R 波の最大値だけを算出するために閾値を設定して, それ以上の値の最大値を用いる. 正確には R-R と多少の誤差は出るが, 閾値を超えた最初の点を用いることもある ( こちらの方が プログラムは簡単になる ). 今回の算出はどちらの手法でもよいことにする.
体動や呼吸に伴い心電図の基線が揺らぐことがある. この場合,R 波以外がしきい値にかかったり R 波が閾値にかからなかったりするので低めのカットオフ周波数でハイパスフィルタをかけて基線をフラットにしてから算出を行う. フィルタ処理は生体信号において重要かつ基礎技術である. 信号処理の基礎 本実験では平均, 分散の計算と移動平均による平滑化 ( ローパスフィルタ ) と離散フーリエ変換 (DFT: Discrete Fourier Transform) により信号を処理する. 平均と分散 標準偏差 生体信号のデータ処理としては信号処理と統計処理がよく用いられる. 以下の値は統計処理の基 礎パラメータとして, また変動の特徴としてもよく用いられる. X[] から X[N-1] までの N 個のデータもつ X[ ] では 平均と標準偏差は次式で与えられる 平均 - X ; 分散 ; X - 1 1 N N n 1 N 1 X[ n] N 1 n ( X[ n] - X) N 1 1 - 標準偏差 ; ( X[ n] X) ( 有限母集団 ) N 1 平均と標準偏差は容易に求まるものの 計測したデータの統計処理に良く使われる代表的なパ n ラメータのひとつである 標準偏差はデータのばらつきを示す
離散フーリエ変換 時系列データに含まれる信号がどのような周波数成分が持つのかを調べるためにはフーリエ 解析(スペクトル解析)が一般的に使われている 例えばカラオケにおける採点も音声を周波数分 析して音階(例えば低いラで 44Hz)とどれくらいずれているのかを計算している 本実験では 有限なディジタル(離散)データ列を離散周波数データ列に変換する離散フーリ エ変換 DFT: Discrete Fourier Transform について簡単に触れる N 点の離散信号 x[ ]がある このとき その離散フーリエ変換 X[ ]と逆変換はそれぞれ N 1 n k X [k ] x[n] exp j N n x[k ] 1 N n k N N 1 X [n] exp j n Im となる Re であらわされる 振幅特性は (Re) (Im) 位相特性は tan 1 サンプリング周波数 fs Hz で N 点計測したデータを離散フーリエ変換した場合 周波数領域 での分解能は fs f k (Hz)で与えられる k番目のデータは s Hz の成分パワーを示す ゆえに N N 計測時間が長ければ長いほど すなわち 点数が多ければ多いほど 周波数分解能は良くなり低周 波成分まで解析することができる 周波数領域は fs(hz)までの範囲で解析が可能だが fs/(hz) 以上は負の周波数の折り返しなので有効解析周波数は fs/(hz)までである したがって サン プリング周波数が高ければ高いほど高周波成分を解析することが可能である DFT はデータ点の 乗回の計算が必要となるために N が大きくなるほど莫大な計算時間を要す る そのため計算アルゴリズムを改善した高速フーリエ変換(Fast Fourier Transform)などがある が これ以上の詳細はここでは触れないので 各自で信号処理のテキストを参照して欲しい ま た スペクトル解析はフーリエ変換だけではなく線形予測法などさまざまな手法が存在する 1 5 15 Time after exercise (min) 5 3 3.53Hz 1.7Hz Power density (bpm /Hz) 8 L/H :.5 H :.31 1 L/H :.33 H :.75 Frequency(Hz) 1 Frequency(Hz) Power density (bpm /Hz) IHR (bpm) マスク装着 14 3 1 例 動物(ニワトリ雛)の心電図波形とその 例 フーリエ変換による瞬時心拍数のゆらぎ 周波数成分 ノイズ周波数帯も分析でき 成分解析の例 る
移動平均 移動平均とは 図に示すように ある信号 X[ ]を X[] X[4] N 点ずつ平均する手法 図では N=3 で平均 である 元信号に対して処理後の波形 Y[ ]は平滑化されている X[1] X[5] X[6] X[] X[3] (ただし 最初の 点が失われて 時間遅れ が生じてい X[7] ることに注意せよ) つまり 簡単なローパスフィルタ である 平均に使う N を大きくするほど平滑化の程度 Y[] Y[1] Y[] Y[3] Y[4] も大きくなるが N が大きすぎると元の信号をゆがめ Y[5] てしまう恐れがあることと 時間遅れによるデータ欠 図. 移動平均の概念図 損数が多くなる問題が生じる N 点移動平均によるローパスフィルタの周波数特性の絶対値は H ( ) 1 N n N 1 e jn fs ただし fs はデータのサンプリング周波数 n で与えられる(詳細は z 変換 を参照) ただし 周波数特性図では fs/(hz)以降は負の周波数成 分であることに注意せよ(有効な周波数成分ではない) また 移動平均の結果をさらに移動平均し N=3( N= 15 5 5 15 ;元データ, 移動平均データ) 1..5.1. Time(s).3 Amp. Amp. て平滑化する処理も行われる これはローパスフィルタのカスケード接続に等しい処理である. 5 Frequency(Hz) f (t ) sin( t ) 5 sin( 5 t ), f s 5 Hz なる信号を N= で 移動平均処理を行った場合の波形の変化(左図)と周波数特性(右図) 周波数特性を見る と 5Hz の成分はゼロであり 完全にフィルタリングされていることがわかる
生体信号処理実習 ( 以下はすべて報告すべき事項 ) 心電図波形にはノイズが多く含まれているので, 単純なピーク検出プログラムでは,R 波以外のピークも, ノイズがある場合は微小なギザギザ部分のピークもすべて検出してしまう. ゆえに, 平滑化処理を行い滑らかな波形にしたのちにしきい値を設定して, それ以上の値のピーク値を検出することで高周波ノイズやグランドレベル周辺のノイズを無視することができる. このデータは (1.56 秒,3.78V) このデータは (1.8543 秒,3.65V) しきい値を自分で決めて, それ以上の最大値 を求める 上図のような心電図波形に対して ( 拍動した ) 時間 ( タブ区切りまたはカンマ区切り ) IHR の 列データでファイルに書き込む. 拍動した時間は計算に使った R 波の二つ目のデータを用いる. 上記の例では, 一つ目の R 波 ( の最大値 ) のデータが 1.56 秒, 二つ目の R 波 ( の最大値 ) は 1.8543 であるから, 瞬時心拍数は IHR=6 / (1.8543-1.56)=7.44 7bpm となる. 拍動した時間は二つ目の R 波の時間である 1.8543 秒だから, ファイルに書き込むのは 1.8543 ( タブ記号 \t またはカンマ ) 7( 改行記号 \n) の二列となる. 波形の電圧値は最大値を探すために用いるが, 計算に使うのは時間情報となる. 閾値を設定するためには, 一度計測データのグラフを書いて全体の信号の大きさを把握する 必要がある.
週目の課題 実際に心電図波形から心拍を求めるためには上記の工夫が必要だが実験の時間で作るには 少々時間が足りないだろう 今回は Web サイトに用意したテスト用データ testwave.dat を使 い ピーク検出を行うこととする この信号は振幅 4.5V 1Hz(心拍数に換算すると 6bpm)5 秒 間 1.Hz(=7bpm)5 秒間 さらに 1Hz が5秒間の計 15 秒間の sin 波をサンプリング周波数 Hz(=全データ数 N=3 点)で計測したデータである このデータから瞬時心拍数 IHR を 求めて 正しく 6 と 7bpm が算出されれば作成したプログラムは正しいことになる(なお 周波 数が変わる時にはそれ以外の値も算出される) (心拍数算出の条件) しきい値は必ず設定する その値は固定値でもキーボード入力でも良い その値以上のデ ータに対してピーク値を求める プログラムでは検出したピーク値の時間だけをファイルに出力する(一列データ) 心拍数はエクセルで計算してよい したがって出力ファイルの拡張子は xls を推奨する IHR の計算は整数とする エクセル側で round 関数を使うこと 左の列が算出したピークの時間なので 右の 列に計算数式を入れる(当然 1点目は心拍の 計算はできない) 一つ打ち込めばあとはコピ ーでよい さらにそれに round 関数を入れて 整数に四捨五入する (報告書) 算出した IHR データを sin の波形データの下に配置して(下図のように) 考察 報告 心拍数 (bpm) 信号電圧 (V) せよ なお 下図は模範解答である 5 5 7 65 6 55 5 15 Time (min) ほかの学生と相談することは構わない しかし 教えてもらいながら理解することとただ答え を教えてもらうことは全く別の話であり どう見てもコピーというプログラムは誰がオリジナ ルであろうと全員 点( 週目について 1 周目は採点する)にする
ボーナス項目 以下についてはそれぞれ追加の解析項目である ( 必須ではない ). いずれもよく使用される手法なのでチャレンジしてみるとよい. 全部にチャレンジしなくてもどれか一つでも加点対象とする. 算出した IHR の最大値, 平均値, 標準偏差をプログラムで求めよ. 測定した安静時の心電図波形の最初の 秒間を離散フーリエ変換して, 心電図を構成する周波 数成分を示せ. ただし, 波形のデータは Hz なので Hz まで描画すること. 測定した心拍パルス波形について N=5, でそれぞれ移動平均を行い, 平滑 ( ローパスフィルタ ) 後の波形と,N=5, による移動平均処理の周波数特性を示せ. ただし, 周波数特性は Hz まで描画すること. 心拍数は 6-1 拍程度 (=1-Hz 程度の sin 波に似ている ) なので, それほど波形は変化しないかもしれない プログラムは前半で使用した VC++(Visual Studio) を使うが, 今回はメイン関数だけで大きなプロジェクトにもならないのでフリー配布の Borland C++ コンパイラと BCPad エディタを用いてもよい. コンパイラはフリー配布が許可されているのでもしも個人の PC でプログラムを行いたい場合は申し出ること. 実験が終わったらデータは PC からすべて消去される. 必ず実験データや作成したプログラム を持ち帰ること!!! レポートに関する注意事項 レポートのチェック項目に 実験に関連する AT スキルについて記述されている という欄があり ます. この実験で養いたい AT スキルは以下の 点です. 生体 認知心理学 生理現象の計測 評価技術の基礎を理解している 生体情報および生体情報処理に関する基礎を理解している 考察などにおいてこれらについて ~ を実践することで ~AT スキル ~ を理解することができた ということで触れてください.