(57)【要約】【課題】脈波を検出するにあたり、検出データにノイズが重畳している場合でも正確な脈拍を速やかに検出できるようにする。【解決手段】脈波計は、時系列波形をフーリエ変換してノイズを除去し、仮の周期に誤差を加味した所定の検索ウィンドウＳＷ１中の最小点を初期点Ｐ１として導出する。さらに、初期点Ｐ１を始点として仮の周期に誤差を加味した所定の検索ウィンドウＳＷ２を設定し、この範囲内で次点としての最大値Ｑ１と最小値Ｐ２とを導出する。そして、複数の最小値や最大値から脈波の周期を演算する。【選択図】図９
2007244478.tif 000002
【特許請求の範囲】
【請求項１】
検出器で検出した生体の脈波データをフーリエ変換してノイズをフィルタリングした後に逆フーリエ変換し、このとき得られる波形データに基づいて脈拍の周期を演算する脈波計であって、
逆フーリエ変換して得られた波形データの一部を検索範囲として設定する検索範囲設定部と、
前記検索範囲設定部で設定した検索範囲内で、波形データの最大値又は最小値の少なくとも一方を基準点として抽出する基準点決定部と、
２つの基準点が出現する時間間隔から脈拍の周期を演算する脈拍演算部と、
を備えることを特徴とする脈波計。
【請求項２】
前記検索範囲設定部は、既に抽出された基準点がある場合には、その基準点を始点として検索範囲を設定することを特徴とする請求項１に記載の脈波計。
【請求項３】
検索範囲における所定の検査範囲内に最大値及び最小値がない場合に、検索範囲の始点を移動させる補正部を備えることを特徴とする請求項２に記載の脈波計。
【請求項４】
生体の脈波データに周波数フィルタをかけるステップと、
フィルタを通した波形の一部を検索範囲として設定し、この検索範囲内で波形の最大値又は最小値の少なくとも一方を基準点として抽出するステップと、
検索範囲を変化させながら複数の基準点を抽出するステップと、
複数の基準点の時間間隔から脈拍の周期を演算するステップと、
を含むことを特徴とする脈波検出方法。
【請求項５】
複数の基準点を抽出するステップは、一定の時間幅の検索範囲を基準点が始点となるように設定するステップと、その検索範囲内で新しい基準点が抽出できないときに、検索範囲の始点を移動させてから新しい基準点を抽出するステップとを含むことを特徴とする請求項４に記載の脈波検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脈波を検出する装置、脈波を検出する方法に関する。
【背景技術】
【０００２】
医療用の目的などで人間の脈拍数を検出するときには、指などに装着する検出器を有し、脈拍を自動的に検出する脈波計を用いることがある。ここで、人体から得られる脈波信号は、交流成分が直流成分に比べて小さいため、所定の周波数のみを取り出して処理を行っている。この際には、検出器で取得した脈波の波形を増幅器で増幅してからフーリエ変換して周波数データを作成し、特定の周波数のデータのみをフィルタリングした後に周波数データを逆フーリエ変換する。これによって、所定のノイズ成分がフィルタによって除去された時系列の波形が得られ、この波形に基づいて脈拍が検出される（例えば、特許文献１参照）。
【特許文献１】特昭６３−１４５６３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、一般にフーリエ変換した周波数データで高い分解能を得るためには、サンプリングするデータ数を多くする必要がある。このため、短時間で検出しようとすると脈拍数と体動ノイズを分離することができず、周波数フィルタを通した後で逆フーリエ変換して時系列の波形を再生しても解析に十分な波形が得られないことがあった。つまり、従来の方法では、サンプリング時間を十分に長くして多くのデータを取得しないと検出精度を向上させることができなかった。そこで、脈波検出に要する時間を短縮できるようにすることが望まれていた。
この発明は、このような事情に鑑みてなされたものであり、検出データにノイズが重畳している場合でも正確な脈拍を速やかに検出できるようにすること主な目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決する本発明の請求項１に係る発明は、検出器で検出した生体の脈波データをフーリエ変換してノイズをフィルタリングした後に逆フーリエ変換し、このとき得られる波形データに基づいて脈拍の周期を演算する脈波計であって、逆フーリエ変換して得られた波形データの一部を検索範囲として設定する検索範囲設定部と、前記検索範囲設定部で設定した検索範囲内で、波形データの最大値又は最小値の少なくとも一方を基準点として抽出する基準点決定部と、２つの基準点が出現する時間間隔から脈拍の周期を演算する脈拍演算部と、を備えることを特徴とする脈波計とした。
この脈波計は、所定の検索範囲で最大値や最小値を抽出し、最小値や最大値が出現する時間間隔から脈拍の周期や脈拍数を演算する。
【０００５】
請求項２に係る発明は、請求項１に記載の脈波計において、前記検索範囲設定部は、既に抽出された基準点がある場合には、その基準点を始点として検索範囲を設定することを特徴とする。
この脈波計は、先に抽出した基準点を基準として次の最小値や最大値を検索するので、最小値や最大値を抽出し易い。また、周期ずれがあった場合には、その検索範囲内で最小値や最大値が検出されないので、周期ずれがあったことを早期に判定できる。
【０００６】
請求項３に係る発明は、請求項２に記載の脈波計において、検索範囲における所定の検査範囲内に最大値及び最小値がない場合に、検索範囲の始点を移動させる補正部を備えることを特徴とする。
この脈波計は、周期ずれによって最大値や最小値を抽出できない場合には、補正部で検索範囲を変更し、周期ずれの影響を受けないようにすることができる。
【０００７】
請求項４に係る発明は、生体の脈波データに周波数フィルタをかけるステップと、フィルタを通した波形の一部を検索範囲として設定し、この検索範囲内で波形の最大値又は最小値の少なくとも一方を基準点として抽出するステップと、検索範囲を変化させながら複数の基準点を抽出するステップと、複数の基準点の時間間隔から脈拍の周期を演算するステップと、を含むことを特徴とする脈波検出方法とした。
この脈波検出方法では、検索範囲内の最大値や最小値を基準点として抽出したら、検索範囲を変化させて新しい基準点をその検索範囲内の最大値又は最小値として抽出する。そして、基準点が出現する間隔から脈拍の周期を演算する。
【０００８】
請求項５に係る発明は、請求項４に記載の脈波検出方法において、複数の基準点を抽出するステップは、一定の時間幅の検索範囲を基準点が始点となるように設定するステップと、その検索範囲内で新しい基準点が抽出できないときに、検索範囲の始点を移動させてから新しい基準点を抽出するステップとを含むことを特徴とする。
この脈波検出方法は、周期ずれによって最大値や最小値を抽出できない場合には、補正部で検索範囲を変更し、周期ずれの影響を受けないようにする。
【発明の効果】
【０００９】
本発明によれば、検索範囲内の最小値や最大値に着目して脈拍の周期を演算するようにしたので、複雑な微分や積分が不要になり、迅速な処理を実現できる。この場合、周期を演算する波形にノイズが重畳している場合でも処理を行えるので、検出時間を短くした場合でも精度の良い結果が得られる。また、データ処理量を少なくできるので、装置を小型軽量化できる。
【発明を実施するための最良の形態】
【００１０】
発明を実施するための最良の形態について図面を参照しながら詳細に説明する。
図１に脈波計のブロック図を示す。脈波計１は、人体の脈波を検出する検出器２と、脈波に対して演算を行う演算部として、フーリエ変換器（ＦＦＴ）３と、周波数フィルタ４と、逆フーリエ変換器（ＩＦＦＴ）５と、パターンマッチング部６と、脈拍演算部である周期演算部７とを有し、脈拍数の検出結果が出力部８に出力されるようになっている。なお、検出器２としては、例えば、赤外線の発光素子と、血管を透過又は反射した赤外線を受光する受光素子とを備えるものがあげられる。また、出力部８は、ディスプレイや、紙などの記録媒体に出力する装置、他の装置にデータを出力する装置などがあげられる。
【００１１】
この脈波計１における処理のメインフローを図２のフローチャートを主に参照して説明する。検出器２が指にあてられたら、脈波の取り込みを開始する。取り込み時間は、予め定められており、所定の取り込み時間が経過するまで演算部は待機する（ステップＳ１０１）。取り込み時間が経過したら（ステップＳ１０１でＹｅｓ）、周波数フィルタ処理（ステップＳ１０２）を実施し、脈波に重畳したノイズを低減すると共に体動などによる低周波のうねりを軽減させる。
次に、波形パターンマッチング処理（ステップＳ１０３）を実施して脈波の周期を複数回調べる。ここで得られた周期に基づいて脈拍数の平均演算と脈拍数の分散演算（ステップＳ１０４）を行って脈拍数を決定する。さらに、現在のデータを以降の処理で活用できるように周波数スぺクトル重み付け処理（ステップＳ１０５）を実施し、脈拍数を再度検出する場合（ステップＳ１０６でＮｏ）、ステップＳ１０１に戻る。検出を終了するときには（ステップＳ１０６でＹｅｓ）、ここでの処理を終了する。
【００１２】
以下、各処理の詳細について説明する。
ステップＳ１０２周波数フィルタ処理は、フーリエ変換器（ＦＦＴ）３と、周波数フィルタ４と、逆フーリエ変換器（ＩＦＦＴ）５とで行われる。周波数フィルタ処理の詳細を図３に示す。周波数フィルタ処理（ステップＳ１０２）では、最初にフーリエ変換器３がＦＦＴ処理するときのデータサイズ（ＦＦＴサイズ）を決定する（ステップＳ２０１）。
【００１３】
そして、ＦＦＴサイズの範囲内で取得した脈波の時系列波形のデータに対してＦＦＴ処理（直行変換）を実施し（ステップＳ２０２）、周波数スペクトルを取得する。この周波数スペクトルは周波数フィルタ４に受け渡され、人体の脈拍の周波数に相当する０．５〜３．０Ｈｚの範囲の信号のみが抽出される（ステップＳ２０３）。抽出した信号に対してスペクトル移動平均処理（ステップＳ２０４）を実施し、過去のデータ（図２のステップＳ１０５で重み付けをしたデータ）を用いて移動平均を演算する。移動平均は、例えば、過去のデータに対して現在のデータに３倍の重み付けを持たせて平均をとる。移動平均を取得することで、外乱などによる不規則な変動の影響を抑え、脈拍数の検出結果が急激に変動することを防止する。
【００１４】
さらに、移動平均後の信号に対してスペクトル最大値検索（ステップＳ２０５）を実施し、最大ピークの周波数を抽出し、この周波数から仮の周期Ｔａを演算する。ここまでの処理が終了したら、逆フーリエ変換器５で逆フーリエ変換（ＩＦＦＴ）処理（ステップＳ２０６）を実施し、周波数スペクトルから時系列波形に直行変換する。
【００１５】
ここまでの処理の具体例を図４から図６を参照して説明する。
まず、図４は、ＦＦＴサイズ内で得られたアナログの時系列波形を示す。横軸に時間経過を示し、縦軸に信号強度を示す。脈拍に起因する周期的な波に、体動等によるノイズやうねりが重畳されたデータになっている。この時系列波形をフーリエ変換器３で直行変換すると図５に示すようなスペクトルが得られる。横軸は周波数を示し、縦軸は振幅（強度）を示す。通常の人間の脈拍の周波数である０．５Ｈｚから３．０Ｈｚの間に最も強度が大きいピーク信号があり、ピーク信号の強度が、他の信号よりも２倍の強度を有すれば次の処理に進む。０．５Ｈｚから３．０Ｈｚのデータのみを抽出するときには、周波数フィルタ４で０．５Ｈｚ未満の信号、及び３．０Ｈｚ以上の信号にマスクし、マスク後の周波数スペクトルに対して逆フーリエ変換器５で直行変換（逆フーリエ変換）する。これによって、図６に示すような時系列波形が作成される。この時系列波形は、当初の時系列波形（図４参照）に比べてノイズが低減されると共に低周波のうねりが軽減されている。
【００１６】
次に、図２の波形パターンマッチング処理（ステップＳ１０３）の詳細について図７を参照して説明する。ここでの処理は、検索範囲設定部、基準点決定部として機能するパターンマッチング部６において行われる。
最初にリミットをＦＦＴデータサイズに設定すると共に、ステータスに初期値として「０」を設定し（ステップＳ３０１）、検索範囲の設定（ステップＳ３０２）を実施する。検索範囲としては、例えば、スペクトル最大値検索（図３に示すステップＳ２０５）で設定された仮周期Ｔａに許容誤差を加算した時間を算出する。この時間領域が以下の処理で初期点などの検索範囲（検索ウィンドウＳＷ）になる。なお、許容誤差は、仮周期Ｔａの２５％に相当する値を取得すると精度の良い結果が得られるが、これに限定されず例えば、２０〜３５％の範囲内の値を採用しても良い。さらに、被測定者の脈拍の安定状態に対応して許容誤差を可変させてもよい。例えば、脈拍が不安定な場合は、許容誤差を大きくとり、安定するにつれて許容誤差を小さくするようにしてもよい。
【００１７】
さらに、検索ウィンドウＳＷが時系列波形の終点に達しているか境界チェックを行い（ステップＳ３０３）、終点に達していたらここでの処理を抜ける。初期段階では、検索ウィンドウＳＷは終点に達していないので、ステップＳ３０３に進んでステータスチェックを実施する（ステップＳ３０４）。処理の初期段階ではステータスが「０」であるので、初期点導出処理（ステップＳ３０５）を実施する。初期点導出処理では、仮周期Ｔａ内で最も信号強度が低い点を初期点Ｐ１（第一の基準点）に定める。また、初期点導出処理では、初期点Ｐ１の適合性もチェックする。すなわち、初期点Ｐ１として認められたデータが、検索ウィンドウＳＷの始点から所定のエラー範囲内や、検索ウィンドウＳＷの終点から所定のエラー範囲内にある場合には、実際には下り勾配の途中であるのに最小値とみなす危険があるので、初期点Ｐ１がこの範囲内にあった場合には不適合と判定する。なお、エラー範囲とは、例えば、検索ウィンドウＳＷの時間範囲の５％に相当する大きさを有する。この値は、計測条件に応じて、例えば、２％から７％の範囲で変更することが可能である。なお、健常者でない場合にはこの限りでなく、エラー範囲をより大きな範囲とすることも考えられる。
【００１８】
具体的には、例えば図６に示すように、時系列波形の始点から開始する検索ウィンドウＳＷ１を設定し、この検索ウィンドウＳＷ１内で信号強度が最小になる点Ｐ１を抽出する。点Ｐ１は、検索ウィンドウＳＷ１の最初のエラー範囲Ｅ１や、最後のエラー範囲Ｅ２には存在しないので、この点Ｐ１を初期点とする。
【００１９】
以降の処理は、図７に示すように、初期点Ｐ１を導出（ステップＳ３０５）したときに判定した初期点Ｐ１の適合性のチェック結果に応じて処理が分かれる（ステップＳ３０６）。チェック結果が不適合であった場合（ステップＳ３０６でＮｏ）については、後述するものとし、初期点Ｐ１が適合である場合（ステップＳ３０６でＹｅｓ）について説明する。
この場合には、初期点Ｐ１は適合であるとみなし、初期最小点保持処理（ステップＳ３０７）を実施する。初期最小点保持処理では、初期点Ｐ１をメモリに保持する処理と、新しい検索ウィンドウＳＷとして、初期点Ｐ１を始点として仮周期Ｔａに許容誤差を加えた領域を設定する処理と、ステータスを「１」に設定する処理とを行う。これらの処理が終了したら、ステップＳ３０３に戻る。なお、ステータスの「１」は、初期点Ｐ１が定まり、かつ適合性が認められたことを示す。
【００２０】
初期最小点保持処理から戻るステップＳ３０３で処理を続行するときには、ステップＳ３０４のステータスチェックから次点導出処理（ステップＳ３１０）に進む。
ステップＳ３１０の次点導出処理の詳細を図８及び図９を例にして説明する。図８に示すように、新しい検索ウィンドウＳＷ２を設定したら、図９に示すように検索ウィンドウＳＷ２中で最小点Ｐ２を次点（第２の基準点）として導出し、この最小点Ｐ２の適合性を前記と同様にして判定する。ただし、最小点Ｐ２を検索する範囲（検査範囲）は、検索ウィンドウＳＷの７５％から１００％に相当する最小値検索範囲ＳＬ２内とする。また、この最小値検索範囲ＳＬ２内においてもエラー範囲を設定し、下り勾配の途中を最小値とみなさないようにする。
さらに、新しい検索ウィンドウＳＷ２中の最大値Ｑ１を導出し、この最大値Ｑ１の適合性を前記と同様にして判定する。ただし、最大値Ｑ１を検索する範囲（検査範囲）は、検索ウィンドウＳＷ２の始点から検索ウィンドウＳＷ２の４５％に相当する時間までに相当する最大値検索範囲ＳＵ２内とする。また、この最大値検索範囲ＳＵ２内においてもエラー範囲Ｅ１，Ｅ２を設定し、上がり勾配の途中を最大値とみなさないようにする。
【００２１】
そして、最小点Ｐ２の適合性と、最大値Ｑ１の適合性の両方を満たす場合には、次点導出処理全体としての適合性が認められたものとし、それ以外の場合は不適合とみなす。これは、先の処理で設定した初期点Ｐ１を基準点にした場合、検索ウィンドウＳＷの後半２５％に相当する範囲内に最小点Ｐ２が現れなければ周期ずれを起こしているとみなせるからである。同様に、先の処理で設定した初期点Ｐ１を基準点にした場合、検索ウィンドウＳＷの前半４５％に相当する範囲内に最大値Ｑ１が現れなければ周期ずれを起こしているとみなせるからである。
【００２２】
以降の処理は、図７に示すように、適合性のチェック結果に応じて処理が分かれる（ステップＳ３１１）。不適合と判定された場合（ステップＳ３１１でＮｏ）については、後述するものとし、次点が適合である場合（ステップＳ３１１でＹｅｓ）について説明する。
この場合には、最小点間時間の導出・保持処理（ステップＳ３１２）を実施する。ここでは、例えば、初期点Ｐ１から次点の最小値Ｐ２までの時間を演算し、演算結果を脈拍の周期として記憶する。また、次点の最小値Ｐ２を次の周期を求める演算の始点として登録し、検索ウィンドウＳＷ分だけずらした領域を新しい検索ウィンドウＳＷに設定する。
【００２３】
続いて実施される波形の妥当性の検証処理（ステップＳ３１３）では、最小値Ｐ１又は最小値Ｐ２と最大値Ｑ１の信号強度の差（波高値）を調べ、過去の波高値と比較する。最初の処理では過去の波高値は存在しないが、２回目以降の処理では、このプロセスが実施される。波高値が予め設定されている許容誤差内であれば、妥当であるとみなし、ステップＳ３１４からステップＳ３０３に戻る。この場合には、前記した処理を繰り返して、その都度ステップＳ３１２で周期を演算する。一方、現在の波高値が過去の波高値に対して大きく異なる場合には、波形の妥当性エラーとして、ステップＳ３１４からステップ３１５に進む。
【００２４】
ここで、前記した処理で不適合とみなされた場合（ステップＳ３０６、Ｓ３１１、Ｓ３１４のそれぞれでＮｏ）には、パターンマッチング部６が補正部として機能してエラー補正処理（ステップＳ３１５）を実行する。この処理では、仮周期Ｔａの２５％分だけ検索ウィンドウＳＷを進める。さらに、ステータスを「０」に設定して初期点導出からやりなおす。
そして、検索ウィンドウＳＷがＦＦＴサイズの終点に達したら、ここでの処理を終了して図２のメインフローに戻る。
【００２５】
次に、図２の脈拍数分散演算処理（ステップＳ１０４）について説明する。この処理は周期演算部７において実施される処理であり、波形パターンマッチング処理（ステップＳ１０３）で算出した周期の平均値（平均周期）と、分散値とを演算する。そして、周期演算部７は、平均周期から脈拍数を演算して、出力部８に出力する。
【００２６】
その後、周期演算部７は、周波数スペクトル重み付け処理（ステップＳ１０５）を実施し、次に周波数フィルタ処理（ステップＳ１０２）でＦＦＴデータの移動平均を取得するための処理を行う。まず、ＦＦＴしたときの周波数スペクトルにおいて平均周期に相当するピーク周波数と、ピーク周波数から１つ離れた周波数（両隣りの周波数）、及びピーク周波数から２つ離れた周波数に対して、予め設定されている重み付けを行う。例えば、ピーク周波数は１．２５倍とし、１つ離れた周波数は１．１倍、２つ離れた周波数は１．０５倍とする。そして、これらのデータを連続して脈拍を検出するときに、過去のＦＦＴデータとして使用する。なお、重み付けの係数や、過去のＦＦＴデータとして保持する周波数の範囲は、これに限定されない。
【００２７】
この実施の形態によれば、脈拍を検出するにあたり、所定の時間幅で検索ウィンドウＳＷを設定し、この検索ウィンドウＳＷ内で最小値を求め、この最小値を基準点にして次の最小値や最大値を求める処理（波形のパターンマッチング）を行って脈拍の周期を演算するようにしたので、微分や積分を行う場合に比べて簡単に演算が行える。さらに、逆フーリエ変換後の波形データにノイズが載っていた場合には脈波の立ち上がりを特定することが困難であるが、この実施の形態では前記した波形のパターンマッチによってノイズの有無を評価することなく周期を推定することができるので、検出精度を向上させることができる。このため、少ないサンプリングデータ数であっても必要な検出精度を確保できるようになり、検出時間を短縮できる。周期ずれが生じていた場合でも、エラー補正処理を実施して補正することができるので、検出精度を向上できる。また、データ処理量を少なくできるので、ハードウェア資源を節約することができ、装置の小型軽量化や、低コスト化が図れる。このような効果は、指などのように心臓から離れ、外乱の影響を受け易い抹消部位で検出を行う場合に顕著に現れる。
【００２８】
なお、本発明は前記の実施の形態に限定されずに広く応用することができる。
例えば、波形のパターンマッチング処理（ステップＳ１０３）は、最小値を基準点にして処理をする代わりに、最大値を基準点にして処理をしても良い。また、周期の計算には、最大値の出現間隔から算出することもできるし、連続する最小値と最大値の出現間隔から算出しても良い。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係る脈波計の構成を示すブロック図である。
【図２】脈波検出におけるメインのフローチャートを示す図である。
【図３】周波数フィルタ処理の詳細を示すフローチャートである。
【図４】検出器から得られる時系列波形の一例を示す図である。
【図５】時系列波形をフーリエ変換して得られる周波数スペクトルの一例を示す図である。
【図６】初期点を導出する処理を説明する図である。
【図７】波形パターンマッチング処理の詳細を示すフローチャートである。
【図８】次点を導出する処理を説明する図である。
【図９】次点を導出する処理を説明する図である。
【符号の説明】
【００３０】
１      脈波計
２      検出器
３      フーリエ変換器（ＦＦＴ）
４      周波数フィルタ
５      逆フーリエ変換器（ＩＦＦＴ）
６      パターンマッチング部（検索範囲設定部、基準点決定部、補正部）
７      周期演算部（脈拍演算部）
Ｓ１０４      脈拍数分散演算（脈拍演算部）
Ｓ３０２      検索範囲の設定（検索範囲設定部）
Ｓ３０５      初期点導出（基準点決定部）
Ｓ３１０      次点導出（基準点決定部）
Ｓ３１５      エラー補正（補正部）
Ｐ１      初期点（最小値、基準点）
Ｐ２      最小値（基準点）
Ｑ１      最大値（基準点）
ＳＷ，ＳＷ１，ＳＷ２      検索ウィンドウ（検索範囲）
ＳＬ２      最小値検索範囲（所定の検査範囲）
ＳＵ２      最大値検索範囲（所定の検査範囲）
【図１】
2007244478.tif 000003
【図２】
2007244478.tif 000004
【図３】
2007244478.tif 000005
【図４】
2007244478.tif 000006
【図５】
2007244478.tif 000007
【図６】
2007244478.tif 000008
【図７】
2007244478.tif 000009
【図８】
2007244478.tif 000010
【図９】
2007244478.tif 000011