以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
図1Aおよび図1Bは、一実施形態の脈拍測定装置の構成を模式的に示している。図1Aは、一実施形態の脈拍測定装置の外観の模式的な斜視図であり、図1Bは、同脈拍測定装置の模式的な断面図である。なお、説明の都合上、図示しない被測定部位の側を本体10の「下面側」、被測定部位の反対側を本体10の「上面側」としている。
この脈拍測定装置1は、本体10と、バンド20と、を含む。図1Aに示すように、脈拍測定装置1は、腕時計のように、バンド20を被測定者の被測定部位3(たとえば、手首)に巻き回すことにより、本体を被測定者の手首に固定することができる。
脈拍測定装置1の本体10は、被測定者の被測定部位(図示しない)に対して密着して配置されて被測定部位との接触面を形成する下面13と、当該下面13の反対側に位置する上面11と、を有する。本体10は、下面13に沿った面方向に関して、そのサイズが小さく構成されたくびれ形状wを有する(図1B)。
脈拍測定装置1の本体10は、下面13の側に配置されて被測定者の脈拍を測定する脈波センサとしての脈波センサ部15と、上面11の側に配置されて脈波センサ部15によって測定された脈拍に関する情報を表示する表示部14と、を備える。下面13の側に配置された脈波センサ部15は、測定光(例えば赤外光又は近赤外光)を発光する発光ダイオードのような発光素子16と、フォトダイオード又はフォトトランジスタのような受光素子17と、を備える光学式センサである。発光素子16は、被測定部位に向けて或る発光強度で光を照射する発光部として働く。また、受光素子17は、被測定部位からの反射光又は透過光を受光する受光部として働く。
本体10が被測定部位3に密着して配置された状態で、発光素子16から発せられた測定光(例えば赤外光又は近赤外光)を被測定部位の皮下にある血管(たとえば、動脈)に照射すると、動脈を流れる赤血球によって照射光が反射され、この反射光が受光素子17で受光される。受光素子17で受光される反射光の光量は、動脈の脈動に応じて変化する。したがって、当該脈波センサ部15により、脈波情報を検出して脈拍数を計測することができる。なお、図1では、脈波センサ部15が下面13に接するように配置されているが、脈波センサ部15が本体10の内部に配置されるとともに、本体10の内部に配置された脈波センサ部15と本体10の下面13と連通する空間部を備える構成であってもよい。また、図1Aおよび図1Bに示した脈拍測定装置1は、脈波センサ部15が発光素子16と発光素子16の近傍に配置された受光素子17とから構成されて、被測定部位3からの反射光を検出するタイプのものを例示しているが、脈波センサ部15が発光素子16と発光素子16に対して対向配置された受光素子17とから構成されて、被測定部位3を透過した透過光を検出するタイプとすることもできる。
この脈拍測定装置1では、脈波センサとして光電式センサからなる脈波センサ部15を備えているので、簡単な構成で、脈拍を含む脈波情報を精度よく検知することができる。
表示部14が、本体10の上面11の側に配置されている。表示部14は、表示画面(例えば、LCD(Liquid Crystal Display)またはEL(Electroluminescence)ディスプレイなど)を含む。表示部14は、被測定者の脈拍に関する情報(例えば、脈拍数)等を表示画面に表示する。当該表示画面の制御は、表示制御部として機能する制御部31(CPU)(後述)によって行われる。
本体10を被測定者の被測定部位3に取り付けるためのバンド20は、本体10を密着保持するための本体保持部21と、被測定部位を取り巻くための取り巻き部25と、を有する。
本体保持部21には、本体10のくびれ形状wの外形サイズと略一致するように開口部が形成され、これにより、くびれ形状wの部分にて、本体10とバンド20とが係合している。
本体保持部21の一端部には、略矩形形状に屈折されたバックル部材22が取り付けられている。バックル部材22の穴23を通して、取り巻き部25の端部24が被測定部位3から外向きに挿通され、折り返されている。
取り巻き部25のうち端部24以外の部分には、外側面(被測定部位3に接する内側面と反対の面)に長手方向に延びる長めの雌側面ファスナーが設けられており、雌側面ファスナーは、端部24に取り付けられた雄側面ファスナー26と着脱自在に係合している。
このようにして、バンド20によって、本体10が被測定部位3に対して密着して保持されている。
図2は、脈拍測定装置1の機能的なブロック構成を示している。この脈拍測定装置1の本体10は、制御部(CPU)31と、記憶部32と、表示部14と、操作部34と、脈波センサ部15と、体動センサ部33と、を含む。脈拍測定装置1は、さらに、図示しない通信部を含んでもよい。その場合、脈拍測定装置1は、図示しない外部の装置との間で、データ通信を行うことができる。
制御部31は、CPU(Central Processing Unit;中央演算処理装置)およびその補助回路を含み、脈拍測定装置1を構成する各部を制御し、記憶部32に記憶されたプログラムおよびデータに従って各種の処理を実行する。すなわち、制御部(CPU)31は、操作部34、脈波センサ部15、体動センサ部33、および、図示しない通信部から入力されたデータを処理し、処理したデータを、記憶部32に記憶させたり、表示部14で表示させたり、通信部から出力させたりする。
記憶部32は、制御部(CPU)31でプログラムを実行するために必要な作業領域として用いられるRAM(Random Access Memory)と、制御部(CPU)31で実行するための基本的なプログラムを記憶するためのROM(Read Only Memory)と、を含む。また、記憶部32の記憶領域を補助するための補助記憶装置の記憶媒体として、半導体メモリ(メモリカード、SSD(Solid State Drive))などを用いることができる。この記憶部32は、被測定者毎に、脈波センサ部15によって検知された被測定者の脈拍を表す脈波信号(特にそのAC成分)を時系列で格納することができる。
操作部34は、例えば、脈拍測定装置1の電源をON又はOFFするために操作される電源スイッチと、被測定者毎の測定結果を記憶部32に保存するためにいずれの被測定者であるか、あるいは、どのような測定を行うか、を選択するために操作される操作スイッチと、を備える。なお、操作部34は、本体10の上面11の側あるいは側面12に設置することができる。
このように、脈拍測定装置1は、単独の装置として構成することが可能である。だが、図示しない通信部を備えることによって、ネットワーク上でも使用可能である。
図示しない通信部は、有線又は無線のネットワークを介して、制御部(CPU)31によって生成されたデータや記憶部32に格納されていたデータをサーバへ送信したり、サーバの制御部(図示しない)によって生成されたデータやサーバの記憶部(図示しない)に格納されていたデータを受信したりするために用いられる。ここで、サーバとあるのは、通常のサーバに加えて、例えば、パーソナルコンピュータのような据え置き型端末、あるいは、携帯電話やスマートフォンやPDA(パーソナル・デジタル・アシスタンツ)やタブレット(tablet)、および、テレビ等のAV機器のリモートコントローラのような携帯型端末、ならびに、テレビ等のAV機器に内蔵されたコンピュータを含む広い概念を意味している。
なお、脈拍測定装置1の各部へ、図示しない電源から、操作部34の電源スイッチに対するユーザの操作に応じて電力が供給される。
図3は、この脈拍測定装置1の脈波センサ部15の回路構成を例示している。この脈波センサ部15は、CPU31の制御の下で動作することにより脈波センサ部15の動作を制御する脈波センサコントローラ41を備える。
脈波センサコントローラ41は、パルス駆動回路42を制御して発光素子16をパルス駆動させる。つまり、パルス駆動回路42は、脈波センサコントローラ41から供給された駆動パルスに応じてnpn形のトランジスタがスイッチングされることにより、発光素子16の発光状態(周波数とデューティ)を制御する。
また、脈波センサコントローラ41は、発光強度制御回路43を制御して発光素子16の発光強度(すなわち駆動電流)を制御する。つまり、発光強度制御回路43は、CPU31に制御された脈波センサコントローラ41からの発光強度制御信号に応じて可変抵抗の抵抗値が変更されることにより該抵抗値によって規定される駆動電流で発光素子16を駆動して、発光素子16の発光強度を制御する。すなわち、発光素子16を流れる駆動電流が大きくなるほど、発光素子16の発光強度(すなわち発光光量)が大きくなる。
受光素子17は、受光した光の強さに応じた光電出力を出力する。脈波センサコントローラ41は上述のようにして発光素子16を制御するとともに、受光感度調整回路44を制御して受光素子17の受光感度(すなわち光電出力のゲイン)を制御する。受光感度調整回路44は、CPU31に制御された脈波センサコントローラ41からの光電出力制御信号に応じて、その可変抵抗の抵抗値を増減させることで、受光素子17からの光電出力(図5Aにおける脈波DC成分PDC)の大きさを調整する。
なお、ここでは、受光素子17からの光電出力を、脈波DC成分PDCと呼んでいる。実際には、受光素子17から出力される光電出力は一定レベル(DC成分)にAC成分が重畳された脈流であるが、その脈動の大きさは光電出力の大きさに較べて極めて小さいため、ここでは、受光素子17からの光電出力を、脈波DC成分PDCとも呼ぶこととする。
受光素子17からの光電出力(図5Aにおける脈波DC成分PDC)は、二手に分岐されて、一方がバンドパスフィルタ(BPF)45に入力され、他方がA/D変換回路(DC成分用ADC)47Dに入力される。
BPF45は、受光素子17からの光電出力PDCからAC成分を取り出す作用を有し、増幅器46は、BPF45からの出力を増幅する作用を有する。BPF45の通過帯域は、ヒトの一般的な脈拍数の範囲(30BPM〜300BPM)に対応した周波数帯域(0.5Hz〜5Hz)を含めばよい。増幅器46からは、光電出力PDCのAC成分(図5Aにおける脈波AC成分PS(t))が出力され、該出力は、A/D変換回路(AC成分用ADC)47Aに入力される。
受光素子17から出力された光電信号PDCは、A/D変換回路47Dを経て、アナログ信号からデジタル信号に変換され、ADC47Aの出力からは脈波AC成分PS(t)のデジタル信号がCPU31に入力される。脈波AC成分PS(t)のデジタル信号は、後述するように、被測定者の脈拍数の算出、および、探索強度範囲の決定に用いられる。ADC47Dの出力からは、光電信号(脈波DC成分PDC)がCPU31に入力されて、発光強度を制御するためのパラメータ等の演算処理に用いられる。
なお、本例では、ADC47A(AC成分用ADC)およびADC変換回路47D(DC成分用ADC)から出力されるデジタル信号がCPU31へ入力されるが、ADC47A,47Dは、CPU31に内蔵された態様であってもよい。
体動センサ部33は、加速度センサ48を備える。加速度センサ48は、被測定部位に作用する加速度の大きさを測定し、測定結果を増幅器49へ出力する。増幅器49の出力は、A/D変換回路(ADC)50へ入力され、ADC50からは、加速度の情報を含んだデジタル信号がCPU31へ入力される。ここでは、加速度センサ48に作用する加速度の大きさは、被測定者が行う運動の強度とよく対応していると考え、加速度センサ48の出力を、被測定者が行っている運動の強度を表す運動強度信号として利用する。
この脈拍測定装置1は、全体として、図4に示す脈拍測定方法のフローに従って動作する。
概略的には、脈拍測定装置1は、まず、測定開始時に、安静状態にある被測定者の脈拍数(安静時脈拍数)を算出する。そして、脈拍測定装置1は、次回の測定周期においては、安静時脈拍数にもとづいて、周波数領域で表された脈波信号(より具体的には、脈波AC成分)におけるスペクトル強度のピークを探索するべき周波数範囲(探索周波数範囲)と、脈波信号(より具体的には、脈波AC成分)におけるスペクトル強度のピークを探索するべき強度範囲(探索強度範囲)を決定し、探索強度範囲および探索周波数範囲の共通範囲に存在するスペクトル強度のピークを抽出し、抽出された強度ピークの周波数にもとづいて被測定者の脈拍数を算出する。それ以降の測定周期では、脈拍測定装置1は、体動センサ部から出力される被測定者が行っている運動の強度を表す運動強度信号に応じて探索周波数範囲を前回の測定で用いた探索周波数範囲からずらすとともに算出した脈拍数に応じて探索強度範囲を前回の測定で用いた探索強度範囲からずらし、探索周波数範囲および探索強度範囲にもとづいてその共通範囲を再設定して当該範囲内でスペクトル強度のピークを抽出することにより、前回の測定周期において算出された脈拍数からの脈拍数の変化を追跡するようにして今回の測定周期における脈拍数を算出する。
i) まず、ステップS1に示すように、安静状態での脈拍数を測定するため、CPU31は、体動センサ部33から出力される運動強度信号に基づいて被測定者が安静状態にあるか否か、を判断する。CPU31が、被測定者が安静状態にあると判断した場合(ステップS1における「YES」)、処理は、ステップS2に進む。そうでない場合、CPU31は、ステップS1を予め設定された周期で繰り返す。なお、ステップS1においては、CPU31は、脈波センサ部から取得した脈波信号(脈波AC成分PS(t))の周波数スペクトルを求め、スペクトル強度分布の形状から被測定者が安静状態にあるか否かを判断してもよい。
ii) 次に、ステップS2に示すように、CPU31は、脈波センサ部15から被測定者の脈拍を表す安静時の脈波信号(脈波AC成分PS(t))を取得するデータ取得部として動作する。より具体的には、データ取得部として動作するCPU31は、光電信号PDCに含まれるAC成分PS(t)を取得する。(図5Aおよび図5B参照。)
図5Aは、受光素子17から出力される光電信号(脈波DC成分PDC)の一例を示す図である。図5Aでは、横軸が時間(秒)を表し、縦軸が脈波DC成分PDCの強度(単位は任意)を表す。光電信号(脈波DC成分PDC)は、上述のように、微小なAC成分を含んだ脈流である。すなわち、脈波DC成分PDCは、組織や滞留している血液などに吸収及び散乱された光からに起因する、周期的に変動しない一定レベルの成分(直流成分)に、生体の脈動(すなわち血液の脈波)を反映して周期的に変動する成分(交流成分)PS(t)が重畳された脈流として出力される。なお、通常は、一定レベルの成分(直流成分)の大きさに比して、周期的に変動する脈波AC成分PS(t)の大きさ(振幅)は2桁程度小さい。このため、光電信号(脈波DC成分PDC)から脈波AC成分PS(t)を取り出して、データとして取り扱えるように増幅するのが望ましい。本例では、増幅器46はオペアンプを含み、CPU31の制御の下、入力抵抗と帰還抵抗との抵抗比を調整することによって、脈波AC成分の増幅ゲインを制御する。増幅器46から出力された脈波AC成分PS(t)は、ADC47Aを経て、デジタル信号の脈波AC成分PS(t)となってCPU31に入力される。
図5Bは、CPU31に入力される脈波AC成分PS(t)の波形を例示している。なお、図5Bでは、横軸が時間(秒)を表し、縦軸が脈波AC成分PS(t)の強度(単位は任意)を表す。脈波AC成分PS(t)は、生体の脈動(すなわち血液の脈波)に応じて周期的に変化している。つまり、脈波AC成分PS(t)は、被測定者の脈拍を表す脈波信号である。この脈波AC成分PS(t)は、図2中に示した記憶部32に、時系列で記憶される。
iii) 次に、図4のステップS3に示すように、CPU31は、記憶部32に記憶された時間領域の安静時の脈波信号(脈波AC成分PS(t))を周波数領域に変換し、脈波信号(脈波AC成分PS(t))の周波数スペクトル(PS(f))を求める周波数変換部として動作する。より具体的には、周波数変換部として動作するCPU31は、記憶部32に記憶された時間領域の安静時の脈波信号(脈波AC成分PS(t))を周波数領域に変換して、安静時の脈波AC成分の周波数スペクトルPS(f)を求める。この例では、CPU31は、周波数変換として動作することにより、安静時の脈波信号(脈波AC成分PS(t))について高速フーリエ変換(FFT)を行う。CPU31は、図7(b)に例示するように、時系列で記憶部32に記憶された安静時の脈波AC成分PS(t)の予め定められた或る長さの期間Td(たとえば、16秒間、8秒間、4秒間等)に含まれる安静時のAC成分PS(t)の周波数スペクトルPS(f)を求める。
図6は、周波数領域に変換された安静時の脈波AC成分PS(f)の一例を示す図である。図6では、横軸が脈拍数(単位は、BPM(30BPMが、0.5Hzに相当する。))を表し、縦軸がスペクトル強度(単位は任意)を表す。この例では、周波数領域に変換された安静時のAC成分PS(f)には、およそ60BPMに大きなピークが見られる。およそ120BPM、およそ180BPMには、その高調波成分が現れている。
iv) 次に、図4のステップS4に示すように、CPU31は、周波数スペクトルの設定された探索周波数範囲において強度ピークを抽出するピーク抽出部として動作する。測定開始時には(安静状態にある被測定者の脈拍数(安静時脈拍数)を求める場合には)、探索周波数範囲は、全周波数範囲(たとえば、30BPM〜300BPM、すなわち、0.5Hz〜5Hz)としてよい。図6の例では、CPU31は、およそ60BPMにおいて周波数スペクトルPS(f)の強度ピークを抽出する。CPU31は、およそ120BPM、およそ180BPMにおける比較的小さな強度ピークについては、およそ60BPMに現れた強度ピークの高調波成分であるとみなして捨てる。次に、CPU31は、抽出された強度ピークの周波数に応じて被測定者の安静時の脈拍数を求める脈拍数算出部として動作することにより、抽出された強度ピークの周波数(図6の場合は、1Hz)に応じて被測定者の安静時脈拍数はおよそ60BPMであると判断する。
v) 次に、図4のステップS5に示すように、CPU31は、前記周波数スペクトルの周波数軸において、強度ピークを探索するための探索周波数範囲を設定する探索周波数範囲設定部として動作する。具体的には、探索周波数範囲設定部として動作するCPU31は、前回の測定において算出された脈拍数(ここでは、安静時の脈拍数(およそ60BPM))に対し予め定められた比率範囲(たとえば、プラスマイナス20%以内)に含まれる値を、次回の測定周期のための前記探索周波数範囲に設定する。たとえば、CPU31は、前回の測定周期において算出された脈拍数(安静時脈拍数)に対してプラスマイナス20%以内にある値の範囲を次回の測定周期のための探索周波数範囲に設定する。図6のように前回の測定周期において算出された脈拍数が60BPMであれば、48BPM〜72BPMの範囲が次回の測定周期のための探索周波数範囲として設定される。
vi) 次に、図4のステップS6に示すように、CPU31は、前記周波数スペクトルの強度軸において、強度ピークを探索するための探索強度範囲を設定する探索強度範囲設定部として動作する。具体的には、探索強度範囲設定部として動作するCPU31は、前回の測定において算出された脈拍数(ここでは、安静時の脈拍数(およそ60BPM))における強度ピーク値に対し予め定められた比率範囲(たとえば、プラスマイナス20%以内)に含まれる強度ピーク値を、次回の測定周期のための前記探索強度範囲に設定する。たとえば、CPU31は、図6のように前回の測定周期において算出された脈拍数が60BPMであれば、周波数スペクトルPS(f)の60BPMでの強度値1(単位は任意)のプラスマイナス20%の範囲0.8〜1.2(単位は任意)が次回の測定のための探索強度範囲として設定される。
以降、図4のステップS7〜ステップS17にわたる処理ループは、測定開始時から数えて2回目以降の脈拍数測定にかかる処理フローである。ステップS7からステップS17に至る一連の処理が、1回の脈拍数測定で実施される。この一連の処理は、測定終了まで、所定の測定周期で(たとえば、5秒間隔(図7における時間間隔Ts))で実施される。脈拍測定装置1は、測定開始時から数えて2回目以降の脈拍数測定においては、体動センサ部33から出力される運動強度信号にもとづいて、必要に応じて探索周波数範囲を前回の探索周波数範囲からずらすとともに、算出した脈拍数に応じて探索強度範囲を直前の測定で用いた探索強度範囲からずらし、探索周波数範囲および探索強度範囲にもとづいてその共通範囲を変化させる。ピーク抽出部として動作するCPU31は、そのようにして求めた、探索周波数範囲と探索強度範囲の共通範囲に強度値が含まれるようなスペクトル強度ピークを抽出し、脈拍数算出部として動作するCPU31が、抽出されたピークの周波数に応じて、脈拍数を算出する。
vii) 図4のステップS7に示すように、CPU31は、運動強度取得部として動作し、体動センサ部33から被測定者が行っている運動の強度を表す運動強度信号を取得する。
viii) 次に、ステップS8に示すように、探索周波数範囲設定部として動作するCPU31は、前回の測定周期における被測定者の運動強度と今回の測定周期における被測定者の運動強度とを、運動強度信号に基づいて比較し、今回の測定周期における運動強度が前回の測定周期における運動強度よりも増大したか、変化しなかったか、または、低減したか、を判断する。
図7(a)は、運動強度の時間変化例(3例)と、測定周期との関係を示す図である。横軸は、時間であり、縦軸は、運動強度信号に基づいて決定された、被測定者の運動の強度である。なお、ここでの運動強度は、体動センサ部33(加速度センサ48)の出力する加速度の各時刻における値でよい。あるいは、運動強度は、加速度センサ48の出力を予め定めた時間間隔にわたって積分することによって得られる値であってもよいし、その他の予め定める計算方法によって体動センサ部33が出力する運動強度信号を処理して得られる値でもよい。たとえば、体動センサ部33(加速度センサ48)の出力から被測定者の歩行ピッチ(走行ピッチ)を求め、該ピッチを運動強度としてもよい。
第1の運動強度時間変化例WLaは、前回の測定周期における運動強度よりも今回の測定周期の運動強度が増大した場合を示す例である。第1の運動強度時間変化例WLaでは、前回の測定周期(時刻t1)において運動強度はla1であったのに対し、今回の測定周期(時刻t2)において運動強度はla2(la2:la2>la1)である。このような場合、CPU31は、ステップS8において、今周期の運動強度は直前周期の運動強度から増大するように変化した、と判断する(ステップS8における「YES」)。したがって、処理は、ステップS9へ進む。
第2の運動強度時間変化例WLbは、前回の測定周期における運動強度と今回の測定周期の運動強度との間で変化がなかった場合を示す例である。第2の運動強度時間変化例WLbでは、前回の測定周期(時刻t1)において運動強度はlb1であり、今回の測定周期(時刻t2)においても運動強度はlb2(lb2:lb2=lb1)である。このような場合、CPU31は、ステップS8において、今周期の運動強度は直前周期の運動強度から変化しなかった、と判断する(ステップS8における「NO」)。したがって、処理は、ステップS10へ進む。
第3の運動強度時間変化例WLcは、前回の測定周期における運動強度よりも今回の測定周期の運動強度が低減した場合を示す例である。第3の運動強度時間変化例WLcでは、前回の測定周期(時刻t1)において運動強度はlc1であったのに対し、今回の測定周期(時刻t2)において運動強度はlc2(lc2:lc2<lc1)である。このような場合、CPU31は、ステップS8において、今周期の運動強度は直前周期の運動強度から低減するように変化した、と判断する(ステップS8における「YES」)。したがって、処理は、ステップS9へ進む。
ix) 図4のステップS9に示すように、CPU31は、探索周波数範囲設定部として動作して、今回の測定周期における運動強度が、前回の測定周期における運動強度よりも大きい場合(図7(a)の運動強度WLaのような場合)、探索周波数範囲を、前回の探索周波数範囲よりも高周波数側(高BPM側)にずらす(シフトさせる)。
逆に、CPU31は、今回の測定周期における運動強度が、前回の測定周期における運動強度よりも小さい場合(図7(a)の運動強度WLcのような場合)、探索周波数範囲を、前回の探索周波数範囲よりも低周波数側(低BPM側)にずらす(シフトさせる)。
ステップS10に示すように、CPU31は、今回の測定周期における運動強度が、前回の測定周期における運動強度から変化していない場合(図7(a)の運動強度WLbのような場合)、探索周波数範囲を、前回の探索周波数範囲から変化させない。
図8は、図4のステップS9およびステップS10による探索周波数範囲の変更(維持)の様子を表す図である。横軸は、脈拍数(BPM)を表し、縦軸は、スペクトル強度(単位は任意)を表す。図7(b)に示す時間領域の脈波信号(脈波AC成分PS(t))のうち、t=t2−Tdからt=t2までの脈波信号PS(t)を周波数領域に変換したものが、図8における周波数スペクトルPS(f)である。また、図8の例では、探索強度範囲は、スペクトル強度PL1からPH1(PL1<PH1)までの強度幅(PH1−PL1)を有する範囲に設定されている。
図8の例では、前回の測定周期の探索周波数範囲は、周波数範囲SR1である。周波数範囲SR1は、下限周波数fL1および上限周波数fH1で規定される周波数幅(fH1−fL1)の周波数範囲であって、前回の脈拍測定では当該範囲において強度ピークの抽出が行われたものとする。
図4のステップS9において、CPU31は、今回の測定周期における運動強度が、前回の測定周期における運動強度よりも大きい場合(図7(a)の運動強度WLaのような場合)、探索周波数範囲を、前回の探索周波数範囲SR1よりも高周波数側(高BPM側)の周波数範囲SR2aにずらす(シフトさせる)。これにより、今回の測定周期における探索周波数範囲は、下限周波数fL2a(fL2a=fL1+dPb)および上限周波数fH2a(fH2a=fH1+dPt)で規定される周波数幅(fH2a−fL2a)の周波数範囲となる。ここで、dPb=dPtとしてよく、その場合、今回の探索周波数範囲の周波数幅は、前回の探索周波数範囲の周波数幅と同一となる。また、CPU31は、今回の測定周期における運動強度と前回の測定周期における運動強度との差(図7(a)における運動強度の差(la2−la1)が大きければ大きいほどに、探索周波数範囲のシフト量(図8におけるdPtおよびdPb)を大きくしてもよい。そうすることで、運動負荷の増大に伴って増加であろう脈拍数をより確実に追跡することが可能となる。
逆に、CPU31は、今回の測定周期における運動強度が、前回の測定周期における運動強度よりも小さい場合(図7(a)の運動強度WLcのような場合)、探索周波数範囲を、前回の探索周波数範囲SR1よりも低周波数側(低BPM側)の周波数範囲SR2cにずらす(シフトさせる)。これにより、今回の測定周期における探索周波数範囲は、下限周波数fL2c(fL2c=fL1−dMb)および上限周波数fH2c(fH2c=fH1−dMt)で規定される周波数幅(fH2c−fL2c)の周波数範囲となる。ここでも、dMb=dMtとしてよく、その場合、今回の探索周波数範囲の周波数幅は、前回の探索周波数範囲の周波数幅と同一となる。また、CPU31は、今回の測定周期における運動強度と前回の測定周期における運動強度との差(図7(a)における運動強度の差(lc1−lc2)が大きければ大きいほどに、探索周波数範囲のシフト量(図8におけるdMtおよびdMb)を大きくしてもよい。そうすることで、運動負荷の減少に伴って低下するであろう脈拍数をより確実に追跡することが可能となる。
図4のステップS10においては、CPU31は、今回の測定周期における運動強度が、前回の測定周期における運動強度から変化していない場合(図7(a)の運動強度WLbのような場合)、探索周波数範囲を、前回の探索周波数範囲SR1から変化させない。
x) 図4のステップS11に示すように、CPU31は、データ取得部として動作することにより、今回の測定周期にための脈波信号(脈波AC成分PS(t))の時系列データを記憶部32から取得する。たとえば、CPU31は、図7(b)のような脈波信号(脈波AC成分PS(t))の時系列データが記憶部32に記憶されている場合、時刻t2−Tdから今回の測定周期の時刻t2までの脈波信号(脈波AC成分PS(t))の時系列データを記憶部32から取得する。
xi) 次に、図4のステップS12に示すように、CPU31は、周波数変換部として動作することにより、記憶部32に記憶されデータ取得部が取得した時間領域の脈波信号(脈波AC成分PS(t))を周波数領域に変換し、脈波信号(脈波AC成分PS(t))の周波数スペクトル(PS(f))を求める。たとえば、CPU31は、ステップS11で取得した予め定められた期間Tdの脈波信号(脈波AC成分PS(t))の時系列データについて高速フーリエ変換(FFT)を行い、図8に示すような脈波信号の周波数スペクトルPS(f)を導出する。
xii) そして、図4のステップS13に示すように、CPU31は、ピーク抽出部として動作することにより、ステップS9またはステップS10で設定された今回の測定周期の探索周波数範囲(SR2a、SR2b、または、SR2c)とステップS6または前回の測定周期におけるステップS15もしくはステップS16で設定された今回の測定周期の探索強度範囲(PL1〜PH1)との共通範囲に含まれる、周波数スペクトルの強度ピーク(極大点)を抽出する。次に、CPU31は、脈拍数算出部として動作することにより、抽出された強度ピークの周波数に応じて被測定者の脈拍数を算出する。
xiii) たとえば、安静状態にある被測定者が運動を開始すると、脈拍数が増大するとともに血流が増加し、血流の増加によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうちで、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が増加することが予想される。被測定者が行っている運動の強度がさらに増大する場合も同様、脈拍数がさらに増大するとともに血流が増加し、血流の増加によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうち、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が増加することが予想される。逆に、被測定者が行っている運動の強度が低減する場合、脈拍数が低下するとともに血流が減少し、血流の減少によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうち、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が低下することが予想される。
そこで、周波数スペクトルPS(f)に含まれる血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度の強度値が変動するような場合においても、当該強度値が探索強度範囲内に含まれるようにするため、図4のステップS14に示すように、CPU31は、周波数スペクトルの強度軸において、強度ピークを探索するための探索強度範囲を設定する探索強度範囲設定部として働く。具体的には、探索強度範囲設定部としてのCPU31は、前回の測定周期における被測定者の脈拍数と今回の測定周期における被測定者の脈拍数とを比較し、今回の測定周期における脈拍数が前回の測定周期における脈拍数よりも増大したか、変化しなかったか、または、低減したか、を判断する。
図7(c)は、脈拍数の時間変化例(3例)と、測定周期との関係を示す図である。横軸は、時間であり、縦軸は、各測定周期において脈拍数算出部が算出した被測定者の脈拍数である。
第1の脈拍数時間変化例Paは、前回の測定周期における脈拍数よりも今回の測定周期の脈拍数が増大した場合を示す例である。第1の脈拍数時間変化例Paでは、前回の測定周期(時刻t1)において脈拍数はB1であったのに対し、今回の測定周期(時刻t2)において脈拍数はBa2(Ba2:Ba2>B1)である。このような場合、CPU31は、図4のステップS14において、今周期の脈拍数は直前周期の脈拍数から増大するように変化した、と判断する(ステップS14における「YES」)。したがって、処理は、ステップS15へ進む。
第2の運動強度時間変化例Pbは、前回の測定周期における脈拍数と今回の測定周期の脈拍数との間で変化がなかった場合を示す例である。第2の脈拍数時間変化例Pbでは、前回の測定周期(時刻t1)において脈拍数はB1であり、今回の測定周期(時刻t2)においても脈拍数はBb2(Bb2:Bb2=B1)である。このような場合、CPU31は、図4のステップS14において、今周期の脈拍数は直前周期の脈拍数から変化しなかった、と判断する(ステップS14における「NO」)。したがって、処理は、ステップS16へ進む。
第3の運動強度時間変化例Pcは、前回の測定周期における脈拍数よりも今回の測定周期の脈拍数が低下した場合を示す例である。第3の脈拍数時間変化例Pcでは、前回の測定周期(時刻t1)において脈拍数はB1であったのに対し、今回の測定周期(時刻t2)において脈拍数はBc2(Bc2:Bc2<B1)である。このような場合、CPU31は、図4のステップS14において、今周期の脈拍数は直前周期の脈拍数から低下するように変化した、と判断する(ステップS14における「YES」)。したがって、処理は、ステップS15へ進む。
xiv) 図4のステップS15に示すように、CPU31は、探索強度範囲設定部として動作して、今回の測定周期における脈拍数が、前回の測定周期における脈拍数よりも大きい場合(図7(c)の脈拍数Paのような場合)、探索強度範囲を、現在の探索強度範囲よりも高強度側にずらす(シフトさせる)。
逆に、CPU31は、今回の測定周期における脈拍数が、前回の測定周期における脈拍数よりも小さい場合(図7(c)の脈拍数Pcのような場合)、探索強度範囲を、前回の探索強度範囲よりも低強度側にずらす(シフトさせる)。
図4のステップS16に示すように、CPU31は、今回の測定周期における脈拍数が、前回の測定周期における脈拍数から変化していない場合(図7(c)の脈拍数Pbのような場合)、探索強度範囲を、現在の探索強度範囲から変化させない。
図9は、図4のステップS15およびステップS16による探索強度範囲の変更(維持)の様子を表す図である。横軸は、脈拍数(BPM)を表し、縦軸は、スペクトル強度(単位は任意)を表す。図7(b)に示す時間領域の脈波信号(脈波AC成分PS(t))のうち、t=t2−Tdからt=t2までの脈波信号PS(t)を周波数領域に変換したものが、図9における周波数スペクトルPS(f)である。
図9の例では、現在の測定周期の探索強度範囲は、強度範囲PR1(PL1〜PH1(PL1<PH1))である。強度範囲PR1は、下限強度値PL1および上限強度値PH1で規定される強度幅(PH1−PL1)の強度範囲であって、今回の脈拍測定では当該範囲において強度ピークの抽出が行われたものとする。
図4のステップS15において、CPU31は、今回の測定周期における脈拍数が、前回の測定周期における脈拍数よりも大きい場合(図7(c)の運動強度Paのような場合)、探索強度範囲を、現在の探索強度範囲PR1よりも高強度側の強度範囲PR2a(PL2a〜PH2a(PL2a<PH2a))にずらす(シフトさせる)。これにより、次回の測定周期における探索強度範囲は、下限強度値PL2a(PL2a=PL1+dPPb)および上限周波数PH2a(PH2a=PH1+dPPt)で規定される周波数幅(PH2a−PL2a)の強度範囲となる。ここで、dPPb=dPPtとしてよく、その場合、次回の探索強度範囲の強度幅は、今回の探索強度範囲の強度幅と同一となる。また、CPU31は、今回の測定周期における脈拍数と前回の測定周期における脈拍数との差(図7(c)における脈拍数の差(Ba2−B1)が大きければ大きいほどに、探索強度範囲のシフト量(図9におけるdPPtおよびdPPb)を大きくしてもよい。そうすることで、脈拍数の増加とともに増大するであろうスペクトル強度のピーク値をより確実に追跡することが可能となる。
逆に、CPU31は、今回の測定周期における脈拍数が、前回の測定周期における脈拍数よりも低い場合(図7(c)の運動強度Pcのような場合)、探索強度範囲を、現在の探索強度範囲PR1よりも低強度側の強度範囲PR2cにずらす(シフトさせる)。これにより、次回の測定周期における探索強度範囲は、下限強度値PL2c(PL2c=PL1−dPMb)および上限強度値PH2c(PH2c=PH1−dPMt)で規定される強度幅(PH2c−PL2c)の強度範囲となる。ここでも、dPMb=dPMtとしてよく、その場合、次回の探索強度範囲の強度幅は、今回の探索強度範囲の強度幅と同一となる。また、CPU31は、今回の測定周期における脈拍数と前回の測定周期における脈拍数との差(図7(c)における脈拍数の差(B1−Bc2)が大きければ大きいほどに、探索強度範囲のシフト量(図9におけるdPMtおよびdPMb)を大きくしてもよい。そうすることで、脈拍数の低下とともに低減するであろうスペクトル強度のピーク値をより確実に追跡することが可能となる。
図4のステップS16においては、CPU31は、今回の測定周期における脈拍数が、前回の測定周期における脈拍数から変化していない場合(図7(c)の運動強度Pbのような場合)、探索強度範囲を、現在の探索強度範囲PR1から変化させない。
よって、次回の測定周期においては、周波数スペクトルの強度軸に設定された探索強度範囲に含まれるピーク値を有するスペクトル強度ピークについて、ピーク抽出部として動作するCPU31が、ピーク抽出を行う。たとえば、図9を参照すれば、今回の測定周期において、次回の測定周期の探索強度範囲として強度範囲PR2aが設定されたとする。そして、次回の測定周期のステップS8、ステップS9、ステップS10において、探索周波数範囲として、周波数範囲SRが設定されたとする。この場合、ピーク抽出部として動作するCPU31は、探索強度範囲PR2aと探索周波数範囲SRの共通範囲Cに含まれるピーク値を有するスペクトル強度ピークを抽出する。図9の例では、ピーク抽出部として動作するCPU31は、ピークpを抽出する。その場合に、脈拍数算出部として動作するCPU31は、ピークPの周波数160BPM(=160/60ヘルツ)に応じて、脈拍数を160BPMと算出する。
xv) 図4のステップS17において、CPU31は、脈拍測定を終了するか否かを判断し、脈拍測定を継続すると判断した場合には、ステップS7に戻って次回の測定周期のための処理を行う。
以上のように、一実施形態における脈拍測定装置1は、被測定者が行っている運動の強度に基づいて脈拍の変動の傾向を予測し、予測した脈拍変動の方向性を考慮して、前回の探索周波数範囲を高周波数側あるいは低周波数側にずらしたり、前回の探索周波数範囲をそのまま維持したりして、脈拍に起因したスペクトル強度のピークを抽出する周波数範囲を設定する。また、脈拍測定装置1は、被測定者の脈拍数に基づいて脈拍に由来するスペクトル強度ピークの強度値の変動の傾向を予測し、予測した強度値変動の方向性を考慮して、現在の探索強度範囲を高強度側あるいは低強度側にずらしたり、現在の探索強度範囲をそのまま維持したりして、脈拍に由来するスペクトル強度ピークを抽出する強度範囲を設定する。そして、脈拍測定装置1は、そのようにして設定された探索周波数範囲と探索強度範囲の共通範囲に含まれる強度値を有するスペクトル強度のピークを周波数領域の脈波信号から抽出する。そうすることで、たとえ被測定者が運動を行うことにより外乱成分が脈波信号に重畳されるような場合であっても、外乱成分に起因したスペクトル強度のピークを脈拍に起因したスペクトル強度のピークであると誤認識することがなくなり(少なくとも、誤認識する頻度が低減され)、被測定者が安静状態になくても、その被測定者の脈拍数を正しく測定することが可能となっている。
なお、上述の例では、脈拍測定装置1は、脈拍数の変動から血流の増加/減少の傾向を予測し、脈拍に由来するスペクトル強度ピークを抽出するべき強度値の範囲を求めている。しかしながら、脈拍測定装置1は、体動センサ部33が出力する運動強度信号に基づいて、被測定者が行っている運動の強度の変動の傾向を把握し、把握した運動強度変動の傾向に応じて脈拍に由来するスペクトル強度ピークを抽出するべき強度値の範囲を求めてもよい。その理由は、安静状態にある被測定者が運動を開始すると、血流が増加し、血流の増加によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうちで、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が増加すると考えられるからである。また、被測定者が行っている運動の強度がさらに増大する場合も同様、血流が増加し、血流の増加によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうち、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が増加すると考えられ、逆に、被測定者が行っている運動の強度が低減する場合、血流が減少し、血流の減少によって脈波信号(脈波AC成分PS(t))の周波数スペクトルPS(f)のうち、血管の脈動に由来する変動成分に相当する周波数(脈拍数)のスペクトル強度が低下すると考えられるからである。
また、上述の例では、脈拍測定装置1は、脈拍数の変動から脈拍に由来するスペクトル強度ピークの強度値の範囲を設定するとともに、体動センサ部33が検知する被測定者の運動の強度に応じて脈拍に由来するスペクトル強度ピークを抽出するべき周波数の範囲を設定し、両範囲の共通範囲に強度値が含まれるスペクトル強度ピークを抽出している。
しかしながら、本発明の別の一実施形態による脈拍測定装置では、脈拍数に基づいて血流の増加/減少の傾向を予測し、脈拍に由来するスペクトル強度ピークを抽出するべき強度値の範囲を求め、当該強度範囲に含まれる強度値を有するスペクトル強度ピークを抽出し、抽出したスペクトル強度ピークの周波数に応じて脈拍数を算出してもよい。つまり、当該実施形態においては、体動センサ部33(図2等)が出力する運動強度信号にもとづいて探索周波数範囲の再設定を行わなくともよい。
図10は、別の一実施形態による脈拍測定装置の機能的な構成を示すブロック図である。この場合、先の実施形態による脈拍測定装置1が有する体動センサ部33(図2等)は、省略されている。
図11は、その脈拍測定装置の動作フローを示す図である。この場合、探索周波数範囲の設定にかかる処理(図4のステップS5、ステップS8、ステップS9、ステップS10に相当する処理)は、省略されている。
この脈拍測定装置におけるその他の構成および動作は、一実施形態である脈拍測定装置1の構成および動作と同様であるため、それらの詳細な説明を省略する。この脈拍測定装置も、同様に、被測定者が安静状態になくても、その脈拍数を正しく算出することができる。なお、図4のステップS5の処理に相当する処理を備え、安静時の脈拍数に基づいて、スペクトル強度ピークを探索する周波数範囲を設定してもよい。
また、上述のように体動センサ部33(図2等)を省略した場合には、図11のステップS101では、CPU31は、脈波センサ部から取得した脈波信号(脈波AC成分PS(t))の周波数スペクトルを求め、スペクトル強度分布の形状から被測定者が安静状態にあるか否かを判断してよい。あるいは、本実施形態による脈拍測定装置では、図11のステップS101を省略し、測定開始と同時に初回の測定(ステップS102〜ステップS106における安静時の脈拍数の測定)を行ってもよい。
なお、上記各実施形態における脈拍測定装置1は、非心電的に取得された脈波信号の周波数スペクトル強度分布に基づいて被測定者の脈拍数を算出する脈拍測定装置である。非心電的とは、たとえば、光電方式を指すが、これに限定されない。非心電的な方法には、光電方式のほか、圧電方式等が含まれる。
上記各実施形態における脈拍測定装置1は、脈波信号として、光電出力PDCのうち被測定者の脈拍数として想定する範囲(30BPM〜300BPM)の周期で変動する成分を取りだして利用している。しかしながら、光電出力PDCをそのまま脈波信号として利用してもよい。
また、上述の脈拍測定方法をコンピュータに実行させるためのプログラムとして構築してもよい。
また、そのようなプログラム(脈拍測定プログラム)をCD−ROMなどのコンピュータ読み取り可能な記録媒体に記録して配布できるようにしてもよい。上記脈拍測定プログラムを汎用コンピュータにインストールすることで、汎用コンピュータによって上記脈拍測定方法を実行することが可能である。
また、記憶部32に記憶されているプログラムを、メモリその他の非一時的なコンピュータ読み取り可能な記録媒体(メモリ、ハードデイスクドライブ、光ディスクなど)にエンコードしておき、汎用コンピュータに上述の脈拍測定方法を実行させてもよい。また、プログラムは、インターネット等を通じて配信されてもよい。
また、上の例では、CPU31は、周波数領域への変換として高速フーリエ変換(FFT)を行ったが、これに限られるものではない。時間領域の光電信号PDCを周波数領域に変換できるものであれば、他の変換方式を採用してもよい。
また、CPU31として、上記脈拍測定方法を実行する専用のハードウェアロジック回路を用いてもよい。つまり、データ取得部、運動強度取得部、探索周波数範囲設定部、ピーク抽出部、脈拍数算出部の少なくともいずれか1つは、専用のハードウェア回路によって実現されてもよい。
また、上の例では、図4のステップS1において被測定者が安静状態にあると判断されたとき、図4のステップS4において、脈波信号の周波数スペクトルに含まれた最大の強度ピークが示す周波数を、被測定者の安静状態の脈拍数として求めた。しかしながら、これに限られるものではない。脈波信号(脈波AC成分PS(t))のピークまたは谷の数をカウントして、脈波信号(脈波AC成分PS(t))の変動の繰り返し数から1分あたりの変動回数を求め、それに基づいて被測定者の安静状態の脈拍数を求めてもよい。
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。