(57)【特許請求の範囲】
【請求項１】
二つの整数データの和又は差を演算し出力する加減算手段と、これらの加減算手段の出力と正弦波及び余弦波データとを乗ずる乗算手段と、それぞれの乗算手段の出力の和又は差を演算する加減算手段とを有する高速フーリエ変換演算器において、
前記加減算手段が二つの整数データの和又は差を演算する前にデータを一定ビット幅に桁揃えするデータシフト手段と、各演算手段の出力毎に出力データの一部ビットを切り捨て前記一定ビット幅に桁揃えするデータ変換手段とを有することを特徴とする高速フーリエ変換演算器。
【請求項２】
請求項１において、前記正弦波及び余弦波データは、前記各演算手段の入力ビット幅がｎビットの場合には、実数の正弦波及び余弦波データを２n-1 倍し、正の数は切り捨て負の数は切り上げた整数で、かつ符号を除くビットがｎ−１ビットの範囲で表現されるように数値変換されたものであることを特徴とする高速フーリエ変換演算器。
【請求項３】
請求項１において、前記データ変換手段は、前記乗算手段の出力又は前記加減算手段の出力のうちいずれか一方の出力をデータ変換する際に、出力データのうち符号を除くビットの最上位ビットを切り捨てるように構成されていることを特徴とする高速フーリエ変換演算器。
【請求項４】
請求項１において、前記データシフト手段は、高速フーリエ変換演算対象データの大きさに応じてデータシフト量を調整するシフト量調整手段を有することを特徴とする高速フーリエ変換演算器。
【請求項５】
請求項４に記載の高速フーリエ変換演算器を備えた高速フーリエ変換演算装置において、
時系列に入力されるデータを順次記憶する第一記憶手段と、高速フーリエ変換演算対象データ及び演算中のデータを記憶する第二記憶手段と、前記第二記憶手段に記憶されているデータの大きさを判定するレベル判定手段と、演算用の正弦波及び余弦波データを格納している第三記憶手段とを有し、
前記第二記憶手段と前記第三記憶手段のデータを用いて前記高速フーリエ変換演算器で高速フーリエ変換演算を行うと共に、
前記第一記憶手段に所定のデータ数が記憶された後、前記第二記憶手段に高速フーリエ変換演算対象データを転送するのと同時に、転送されたデータの大きさをレベル判定手段によって判定し、前記判定レベルに基づき前記シフト量調整手段がデータシフト量を調整するように構成されていることを特徴とする高速フーリエ変換演算装置。
【請求項６】
請求項１ないし４のいずれかに記載の高速フーリエ変換演算器を備えた高速フーリエ変換演算装置において、
信号検出手段で検出された検出信号を増幅する増幅手段と、前記増幅手段の増幅率を可変させるゲインコントロール手段と、信号変換手段によってデジタル信号に変換された前記増幅手段の出力信号を順次記憶する第一記憶手段と、高速フーリエ変換演算対象データ及び演算中のデータを記憶する第二記憶手段と、前記第二記憶手段に記憶されているデータの大きさを判定するレベル判定手段と、演算用の正弦波及び余弦波データを格納している第三記憶手段とを有し、
前記第二記憶手段と前記第三記憶手段のデータを用いて高速
フーリエ変換演算器で高速フーリエ変換演算を行うと共に、
前記第一記憶手段に所定のデータ数が記憶された後、前記第二記憶手段に高速フーリエ変換演算対象データを転送するのと同時に、転送されたデータの大きさのレベルを前記レベル判定手段で判定し、前記判定結果に基づき前記ゲインコントロール手段によって前記増幅手段の増幅率を可変するように構成されていることを特徴とする高速フーリエ変換演算装置。
【請求項７】
請求項１ないし４のいずれかに記載の高速フーリエ変換演算器を用いて、脈波検出センサによって計測した脈波信号に周波数分析を行い、該周波数分析結果に基づいて脈拍数を求めるように構成されていることを特徴とする脈拍計。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、時間推移とともに得られる信号の処理解析に使用する高速フーリエ変換（以下、ＦＦＴと記す。）に用いる演算器、このＦＦＴ演算器を用いた高速フーリエ変換演算装置（ＦＦＴ演算装置）、及び前記ＦＦＴ演算器を用いた脈拍計に関するものである。
【０００２】
【従来の技術】
ＦＦＴ演算対象データＮが２S で表されるとき、基数２のバタフライ演算をＳ回繰り返すことによりＦＦＴ結果を得ることができる。データ数がＮで基数が２の周波数間引き型のバタフライ演算式は、
Ｘ＝ｘ＋ｙ、Ｙ＝（ｘ−ｙ）ＷK
但し、ＷK ＝ｅｘｐ（−２πｊ／Ｎ）
で表され、これを複素数演算を用いずに、実部と虚部に分離して表現すると、以下の４つの式となる。
【０００３】
【数１】
0003665423.tif 000002
【０００４】
このため、前記４つの式を、加算器、減算器、乗算器より構成されるバタフライ演算器で実現し、これを繰り返し使用すると、ＦＦＴ結果が得られる。但し、正弦波及び余弦波データは−１〜１の実数である。ＦＦＴ演算の精度は、上記各演算器のビット長及びデータ形式によって決まる。従来は演算精度を保つため、特公昭６０−４１３９１号公報や特開平５−１７４０４６号公報に開示されているように、浮動小数点による演算を行うことがある。また、固定小数点による演算の場合には、特開昭６０−７５７５号公報に開示されているように、オーバーフローをチェックし演算結果をビットシフトするなどの方法により演算精度を確保している。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来のように、浮動小数点による演算あるいは固定小数点による演算で高い演算精度を得ようとした場合には、最低でも１６ビット長以上のデータ長を処理できる演算器が必要となるため、小規模回路でＦＦＴ演算を実現するのは困難であるという問題点がある。
【０００６】
また、少ないデータ長で高い演算精度を得るために、演算過程においてオーバーフローをチェックし、演算結果をビットシフトする手法では、各演算過程において演算結果をチェックする機能が必要となり、その分、回路規模が増大するという問題点があった。
【０００７】
そこで、本発明の課題は、演算過程において演算結果をチェックするような特別な機能がなくても、１０ビット長程度のデータ表現でも演算精度を確保できるようにして、最小限の回路規模で演算精度を確保できるＦＦＴ演算器及びＦＦＴ演算装置を実現することにある。
【０００８】
また、本発明の課題は、このようなＦＦＴ演算器を用いて周波数分析を行い、その周波数分析結果から脈拍数を求める脈拍計を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、本発明は、その代表的な構成を図１ないし図３に示すように以下のような手段を講じる。
【００１０】
まず、図１に示すように、請求項１に記載の発明では、二つの整数データの和又は差を演算し出力する加減算手段（５、６）と、これらの出力と正弦波及び余弦波データ（７）とを乗ずる乗算手段（８、９）と、それぞれの乗算手段（８、９）の出力の和又は差を演算する加減算手段（１０）とを有する高速フーリエ変換演算器において、
前記加減算手段（５、６）が二つの整数データの和又は差を演算する前にデータを一定ビット幅に桁揃えするデータシフト手段（１〜４）と、各演算手段（５、６、８、９、１０）の出力毎に出力データの一部ビットを切り捨て前記一定ビット幅に桁揃えするデータ変換手段（１０〜１５）とを有することを特徴とする。
【００１１】
本発明では、データシフト手段（１〜４）とデータ変換手段（１１〜１５）による一定ビット幅への桁ぞろえにより、オーバーフローを監視する必要がなくなる。従って、複雑なコントロール手段をなくしても高い演算精度でＦＦＴ演算を行えるので、小規模なＦＦＴ演算器（２３）が可能となる。
【００１２】
この請求項１に係る発明において、ＦＦＴ演算器（２３）中の演算手段の入力ビット幅がｎビットの場合、正弦波及び余弦波データについては、実数の正弦波及び余弦波データを２n-1 倍し、正の数は切り捨て、負の数は切り上げた整数で所有することにより、他の型式で所有するよりはＦＦＴ演算過程における切り捨て誤差を小さくすることができる。また、符号を除くビットがｎ−１ビットの範囲で表現されるように数値変換されたデータを使用することにより、ＦＦＴ演算を行う際の切り上げによる桁落ちを防止できる。
【００１３】
また、請求項１に係る発明において、前記データ変換手段（１１〜１５）は、前記乗算手段（８、９）の出力又は前記加減算手段（１０）の出力のうちいずれか一方の出力をデータ変換する際に、出力データのうち符号を除くビットの最上位ビットを切り捨てることが望ましい。このように構成すると、実部の演算に比して演算回数の多い虚部の演算過程の中で、最も演算精度の劣化を招かない演算過程で切り捨て・切り上げを行い、そのデータシフト量を調整することになる。従って、実部の演算結果を求める際のシフト量と同一とすることにより、高い演算精度を確保することが可能となる。
【００１４】
また請求項１に係る発明において、データシフト手段（１〜４）は、ＦＦＴ演算対象データの大きさに応じデータシフト量を調整するシフト量調整手段を有することが望ましい。このように構成すると、さらにＦＦＴ演算対象データに適合したシフト量が設定されるため、演算時の有効桁数を大きく得られる。それ故、演算精度を向上させることができる。
【００１５】
請求項５に記載の発明は、請求項４に記載のＦＦＴ演算器（２３）を備えたＦＦＴ演算装置に関するものである。
【００１６】
このＦＦＴ演算装置は、図２に示すように、時系列に入力されるデータを順次記憶する第一記憶手段（２０）と、ＦＦＴ演算対象データ及び演算中のデータを記憶する第二記憶手段（２１）と、第二記憶手段（２１）に記憶されているデータの大きさを判定するレベル判定手段（２４）と、演算用の正弦波及び余弦波データを格納している第三記憶手段（２２）とを有し、
第二記憶手段（２１）と第三記憶手段（２２）のデータを用いてＦＦＴ演算器（２３）によってＦＦＴ演算を行うと共に、
第一記憶手段（２０）に所定のデータ数が記憶された後、第二記憶手段（２１）にＦＦＴ演算対象データを転送するのと同時に、転送されたデータの大きさをレベル判定手段（２４）によって判定し、この判定レベルに基づき請求項４記載の前記シフト量調整手段がデータシフト量を調整することを特徴とする。
【００１７】
このように構成すると、第一記憶手段（２０）に所定のデータ数が記憶された後、第二記憶手段（２１）にデータを転送するのと同時に、転送されたデータの大きさをレベル判定手段（２４）によって判定するため、シフト量調整のために行うレベル判定に別途時間をかける必要がなくなる。
【００１８】
請求項６に記載の発明は、請求項１ないし４のいずれかに記載のＦＦＴ演算器（２３）を備えたＦＦＴ演算装置に関するものである。
【００１９】
このＦＦＴ演算装置は、図３に示すように、信号検出手段（３０）で検出された検出信号を増幅する増幅手段（３１）と、この増幅手段（３１）の増幅率を可変させるゲインコントロール手段（３３）と、信号変換手段（３２）によってデジタル信号に変換された前記増幅手段（３１）の出力信号を順次記憶する第一記憶手段（２０）と、高速フーリエ変換演算対象データ及び演算中のデータを記憶する第二記憶手段（２１）と、この第二記憶手段（２１）に記憶されているデータの大きさを判定するレベル判定手段（２４）と、演算用の正弦波及び余弦波データを格納している第三記憶手段（２２）とを有し、
前記第二記憶手段（２１）と前記第三記憶手段（２２）のデータを用いて高速フーリエ変換演算器（２３）で高速フーリエ変換演算を行うと共に、
前記第一記憶手段（２０）に所定のデータ数が記憶された後、前記第二記憶手段（２１）に高速フーリエ変換演算対象データを転送するのと同時に、転送されたデータの大きさのレベルを前記レベル判定手段（２４）で判定し、この判定結果に基づき前記ゲインコントロール手段（３３）によって前記増幅手段（３１）の増幅率を可変させることを特徴とする。
【００２０】
このように構成すると、ゲインコントロール手段（３３）によって、レベル判定手段（２４）で判定したレベルに基づき増幅手段（３１）の増幅率を適正な増幅率に可変させることができる。このため、デジタル信号に変換される前の検出信号自身をアナログ的にＦＦＴ演算に適合した大きさにコントロールすることができるので、連続的にＦＦＴ演算を実施する場合に次回以降のＦＦＴ演算結果における演算精度を向上させることができる。
【００２１】
このように構成したＦＦＴ演算器やＦＦＴ演算装置を用いれば、脈波信号に周波数分析を行い、該周波数分析結果から脈拍数を求めるような脈拍計を構成することができる。
【００２２】
【発明の実施の形態】
図面を参照して、本発明の実施の形態を説明する。
【００２３】
［第一の実施形態］
図４に本実施形態のＦＦＴ演算装置の機能ブロック図を示してあり、このＦＦＴ演算装置には、本発明の代表的な例として図１に記載したＦＦＴ演算器２３が用いられている。このＦＦＴ演算器は、図４にＦＦＴ演算器１０２として記載され、その詳細な構成については図５と図６の２つの図に分けて記載してある。
【００２４】
図４、図５及び図６に示す各構成要素は、図１に記載した各構成要素に対して以下のように対応する。まず、図４に示す係数ＲＯＭ１０１の内容は、図１に示した正弦波・余弦波データ７に対応する。また、図５に示すデータシフト回路２０１は、図１に示したデータシフト手段１〜４に対応し、図５に示す加算器２０８、２０９及び減算器２１０、２１１は、図１に示した加減算手段５、６に対応し、図５に示すデータ変換器２１２〜２１５は、図１に示したデータ変換手段１１、１２に対応し、図５に示す乗算器２１６〜２１９は、図１に示した乗算手段８、９に対応する。また、図６に示すデータ変換器２２０〜２２３は、図１に示したデータ変換手段１３、１４に対応し、図６に示す加算器２２４及び減算器２２５は、図１に示した加減算手段１０に対応し、図６に示すデータ変換器２２６、２２７は、図１に示したデータ変換手段１５に対応する。
【００２５】
図４ないし図６を参照して、ＦＦＴ演算器１０２中の各演算器の入力ビット長が１０ビット（符号１ビット＋絶対値データ９ビット）の場合を例に、本形態のＦＦＴ演算装置を説明する。ここで、ＦＦＴ演算対象データは１２８データで、８ビット符号付き絶対値（符号ビット１ビット＋絶対値データ７ビット）の型式で、時系列順にＲＡＭに格納されているものとする。ＦＦＴ演算対象データ数が１２８の場合には、バタフライ演算を７回繰り返すことによりＦＦＴ結果が得られる。
【００２６】
そして、各演算器の入力ビット長が１０ビット（符号１ビット＋絶対値データ９ビット）のため、正弦波・余弦波データの集合体である三角関数テーブルはＣ・ｓｉｎ（２πＫ／Ｎ）（Ｃ＝±２9 、Ｋ＝０〜１２７）の値を１０ビット（符号ビット１ビット＋絶対値データ９ビット）で持たせる。但し、Ｃ・ｓｉｎ（２πＫ／Ｎ）が＋２9 及び−２9 の場合は絶対値データビットが１０ビットとなってしまうため、本形態では＋２9 の時は２9 −１の値を、−２9 の時は−（２9 −１）の値を三角関数テーブルのデータとして係数ＲＯＭに持たせることとする。
【００２７】
図４ないし図６において、ＦＦＴ演算対象データはＲＡＭ１０３に格納されており、ＲＡＭ１０３に格納されているデータは、ＦＦＴ演算器１０２内のデータシフト回路２０１を通ってｘｒ、ｘｉ、ｙｒ、ｙｉのデータとしてレジスタ２０２〜２０５にセットされる。データシフト回路２０１は、ＲＡＭ１０３に格納されているＦＦＴ演算対象データを、演算器入力ビット長に合うようにデータをシフトする。本形態では、データシフト回路２０１は、ＦＦＴ演算対象データ８ビットを２ビット左シフトし、データのなくなった下位２ビットは０を埋めることで、演算器入力ビット長の１０ビットに桁ぞろえしたデータを出力する。但し、このデータシフト回路２０１が動作するのは、７回繰り返されるバタフライ演算の１回目のみであり、残り６回はデータシフト機能は動作せず、入力データがそのまま出力される。このようなコントロールはＦＦＴ制御回路１０４からの制御信号１０８によって行われる。なお、データシフト回路２０１は、図７に示すように論理回路により構成されている。
【００２８】
再び図４ないし図６において、レジスタ２０２〜２０５にラッチされたデータは加算器２０８、２０９及び減算器２１０、２１１に入力される。加算器２０８、２０９及び減算器２１０、２１１は、１０ビット入力・１１ビット出力の演算器（そのうち最上位ビットは符号ビット）で、出力の１１ビットデータがデータ変換器２１２〜２１５に入力される。
【００２９】
データ変換器２１２〜２１５では、最下位ビットが切り捨てられ、上位１０ビットデータが次段に送られる。データ変換器２１２の出力はＸＲ（ＸＲ＝ｘｒ＋ｘｉ）であり、データ変換器２１３の出力はＹＲ（ＹＲ＝ｙｒ＋ｙｉ）であり、それぞれセレクタ２２８に送られる。また、データ変換器２１４の出力はＡ（Ａ＝ｘｒ−ｘｉ）であり、データ変換器２１５の出力はＢ（Ｂ＝ｙｒ−ｙｉ）であり、それぞれ乗算器２１６〜２１９の片側に入力される。
【００３０】
次に、係数ＲＯＭ１０１からＣ・ｓｉｎ（２πＫ／Ｎ）、Ｃ・ｃｏｓ（２πＫ／Ｎ）の値がそれぞれレジスタ２０６、２０７にセットされ、乗算器２１６〜２１９のもう一方にはこの値が入力される。乗算器２１６〜２１９は１０ビット入力（そのうち最上位ビットは符号ビット）・１９ビット出力（そのうち最上位ビットは符号ビット）の演算器であるが、データ変換器２２０〜２２３で上位１０ビットがデコードされ次段に送られる。
【００３１】
データ変換器２２０〜２２３の出力は、
データ変換器２２０の出力＝Ａ・ＣＯＳ（２πＫ／１２８）
データ変換器２２１の出力＝Ａ・ＳＩＮ（２πＫ／１２８）
データ変換器２２２の出力＝Ｂ・ＳＩＮ（２πＫ／１２８）
データ変換器２２３の出力＝Ｂ・ＣＯＳ（２πＫ／１２８）
で表される。
【００３２】
データ変換器２２０〜２２３の出力である１０ビットデータは、１０ビット入力・１１ビット出力の加算器２２４及び減算器２２５に入力され、出力の１１ビットデータは、それぞれデータ変換器２２６、２２７に入力される。データ変換器２２６、２２７は、１１ビットデータのうち、符号ビットと、絶対値データビットの最上位ビットを除いた残りの９ビットの計１０ビットデータを出力しセレクタ２２８に送る。
【００３３】
このときのデータ変換器２２６の出力ＸＩは、以下の式で表される。
【００３４】
【数２】
0003665423.tif 000003
【００３５】
データ変換器２２７の出力ＹＩは以下の式で表される。
【００３６】
【数３】
0003665423.tif 000004
【００３７】
そして、データ変換器２１２、２２６、２１３、２２７の出力が、一回目のバタフライ演算結果である。
【００３８】
レジスタ２０２〜２０７には、所定のデータがセットされた直後に、結果が求まってセットされているので、順次セレクタ２２８を開きＲＡＭ１０３にデータ１０６を送れば良い。このようなコントロールはＦＦＴ制御回路１０４からの制御信号１０９で行う。
【００３９】
ここで、上記のＦＦＴ演算過程において、ＲＡＭ１０３からの出力１０７（ＦＦＴ演算対象データ）、データ変換器２１２、２１３からの出力２３０、２３５、係数ＲＯＭ１０１からの出力などのデータビット長が変化する様子を図８に示す。図８からわかるように、本発明では、データシフト回路２０１、データ変換器２１２〜２１５、データ変換器２２０〜２２３、及びデータ変換器２２６、２２７によって一定ビット幅への桁ぞろえを行うので、オーバーフローを監視する必要がない。従って、複雑なコントロール手段をなくしても高い精度でＦＦＴ演算を行えるので、小規模なＦＦＴ演算器１０２で十分である。
【００４０】
なお、ＦＦＴ演算対象の全データについて一回目バタフライ演算を行った後、残り６回バタフライ演算を行うことによりＦＦＴ結果が求まり、ＲＡＭ１０３に格納される。但し、前述した通りＦＦＴ演算器１０２の入力に入っているデータシフト回路２０１が機能するのは１回目だけであり、残り６回は入力データがそのまま出力される。以上のシーケンスを実現するうえで、ＲＡＭ１０３及び係数ＲＯＭ１０１へのアドレッシング及びコントロールは、Ｓａｎｄｅ−Ｔｕｋｅｙのアルゴリズムに従いＦＦＴ制御回路１０４が行う。
【００４１】
［第二の実施形態］
図９に本実施形態のＦＦＴ演算装置の機能ブロック図を示してあり、図４に示したＴＦＴ演算装置と共通する部分には同じ符号を付してある。本形態のＦＦＴ演算装置でも、本発明の代表的な例として図１に記載のＦＦＴ演算器２３が用いられている。このＦＦＴ演算器は、図９にＦＦＴ演算器６０２として記載され、その詳細な構成については図１０と図１１の２つの図に分けて記載してある。
【００４２】
図９に記載の各構成要素は、図２及び図３に記載した各構成要素に対して以下のように対応する。まず、図９に示すセンサ６２０は、図３に示した信号検出手段３０に対応し、図９に示す増幅回路６２１は、図３に示した増幅手段３１に対応し、図９に示すＡＤ変換器６２２は、図３に示した信号変換手段３２に対応し、図９に示すゲインコントロール回路６２３は、図３に示したゲインコントロール手段３３に対応している。図９に示す第一のＲＡＭ６２５、第二のＲＡＭ６２６、係数ＲＯＭ１０１は、各々図２及び図３に示した第一記憶手段２０、第二記憶手段２１、第三記憶手段２２に対応し、図９に示すレベル判定回路６２４は、図２及び図３に示したレベル判定手段２４に対応している。
【００４３】
ここで、図９からセンサ６２０、増幅回路６２１、ＡＤ変換器６２２、ゲインコントロール回路６２３を除去したものが、図２に示す本発明の代表的構成の一例である機能ブロック図に相当することになる。以下に説明する形態においては、比較的信号レベルの変動の大きいセンサ６２０からの検出信号を用いているのでこれらの回路ブロックを設けるのが好ましいのであるが、レベル変動の小さい安定した信号を用いるのであればこれらの回路ブロックは不要となる。
【００４４】
なお、ＦＦＴ演算器中の各演算器の入出力ビット長、ＦＦＴ演算対象データ数、三角関数テーブルは上述した第一の実施形態と同じである。
【００４５】
図９ないし図１１において、センサ６２０によりある微小信号が検出され、増幅回路６２１により微小信号が増幅された後、ＡＤ変換器６２２によりデジタル値に変換されたデータは、順次、第一のＲＡＭ６２５に格納される。第一のＲＡＭ６２５に所定のデータ数が格納されると、第一のＲＡＭ６２５の所定のデータ（ＦＦＴ演算対象データ）は第二のＲＡＭ６２６に転送される。データの一部を重複してＦＦＴ演算すると、ＦＦＴ演算過程において元データは破壊されてしまうため、元データは第一のＲＡＭ６２５に残し、第二のＲＡＭ６２６へ転送した後にＦＦＴ演算を実施する。
【００４６】
ここで、データ転送中にレベル判定回路６２４が転送データ（ＦＦＴ演算対象データ）の大きさを調べ、データシフト量をＦＦＴ演算器６０２のシフト量調整回路９２０（後述）に出力信号６１１によって指示する。
【００４７】
例えば、本形態におけるＦＦＴ演算対象データの大きさ（有効ビット長）とレベル判定回路６２４の指示するシフト指示量の関係を表１に示す。
【００４８】
【表１】
0003665423.tif 000005
【００４９】
表１からわかるように、有効ビット長が短いときはデータシフト量を大きくするように調整することで、ＦＦＴ演算対象データとしてより有効に活用しその演算精度を高めることができる。
【００５０】
さらに、図９からわかるように、レベル判定回路の出力６１１はゲインコントロール回路６２３にも入力され、データシフト量調整をしなくてよい方向に増幅回路６２１のゲインをコントロールする。
【００５１】
例えば、本形態におけるレベル判定回路の指示するシフト指示量とゲインコントロール回路のコントロール量との関係を表２に示す。
【００５２】
【表２】
0003665423.tif 000006
【００５３】
表２からわかるように、シフト指示量が大きいとき（すなわちデータの有効ビット長が短いとき）は、ゲインコントロール量を増大させて増幅回路６２１のゲインを大きくする。このことにより、センサ６２０によって検出された信号の増幅度が大きくなるのでデータの有効ビット長が長くなり、結果としてデータシフト量が小さくて済むか、又はデータシフト量の調整を行わなくてもよいようになる。
【００５４】
再び図９ないし図１１において、次に、第二のＲＡＭ６２６にデータ転送された後はＦＦＴ演算器６０２によってＦＦＴ演算に入るが、始めに第二のＲＡＭ６２６のｘｒ、ｘｉ、ｙｒ、ｙｉのデータが、データシフト回路７０１を通りレジスタ７０２〜７０５にセットされる。データシフト回路７０１は、第二のＲＡＭ６２６に格納されているＦＦＴ演算対象データを、第一の実施形態と同様に、演算器入力ビット長の１０ビットに桁ぞろえし、さらにレベル判定回路６２４より指示されたシフト量だけデータをシフトする。
【００５５】
シフト量指示情報は、レベル判定回路６２４の出力信号６１１（６１１ａ〜６１１ｇの７ビット信号）として、図１２（ａ）に示すシフト量調整回路９２０に入力される。ここで、シフト量調整回路９２０は、図７に示したデータシフト回路２０１からの１０ビットデータのうち、８ビットデータ９０２〜９０８に対して、図１２（ｂ）に示す演算を行って８ビットデータ９１２〜９２０を含む１０ビットデータを出力する。例えばシフト量が３ビットの指示の場合は、表１に示したように、６１１ｄのみに「Ｈ」が入力される。従って、図１２（ｂ）に示すシフト量調整回路９２０による演算により、絶対値データは３ビット左シフトし、シフトしたことでデータのなくなってしまった３ビットについては０を埋めた１０ビットデータが出力される。また、データシフト機能が動作するのは一回目だけで、このようなコントロールは制御信号１０８を用いてＦＦＴ制御回路６０４が行う。
【００５６】
その後、係数ＲＯＭ１０１からＣ・ｓｉｎ（２πＫ／１２８）、Ｃ・ｃｏｓ（２πＫ／Ｎ）の値がレジスタ７０６、７０７にセットされ、バタフライ演算のためのデータセットは終了する。
【００５７】
次に、ＸＲ、ＸＩ、ＹＲ、ＹＩが求まるようにＦＦＴ演算器６０２中のセレクタ７１２、７１３、及び加減算器７０８、７０９での演算を加算か減算かを切り換えながら演算を行い、かつ結果をＲＡＭに送るシーケンスに入る。
【００５８】
始めに、ＸＲ、ＹＲを求める時について説明する。このとき、加減算器７０８、７０９は加算器に設定されており、１０ビット入力・１１ビット出力の演算器（そのうち最上位ビットは符号ビット）である。出力の１１ビットデータがデータ変換器７１０、７１１に入力され、最下位ビットが切り捨てられ上位１０ビットデータが次段に送られる。データ変換器７１０の出力７３０はＸＲ（ＸＲ＝ｘｒ＋ｘｉ）であり、データ変換器７１１の出力７３５はＹＲ（ＹＲ＝ｙｒ＋ｙｉ）であり、それぞれセレクタ７２０を切り換え、ＸＲ、ＹＲの結果を第二のＲＡＭ６２６に送る。
【００５９】
次にＸＩを求める時について説明する。このとき加減算器７０８、７０９は減算器に設定されており、１０ビット入力・１１ビット出力の演算器（そのうち最上位ビットは符号ビット）である。出力の１１ビットデータがデータ変換器７１０、７１１に入力され、最下位ビットが切り捨てられ上位１０ビットデータが次段に送られる。データ変換器７１０の出力はＡ（Ａ＝ｘｒ−ｘｉ）であり、データ変換器７１１の出力はＢ（Ｂ＝ｙｒ−ｙｉ）であり、それぞれが乗算器７１４、７１５の一方の入力７３１、７３３とされる。この時、セレクタ７１２は下側、セレクタ７１３は上側がセレクトされている。レジスタ７０６、７０７にはＣ・ｓｉｎ（２πＫ／１２８）、Ｃ・ｃｏｓ（２πＫ／１２８）がそれぞれセットされているため、この値が乗算器７１４、７１５のもう一方の入力７３２、７３４とされる。
【００６０】
乗算器７１４、７１５は１０ビット入力（そのうち最上位ビットは符号ビット）・１９ビット出力（そのうち最上位ビットは符号ビット）の演算器であるが、データ変換器７１６、７１７で符号ビットと絶対値ビットの上位２ビット目から１０ビット目までの計１０ビットがデコードされ、次段に送られる。
【００６１】
ここで、データ変換器７１６の出力、及びデータ変換器７１７の出力は、それぞれ
データ変換器７１６の出力＝Ａ・ＣＯＳ（２πＫ／１２８）
データ変換器７１７の出力＝Ｂ・ＳＩＮ（２πＫ／１２８）
である。
【００６２】
ＸＩを求める時、加減算器７１８は加算器に設定されており、加算結果ＸＩ（ＸＩ＝Ａ・ＣＯＳ（２πＫ／１２８）＋Ｂ・ＳＩＮ（２πＫ／１２８））がデータ変換器７１９に入力される。データ変換器７１９は入力データの１１ビットのうち最下位ビットを切り捨て、上位１０ビットをセレクタ７２０に送り、セレクタ７２０をこのデータを出力する方向に切り替えることで、ＸＩの結果が第二のＲＡＭ６２６に送られる。
【００６３】
また、ＹＩを求める時は、セレクタ７１２、７１３を下側に切り替え、かつ加減算器７１８を減算器に設定することで、減算結果ＹＩ（ＹＩ＝Ｂ・ＣＯＳ（２πＫ／１２８）−Ａ・ＳＩＮ（２πＫ／１２８））が求まり、ＸＩと同様の手順で第二のＲＡＭ６２６にデータが送られる。
【００６４】
本形態のＦＦＴ演算過程において、ＲＡＭ６２６からの出力１０７、データ変換器７１０、７１１からの出力７３０、７３５、係数ＲＯＭ１０１からの出力１０５などのデータビット長が変化する様子を図１３に示す。図１３からわかるように、データシフト回路７０１、及びデータ変換器７１０、７１１、７１９による一定ビット幅への桁ぞろえにより、オーバーフローを監視する必要がなくなる。従って、複雑なコントロール手段をなくしてもＦＦＴ演算ができるので、小規模なＦＦＴ演算器６０２が可能となる。また、データの大きさをレベル判定回路６２４によって判定するため、シフト量調整のために行うレベル判定に別途時間をかける必要がなくなる。さらに、ゲインコントロール回路６２３は、レベル判定回路６２４で判定したレベルに基づき増幅回路６２１の増幅率を可変させるため、デジタル信号に変換される前の検出信号自身をアナログ的にＦＦＴ演算に適合した大きさにコントロールすることができるので、連続的にＦＦＴ演算を実施する場合に次回以降のＦＦＴ演算結果における演算精度を向上させることができる。
【００６５】
なお、セレクタ７１２、７１３、７２０の切り替えは、制御信号６１２、６１３、６１４を用いてＦＦＴ制御回路６０４によって制御されている。
【００６６】
以上で一回目バタフライ演算が終了し、ＦＦＴ演算対象の全データについて一回目バタフライ演算を行った後、残り６回バタフライ演算を行うことによりＦＦＴ結果が求まる。但し、前述した通りＦＦＴ演算器６０２の入力に入っているデータシフト回路７０１が機能するのは１回目だけであり、残り６回は入力データがそのまま出力される。以上のシーケンスを実現する上で、第二のＲＡＭ６２６及び係数ＲＯＭ１０１へのアドレッシング及びコントロールは、Ｓａｎｄｅ−Ｔｕｋｅｙのアルゴリズムに従いＦＦＴ制御回路６０４が行う。
【００６７】
【実施例】
上記の第一及び第二の実施形態に係るＦＦＴ変換装置は、たとえば時間推移とともに得られる脈波信号の処理解析用などに用いることができる。そこで、本発明を適用したＦＦＴ演算器を脈拍計に用いた例を説明する。
【００６８】
（携帯用脈拍計の全体構成）
図１４は、本例の携帯用脈拍計の構成を示す説明図である。
【００６９】
図１４において、本例の携帯用脈拍計１００１は、腕時計構造を有する装置本体１０１０と、この装置本体１０１０に接続されるケーブル１０２０と、このケーブル１０２０の先端側に設けられた脈波検出用センサユニット１０３０とから大略構成されている。ケーブル１０２０の先端側にはコネクタピース１０８０が構成されており、このコネクタピース１０８０は、装置本体１０１０の６時の側に構成されているコネクタ部１０７０に対して着脱自在である。装置本体１０１０には、腕時計における１２時方向から腕に巻きついてその６時方向で固定されるリストバンド１０１２が設けられ、このリストバンド１０１２によって、装置本体１０１０は、腕に着脱自在である。脈波検出用センサユニット１０３０は、センサ固定用バンド１０４０によって遮光されながら人差し指の根元から指関節までの間に装着されている。このように、脈波検出用センサユニット１０３０を指の根元に装着すると、ケーブル１０２０が短くて済むので、ケーブル１０２０は、ランニング中に邪魔にならない。また、掌から指先までの体温の分布を計測すると、寒いときには、指先の温度が著しく低下するのに対し、指の根元の温度は比較的低下しない。従って、指の根元に脈波検出用センサユニット１０３０を装着すれば、寒い日に屋外でランニングしたときでも、脈拍数（状態値）などに正確に計測できる。
【００７０】
（装置本体の構成）
図１５は、本例の携帯用脈拍計の装置本体を、リストバンドやケーブルなどを外した状態で示す平面図、図１６は、携帯用脈拍計を３時の方向からみた側面図である。
【００７１】
図１５において、装置本体１０１０は、樹脂製の時計ケース１０１１（本体ケース）を備えており、この時計ケース１０１１の表面側には、現在時刻や日付に加えて、走行時や歩行時のピッチ、及び脈拍数などの脈波情報などを表示するＥＬバックライト付きの液晶表示装置１０１３が構成されている。液晶表示装置１０１３には、表示面の左上側に位置する第一のセグメント表示領域１１３１、右上側に位置する第二のセグメント表示領域１１３２、右下側に位置する第三のセグメント表示領域１１３３、及び左下側に位置するドット表示領域１１３４が構成されており、ドット表示領域１１３４では、各種の情報をグラフィック表示可能である。
【００７２】
時計ケース１０１１の内部には、脈波検出用センサユニット１０３０が計測した脈波信号（状態信号）に基づいて脈拍数の変化などを求めるとともに、それを液晶表示装置１０１３で表示するために、各種の制御やデータ処理を行う制御部１００５が構成されている。制御部１００５には、計時回路も構成されているため、通常時刻、ラップタイム、スプリットタイムなども液晶表示装置１０１３に表示可能である。
【００７３】
時計ケース１０１１の外周部には、時刻合わせや表示モードの切換などの外部操作を行うためのボタンスイッチ１１１１〜１１１５が構成されている。また、時計ケースの表面には、大きめのボタンスイッチ１１１６、１１１７が構成されている。
【００７４】
携帯用脈拍計１００１には、時計ケース１０１１に内蔵されているボタン形の小型の電池１０５９を搭載してあり、ケーブル１０２０は、電池１０５９から脈波検出用センサユニット１０３０に電力を供給するとともに、脈波検出用センサユニット１０３０の検出結果を時計ケース１０１１の制御部１００５に入力している。
【００７５】
携帯用脈拍計１００１では、その機能を増やすにともなって、装置本体１０１０を大型化する必要があるが、装置本体１０１０には、腕に装着されるという制約があるため、装置本体１０１０を腕時計における６時及び１２時の方向に向けては拡大できない。そこで、装置本体１０１０には、３時及び９時の方向における長さ寸法が６時及び１２時の方向における長さ寸法よりも長い横長の時計ケース１０１１を用いてある。但し、リストバンド１０１２は、３時の方向側に偏った位置で接続しているため、リストバンド１０１２からみると、腕時計における９時の方向に大きな張出部分１１０１を有するが、かかる大きな張出部分は３時の方向にはない。従って、横長の時計ケース１０１１を用いたわりには、手首を自由に曲げることができ、また、転んでも手の甲を時計ケース１０１１にぶつけることがない。
【００７６】
時計ケース１０１１の内部において、電池１０５９に対して９時の方向には、ブザー用の偏平な圧電素子１０５８が配置されている。電池１０５９は、圧電素子１０５８に比較して重いため、装置本体１０１０の重心位置は、３時の方向に偏った位置にある。この重心が偏っている側にリストバンド１０１２が接続しているので、装置本体１０１０を腕に安定した状態で装着できる。また、電池１０５９と圧電素子１０５８とを面方向に配置してあるため、装置本体１０１０を薄型化できるとともに、図１６に示すように、裏面部１１１９に電池蓋１１１８を設けることによって、ユーザーは、電池１０５９を簡単に交換できる。
【００７７】
（装置本体の腕への装着構造）
図１６において、時計ケース１０１１の１２時の方向には、リストバンド１０１２の端部に取り付けられた止め軸１１２１を保持するための連結部１１０５が形成されている。時計ケース１０１１の６時の方向には、腕に巻かれたリストバンド１０１２が長さ方向の途中位置で折り返されるとともに、この途中位置を保持するための留め具１１２２が取り付けられる受け部１１０６が形成されている。
【００７８】
装置本体１０１０の６時の方向において、裏面部１１１９から受け部１１０６に至る部分は、時計ケース１０１１と一体に成形されて裏面部１１１９に対して約１１５°の角度をなす回転止め部１１０８になっている。すなわち、リストバンド１０１２によって装置本体１０１０を右の手首Ｌ（腕）の上面部Ｌ１（手の甲の側）に位置するように装着したとき、時計ケース１０１１の裏面部１１１９は、手首Ｌの上面部Ｌ１に密着する一方、回転止め部１１０８は、橈骨Ｒのある側面部Ｌ２に当接する。この状態で、装置本体１０１０の裏面部１１１９は、橈骨Ｒと尺骨Ｕを跨ぐ感じにある一方、回転止め部１１０８と裏面部１１１９との屈曲部分１１０９から回転止め部１１０８にかけては、橈骨Ｒに当接する感じになる。このように、回転止め部１１０８と裏面部１１１９とは、約１１５°という解剖学的に理想的な角度をなしているため、装置本体１０１０を矢印Ａ又は矢印Ｂの方向に回そうとしても、装置本体１０１０は、腕Ｌの周りを不必要にずれない。また、裏面部１１１９及び回転止め部１１０８によって腕の回りの片側２ヵ所で装置本体１０１０の回転を規制するだけであるため、腕が細くても、裏面部１１１９及び回転止め部１１０８は確実に腕に接するので、回転止め効果が確実に得られる一方、腕が太くても窮屈な感じがない。
【００７９】
（脈波検出用センサユニットの構成）
図１７は、本例の脈波検出用センサユニットの断面図である。
【００８０】
図１７において、脈波検出用センサユニット１０３０は、そのケース体としてのセンサ枠１０３６の裏側に裏蓋１３０２が被されることによって、内側に部品収納空間１３００が構成されている。部品収納空間１３００の内部には、回路基板１０３５が配置されている。回路基板１０３５には、ＬＥＤ１０３１、フォトトランジスタ１０３２、その他の電子部品が実装されている。脈波検出用センサユニット１０３０には、ブッシュ１３９３によってケーブル１０２０の端部が固定され、ケーブル１０２０の各配線は、各回路基板１０３５のパターン上にはんだ付けされている。ここで、脈波検出用センサユニット１０３０は、ケーブル１０２０が指の根元側から装置本体１０１０の側に引き出されるようにして指に取り付けられる。従って、ＬＥＤ１０３１及びフォトトランジスタ１０３２は、指の長さ方向に沿って配列されることになり、そのうち、ＬＥＤ１０３１は指の先端側に位置し、フォトトランジスタ１０３２は指の根元の方に位置する。このように配置すると、外光がフォトトランジスタ１０３２に届きにくいという効果がある。
【００８１】
脈波検出用センサユニット１０３０では、センサ枠１０３６の上面部分にガラス板からなる透光板１０３４によって光透過窓が形成され、この透光板１０３４に対して、ＬＥＤ１０３１及びフォトトランジスタ１０３２は、それぞれ発光面及び受光面を透光板１０３４の方に向けている。このため、透光板１０３４の外側表面１３４１に指表面を密着させると、ＬＥＤ１０３１は、指表面の側に向けて光を発するとともに、フォトトランジスタ１０３２は、ＬＥＤ１０３１が発した光のうち指の側から反射してくる光を受光可能である。ここで、透光板１０３４の外側表面１３４１は、指表面との密着性を高める目的に、周囲部分１３６１から突出している構造になっている。
【００８２】
本例では、ＬＥＤ１０３１として、ＩｎＧａＮ系（インジウム−ガリウム−窒素系）の青色ＬＥＤを用いてあり、その発光スペクトルは、４５０ｎｍに発光ピークを有し、その発光波長領域は、３５０ｎｍから６００ｎｍまでの範囲にある。かかる発光特性を有するＬＥＤ１０３１に対応させて、本例では、フォトトランジスタ１０３２として、ＧａＡｓＰ系（ガリウム−砒素−リン系）のフォトトランジスタを用いてあり、その素子自身の受光波長領域は、主要感度領域が３００ｎｍから６００ｎｍまでの範囲にあって、３００ｎｍ以下にも感度領域がある。
【００８３】
このように構成した脈波検出用センサユニット１０３０を、センサ固定用バンド１０４０によって指の根元に装着し、この状態で、ＬＥＤ１０３１から指に向けて光を照射すると、この光が血管に届いて血液中のヘモグロビンによって光の一部が吸収され、一部が反射する。指（血管）から反射してきた光は、フォトトランジスタ１０３２によって受光され、その受光量変化が血量変化（血液の脈波）に対応する。すなわち、血量が多いときには、反射光が弱くなる一方、血量が少なくなると、反射光が強くなるので、反射光強度の変化を脈波信号として光学的に検出すれば、の検出結果から脈拍数などを計測できる。
【００８４】
本例では、発光波長領域が３５０ｎｍから６００ｎｍまでの範囲にあるＬＥＤ３１と、受光波長領域が３００ｎｍから６００ｎｍまでの範囲のフォトトランジスタ３２とを用いてあり、その重なり領域である約３００ｎｍから約６００ｎｍまでの波長領域、すなわち、約７００ｎｍ以下の波長領域における検出結果に基づいて生体情報を表示する。かかる脈波検出用センサユニット１０３０を用いれば、外光が指の露出部分にあたっても、外光に含まれる光のうち波長領域が７００ｎｍ以下の光は、指を導光体としてフォトトランジスタ３２（受光部）にまで到達しない。その理由は、外光に含まれる波長領域が７００ｎｍ以下の光は、指を透過しにくい傾向にあるため、外光がセンサ固定用バンド１０４０で覆われていない指の部分に照射されても、指を通ってフォトトランジスタ１０３２まで届かないからである。これに対して、８８０ｎｍ付近に発光ピークを有するＬＥＤと、シリコン系のフォトトランジスタとを用いると、その受光波長範囲は、３５０ｎｍから１２００ｎｍまでの範囲に及ぶ。この場合には、指を導光体として受光部にまで容易に届いてしまうような１μｍの波長の光による検出結果に基づいて脈波を検出することになるので、外光の変動に起因する誤検出が起こりやすい。
【００８５】
また、約７００ｎｍ以下の波長領域の光を利用して、脈波情報を得ているので、血量変化に基づく脈波信号のＳ／Ｎ比が高い。その理由として、血液中のヘモグロビンは、波長が３００ｎｍから７００ｎｍまでの光に対する吸光係数が、従来の検出光である波長が８８０ｎｍの光に対する吸光係数に比して数倍〜約１００倍以上大きいため、血量変化に感度よく変化するので、血量変化に基づく脈波の検出率（Ｓ／Ｎ比）が高いからと考えられる。
【００８６】
（脈波データ処理部の構成）
制御部１００５には、脈波検出用センサユニット１０３０からの入力結果に基づいて脈拍数を求める脈波データ処理部１０５０が構成されており、この脈波データ処理部１０５０は、脈拍数の算出結果を出力することによって、この値を液晶表示装置１０１３に表示可能としている。なお、脈波データ処理部１０５０の一部は、格納されているプログラムによって動作するマイクロコンピュータで構成されており、このマイクロコンピュータの機能についても、図１８にブロック図で示してある。
【００８７】
まず、脈波データ処理部１０５０では、脈波検出用センサユニット１０３０から入力されたアナログ信号を増幅回路１５５１で増幅した後、ＡＤ変換器１５５３に出力するようになっている。脈波データ記憶部１５５４は、ＡＤ変換器１５５３によってデジタル信号に変換された脈波データを記憶しておくＲＡＭである。
【００８８】
脈波データ記憶部１５５４の後段には、そこから読みだされた脈波データに周波数分析としての高速フーリエ変換（ＦＦＴ処理）を行なうための周波数分析部１０５２が構成され、周波数分析部１０５２はその周波数分析結果を脈波成分抽出部１０５３に入力するようになっている。脈波成分抽出部１０５３は、周波数分析部１０５２の出力信号から脈波成分を抽出して脈拍数演算部１０５４に出力し、脈拍数演算部１０５４は、入力された脈波の周波数成分により脈拍数を演算するようになっている。
【００８９】
このように構成した脈波データ処理部１０５０において、周波数分析部１０５２としては、図１、図５、図６、図１０、図１１を参照して説明した本発明のＦＦＴ演算器２３、１０２、６０２を用いることができる。この周波数分析部１０５２（ＦＦＴ演算器２３、１０２、６０２）の動作は前述したとおりであるため、その詳細な説明を省略するが、脈波データ記憶部１５５４から読みだされた脈波データにＦＦＴ処理を行うと、図１９に模式的に示すように、周波数分析時の分解能に対応する間隔をもって各線スペクトルが離散的に出現するスペクトルを求めることができる。従って、脈波成分抽出部１０５３が線スペクトル群から対象スペクトルを特定すると、脈拍数演算部１０５４は、対象スペクトルの周波数に基づいて脈拍数やピッチなどを算出し、たとえば、対象スペクトルが２Ｈｚの位置に出現しておれば、脈拍数は１２０拍／分であるとの結果を求める。
【００９０】
このようにして、ＦＦＴ処理を通して脈拍数を求めるにあたって、本発明を適用したＦＦＴ演算器を用いると、オーバーフローを監視しなくても、高い演算精度でＦＦＴ処理を行えるので、小規模なＦＦＴ演算器で済む。それ故、本発明に係るＦＦＴ演算器は携帯用の機器に搭載するのに適している。
【００９１】
また、図１８に示す脈波データ処理部１０５０と、図９に示したＦＦＴ演算装置と比較するとわかるように、図１８に示した脈波検出用センサユニット１０３０、増幅回路１５５１、ＡＤ変換器１５５３、脈波データ記憶部１５５４、及び周波数分析部１０５２は、それぞれ図９に示したセンサ６２０、増幅回路６２１、ＡＤ変換器６２２、ＲＡＭ６２５、ＦＦＴ演算器６０２に対応している。それ故、図１８に示したデータ処理回路１０５０にも、図９を参照して説明したように、レベル判定回路６２４を設けると、シフト量調整のために行うレベル判定に別途時間をかける必要がなくなる。また、ゲインコントロール回路６２３を設けると、デジタル信号に変換される前の検出信号自身をアナログ的にＦＦＴ演算に適合した大きさにコントロールすることができる。
【００９２】
【発明の効果】
以上説明したように、請求項１に記載の発明によれば、二つの整数データの和又は差を演算する前にデータを一定ビット幅に桁揃えするデータシフト手段と、各演算手段出力毎に出力データの一部ビットを切り捨て一定ビット幅に桁揃えするデータ変換手段を有するため、オーバーフローを監視する必要がなくなる。従って、複雑なコントロール手段を用いずに高い精度でＦＦＴ演算を行うことができるので、小規模なＦＦＴ演算器の実現が可能となる。
【００９３】
また、請求項２に記載の発明によれば、ＦＦＴ演算器中の演算手段の入力ビット幅がｎビットの場合、実数の正弦波及び余弦波データを２n-1 倍し、正の数は切り捨てる一方、負の数は切り上げた整数で、かつ符号を除くビットがｎ−１ビットの範囲で表現されるよう数値変換された正弦波及び余弦波データを用いるため、他の型式で表現された正弦波及び余弦波データを使用するよりはＦＦＴ演算過程における切り捨て誤差を小さくすることができる。それ故、ＦＦＴ演算を行う際に切り上げによる桁落ちを防止できるので、高い演算精度を確保することが可能となる。
【００９４】
請求項３に記載の発明によれば、乗算手段の出力又は乗算手段の出力同士の和又は差を演算する加減算手段の出力のうちいずれか一方の出力をデータ変換する際に、出力データのうち符号を除くビットの最上位ビットを切り捨てるため、実部の演算に比較して演算回数の多い虚部の演算過程のうち、最も演算精度の劣化を招かない演算過程で切り捨て・切り上げによるデータシフト量を調整することになる。従って、実部の演算結果を求める際のシフト量と同一にすることにより、高い演算精度を確保することができる。
【００９５】
請求項４に記載の発明によれば、ＦＦＴ演算対象データの大きさに応じデータシフト量を調整するシフト量調整手段を有するため、演算時の有効桁数を大きく得ることができるので、高い演算精度を得ることができる。
【００９６】
請求項５に記載の発明によれば、時系列に入力されるデータを順次記憶する第一記憶手段に所定のデータ数が記憶された後、ＦＦＴ演算対象データ及び演算中のデータを記憶する第二記憶手段にＦＦＴ演算対象データを転送するのと同時に、転送されたデータの大きさをレベル判定手段によって判定し、判定レベルに基づきデータシフト量を調整するため、シフト量調整のために行うレベル判定に別途時間をかける必要がなくなる。
【００９７】
請求項６に記載の発明によれば、デジタル信号に変換された増幅手段からの出力信号を順次記憶する第一記憶手段に所定のデータ数が記憶された後、第二記憶手段にＦＦＴ演算対象データを転送するのと同時に、転送されたデータの大きさのレベルを判定し、そのレベルに基づき、信号検出手段で検出された検出信号を増幅する増幅手段の増幅率を適正な値に可変させるゲインコントロール手段を有するため、デジタル信号に変換される前の検出信号自身をアナログ的にＦＦＴ演算に適合した大きさにコントロールすることができる。それ故、連続的にＦＦＴ演算を実施する場合、次回以降のＦＦＴ演算結果において演算精度を向上させることができる。
【図面の簡単な説明】
【図１】本発明を適用したＦＦＴ演算器の一例を示す機能ブロック図である。
【図２】本発明を適用したＦＦＴ演算装置において、レベル判定手段を設けた一例を示す機能ブロック図である。
【図３】本発明を適用したＦＦＴ演算装置において、レベル判定手段及びゲートコントロール手段を設けた一例を示す機能ブロック図である。
【図４】本発明の第一の実施形態に係るＦＦＴ演算装置の機能ブロック図である。
【図５】図４に示すＦＦＴ演算装置に設けたＦＦＴ演算器の前段部分の構成を示すブロック図である。
【図６】図４に示すＦＦＴ演算装置に設けたＦＦＴ演算器の後段部分の構成を示すブロック図である。
【図７】図４に示すＦＦＴ演算装置に設けたデータシフト回路を示す図である。
【図８】図４に示すＦＦＴ演算装置での演算過程において、データビット長が変化する様子を示した図である。
【図９】本発明の第二の実施形態に係るＦＦＴ演算装置の機能ブロック図である。
【図１０】図９に示すＦＦＴ演算装置に設けたＦＦＴ演算器の前段部分の構成を示すブロック図である。
【図１１】図９に示すＦＦＴ演算装置に設けたＦＦＴ演算器の後段部分の構成を示すブロック図である。
【図１２】図９に示すＦＦＴ演算装置に設けたデータシフト回路を示す図であり、（ａ）はそのブロック図であり、（ｂ）はデータシフト回路内のシフト量調整回路の回路機能を示す説明図である。
【図１３】図９に示すＦＦＴ演算装置での演算過程において、データビット長が変化する様子を示した図である。
【図１４】本発明を適用したＦＦＴ演算器を用いた携帯用脈拍計の全体構成、及び使用状態を示す説明図である。
【図１５】図１４に示す携帯用脈拍計の装置本体の平面図である。
【図１６】図１４に示す携帯用脈拍計の装置本体を腕時計の３時の方向からみたときの説明図である。
【図１７】図１４に示す携帯用脈拍計のセンサユニットの断面図である。
【図１８】図１４に示す携帯用脈拍計の制御部に設けたデータ処理回路の機能を示すブロック図である。
【図１９】図１４に示す携帯用脈拍計の脈波データ処理回路において、脈波信号を周波数分析した後のスペクトラムを模式的に示す説明図である。
【符号の説明】
１〜４・・・データシフト手段
５、６、１０・・・加減算手段
７・・・正弦波、余弦波データ
８、９・・・乗算手段
１１〜１５・・・データ変換手段
２０・・・第一記憶手段
２１・・・第二記憶手段
２２・・・第三記憶手段
２３、１０２、６０２・・・ＦＦＴ演算器
２４・・・レベル判定手段
３０・・・信号検出手段
３１・・・増幅手段
３２・・・信号変換手段
３３・・・ゲインコントロール手段
１０１・・・係数ＲＯＭ
１０３・・・ＲＡＭ
１０４、６０４・・・ＦＦＴ制御回路
２０１、７０１・・・シフト回路
２０２〜２０７、７０２〜７０７・・・レジスタ
２０８、２０９、２２４・・・加算器
２１０、２１１、２２５・・・減算器
２１２〜２１５、２２０〜２２３、２２６、２２７・・・データ変換器
７１０、７１１、７１６、７１７、７１９・・・データ変換器
２１６〜２１９、７１４、７１５・・・乗算器
２２８、７１２、７１３、７２０・・・セレクタ
６２０・・・センサ
６２１・・・増幅回路
６２２・・・ＡＤ変換器
６２３・・・ゲインコントロール回路
６２４・・・レベル判定回路
６２５・・・ＲＡＭ１
６２６・・・ＲＡＭ２
７０８、７０９、７１８・・・加減算器
９２０・・・シフト量調整回路
１００１・・・携帯用脈拍計
１００５・・・制御部
１０３０・・・脈波検出用センサユニット
１０５０・・・脈波データ処理部
１５１・・・増幅回路
１５５３・・・ＡＤ変換器
１５５４・・・脈波データ記憶部
１０５２・・・周波数分析部
１０５３・・・脈波成分抽出部
１０５４・・・脈拍数演算部
【図１】
0003665423.tif 000007
【図２】
0003665423.tif 000008
【図３】
0003665423.tif 000009
【図４】
0003665423.tif 000010
【図５】
0003665423.tif 000011
【図６】
0003665423.tif 000012
【図７】
0003665423.tif 000013
【図８】
0003665423.tif 000014
【図９】
0003665423.tif 000015
【図１０】
0003665423.tif 000016
【図１１】
0003665423.tif 000017
【図１２】
0003665423.tif 000018
【図１３】
0003665423.tif 000019
【図１４】
0003665423.tif 000020
【図１５】
0003665423.tif 000021
【図１６】
0003665423.tif 000022
【図１７】
0003665423.tif 000023
【図１８】
0003665423.tif 000024
【図１９】
0003665423.tif 000025