(57)【要約】【課題】時間間隔が不定のパルスのパルス特性値をスムージング処理する。【解決手段】１つ前のパルスＰから新規なパルスＰまでの時間間隔Ｔに基づき新規なパルスＰの入力時点での仮周波数ｆｐｒを算出し、新規パルスＰの入力時からの経過時間ｔが時間間隔Ｔに達したとき、および次のパルスＰの入力のときのいずれか早いときまで、各経過時間ｔでの周波数ｆｏを一次関数（ｂ×ｔ＋ａ）に基づき算出し、経過時間ｔが時間間隔Ｔにより早く達した後は、傾きｂ≧０のときには、経過時間ｔが時間間隔Ｔに達したときの周波数ｆｏを各経過時間ｔでの周波数ｆｏとして算出し、傾きｂ＜０のときには関数（１／ｔ）に基づく値を下限値として、各経過時間ｔでの周波数ｆｏをこの一次関数から算出する。初期値ａは新規なパルスＰの入力時までの最終の周波数ｆｏを、傾きｂは時間間隔Ｔを経過したとしたときに周波数ｆｏが仮周波数ｆｐｒとなる数値を使用する。【選択図】図６
2011033500.tif 000002
【特許請求の範囲】
【請求項１】
連続して入力する時間間隔が不定のパルスについての周波数を示すパルス特性値をスムージング処理を施しつつ算出する際に、
新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、
次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、
次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂがゼロ以上の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行するパルス特性値算出方法であって、
前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用するパルス特性値算出方法。
【請求項２】
前記傾きｂが負のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（１／（ｔ−ｔｏ））に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する請求項１記載のパルス特性値算出方法。
【請求項３】
前記時間ｔｏを前記時間間隔に規定して前記上限値を算出する請求項２記載のパルス特性値算出方法。
【請求項４】
連続して入力する時間間隔が不定のパルスについての周期を示すパルス特性値をスムージング処理を施しつつ算出する際に、
新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、
次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、
次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂが負の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行するパルス特性値算出方法であって、
前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用するパルス特性値算出方法。
【請求項５】
前記傾きｂがゼロ以上のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（ｔ−ｔｏ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する請求項４記載のパルス特性値算出方法。
【請求項６】
前記時間ｔｏを前記時間間隔に規定して前記下限値を算出する請求項５記載のパルス特性値算出方法。
【請求項７】
連続して入力する時間間隔が不定のパルスについての周波数を示すパルス特性値をスムージング処理を施しつつ算出するパルス特性値算出装置であって、
新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂがゼロ以上の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行する処理部を備え、
前記処理部は、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用して前記本特性値算出処理を実行するパルス特性値算出装置。
【請求項８】
前記処理部は、前記傾きｂが負のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（１／（ｔ−ｔｏ））に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する請求項７記載のパルス特性値算出装置。
【請求項９】
前記処理部は、前記時間間隔を前記時間ｔｏとして規定して前記上限値を算出する請求項８記載のパルス特性値算出装置。
【請求項１０】
連続して入力する時間間隔が不定のパルスについての周期を示すパルス特性値をスムージング処理を施しつつ算出するパルス特性値算出装置であって、
新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂが負の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行する処理部を備え、
前記処理部は、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用して前記本特性値算出処理を実行するパルス特性値算出装置。
【請求項１１】
前記処理部は、前記傾きｂがゼロ以上のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（ｔ−ｔｏ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する請求項１０記載のパルス特性値算出装置。
【請求項１２】
前記処理部は、前記時間間隔を前記時間ｔｏとして規定して前記下限値を算出する請求項１１記載のパルス特性値算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間間隔が不定のパルスについての周波数および周期のうちのいずれかのパルス特性値を算出するパルス特性値算出方法およびパルス特性値算出装置に関するものである。
【背景技術】
【０００２】
この種のパルス特性値算出方法（例えば周波数検出方法）では、パルスを入力する都度、先のパルスの入力から当該パルスの入力までの時間間隔に基づいて、当該パルスの入力時点での周波数を算出している。また、このようにして算出された周波数は、上記の時間間隔毎にステップ的に変化するため、この周波数の変化の状態を示す波形を表示装置（モニタ装置やプリンタ装置）に出力した場合には、この波形は階段状に変化する波形となる。このため、この階段状の波形を滑らかな波形とするため、時間間隔毎に算出される周波数に対してスムージング処理を施すことが一般的に行われている。このスムージング処理に使用される処理方法として種々の処理方法が公知となっているが、下記特許文献１において、ディジタル信号としての波形データに対して適用するものとして開示されている移動平均が一般的に採用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２８１２６４号公報（第３頁）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上記の移動平均によるスムージング処理には、以下の解決すべき課題が存在している。すなわち、この移動平均では、平均値を算出する算出期間を予め定める必要があるが、例えば、連続して入力する時間間隔が不定のパルスについての周波数（パルスの入力周期の逆数）をスムージング処理を施しつつ算出する場合に課題が生じる。つまり、この場合には、移動平均を算出する対象となるデータ（周波数）の時間間隔が不定であるため、パルスの入力周期が変動する場合に算出期間を適切な長さに設定することが難しく、このデータの時間間隔が予め設定した算出期間に対して十分に短いときには、確実にスムージングすることが可能となるが、逆にこのデータの時間間隔が予め設定した算出期間とほぼ等しいか、または長いときには、スムージングすることができないという解決すべき課題が存在している。また、移動平均を算出する対象となるデータの時間間隔が予め設定した算出期間に対して十分短くなるように、算出期間を長くしたときには、移動平均の算出までの時間が長くなるため、応答性が低下するという課題が生じる。
【０００５】
本発明は、かかる課題を解決すべくなされたものであり、時間間隔が不定のパルスについてのパルス特性値を確実にスムージング処理しつつ算出し得るパルス特性値算出方法を提供することを主目的とする。また、このパルス特性値算出方法を実行するパルス特性値算出装置を提供することを他の主目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成すべく請求項１記載のパルス特性値算出方法は、連続して入力する時間間隔が不定のパルスについての周波数を示すパルス特性値をスムージング処理を施しつつ算出する際に、新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂがゼロ以上の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行するパルス特性値算出方法であって、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用する。
【０００７】
また、請求項２記載のパルス特性値算出方法は、請求項１記載のパルス特性値算出方法において、前記傾きｂが負のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（１／（ｔ−ｔｏ））に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する。
【０００８】
また、請求項３記載のパルス特性値算出方法は、請求項２記載のパルス特性値算出方法において、前記時間ｔｏを前記時間間隔に規定して前記上限値を算出する。
【０００９】
また、請求項４記載のパルス特性値算出方法は、連続して入力する時間間隔が不定のパルスについての周期を示すパルス特性値をスムージング処理を施しつつ算出する際に、
新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂが負の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行するパルス特性値算出方法であって、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用する。
【００１０】
また、請求項５記載のパルス特性値算出方法は、請求項４記載のパルス特性値算出方法において、前記傾きｂがゼロ以上のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（ｔ−ｔｏ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する。
【００１１】
また、請求項６記載のパルス特性値算出方法は、請求項５記載のパルス特性値算出方法において、前記時間ｔｏを前記時間間隔に規定して前記下限値を算出する。
【００１２】
また、上記目的を達成すべく請求項７記載のパルス特性値算出装置は、連続して入力する時間間隔が不定のパルスについての周波数を示すパルス特性値をスムージング処理を施しつつ算出するパルス特性値算出装置であって、新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂがゼロ以上の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行する処理部を備え、前記処理部は、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用して前記本特性値算出処理を実行する。
【００１３】
また、請求項８記載のパルス特性値算出装置は、請求項７記載のパルス特性値算出装置において、前記処理部は、前記傾きｂが負のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（１／（ｔ−ｔｏ））に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する。
【００１４】
また、請求項９記載のパルス特性値算出装置は、請求項８記載のパルス特性値算出装置において、前記処理部は、前記時間間隔を前記時間ｔｏとして規定して前記上限値を算出する。
【００１５】
また、請求項１０記載のパルス特性値算出装置は、連続して入力する時間間隔が不定のパルスについての周期を示すパルス特性値をスムージング処理を施しつつ算出するパルス特性値算出装置であって、新規な前記パルスを入力したときに、当該新規のパルスの１つ前の前記パルスの入力時から当該新規なパルスの入力時までの時間間隔に基づいて当該新規なパルスの入力時点での仮の前記パルス特性値を算出する仮特性値算出処理を実行し、次いで、前記新規なパルスの入力時からの経過時間ｔが前記時間間隔に達したとき、および次の前記パルスが入力されたときのいずれか早いときまでは、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、当該新規なパルスの入力時から単位時間毎に前記各経過時間ｔにおける前記パルス特性値を算出し、次の前記パルスの入力前に当該経過時間ｔが当該時間間隔に達した後においては、前記傾きｂが負の値のときには、前記一次関数（ｂ×ｔ＋ａ）に基づいて算出される前記パルス特性値に代えて、当該経過時間ｔが当該時間間隔に達したときの前記パルス特性値を当該各経過時間ｔにおける前記パルス特性値として算出し、前記傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行する処理部を備え、前記処理部は、前記初期値ａについては、前記１つ前のパルスの入力時から前記新規なパルスの入力時まで実行していた前記本特性値算出処理によって算出された最終の前記パルス特性値を使用し、前記傾きｂについては、前記時間間隔を経過したとしたときに前記パルス特性値が前記仮のパルス特性値となる数値を使用して前記本特性値算出処理を実行する。
【００１６】
また、請求項１１記載のパルス特性値算出装置は、請求項１０記載のパルス特性値算出装置において、前記処理部は、前記傾きｂがゼロ以上のときにおいて、前記経過時間ｔが前記時間間隔に達した時点から時間ｔｏを経過した後には、前記本特性値算出処理において、関数（ｔ−ｔｏ）に基づいて算出される値を下限値として、当該各経過時間ｔにおける前記パルス特性値を前記一次関数（ｂ×ｔ＋ａ）に基づいて算出する。
【００１７】
また、請求項１２記載のパルス特性値算出装置は、請求項１１記載のパルス特性値算出装置において、前記処理部は、前記時間間隔を前記時間ｔｏとして規定して前記下限値を算出する。
【発明の効果】
【００１８】
請求項１記載のパルス特性値算出方法、および請求項７記載のパルス特性値算出装置によれば、時間間隔が不定であって、時間間隔が変動するパルスについての周波数を示すパルス特性値を、スムージング処理を施しつつ確実に算出することができる。また、新規なパルスを入力した時点での仮のパルス特性値を使用して、新規なパルスの入力時から次のパルスを入力するまで、各経過時間ｔにおけるパルス特性値を算出して出力することができるため、この次のパルスの入力時までのパルス特性値を、例えば、この次のパルスの１つ前に入力したパルスの入力時に算出したパルス特性値を初期値とし、この次のパルスの入力時に算出したパルス特性値を最終値とする一次関数に基づいて、この次のパルスを入力した時点において遡って算出する方法と比較して、パルス特性値をより早く出力することができる（つまり応答速度を向上させることができる）。また、次のパルスの入力前に経過時間が時間間隔に達したときにおいて、傾きｂがゼロ以上の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出されるパルス特性値に代えて、この経過時間ｔが時間間隔に達したときのパルス特性値を各経過時間ｔにおけるパルス特性値として算出して出力するため、パルスのパルス特性値が低下したにも拘わらず、算出されるパルス特性値が増加するという事態を回避しつつ、スムージング処理を実行することができる。また、傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値として適用しつつ、各経過時間ｔにおけるパルス特性値を一次関数（ｂ×ｔ＋ａ）に基づいて算出するため、算出されるパルスのパルス特性値がゼロを割り込むといった事態についても回避しつつ、スムージング処理を実行することができる。
【００１９】
また、請求項２記載のパルス特性値算出方法、および請求項８記載のパルス特性値算出装置によれば、次のパルスの入力が遅れたり、または次のパルスが入力されない場合であっても、上限値の適用によってパルス特性値を強制的に低下させることができるため、パルスのパルス特性値が低下したにも拘わらず、算出されるパルス特性値が低下しないという事態の発生を確実に回避しつつ、スムージング処理を実行することができる。
【００２０】
また、請求項３記載のパルス特性値算出方法、および請求項９記載のパルス特性値算出装置によれば、時間ｔｏを上記の時間間隔とすることにより、次のパルスが入力されない状況においても、妥当な時刻で上限値の適用を開始することができる結果、違和感の少ないスムージング処理を実行することができる。
【００２１】
請求項４記載のパルス特性値算出方法、および請求項１０記載のパルス特性値算出装置によれば、時間間隔が不定であって、時間間隔が変動するパルスについての周期を示すパルス特性値を、スムージング処理を施しつつ確実に算出することができる。また、新規なパルスを入力した時点での仮のパルス特性値を使用して、新規なパルスの入力時から次のパルスを入力するまで、各経過時間ｔにおけるパルス特性値を算出して出力することができるため、この次のパルスの入力時までのパルス特性値を、例えば、この次のパルスの１つ前に入力したパルスの入力時に算出したパルス特性値を初期値とし、この次のパルスの入力時に算出したパルス特性値を最終値とする一次関数に基づいて、この次のパルスを入力した時点において遡って算出する方法と比較して、パルス特性値をより早く出力することができる（つまり応答速度を向上させることができる）。また、次のパルスの入力前に経過時間が時間間隔に達したときにおいて、傾きｂが負の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出されるパルス特性値に代えて、この経過時間ｔが時間間隔に達したときのパルス特性値を各経過時間ｔにおけるパルス特性値として算出して出力するため、パルスのパルス特性値が低下したにも拘わらず、算出されるパルス特性値が増加するという事態を回避しつつ、スムージング処理を実行することができる。また、傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として適用しつつ、各経過時間ｔにおけるパルス特性値を一次関数（ｂ×ｔ＋ａ）に基づいて算出するため、算出されるパルスのパルス特性値が急激に上昇するといった事態についても回避しつつ、スムージング処理を実行することができる。
【００２２】
また、請求項５記載のパルス特性値算出方法、および請求項１１記載のパルス特性値算出装置によれば、次のパルスの入力が遅れたり、または次のパルスが入力されない場合であっても、下限値の適用によってパルス特性値を強制的に上昇させることができるため、パルスのパルス特性値が上昇したにも拘わらず、算出されるパルス特性値が上昇しないという事態の発生を確実に回避しつつ、スムージング処理を実行することができる。
【００２３】
また、請求項６記載のパルス特性値算出方法、および請求項１２記載のパルス特性値算出装置によれば、時間ｔｏを上記の時間間隔とすることにより、次のパルスが入力されない状況においても、妥当な時刻で下限値の適用を開始することができる結果、違和感の少ないスムージング処理を実行することができる。
【図面の簡単な説明】
【００２４】
【図１】周波数算出装置１の構成図である。
【図２】各パルスＰの時間間隔Ｔおよび仮周波数ｆｐｒを示す説明図である。
【図３】周波数算出方法を説明するための各パルスＰおよび各時間（時刻）ｔにおける周波数ｆｏの各波形図である。
【図４】傾きｂの算出方法を説明する説明図である。
【図５】パルスＰ９，Ｐ１０間での周波数算出方法を説明するための周波数ｆｏの波形についての模式図である。
【図６】周波数出力処理のフローチャートである。
【発明を実施するための形態】
【００２５】
以下、添付図面を参照して、パルス特性値算出処理およびこの処理を実行するパルス特性値算出装置１の実施の形態について説明する。なお、算出するパルス特性値として、周波数を例に挙げて説明する。
【００２６】
まず、周波数算出装置１の構成について、図面を参照して説明する。
【００２７】
周波数算出装置１は、図１に示すように、処理部２、記憶部３および出力部４を備え、連続して入力する時間間隔Ｔが不定のパルスＰについての周波数ｆｏをスムージング処理を施しつつ算出し、算出した周波数ｆｏを出力する。
【００２８】
処理部２は、ＣＰＵなどで構成されて、図６に示すパルス特性値出力処理（本例では周波数出力処理）を実行する。この周波数出力処理では、処理部２は、仮特性値算出処理（本例では仮周波数算出処理）および本特性値算出処理（本例では本周波数算出処理）を実行してパルス特性値（本例では周波数ｆｏ）を算出し、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。この場合、処理部２は、仮周波数算出処理では、新規なパルスＰを入力したときに、この新規のパルスＰの１つ前のパルスＰの入力時からこの新規なパルスＰの入力時までの時間間隔Ｔ（直前の時間間隔Ｔ）に基づいて、この新規なパルスＰの入力時点での仮のパルス特性値（本例では仮の周波数（「仮周波数」ともいう）ｆｐｒ（＝１／Ｔ））を算出する。この例では、時間間隔Ｔの逆数を求めて仮周波数ｆｐｒを算出する。また、処理部２は、本周波数算出処理では、新規なパルスＰの入力時からの経過時間ｔが時間間隔Ｔに達したとき（つまり、直前の時間間隔Ｔと同じ時間に達したとき）、および次のパルスＰが入力されたときのいずれか早いときまで、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、この新規なパルスＰの入力時から単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出する。
【００２９】
また、処理部２は、経過時間ｔが上記した直前の時間間隔Ｔに達したときの方が早いとき（次のパルスＰの入力前に経過時間ｔが上記した直前の時間間隔Ｔに達したとき）には、経過時間ｔがこの直前の時間間隔Ｔに達した以降、次のパルスＰの入力までの間、上記の傾きｂの値に応じて周波数ｆｏの算出方法を変えると共に、後述する下限値ｆｏ１および上限値ｆｏ２を適用して、単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出する。具体的には、処理部２は、傾きｂがゼロ以上の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される上記の周波数ｆｏに代えて、経過時間ｔが直前の時間間隔Ｔに達したときの周波数ｆｏを、それ以降の各経過時間ｔにおける周波数ｆｏとして算出すると共に、下限値ｆｏ１および上限値ｆｏ２を適用して、単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出する。また、処理部２は、傾きｂが負の値のときには、下限値ｆｏ１および上限値ｆｏ２を適用して、単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを一次関数（ｂ×ｔ＋ａ）に基づいて算出する。この場合、処理部２は、経過時間ｔが直前の時間間隔Ｔに達した以降において、各経過時間ｔにおける関数（１／ｔ）に基づく値を、上記の方法で算出した周波数ｆｏに対する下限値ｆｏ１として使用する。また、処理部２は、経過時間ｔが時間間隔Ｔに達したとき（時点）から時間ｔｏを経過した時点以降であって次のパルスの入力前のときに、各経過時間ｔにおける関数（１／（ｔ−ｔｏ））に基づく値を上記の方法で算出した周波数ｆｏに対する上限値ｆｏ２として、下限値ｆｏ１と共に使用する。本例では、一例として、時間ｔｏは直前の時間間隔Ｔに規定されている。また、処理部２は、本周波数算出処理において、上記のようにして各経過時間ｔにおける周波数ｆｏを算出する都度、周波数ｆｏを示すデータＤｆを出力部４に出力する。したがって、処理部２から出力部４に対して、各経過時間ｔにおける周波数ｆｏを示すデータＤｆが単位時間Δｔ間隔で連続して出力される。
【００３０】
記憶部３は、一例としてＲＯＭおよびＲＡＭなどの半導体メモリで構成されて、ＣＰＵの動作を規定するための動作プログラムと、処理部２によって計測された各パルスＰ間の上記の時間間隔Ｔと、この時間間隔Ｔに基づいて算出された仮周波数ｆｐｒと、算出された各経過時間ｔにおける周波数ｆｏ（単位時間Δｔ毎の周波数ｆｏ）とを記憶する。また、記憶部３には、本周波数算出処理において使用される一次関数（ｂ×ｔ＋ａ）の両パラメータ（初期値ａおよび傾きｂ）の初期値（共に「０」）が予め記憶されている。出力部４は、ＬＣＤなどのモニタ装置、およびプリンタ装置やプロッタ装置などの印刷装置のうちの少なくとも１つで構成されて、処理部２から単位時間Δｔ間隔で出力されるデータＤｆを入力して、このデータＤｆで示される周波数ｆｏの時間的変化を波形として出力する。
【００３１】
次に、周波数算出装置１の動作について、周波数算出方法と併せて、図１〜図６を参照して説明する。なお、一例として、周波数算出装置１に入力される各パルスＰ（Ｐ１〜Ｐ１２）は、図２に示す時間間隔Ｔ（Ｔ２〜Ｔ１２）で、図１に示すように順次入力されるものとする。また、処理部２は、既に時刻ｔ１でパルスＰ１を入力しており、パルスＰ１の入力時点からの時間（経過時間）ｔを計測しているものとする。
【００３２】
この周波数算出装置１では、作動状態において、処理部２が図６に示す周波数出力処理を実行する。この周波数出力処理５０では、処理部２は、新規なパルスＰの入力を繰り返し検出しつつ（ステップ５１）、新規なパルスＰ２の入力を検出したとき（時刻ｔ２。図３参照）には、仮周波数算出処理を実行する（ステップ５２）。この仮周波数算出処理では、処理部２は、単位時間Δｔ間隔で計測していた経過時間ｔを、この新規なパルスＰ２と先のパルスＰ１との間の時間間隔Ｔ（この場合には、パルスＰ１，Ｐ２間の時間間隔Ｔであるため、時間間隔Ｔ２）として記憶部３に記憶する。この際に、処理部２は、計測した時間間隔Ｔ２に基づいて仮周波数ｆｐｒ（＝１／Ｔ２）を算出して、時間間隔Ｔ２と対応させて記憶する。
【００３３】
次いで、処理部２は、本周波数算出処理を実行する。この本周波数算出処理では、処理部２は、新規なパルスＰ２の入力時点（時刻ｔ２）からの周波数ｆｏ（時刻ｔ２から経過時間ｔを経過したときの周波数（各経過時間ｔにおける周波数）ｆｏ）を、一次関数（ｂ×ｔ＋ａ）を用いて算出して出力する。まず、処理部２は、この一次関数の両パラメータ（初期値ａおよび傾きｂ）を算出する（ステップ５３）。具体的には、処理部２は、初期値ａについては、１つ前のパルスＰ（本例ではパルスＰ１）の入力から新規なパルスＰ２の入力まで実行していた本周波数算出処理によって算出された周波数ｆｏの最終値（最終の周波数ｆｏ）を使用する。この場合、パルスＰ２の入力時（時刻ｔ２）までの本周波数算出処理では、両パラメータａ，ｂが初期値である「０」を共に使用して周波数ｆｏを算出するため、図４に示すように、最終の周波数ｆｏも「０」である。このため、初期値ａとして「０」を使用する。また、処理部２は、傾きｂについては、同図に示すように、時刻ｔ２から時間間隔Ｔ２を経過したとしたとき（時刻ｔｘ）の周波数ｆｏが仮周波数ｆｐｒとなる数値を計算して使用する。すなわち、処理部２は、パルスＰ２の入力時（時刻ｔ２）までの本周波数算出処理によって算出された最終の周波数ｆｏ（０［Ｈｚ］）と仮周波数ｆｐｒとの差分（ｆｐｒ−ｆｏ）を時間間隔Ｔ２で除算した数値を算出して、傾きｂ（Ｈｚ／ｓｅｃ）として使用する。本例では、時間間隔Ｔ２は１［ｓｅｃ］であることから、仮周波数ｆｐｒは１（＝１／Ｔ２）［Ｈｚ］となり、これにより、傾きｂ（＝（ｆｐｒ−ｆｏ）／Ｔ２）は数値「１」となる。よって、一次関数（ｂ×ｔ＋ａ）は、ｔとなる。
【００３４】
続いて、処理部２は、パルスＰ２を入力した時点（時刻ｔ２）からの経過時間ｔの計測を開始する（ステップ５４）。具体的には、処理部２は、計測している経過時間ｔをゼロから単位時間Δｔずつ増加させることで、新たな経過時間ｔ（＝ｔ＋Δｔ）を計測（算出）する。次いで、処理部２は、この経過時間ｔを一次関数（ｂ×ｔ＋ａ）に代入して、周波数ｆｏを算出し（ステップ５５）、続いて、計測している経過時間ｔが時間間隔Ｔ２（入力した新規なパルスＰ２とその１つ前のパルスＰ１との間の時間間隔Ｔ）に達したか否かを判別する（ステップ５６）。この判別の結果、経過時間ｔが時間間隔Ｔ２に達していないときには、処理部２は、ステップ５５において算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。次いで、処理部２は、次のパルスＰが入力されたか否かを検出する（ステップ６５）。処理部２は、ステップ６５において次のパルスＰの入力を検出するまで、上記した各ステップ５４，５５，５６，６４，６５を繰り返す。本例では、図２に示すように、次のパルスＰ３は、処理部２が計測している経過時間ｔが時間間隔Ｔ２に達する前に入力される。このため、処理部２は、パルスＰ２の入力から次のパルスＰ３が入力されるまでの間は、単位時間Δｔだけ経過する度に、経過時間ｔを一次関数（ｂ×ｔ＋ａ（パルスＰ２，Ｐ３間では、一次関数ｔ））に代入して周波数ｆｏを算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００３５】
図２に示すように本例では、パルスＰ７の入力までは、各パルスの区間（パルスＰ２，Ｐ３の区間、パルスＰ３，Ｐ４の区間、パルスＰ４，Ｐ５の区間、パルスＰ５，Ｐ６の区間、パルスＰ６，Ｐ７の区間）において、新規なパルスの入力からの経過時間ｔが時間間隔Ｔに達する前に、または経過時間ｔが時間間隔Ｔに達すると同時に、次のパルスが入力される。つまり、次のパルスの入力前に、経過時間ｔが時間間隔Ｔに達するという事態が生じない。このため、これらの各区間では、処理部２は、上記したパルスＰ２，Ｐ３の区間のときと同様にして、新規なパルスの入力からの経過時間ｔを一次関数（ｂ×ｔ＋ａ）に代入することにより、各経過時間ｔでの周波数ｆｏを算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。具体的には、パルスＰ３，Ｐ４の区間では、その直前の区間（パルスＰ２，Ｐ３の区間）での周波数ｆｏの最終値が０．５［Ｈｚ］であり、両パルスＰ２，Ｐ３の時間間隔Ｔ（つまりＴ３）が０．５［ｓｅｃ］であって仮周波数ｆｐｒが２［Ｈｚ］となるため、初期値ａは０．５［Ｈｚ］で、傾きｂは数値「３」（＝（ｆｐｒ−ｆｏ）／Ｔ２＝（２−０．５）／０．５）となる。このため、処理部２は、一次関数（３×ｔ＋０．５）に基づいて、周波数ｆｏを算出する。
【００３６】
同様にして、パルスＰ４，Ｐ５の区間では、その直前の区間（パルスＰ３，Ｐ４の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が１．２５［Ｈｚ］であり、また、両パルスＰ３，Ｐ４の時間間隔Ｔ（つまりＴ４）から算出される仮周波数ｆｐｒが４（＝１／０．２５）［Ｈｚ］となるため、傾きｂが数値「１１」（＝（４−１．２５）／０．２５）となる。したがって、処理部２は、一次関数（１１×ｔ＋１．２５）に基づいて、周波数ｆｏを算出する。次のパルスＰ５，Ｐ６の区間では、その直前の区間（パルスＰ４，Ｐ５の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が２．６２５［Ｈｚ］であり、また、両パルスＰ４，Ｐ５の時間間隔Ｔ（つまりＴ５）から算出される仮周波数ｆｐｒが８（＝１／０．１２５）［Ｈｚ］となるため、傾きｂが数値「４３」（＝（８−２．６２５）／０．１２５）となる。したがって、処理部２は、一次関数（４３×ｔ＋２．６２５）に基づいて、周波数ｆｏを算出する。次のパルスＰ６，Ｐ７の区間では、その直前の区間（パルスＰ５，Ｐ６の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が６．９２５［Ｈｚ］であり、また、両パルスＰ５，Ｐ６の時間間隔Ｔ（つまりＴ６）から算出される仮周波数ｆｐｒが１０（＝１／０．１）［Ｈｚ］となるため、傾きｂが数値「３０．７５」（＝（１０−６．９２５）／０．１）となる。したがって、処理部２は、一次関数（３０．７５×ｔ＋６．９２５）に基づいて、周波数ｆｏを算出する。
【００３７】
一方、次からの３つのパルスの区間（パルスＰ７，Ｐ８の区間、パルスＰ８，Ｐ９の区間、パルスＰ９，Ｐ１０の区間）においては、図２に示すように、パルス間隔が徐々に長くなるため、新規なパルスの入力から次のパルスが入力されるまでの間に、新規なパルスの入力からの経過時間ｔが時間間隔Ｔに達する状態が発生する。このようなパルスの区間では、処理部２は、まず、新規なパルスの入力からの経過時間ｔが時間間隔Ｔに達するまでは、上記したパルスＰ２，Ｐ３の区間のときと同様にして、ステップ５２の仮周波数算出処理を実行して仮周波数ｆｐｒを算出し、本周波数算出処理におけるステップ５３を実行して、初期値ａおよび傾きｂを算出する。その後は、処理部２は、本周波数算出処理におけるステップ５４，５５，５６，６４，６５を繰り返し実行して、経過時間ｔを一次関数（ｂ×ｔ＋ａ）に代入することにより、各経過時間ｔでの周波数ｆｏを算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。次いで、新規なパルスの入力からの経過時間ｔが時間間隔Ｔに達した以降、次のパルスＰの入力までの間は、処理部２は、経過時間ｔが時間間隔Ｔに達するまで使用していた一次関数（ｂ×ｔ＋ａ）の傾きｂの値に応じて算出方法を変えて、周波数ｆｏを算出する。
【００３８】
具体的に、この３つの各パルスの区間での周波数ｆｏの算出方法について説明する。
【００３９】
まず、新規なパルスＰ７の入力（時刻ｔ７ａ）から、パルスＰ７の入力からの経過時間ｔが時間間隔Ｔ（パルスＰ６，Ｐ７の時間間隔Ｔ７）に達する（時刻ｔ７ｂ）までは、処理部２は、上記したように、ステップ５２の仮周波数算出処理を実行して仮周波数ｆｐｒ（この場合、１０（＝１／０．１）［Ｈｚ］）を算出し、本周波数算出処理におけるステップ５３を実行して、初期値ａおよび傾きｂを算出する。この場合、その直前の区間（パルスＰ６，Ｐ７の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が１０［Ｈｚ］であり、また上記したように仮周波数ｆｐｒが１０［Ｈｚ］であるため、傾きｂは数値「０」（＝（１０−１０）／０．１）となる。このため、処理部２は、本周波数算出処理におけるステップ５４，５５，５６，６４，６５を繰り返し実行して、経過時間ｔを一次関数（０×ｔ＋１０）に代入することにより、各経過時間ｔでの周波数ｆｏ（一定の数値「１０」）を算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００４０】
次いで、新規なパルスＰ７の入力からの経過時間ｔが時間間隔Ｔ７に達したとき（時刻ｔ７ｂになったとき）には、処理部２は、ステップ５６においてこれを検出して、算出した傾きｂがゼロ以上の値であるか否かを判別する（ステップ５７）。この判別の結果、傾きｂがゼロ以上の値のときには、処理部２は、経過時間ｔが時間間隔Ｔ７に達した時点での周波数ｆｏ（つまり、仮周波数ｆｐｒ）を、それ以降の周波数ｆｏとして算出する（ステップ５８）。一方、処理部２は、ステップ５７での判別の結果、傾きｂが負の値であるときには、ステップ５６において、一次関数（ｂ×ｔ＋ａ）に基づいて算出された経過時間ｔでの周波数ｆｏをそのまま使用する。本例では、傾きｂが数値「０」であるため、処理部２は、ステップ５７においてこれを検出して、ステップ５８を実行することにより、経過時間ｔが時間間隔Ｔ７に達したときの周波数ｆｏ（仮周波数ｆｐｒ。本例では数値「１０」）を、それ以降の周波数ｆｏとして算出する。
【００４１】
続いて、処理部２は、ステップ５７において傾きｂが負の値であることを検出した後、またはステップ５８を実行した後に、各経過時間ｔにおける関数（１／ｔ）に基づく値を下限値ｆｏ１として算出する（ステップ５９）。次いで、処理部２は、現在の経過時間ｔが、パルスＰ７の入力からの経過時間ｔが時間間隔Ｔ（Ｔ７）に達して（到達して）から（時刻ｔ７ｂから）、時間ｔｏ（本例では、時間間隔Ｔ７）を経過したか否か（時刻ｔ７ｃ（＝ｔ７ｂ＋ｔｏ）に達したか否か）を判別する（ステップ６０）。この判別の結果、処理部２は、経過時間ｔが時間間隔Ｔ７に達してから時間ｔｏ（本例では、時間間隔Ｔ７）を経過していない（時刻ｔ７ｃに達していない）と判別したときには、現時点において算出されている周波数ｆｏ（ステップ５５で算出された周波数ｆｏまたはステップ５８において算出された周波数ｆｏ）に対して、ステップ５９において算出された下限値ｆｏ１を適用する（ステップ６１）。つまり、処理部２は、現時点での周波数ｆｏと下限値ｆｏ１とを比較して、現時点での周波数ｆｏが下限値ｆｏ１以上のときには、現時点での周波数ｆｏを最終的な周波数ｆｏとし、現時点での周波数ｆｏが下限値ｆｏ１未満のときには、下限値ｆｏ１を最終的な周波数ｆｏとして算出する。処理部２は、現時点での周波数ｆｏは一定の数値「１０」であり、常に、関数（１／ｔ）に基づく値である下限値ｆｏ１（その最大値は、経過時間ｔが時間間隔Ｔ７に達したときの１０（＝１／０．１））［Ｈｚ］以上となるため、時刻ｔ７ｂから時刻ｔ７ｃまでの区間では、各ステップ５４，５５，５６，５７，５８，５９，６０，６１，６４，６５を繰り返し実行することにより、各経過時間ｔにおいて最終的な周波数ｆｏとして１０［Ｈｚ］を算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００４２】
その後、現在の経過時間ｔが時刻ｔ７ｃに達したときには、処理部２は、ステップ６０においてこれを検出して、各経過時間ｔにおける関数（１／（ｔ−ｔｏ））に基づく値を上限値ｆｏ２として算出し（ステップ６２）、次いで、この算出した上限値ｆｏ２を、ステップ５９において算出した下限値ｆｏ１と共に、現時点において算出されている周波数ｆｏ（ステップ５５で算出された周波数ｆｏまたはステップ５８において算出された周波数ｆｏ）に対して適用する（ステップ６３）。つまり、処理部２は、現時点での周波数ｆｏと上限値ｆｏ２とを比較して、現時点での周波数ｆｏが上限値ｆｏ２未満のときには、現時点での周波数ｆｏを最終的な周波数ｆｏとし、現時点での周波数ｆｏが上限値ｆｏ２以上のときには、上限値ｆｏ２を最終的な周波数ｆｏとして算出する。また、下限値ｆｏ１については、上記したステップ６１のときと同様にして適用する。処理部２は、現時点での周波数ｆｏは一定の１０［Ｈｚ］であり、常に、関数（１／（ｔ−ｔｏ））に基づく値である上限値ｆｏ２（その最大値は、経過時間ｔが時刻ｔ７ｃに達したときの１０（＝１／（０．２−０．１））［Ｈｚ］以上となるため、時刻ｔ７ｃから次のパルスＰ８の入力（時刻ｔ８ａ）までの区間では、各ステップ５４，５５，５６，５７，５８，５９，６０，６２，６３，６４，６５を繰り返し実行することにより、各経過時間ｔにおいて関数（１／（ｔ−ｔｏ））に基づいて算出される値を最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００４３】
同様にして、次のパルスＰ８，Ｐ９の区間でも、新規なパルスＰ８の入力（時刻ｔ８ａ）から、パルスＰ８の入力からの経過時間ｔが時間間隔Ｔ（パルスＰ７，Ｐ８の時間間隔Ｔ（つまりＴ８））に達する（時刻ｔ８ｂ）までは、処理部２は、上記したように、ステップ５２の仮周波数算出処理を実行して仮周波数ｆｐｒ（この場合、３．３３３（＝１／０．３）［Ｈｚ］）を算出し、本周波数算出処理におけるステップ５３を実行して、初期値ａおよび傾きｂを算出する。この場合、その直前の区間（パルスＰ７，Ｐ８の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が５（＝１／（０．３−０．１））［Ｈｚ］であり、また上記したように仮周波数ｆｐｒが３．３３３［Ｈｚ］であるため、傾きｂが数値「−５．５５６」（＝（３．３３３−５）／０．３）となる。このため、処理部２は、本周波数算出処理におけるステップ５４，５５，５６，６４，６５を繰り返し実行して、経過時間ｔを一次関数（−５．５５６×ｔ＋５）に代入することにより、各経過時間ｔでの周波数ｆｏを算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００４４】
また、パルスＰ８，Ｐ９の区間では、パルスＰ８の入力からの経過時間ｔが時間間隔Ｔ８に達してから（時刻ｔ８ｂから）時間ｔｏ（本例では、時間間隔Ｔ８）が経過する前に、次のパルスＰ９が入力される。また、一次関数（−５．５５６×ｔ＋５）の傾きｂが負の値となっている。このため、処理部２は、時刻ｔ８ｂから次のパルスＰ９の入力までの間、各ステップ５４，５５，５６，５７，５９，６０，６１，６４，６５を繰り返し実行することにより、ステップ５５において一次関数（−５．５５６×ｔ＋５）に基づいて算出した各経過時間ｔでの周波数ｆｏに対して、ステップ５９で算出した下限値ｆｏ１をステップ６１において適用して、最終的な周波数ｆｏを算出し、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。本例では、一次関数（−５．５５６×ｔ＋５）に基づいて算出される周波数ｆｏは、下限値ｆｏ１よりも常に大きいため、処理部２は、一次関数（−５．５５６×ｔ＋５）に基づいて算出される周波数ｆｏを最終的な周波数ｆｏとして算出して、この周波数ｆｏを示すデータＤｆを出力部４に出力する。すなわち、このパルスＰ８，Ｐ９の区間では、全区間に亘って、一次関数（−５．５５６×ｔ＋５）に基づいて算出された周波数ｆｏが最終的な周波数ｆｏとして算出される。
【００４５】
次のパルスＰ９，Ｐ１０の区間でも、新規なパルスＰ９の入力（時刻ｔ９ａ）からの経過時間ｔが時間間隔Ｔ（パルスＰ８，Ｐ９の時間間隔Ｔ（つまりＴ９））に達する（時刻ｔ９ｂ）までは、処理部２は、上記したように、ステップ５２の仮周波数算出処理を実行して仮周波数ｆｐｒ（この場合、２．８５７（＝１／０．３５）［Ｈｚ］）を算出し、本周波数算出処理におけるステップ５３を実行して、初期値ａおよび傾きｂを算出する。この場合、その直前の区間（パルスＰ８，Ｐ９の区間）での周波数ｆｏの最終値（つまり、初期値ａ）が３．０５５５［Ｈｚ］であり、また上記したように仮周波数ｆｐｒが２．８５７［Ｈｚ］であるため、傾きｂが数値「−０．５６６７」（＝（２．８５７−３．０５５５）／０．３５）となる。したがって、処理部２は、本周波数算出処理におけるステップ５４，５５，５６，５７，５９，６０，６１，６４，６５を繰り返し実行して、経過時間ｔを一次関数（−０．５６６７×ｔ＋３．０５５５）に代入することにより、各経過時間ｔでの周波数ｆｏを算出すると共に、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００４６】
次いで、新規なパルスＰ９の入力からの経過時間ｔが時間間隔Ｔ９に達したとき（時刻ｔ９ｂになったとき）には、処理部２は、ステップ５６においてこれを検出して、算出した傾きｂがゼロ以上の値であるか否かを判別する（ステップ５７）。この判別の結果、傾きｂがゼロ以上の値のときには、処理部２は、経過時間ｔが時間間隔Ｔ９に達した時点での周波数ｆｏ（つまり、仮周波数ｆｐｒ）を、それ以降の周波数ｆｏとして算出する（ステップ５８）。一方、処理部２は、ステップ５７での判別の結果、傾きｂが負の値であるときには、ステップ５６において、一次関数（ｂ×ｔ＋ａ）に基づいて算出された経過時間ｔでの周波数ｆｏを、そのまま、経過時間ｔでの周波数ｆｏとする。本例では、傾きｂが負（数値「−０．５６６７」）であるため、処理部２は、一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された経過時間ｔでの周波数ｆｏを、経過時間ｔでの周波数ｆｏとする。
【００４７】
続いて、処理部２は、ステップ５７において傾きｂが負の値であることを検出した後、経過時間ｔにおける関数（１／ｔ）に基づく値を下限値ｆｏ１として算出する（ステップ５９）。次いで、処理部２は、現在の経過時間ｔが、パルスＰ９の入力からの経過時間ｔが時間間隔Ｔ（Ｔ９）に達して（到達して）から（時刻ｔ９ｂから）、時間ｔｏ（本例では、時間間隔Ｔ９）を経過したか否か（時刻ｔ９ｃ（＝ｔ９ｂ＋ｔｏ）に達したか否か）を判別する（ステップ６０）。この判別の結果、処理部２は、経過時間ｔが時間間隔Ｔ（Ｔ９）に達して（到達して）から時間ｔｏ（本例では、時間間隔Ｔ９）を経過していない（時刻ｔ９ｃに達していない）と判別したときには、現時点において算出されている周波数ｆｏ（ステップ５５で算出された周波数ｆｏまたはステップ５８において算出された周波数ｆｏ）に対して、ステップ５９において算出された下限値ｆｏ１を適用する（ステップ６１）。つまり、処理部２は、現時点での周波数ｆｏと下限値ｆｏ１とを比較して、現時点での周波数ｆｏが下限値ｆｏ１以上のときには、現時点での周波数ｆｏを最終的な周波数ｆｏとし、現時点での周波数ｆｏが下限値ｆｏ１未満のときには、下限値ｆｏ１を最終的な周波数ｆｏとして算出する。このパルスＰ９，Ｐ１０の区間における時刻ｔ９ｂから時刻ｔ９ｃまでの間では、図３，５に示すように、ステップ５５において上記一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏは、常に下限値ｆｏ１以上となるため、処理部２は、各ステップ５４，５５，５６，５７，５９，６０，６１，６４，６５を繰り返し実行することにより、この一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された各経過時間ｔでの周波数ｆｏを最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００４８】
その後、経過時間ｔが時刻ｔ９ｃに達したときには、処理部２は、ステップ６０においてこれを検出して、各経過時間ｔにおける関数（１／（ｔ−ｔｏ））に基づく値を上限値ｆｏ２として算出し（ステップ６２）、次いで、この算出した上限値ｆｏ２を、ステップ５９において算出した下限値ｆｏ１と共に、現時点において算出されている周波数ｆｏ（ステップ５５で算出された周波数ｆｏまたはステップ５８において算出された周波数ｆｏ）に対して適用する（ステップ６３）。つまり、処理部２は、現時点での周波数ｆｏと上限値ｆｏ２とを比較して、現時点での周波数ｆｏが上限値ｆｏ２未満のときには、現時点での周波数ｆｏを最終的な周波数ｆｏとし、現時点での周波数ｆｏが上限値ｆｏ２以上のときには、上限値ｆｏ２を最終的な周波数ｆｏとして算出する。また、下限値ｆｏ１については、上記したステップ６１のときと同様にして適用する。このパルスＰ９，Ｐ１０の区間における時刻ｔ９ｃから時刻ｔ９ｄまでの間では、図３，５に示すように、ステップ５５において上記一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏは、下限値ｆｏ１以上で、かつ上限値ｆｏ２未満となる。このため、処理部２は、各ステップ５４，５５，５６，５７，５９，６０，６２，６３，６４，６５を繰り返し実行することにより、この一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された各経過時間ｔでの周波数ｆｏを最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００４９】
その後、経過時間ｔが時刻ｔ９ｄに達したときには、一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏと関数（１／（ｔ−ｔｏ））に基づいて算出された上限値ｆｏ２とが一致し、時刻ｔ９ｄから時刻ｔ９ｅまでの間では、図３，５に示すように、ステップ５５において上記一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏは、上限値ｆｏ２以上となる。このため、処理部２は、各ステップ５４，５５，５６，５７，５９，６０，６２，６３，６４，６５を繰り返し実行することにより、ステップ６２において算出される各経過時間ｔでの上限値ｆｏ２を最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００５０】
その後、経過時間ｔが時刻ｔ９ｅに達したときには、一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏと関数（１／（ｔ−ｔｏ））に基づいて算出された上限値ｆｏ２とが再び一致し、時刻ｔ９ｅの後、時刻ｔ９ｆまでの間では、図３，５に示すように、ステップ５５において上記一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏは、再び、下限値ｆｏ１以上で、かつ上限値ｆｏ２未満となる。このため、処理部２は、各ステップ５４，５５，５６，５７，５９，６０，６２，６３，６４，６５を繰り返し実行することにより、この一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された各経過時間ｔでの周波数ｆｏを最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００５１】
その後、経過時間ｔが時刻ｔ９ｆに達したときには、一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏと関数（１／ｔ）に基づいて算出された下限値ｆｏ１とが一致し、時刻ｔ９ｆの後、次のパルスＰ１０の入力までの間では、図３，５に示すように、ステップ５５において上記一次関数（−０．５６６７×ｔ＋３．０５５５）に基づいて算出された周波数ｆｏは、下限値ｆｏ１未満となる。このため、処理部２は、各ステップ５４，５５，５６，５７，５９，６０，６２，６３，６４，６５を繰り返し実行することにより、ステップ５９において算出される各経過時間ｔでの下限値ｆｏ１を最終的な周波数ｆｏとして算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。このため、パルスＰ９，Ｐ１０間での周波数ｆｏ最終値は、０．１６６７（＝１／６）［Ｈｚ］となる。
【００５２】
次いで、新規なパルスＰ１０が入力されたとき（時刻ｔ１０。図３参照）には、処理部２は、ステップ６５においてこのパルスＰ１０の入力を検出して、仮周波数算出処理を実行して、計測していた経過時間ｔを、この新規なパルスＰ１０と先のパルスＰ９との間の時間間隔Ｔ（時間間隔Ｔ１０（本例では６［ｓｅｃ］））として記憶部３に記憶すると共に、仮周波数ｆｐｒ（０．１６６７＝１／Ｔ１０）を算出して、時間間隔Ｔ１０と対応させて記憶する。次いで、処理部２は、本周波数算出処理を実行して、時刻ｔ１０からの各経過時間ｔにおける周波数ｆｏを算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００５３】
本例では、このパルスＰ１０以降の各パルスの区間（パルスＰ１０，Ｐ１１の区間、およびパルスＰ１１，Ｐ１２の区間）については、図２に示すように時間間隔Ｔが次第に短くなるため、新規なパルスの入力からの経過時間ｔが時間間隔Ｔに達する前に、または経過時間ｔが時間間隔Ｔに達すると同時に、次のパルスが入力される。このため、これらの各区間では、処理部２は、例えば、上記したパルスＰ２，Ｐ３の区間のときと同様にして、各ステップ５４，５５，５６，６４，６５を繰り返し実行することにより、ステップ５５において一次関数（ｂ×ｔ＋ａ）に基づいて算出される周波数ｆｏを最終的な周波数ｆｏとして算出して、この周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００５４】
具体的には、パルスＰ１０，Ｐ１１の区間では、ステップ５３において、処理部２が、その直前の区間（パルスＰ９，Ｐ１０の区間）での周波数ｆｏの最終値が０．１６６７［Ｈｚ］であり、両パルスＰ９，Ｐ１０の時間間隔Ｔ（つまりＴ１０）が６［ｓｅｃ］であって仮周波数ｆｐｒが０．１６６７［Ｈｚ］となることから、初期値ａを０．１６６７［Ｈｚ］と算出し、また傾きｂを数値「０」（＝（ｆｐｒ−ｆｏ）／Ｔ１０＝（０．１６６７−０．１６６７）／６）と算出する。このため、処理部２は、一次関数（０×ｔ＋０．１６６７）に基づいて、周波数ｆｏ（一定値：０．１６６７［Ｈｚ］）を算出して（ステップ５５）、この周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００５５】
次いで、新規なパルスＰ１１が入力されたとき（時刻ｔ１１。図３参照）には、処理部２は、ステップ６５においてこのパルスＰ１１の入力を検出して、上記したパルスＰ１０の入力時と同様にして、仮周波数算出処理を実行して、計測していた経過時間ｔを、この新規なパルスＰ１１と先のパルスＰ１０との間の時間間隔Ｔ（時間間隔Ｔ１１（本例では０．８［ｓｅｃ］））として記憶部３に記憶すると共に、仮周波数ｆｐｒ（１．２５（＝１／Ｔ１１）［Ｈｚ］）を算出して、時間間隔Ｔ１１と対応させて記憶する。次いで、処理部２は、本周波数算出処理を実行して、時刻ｔ１１からの各経過時間ｔにおける周波数ｆｏを算出して、算出した周波数ｆｏを示すデータＤｆを出力部４に出力する。
【００５６】
具体的には、パルスＰ１１，Ｐ１２の区間では、ステップ５３において、処理部２が、その直前の区間（パルスＰ１０，Ｐ１１の区間）での周波数ｆｏの最終値が０．１６６７［Ｈｚ］であり、両パルスＰ１０，Ｐ１１の時間間隔Ｔ（つまりＴ１１）が０．８［ｓｅｃ］であって仮周波数ｆｐｒが１．２５［Ｈｚ］となることから、初期値ａを０．１６６７［Ｈｚ］と算出し、また傾きｂを数値「１．３５４」（＝（ｆｐｒ−ｆｏ）／Ｔ１１＝（１．２５−０．１６６７）／０．８）と算出する。このため、処理部２は、一次関数（１．３５４×ｔ＋０．１６６７）に基づいて、各経過時間ｔにおける周波数ｆｏを算出して（ステップ５５）、この周波数ｆｏを示すデータＤｆを出力部４に出力する（ステップ６４）。
【００５７】
以上のようにして、処理部２が、パルスＰ２の入力からパルスＰ１２の入力までの区間について、各パルス区間での新規のパルスの入力時から単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出し、この周波数ｆｏを示すデータＤｆを出力部４に対して出力する。出力部４は、このデータＤｆを入力して、このデータＤｆで示される周波数ｆｏの時間的変化を波形として出力する。これにより、図３において実線で示すように、周波数ｆｏの時間的変化を示す波形が出力部４に出力される。この波形は、同図において破線で示した階段波状の波形（各パルスＰの入力時点で算出される仮周波数ｆｐｒをそのまま周波数ｆｏとして、次の新規なパルスＰの入力まで維持することで求められる波形）に対して、十分にスムージング処理された波形となる。
【００５８】
このように、この周波数算出処理および周波数算出装置１では、新規なパルスＰを入力したときに、この新規のパルスＰの１つ前のパルスＰの入力時からこの新規なパルスＰの入力時までの時間間隔Ｔに基づいてこの新規なパルスＰの入力時点での仮周波数ｆｐｒを算出する仮周波数算出処理を実行し、次いで、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、新規なパルスＰの入力時から単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出し、次のパルスＰの入力前に経過時間ｔが上記の時間間隔Ｔに達した以降においては、傾きｂがゼロ以上の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周波数ｆｏに代えて、この経過時間ｔが時間間隔Ｔに達したときの周波数ｆｏを各経過時間ｔにおける周波数ｆｏとして算出し、傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値ｆｏ１として、各経過時間ｔにおける周波数ｆｏを一次関数（ｂ×ｔ＋ａ）に基づいて算出する本特性値算出処理を実行する。この場合、初期値ａについては、１つ前のパルスＰの入力時から新規なパルスＰの入力時まで実行していた本周波数算出処理によって算出された最終の周波数ｆｏ（周波数ｆｏの最終値）を使用し、傾きｂについては、上記の時間間隔Ｔを経過したとしたときに周波数ｆｏが仮周波数ｆｐｒとなる数値を算出して使用する。
【００５９】
したがって、この周波数算出処理および周波数算出装置１によれば、時間間隔Ｔが不定であって、時間間隔Ｔが変動するパルスＰについての周波数ｆｏを、スムージング処理を施しつつ確実に算出することができる。また、新規なパルスＰを入力した時点でのパラメータ（仮周波数ｆｐｒおよび時間間隔Ｔ）を使用して、新規なパルスＰの入力時から次のパルスＰを入力するまで、単位時間Δｔ毎に各経過時間ｔにおける周波数ｆｏを算出して出力することができるため、この次のパルスＰの入力時までの周波数を、例えば、この次のパルスＰの１つ前に入力したパルスの入力時に算出した周波数を初期値とし、この次のパルスＰの入力時に算出した周波数を最終値とする一次関数に基づいて単位時間Δｔ毎に各経過時間ｔにおける周波数として、この次のパルスＰを入力した時点において遡って算出する方法と比較して、周波数ｆｏ（周波数ｆｏを示すデータＤｆ）をより早く出力することができる（つまり応答速度を向上させることができる）。また、次のパルスＰの入力前に経過時間ｔが時間間隔Ｔに達したとき（パルスＰの周波数が低下したとき）において、傾きｂがゼロ以上の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周波数ｆｏに代えて、この経過時間ｔが時間間隔Ｔに達したときの周波数ｆｏを各経過時間ｔにおける周波数ｆｏとして算出して出力するため、パルスＰの周波数が低下したにも拘わらず、算出される周波数ｆｏが増加するという事態を回避しつつ、スムージング処理を実行することができる。また、傾きｂが負の値のときには、関数（１／ｔ）に基づいて算出される値を下限値ｆｏ１として適用しつつ、各経過時間ｔにおける周波数ｆｏを一次関数（ｂ×ｔ＋ａ）に基づいて算出するため、算出されるパルスＰの周波数がゼロを割り込むといった事態についても回避しつつ、スムージング処理を実行することができる。
【００６０】
また、この周波数算出処理および周波数算出装置１では、一次関数（ｂ×ｔ＋ａ）の傾きｂが負のときにおいて、経過時間ｔが時間間隔Ｔに達した時点から時間ｔｏを経過した時点以後で、かつ次のパルスＰの入力前のときに、本特性値算出処理において、関数（１／（ｔ−ｔｏ））に基づいて算出される値を上限値ｆｏ２として適用しつつ、上記の下限値ｆｏ１を適用して、各経過時間ｔにおける周波数ｆｏを一次関数（ｂ×ｔ＋ａ）に基づいて算出することによってスムージング処理を実行する。
【００６１】
したがって、この周波数算出処理および周波数算出装置１によれば、次のパルスの入力が遅れたり、次のパルスが入力されない場合であっても、上限値ｆｏ２の適用によって周波数ｆｏを強制的に低下させることができるため、パルスＰの周波数が低下したにも拘わらず、算出される周波数ｆｏが低下しないという事態の発生を確実に回避しつつ、スムージング処理を実行することができる。
【００６２】
また、この周波数算出処理および周波数算出装置１によれば、この時間ｔｏを直前の時間間隔Ｔに規定して上限値を算出することにより、この新規なパルスの直前のパルスの間隔（つまり時間間隔Ｔ）に応じて、上限値ｆｏ２の適用時期を変更することができる。例えば、車速に関しては、急激に車速を高める運転の場合には、減速も急激に行われることが多く、逆に、ゆっくりと車速を高める運転の場合には、減速もゆっくりと行われることが多いなど、自然界における物理量の変化では、増加のときの傾向と低下のときの傾向とが同じになる場合が多いと考えられる。このため、このような物理量の変化をパルスＰの周波数ｆｏとして検出する場合において、上記のようにして時間ｔｏを直前の時間間隔Ｔとすることにより、次のパルスＰが入力されない状況においても、妥当な時刻で上限値ｆｏ２の適用を開始することができる結果、違和感の少ないスムージング処理を実行することができる。
【００６３】
なお、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周波数ｆｏに対して、下限値ｆｏ１および上限値ｆｏ２の双方を適用する例について上記したが、下限値ｆｏ１のみを適用する方法を採用してもよいのは勿論である。この下限値ｆｏ１のみを適用する方法においても、各パルスの間隔が次第に狭まるか、または等しい状態に維持される区間（例えば、図３におけるパルスＰ２の入力からパルスＰ７の入力までの区間）では、上記した方法と同様にして一次関数（ｂ×ｔ＋ａ）に基づいて、直線的にスムージングされる。一方、パルスＰ７の入力からパルスＰ８の入力までの区間では、周波数ｆｏが一定値（１０［Ｈｚ］）に維持され、次のパルスＰ８の入力からパルスＰ９の入力までの区間では、この区間における開始から時間間隔Ｔ（Ｔ８）を経過するまでの期間は一次関数（ｂ×ｔ＋ａ）（本例では、−２２．２×ｔ＋１０）に基づいてスムージングされ、時間間隔Ｔ（Ｔ８）を経過した後、次のパルスＰ９の入力までの期間は下限値ｆｏ１で規制されて、スムージングされる。したがって、この下限値ｆｏ１のみを適用する方法においても、周波数ｆｏのスムージングを行いつつ、次のパルスＰの入力時までの周波数を、例えば、この次のパルスＰの１つ前に入力したパルスの入力時に算出した周波数を初期値とし、この次のパルスＰの入力時に算出した周波数を最終値とする一次関数に基づいて単位時間Δｔ毎に各経過時間ｔにおける周波数として、この次のパルスＰを入力した時点において遡って算出する方法と比較して、周波数ｆｏ（周波数ｆｏを示すデータＤｆ）をより早く出力することができる（つまり応答速度を向上させることができる）。
【００６４】
また、上限値ｆｏ２の適用に際して、時間ｔｏを直前のパルスＰの間隔（時間間隔Ｔ）と一致させる好ましい構成を採用した例について上記したが、直前のパルスＰの間隔（時間間隔Ｔ）よりも若干短く規定する構成を採用したり、逆に若干長く規定する構成を採用してもよいのは勿論である。
【００６５】
また、パルス特性値として周波数ｆｏを算出して出力する周波数算出処理および周波数算出装置１について上記したが、上記した仮周波数算出処理における仮周波数ｆｐｒ（＝１／Ｔ）の算出に代えて、上記した直前の時間間隔Ｔをそのまま使用することで、各パルスＰの周期をパルス特性値として出力する周期算出処理方法および周期算出装置を実現することもできる。図示はしないが、この構成においては、周期出力処理（パルス特性値出力処理）では、処理部２は、仮周期算出処理（仮特性値算出処理）および本周期算出処理（本特性値算出処理）を実行して周期（パルス特性値）を算出し、算出した周期を示すデータを出力部４に出力する。この場合、処理部２は、仮周期算出処理では、新規なパルスＰを入力したときに、この新規のパルスＰの１つ前のパルスＰの入力時から新規なパルスＰの入力時までの時間間隔Ｔ（直前の時間間隔）を、新規なパルスＰの入力時点での仮の周期（仮のパルス特性値）とする。また、処理部２は、本周期算出処理では、まず、初期値ａについては、１つ前のパルスＰの入力から新規なパルスＰの入力まで実行していた本周期算出処理によって算出された周期の最終値（最終の周期）を使用し、傾きｂについては、新規なパルスＰの入力時から直前の時間間隔Ｔを経過したとしたときの周期が、新規なパルスＰの入力時点での仮の周期となる数値を使用することで、初期値ａおよび傾きｂを決定する。次いで、処理部２は、新規なパルスＰの入力時からの経過時間ｔが直前の時間間隔Ｔに達したとき（つまり、直前の時間間隔Ｔと同じ時間に達したとき）、および次のパルスＰが入力されたときのいずれか早いときまで、初期値ａおよび傾きｂで規定される一次関数（ｂ×ｔ＋ａ）に基づいて、この新規なパルスＰの入力時から単位時間Δｔ毎に各経過時間ｔにおける周期を算出し、新規なパルスＰの入力よりも早く時経過時間ｔが上記の時間間隔Ｔに達したとき以降においては、傾きｂが負の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周期に代えて、経過時間ｔが時間間隔Ｔに達したときの周期を各経過時間ｔにおける周期として算出し、傾きｂがゼロ以上の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周期を、各経過時間ｔにおける関数（ｔ）に基づく値を上限値とし、関数（ｔ−ｔｏ）に基づく値を下限値として適用しつつ、各経過時間ｔにおける周期として算出する。また、処理部２は、本周期算出処理において、上記のようにして各経過時間ｔにおける周期を算出する都度、周期を示すデータを出力部４に出力する。これにより、処理部２から出力部４に対して、各経過時間ｔにおける周期を示すデータが単位時間Δｔ間隔で連続して出力される。
【００６６】
したがって、この周期算出処理および周期算出装置によれば、時間間隔Ｔが不定であって、時間間隔Ｔが変動するパルスＰについての周期を、上記した周波数の算出のときと同様の効果、すなわち、周期（周期を示すデータ）をより早く出力しつつ（つまり応答速度を向上させつつ）、スムージング処理を施しつつ確実に算出することができるという効果を奏することができる。また、次のパルスＰの入力前に経過時間ｔが時間間隔Ｔに達したとき（パルスＰの周期が上昇したとき）において、傾きｂが負の値のときには、一次関数（ｂ×ｔ＋ａ）に基づいて算出される周期に代えて、この経過時間ｔが時間間隔Ｔに達したときの周期を各経過時間ｔにおける周期として算出して出力するため、パルスＰの周期が上昇したにも拘わらず、算出される周期が減少するという事態を回避しつつ、スムージング処理を実行することができるという効果を奏することができる。また、また、傾きｂがゼロ以上の値のときには、関数（ｔ）に基づいて算出される値を上限値として適用しつつ、各経過時間ｔにおける周期を一次関数（ｂ×ｔ＋ａ）に基づいて算出するため、算出されるパルスＰの周期が急激に上昇するといった事態についても回避しつつ、スムージング処理を実行することができる。また、関数（ｔ−ｔｏ）に基づいて算出される値を下限値として適用しつつ、上記の上限値を適用して、各経過時間ｔにおける周期を一次関数（ｂ×ｔ＋ａ）に基づいて算出することによってスムージング処理を実行するため、次のパルスの入力が遅れたり、次のパルスが入力されない場合であっても、下限値の適用によって周期を強制的に上昇させることができるため、パルスＰの周期が上昇したにも拘わらず、算出される周期が上昇しないという事態の発生を確実に回避しつつ、スムージング処理を実行することができる。また、この時間ｔｏを直前の時間間隔Ｔに規定して下限値を算出することにより、この新規なパルスの直前のパルスの間隔（つまり時間間隔Ｔ）に応じて、下限値の適用時期を変更することができるという効果を奏することができる。
【００６７】
また、処理部２および記憶部３を１つのＤＳＰ（Digital Signal Processor）で構成してもよいのは勿論である。
【符号の説明】
【００６８】
１  周波数算出装置
ａ  初期値
ｂ  傾き
Ｐ  パルス
Ｔ  時間間隔
ｔｏ  時間
ｆｏ  周波数
ｆｐｒ  仮周波数
【図１】
2011033500.tif 000003
【図２】
2011033500.tif 000004
【図３】
2011033500.tif 000005
【図４】
2011033500.tif 000006
【図５】
2011033500.tif 000007
【図６】
2011033500.tif 000008