(57)【要約】【課題】  簡素な構成かつ短時間でデータ補間を実現する。【解決手段】  データ選択回路２０は、データメモリ１１に格納されるデータから、連続する４データを選択する。加減算回路１３は、４データのうち隣り合う２データの差分を演算する。加減算回路１５は、３つの差分から２通りの和を演算する。レジスタ１６は、各々の和の半値を保持する。係数演算回路１７は、レジスタ１６１が保持するデータとレジスタ１６が保持する２データの和との比を演算する。補間データ演算回路１９は、減算器１３２が出力する差分と係数演算回路１７が出力する比との積を演算し、この積にレジスタ１２２が保持する第２番目のデータを加算することにより、補間データ２２を得る。【選択図】      図１
2005050086.tif 000002
【特許請求の範囲】
【請求項１】
第１乃至第４データを取り込み、第１データと第２データとの第１差分、第２データと第３データとの第２差分、および第３データと第４データとの第３差分を演算する第１加減算手段と、
前記第１差分と前記第２差分との和である第１和、および前記第２差分と前記第３差分との和である第２和を演算する第２加減算手段と、
前記第１和の１／２倍である第１平均値、および前記第２和の１／２倍である第２平均値を演算する第１シフト演算手段と、
前記第１平均値と前記第２平均値との和である第３和を演算する第３加減算手段と、
前記第１平均値から前記第３和を除した比を演算する除算手段と、
前記第２差分と前記比との積を演算する乗算手段と、
前記積と前記第２データとの和または差を演算することにより、前記第２データと前記第３データとを前記比で分割したデータを得る第４加減算手段と、を備えることを特徴とするデータ補間装置。
【請求項２】
前記第１加減算手段は、２つのデータの差分を演算する減算手段を備え、
前記データ補間装置は、前記減算手段に入力するデータを順次替えることにより、前記減算手段に時間をずらして前記第１乃至第３差分を演算させる第１時分割制御手段を、更に備える請求項１に記載のデータ補間装置。
【請求項３】
前記第２加減算手段は、２つのデータの和を演算する加算手段を備え、
前記データ補間装置は、前記加算手段に入力するデータを替えることにより、前記加算手段に時間をずらして前記第１および第２和を演算させる第２時分割制御手段を、更に備える請求項１又は２に記載のデータ補間装置。
【請求項４】
前記第２差分の１／２倍を演算する第２シフト演算手段と、
前記第２シフト演算手段による演算結果と前記第２または第３データとの和または差を演算することにより前記第２および第３データの平均値を得る第５加減算手段と、
前記第４加減算手段による演算結果と前記第５加減算手段による演算結果の和である第４和を演算する第６加減算手段と、
前記第４和の１／２倍を演算する第３シフト演算手段と、を更に備える請求項１乃至３の何れかに記載のデータ補間装置。
【請求項５】
前記第２データと前記第３データとの和を演算する第５加減算手段と、
前記第５加減算手段による演算結果の１／２倍を演算する第２シフト演算手段と、
前記第４加減算手段による演算結果と前記第２シフト演算手段による演算結果の和である第４和を演算する第６加減算手段と、
前記第４和の１／２倍を演算する第３シフト演算手段と、を更に備える請求項１乃至３の何れかに記載のデータ補間装置。
【請求項６】
第１データ列と前記第１データ列に対応づけられた第２データ列とを記憶するデータメモリと、
前記入力データから基準値以内の範囲に中央値が収束するまで間隔を半減しつつ、前記中央値が前記入力データに最も近く且つ前記間隔をもって等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択すべき４個のデータのうち前記データメモリに記憶されない未記憶データがあれば、前記未記憶データを中央値として等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択した前記４個のデータに対応する前記第２データ列内の４個のデータを、前記第１乃至第４データとして前記第１加減算手段へ付与するデータ選択手段と、を更に備え、
前記データメモリは、前記中央値と前記第４加減算手段が得るデータとを、それぞれ第１データ列のデータと第２データ列のデータとして追加して記憶する請求項１乃至３の何れかに記載のデータ補間装置。
【請求項７】
第１データ列と前記第１データ列に対応づけられた第２データ列とを記憶するデータメモリと、
前記入力データから基準値以内の範囲に中央値が収束するまで間隔を半減しつつ、前記中央値が前記入力データに最も近く且つ前記間隔をもって等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択すべき４個のデータのうち前記データメモリに記憶されない未記憶データがあれば、前記未記憶データを中央値として等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択した前記４個のデータに対応する前記第２データ列内の４個のデータを、前記第１乃至第４データとして前記第１加減算手段へ付与するデータ選択手段と、を更に備え、
前記データメモリは、前記中央値と前記第３シフト演算手段が得るデータとを、それぞれ第１データ列のデータと第２データ列のデータとして追加して記憶する請求項４または５に記載のデータ補間装置。
【請求項８】
コンピュータを、
第１乃至第４データを取り込み、第１データと第２データとの第１差分、第２データと第３データとの第２差分、および第３データと第４データとの第３差分を演算する第１加減算手段と、
前記第１差分と前記第２差分との和である第１和、および前記第２差分と前記第３差分との和である第２和を演算する第２加減算手段と、
前記第１和の１／２倍である第１平均値、および前記第２和の１／２倍である第２平均値を演算する第１シフト演算手段と、
前記第１平均値と前記第２平均値との和である第３和を演算する第３加減算手段と、
前記第１平均値から前記第３和を除した比を演算する除算手段と、
前記第２差分と前記比との積を演算する乗算手段と、
前記積と前記第２データとの和または差を演算することにより、前記第２データと前記第３データとを前記比で分割したデータを得る第４加減算手段として機能させることを特徴とするデータ補間用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、限られたデータをもとに補間データを生成するためのデータ補間装置およびデータ補間用プログラムに関する。
【背景技術】
【０００２】
外部条件に依存して出力信号が変動する装置を用いて、精度の高い出力信号を得るためには、外部条件に依存した変動分を補正することが必要となる。図２０は、そのように構成された装置の一例を示すブロック図である。この例では、半導体装置２００が常時出力する信号Vは周囲温度Tに依存している。そこで、出力Vの温度Ｔに依存した変動分を補正する温度特性補正装置２０１が用いられる。温度特性補正装置２０１は、半導体装置２００の温度特性データ、すなわち周囲温度Ｔと信号Ｖとの関係を示すデータをテーブルとして保持しており、温度センサ２０２が出力する周囲温度Ｔとテーブルとを対比することにより温度特性補正を行う。
【０００３】
限られた個数の温度特性データにもとづいて、精度の高い温度特性補正を行うためには、与えられたデータを補間する技術を利用するのが有効である。データ補間技術として、例えば特許文献１に開示される技術が知られている。この従来技術は、ベジエ（Ｂｅｚｉｅｒ）曲線を利用するもので、例えば３次のベジエ曲線を用いた補間を行うのに、４種類の係数の各々について補間点と同一個数の値をテーブルとして保持しておき、与えられた４点のデータと対応する係数との乗算を行った上で、それらの４個の積を加算することにより、補間データを得るものである。
【特許文献１】特開平６−１６２１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示される技術は、上記の通り係数についてテーブルを作成しておくものであるため、テーブル記憶用のメモリを必要とするという問題点があった。また、与えられた４点のデータと対応する係数との４回の乗算を行うために、単一の乗算器を用いるのであれば、処理時間が増大するという問題点があった。逆に、これらの乗算を短時間で行うためには、乗算器を４個準備して同時並列に乗算を行う必要があり、データ補間装置の回路規模が増大するという問題点があった。さらに、いずれの場合においても消費電力が増大するという問題点があった。図２０に例示するような出力信号を補正する装置に組み込んで使用するには、データ補間装置は小型で構造が簡単であることが望まれる。
【０００５】
本発明は上記の問題点に鑑みてなされたもので、簡素な構成かつ短時間でデータ補間を実現するデータ補間装置およびデータ補間用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決し上記目的を達成するために、本発明に係る第１の手段は、データ補間装置であって、第１乃至第４データを取り込み、第１データと第２データとの第１差分、第２データと第３データとの第２差分、および第３データと第４データとの第３差分を演算する第１加減算手段と、前記第１差分と前記第２差分との和である第１和、および前記第２差分と前記第３差分との和である第２和を演算する第２加減算手段と、前記第１和の１／２倍である第１平均値、および前記第２和の１／２倍である第２平均値を演算する第１シフト演算手段と、前記第１平均値と前記第２平均値との和である第３和を演算する第３加減算手段と、前記第１平均値から前記第３和を除した比を演算する除算手段と、前記第２差分と前記比との積を演算する乗算手段と、前記積と前記第２データとの和または差を演算することにより、前記第２データと前記第３データとを前記比で分割したデータを得る第４加減算手段と、を備えることを特徴とするものである。
【０００７】
好ましくは、前記第１加減算手段は、２つのデータの差分を演算する減算手段を備え、前記データ補間装置は、前記減算手段に入力するデータを順次替えることにより、前記減算手段に時間をずらして前記第１乃至第３差分を演算させる第１時分割制御手段を、更に備える。
【０００８】
更に好ましくは、前記第２加減算手段は、２つのデータの和を演算する加算手段を備え、前記データ補間装置は、前記加算手段に入力するデータを替えることにより、前記加算手段に時間をずらして前記第１および第２和を演算させる第２時分割制御手段を、更に備える。
【０００９】
また好ましくは、前記第２差分の１／２倍を演算する第２シフト演算手段と、前記第２シフト演算手段による演算結果と前記第２または第３データとの和または差を演算することにより前記第２および第３データの平均値を得る第５加減算手段と、前記第４加減算手段による演算結果と前記第５加減算手段による演算結果の和である第４和を演算する第６加減算手段と、前記第４和の１／２倍を演算する第３シフト演算手段と、を更に備える。
【００１０】
或いは、前記第２データと前記第３データとの和を演算する第５加減算手段と、前記第５加減算手段による演算結果の１／２倍を演算する第２シフト演算手段と、前記第４加減算手段による演算結果と前記第３シフト演算手段による演算結果の和である第４和を演算する第６加減算手段と、前記第４和の１／２倍を演算する第３シフト演算手段と、を更に備える。
【００１１】
更に好ましくは、第１データ列と前記第１データ列に対応づけられた第２データ列とを記憶するデータメモリと、前記入力データから基準値以内の範囲に中央値が収束するまで間隔を半減しつつ、前記中央値が前記入力データに最も近く且つ前記間隔をもって等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択すべき４個のデータのうち前記データメモリに記憶されない未記憶データがあれば、前記未記憶データを中央値として等間隔に並ぶ４個のデータを前記第１データ列から選択し、選択した前記４個のデータに対応する前記第２データ列内の４個のデータを、前記第１乃至第４データとして前記第１加減算手段へ付与するデータ選択手段と、を更に備え、前記データメモリは、前記中央値と前記第４加減算手段又は前記第３シフト演算手段が得るデータとを、それぞれ第１データ列のデータと第２データ列のデータとして追加して記憶する。
【００１２】
本発明に係る第２の手段は、データ補間用プログラムであって、コンピュータを、第１乃至第４データを取り込み、第１データと第２データとの第１差分、第２データと第３データとの第２差分、および第３データと第４データとの第３差分を演算する第１加減算手段と、前記第１差分と前記第２差分との和である第１和、および前記第２差分と前記第３差分との和である第２和を演算する第２加減算手段と、前記第１和の１／２倍である第１平均値、および前記第２和の１／２倍である第２平均値を演算する第１シフト演算手段と、前記第１平均値と前記第２平均値との和である第３和を演算する第３加減算手段と、前記第１平均値から前記第３和を除した比を演算する除算手段と、前記第２差分と前記比との積を演算する乗算手段と、前記積と前記第２データとの和または差を演算することにより、前記第２データと前記第３データとを前記比で分割したデータを得る第４加減算手段として機能させることを特徴とするものである。
【発明の効果】
【００１３】
このような構成のデータ補間装置およびデータ補間用プログラムは、係数を記憶するためのメモリを要せず、しかも、与えられたデータに対して１回の乗算および１回の除算の他は、加減算とシフト演算とを行うことによって、与えられた４点のデータにもとづいた補間データを得る。すなわち、このデータ補間装置およびデータ補間用プログラムは、回路規模を簡素にしつつ、３次のベジエ曲線を用いた補間と同等程度の精度でのデータ補間を短時間で実現する。このため、このデータ補間装置およびデータ補間用プログラムは、計測装置等の信号の補正をリアルタイムで行う補正装置への利用に適している。
【発明を実施するための最良の形態】
【００１４】
［第１の実施形態］
図１は、本発明の第１の実施形態によるデータ補間装置の構成を示すブロック図である。このデータ補間装置１０は、データメモリ１１、データ選択回路２０、レジスタ１２、加減算回路１３、レジスタ１４、加減算回路１５、係数演算回路１７、レジスタ１８および補間データ演算回路１９を備えている。データメモリ１１は、補間データのもとになるデータを格納するメモリであり、例えばＲＯＭ（Read  Only  Memory）或はＲＡＭ（Random  Access Memory）である。
【００１５】
データ補間装置１０が図２０の温度特性補正装置２０１へ適用される例では、データメモリ１１へ保持されるデータは、例えば図２に示すような温度特性データとなる。温度特性データは、温度Ｔ（Ｔ＝・・、０°Ｃ、２°Ｃ、・・）とこれに対応する電圧Ｖを記述するデータである。温度Ｔは等間隔に選ばれる。温度Ｔとメモリアドレスとが対応付けられている場合には、どの温度Ｔに関する電圧Ｖのデータであるかがアドレスによって判別できるので、温度Ｔのデータは無くても良い。図１に戻って、データ補間装置１０は、データメモリ１１にあらかじめ格納された温度Ｔ対電圧Ｖのデータにもとづいて、隣接する温度Ｔの中央値、すなわちＴ＝・・、１°Ｃ、３°Ｃ、・・に対応する電圧Ｖを、目的データである補間データ２２として演算する。
【００１６】
データ選択回路２０は、外部から入力される入力データ２１にもとづいて、データメモリ１１に保持されるデータの中から、４個のデータを選択する回路である。入力データ２１が、例えば３°Ｃの補間データ２２を計算すべき旨を指示すると、データ選択回路１０は温度Ｔ＝０°Ｃ、２°Ｃ、４°Ｃおよび６°Ｃに対応する４個の電圧Ｖを選択する。レジスタ１２は、４個のレジスタ１２１〜１２４を備えることにより、データ選択回路２０が選択した４個のデータを同時に保持する。
【００１７】
加減算回路１３は、３個の減算器１３１〜１３３を備えることにより、レジスタ１２１〜１２４が保持する４個のデータについての３通りの差分を同時に演算する。レジスタ１４は、３個のレジスタ１４１〜１４３を備えることにより、減算器１３１〜１３３の出力データを同時に保持する。加減算回路１５は、２個の加算器１５１および１５２を備えることにより、レジスタ１４１および１４２が保持するデータの和と、レジスタ１４２および１４３が保持するデータの和とを同時に演算する。
【００１８】
レジスタ１６は、２個のレジスタ１６１および１６２を備えることにより、加算器１５１および１５２の出力データの半値（１／２倍の値）を同時に保持する。加算器１５１の出力端子とレジスタ１６１の入力端子との間、および加算器１５２の出力端子とレジスタ１６２の入力端子との間を、１ビットずらして（つまり１ビットだけ右シフトさせて）接続することにより、レジスタ１６１および１６２には、加算器１５１および１５２の出力データの半値が入力される。端子間の接続をずらす代わりに、レジスタ１６１および１６２にシフトレジスタを用いることにより、加算器１５１および１５２の出力データを１ビットだけ右シフトした上で保持するようにしてもよい。いずれの場合であっても、レジスタ１６と接続配線を含めた回路は、入力データを１ビット右シフトするシフト演算回路を含むこととなる。
【００１９】
係数演算回路１７、レジスタ１８および補間データ演算回路１９は、レジスタ１２および１６に保持されるデータにもとづいて、補間データ２２を演算する。係数演算回路１７、レジスタ１８および補間データ演算回路１９の構成及び機能については後述する。なお、データ補間装置１０を構成する各回路は、処理時間の短縮化等の観点から、好ましくはソフトウェア（プログラム）を要しないハードウェアで構成されるが、ソフトウェアに基づいて動作するコンピュータにより等価的に構成してもよい。コンピュータは、ＲＯＭ或はＲＡＭ等のメモリ（不図示）に記憶されるソフトウェア（プログラム）にもとづいて動作するＣＰＵ（中央演算処理装置）（不図示）を備えるが、このソフトウェアは、通信ネットワーク等の伝送媒体を通じて提供することも、ＣＤ−ＲＯＭ等の記録媒体を通じて提供することも可能である。コンピュータは、例えば外付けのＣＤ−ＲＯＭ読み取り装置等（不図示）を用いて、記録媒体に記録されたソフトウェアを読み取ることができる。
【００２０】
図３は、データ補間装置１０による処理の手順を示すフローチャートである。この処理（ステップＳ１０）が始まると、まず、データメモリ１１がデータを保持する（ステップＳ１）。この処理は、通常はデータ補間装置１０を図２０に例示する利用対象へ組み込む際に、あらかじめ行われるものである。したがって、すでにデータメモリ１１にデータが保持されている通常の使用においては、ステップＳ１の処理は省かれる。
【００２１】
ステップＳ１の処理が終了すると、データ選択回路２０は、データメモリ１１に保持されるデータのうち、連続する４個のデータを選択し、選択したデータをレジスタ１２へ保持させる（ステップＳ２）。連続する４個のデータとは、図２に示した温度特性データの例では、温度Tが連続する４個のデータを意味する。以下の説明では、選択された４個のデータが図４に示す点Ｐ１〜Ｐ４のｙ座標値である例を取り上げる。図４のグラフにおいて、横軸ｘは図２の例における温度Ｔに対応し、縦軸ｙは同例における電圧Ｖに対応する。この場合、座標値ｘ１、ｘ２、ｘ３、ｘ４は、等間隔に並ぶ温度Ｔのうちの連続する４個に相当する。座標値ｘ１、ｘ２、ｘ３、ｘ４の中央値であるｘ２３に対応する座標値ｙ２３が、求めるべき補間データ２２である。図４の例では、４個のデータとして、１０、７、０、−１が、この順序でレジスタ１２１〜１２４へ保持される。
【００２２】
次に、加減算回路１３は、レジスタ１２が保持するデータの間の差分を演算する（ステップＳ３）。この処理において、減算器１３１は、｛１２２｝−｛１２１｝＝７−１０＝−３を演算し、減算器１３２は、｛１２３｝−｛１２２｝＝０−７＝−７を演算し、減算器１３３は、｛１２４｝−｛１２３｝＝−１−０＝−１を演算する。ここで、記号｛ａａａ｝は、回路ａａａの出力データを意味する。ここで演算された３個の差分は、図４における線分Ｐ１〜Ｐ２、線分Ｐ２〜Ｐ３および線分Ｐ３〜Ｐ４の傾きに相当する。
【００２３】
次に、レジスタ１４が、減算器１３１〜１３３の出力データを保持する（ステップＳ４）。その後、加減算回路１５は、レジスタ１４に保持されたデータの和を演算する（ステップＳ５）。この処理において、加算器１５１は、｛１４１｝＋｛１４２｝＝−３−７＝−１０を演算し、加算器１５２は、｛１４２｝＋｛１４３｝＝−７−１＝−８を演算する。次に、レジスタ１６は、加算器１５１および１５２の出力データの半値を保持する（ステップＳ６）。すなわち、レジスタ１６１は、｛１５１｝／２＝（−１０）／２＝−５を保持し、レジスタ１６２は、｛１５２｝／２＝（−８）／２＝−４を保持する。ここで演算された２個の半値は、図４において点Ｐ１〜Ｐ４を滑らかにつなぐ曲線の点Ｐ２および点Ｐ３における傾きを、それらを挟む２本の折れ線（例えば点Ｐ２については折れ線Ｐ１〜Ｐ２と折れ線Ｐ２〜Ｐ３の２本）の傾きの平均値として推定したものである。
【００２４】
次に、係数演算回路１７は、レジスタ１６に保持されるデータを用いて、補間データ２２の演算に必要な係数を演算する。図５は、係数演算回路１７の構成を示すブロック図である。係数演算回路１７は、加減算回路３１、レジスタ３２、セレクタ３３および除算回路３４を備えている。係数演算回路１７は、図６のフローチャートに示す手順に沿ってステップＳ７の処理を実行する。はじめに、加減算回路３１は、レジスタ１６１および１６２に保持されるデータの和を演算する（ステップＳ７１）。すなわち、加減算回路３１は、｛１６１｝＋｛１６２｝＝−５−４＝−９を演算する。次に、レジスタ３２は、加減算回路３１の出力データを保持する（ステップＳ７２）。
【００２５】
次に、除算回路３４は、レジスタ１６に保持されるデータをレジスタ３２に保持されるデータで除算する（ステップＳ７３）。セレクタ３３は、レジスタ１６に含まれるレジスタ１６１と１６２との何れかに保持されるデータを選択して除算回路３４へ伝える。したがって、除算回路３４は、｛１６１｝／｛３２｝＝（−５）／（−９）＝５／９または｛１６２｝／｛３２｝＝（−４）／（−９）＝４／９を演算する。なお、以下の説明では、セレクタ３３がレジスタ１６１を選択したものとして、各演算過程における数値を例示する。ステップＳ７３の処理が終了すると、ステップＳ７の処理全体が終了する。
【００２６】
図３に戻って、ステップＳ７の処理に続いて、レジスタ１８は、除算回路３４の出力データを保持する（ステップＳ８）。続いて、補間データ演算回路１９は、レジスタ１８が保持するデータとレジスタ１２が保持するデータとにもとづいて、補間データ２２を演算する（ステップＳ９）。
【００２７】
図７は、補間データ演算回路１９の構成を示すブロック図である。補間データ演算回路１９は、加減算回路４１、レジスタ４２、乗算回路４３、レジスタ４４、セレクタ４５および加減算回路４６を備えている。補間データ演算回路１９は、図８のフローチャートに示す手順に沿ってステップＳ９の処理を実行する。はじめに、加減算回路４１は、レジスタ１２２および１２３に保持されるデータの差分を演算する（ステップＳ９１）。すなわち、加減算回路４１は、｛１２３｝−｛１２２｝＝０−７＝−７を演算する。次に、レジスタ４２は、加減算回路４１の出力データを保持する（ステップＳ９２）。次に、乗算回路４３は、レジスタ４２が保持するデータと、除算回路３４の出力データとの積を演算する（ステップＳ９３）。すなわち、乗算回路４３は、［｛１２３｝−｛１２２｝］×｛３４｝＝（−７）×（５／９）＝−３５／９を演算する。なお、補間データ演算回路１９は、加減算回路４１およびレジスタ４２を備える代わりに、レジスタ１４２（図１）が保持するデータを、乗算回路４３の一方入力へ入力するように構成しても良い。
【００２８】
次に、加減算回路４６は、レジスタ１２２または１２３が保持するデータとレジスタ４４が保持するデータとを加算または減算する（ステップＳ９５）。セレクタ４５は、レジスタ１２に含まれるレジスタ１２２と１２３との何れかに保持されるデータを選択して加減算回路４６へ伝える。したがって、加減算回路４６は、例えば｛１２２｝＋［｛１２３｝−｛１２２｝］×｛３４｝＝７＋（−７）×（５／９）＝２８／９を演算する。加減算回路４６は、この値を補間データ２２として出力する。
【００２９】
図９は、図６および図８の処理を説明するためのグラフである。図９（ａ）が示すように、点Ｐ２における曲線の傾きが点Ｐ３における曲線の傾きよりも大きい場合には、補間データ２２に対応する点（図中の黒丸）は、線分Ｐ２〜Ｐ３の中点よりも上方に位置するものと予測することができる。逆に、図９（ｂ）が示すように、点Ｐ２における曲線の傾きが点Ｐ３における曲線の傾きよりも小さい場合には、補間データ２２に対応する点は、線分Ｐ２〜Ｐ３の中点よりも下方に位置するものと予測することができる。そこで、図６および図８に示した処理は、点Ｐ２の座標値ｙ２と点Ｐ３の座標値ｙ３とを、点Ｐ２と点Ｐ３との各々における傾きで分割することにより、補間データ２２すなわち座標値ｙ２３を演算している。
【００３０】
セレクタ３３による選択、セレクタ４５による選択、加減算回路４１による選択、および加減算回路４６による選択の間の関係を図示すると図１０の通りとなる。すなわち、セレクタ３３がレジスタ１６１に保持されるデータを選択することにより除算回路３４が｛１６１｝／｛３２｝＝５／９を演算する場合には、セレクタ４５はレジスタ１２２に保持されるデータを選択する。この場合において、加減算回路４１が｛１２２｝−｛１２３｝を演算するときは、加減算回路４６は、｛１２２｝からレジスタ４４の出力データを減じる演算を行い、加減算回路４１が｛１２３｝−｛１２２｝を演算するときは、加減算回路４６は、｛１２２｝にレジスタ４４の出力データを加算する演算を行う。いずれの場合にも、加減算回路４６は、｛１２２｝＋［｛１２３｝−｛１２２｝］×｛３４｝＝２８／９（＝３＋１／９）を演算する。このように、加減算回路４１は、｛１２２｝−｛１２３｝と｛１２３｝−｛１２２｝との何れを演算してもよい。
【００３１】
一方、セレクタ３３がレジスタ１６２に保持されるデータを選択することにより除算回路３４が｛１６２｝／｛３２｝＝４／９を演算する場合には、セレクタ４５はレジスタ１２３に保持されるデータを選択する。この場合において、加減算回路４１が｛１２２｝−｛１２３｝を演算するときは、加減算回路４６は、｛１２３｝にレジスタ４４の出力データを加算する演算を行い、加減算回路４１が｛１２３｝−｛１２２｝を演算するときは、加減算回路４６は、｛１２３｝からレジスタ４４の出力データを減じる演算を行う。いずれの場合にも、加減算回路４６は、｛１２３｝＋［｛１２２｝−｛１２３｝］×｛３４｝＝２８／９を演算する。
【００３２】
図８に戻って、ステップＳ９５の処理が終了すると、ステップＳ９の処理全体が終了し、更に図３に示したステップＳ１０の処理全体が終了する。データ補間装置１０は、以上のようにして補間データ２２を演算するので、係数を記憶するためのメモリを要せず、しかも、与えられたデータに対して１回の乗算および１回の除算の他は、加減算とシフト演算を行うのみである。また、データ補間装置１０は、１個の補間データ２２を得るのに、図４に示す２点Ｐ２、Ｐ３における座標値と、傾きとを考慮するので、これらの４つの値によって規定される３次関数の座標ｘ２３における関数値を予測しているに等しい。したがって、データ補間装置１０は、回路規模を簡素にしつつ、３次のベジエ曲線を用いた補間と同等程度の精度でのデータ補間を短時間で実現する。このため、このデータ補間装置１０は、図２０に例示した計測装置等の信号の補正をリアルタイムで行う補正装置への利用に適している。
【００３３】
［第２の実施形態］
図１１は、本発明の第２の実施形態によるデータ補間装置の構成を示すブロック図である。このデータ補間装置１０Ａは、補間データ演算回路１９が出力する補間データ２２をデータメモリ１１へ保持するように構成されている。図１２は、データ補間装置１０Ａのデータ選択回路２０の動作を説明するためのグラフである。ここでは、データメモリ１１に保持されるデータは、図２に例示した温度特性データであるものとする。データメモリ１１には、互いに等間隔の温度データＴ１〜Ｔ６（第１データ列）と、それらに対応する電圧データＶ１〜Ｖ６（第２データ列）が、初期データとして予め格納されている。データ選択回路２０には、入力データ２１（Ｔｉｎ）として、例えば図２０に示した温度センサ２０２が出力する温度データが入力される。
【００３４】
データ選択回路２０は、入力データＴｉｎと温度データＴ１〜Ｔ６とを比較することにより、入力データＴｉｎが中央値に最も近くなる４個の連続した温度データに対応する４個の電圧データを選択する。図１２に例示するように、入力データＴｉｎが、Ｔ４＜Ｔｉｎ＜Ｔ５の範囲にあれば、データ選択回路２０は、Ｔｉｎに最も近いＴ４５（Ｔ４とＴ５の中央値）を中央値とする４個の温度データＴ３、Ｔ４、Ｔ５およびＴ６に対応する４個の電圧データＶ３、Ｖ４、Ｖ５およびＶ６を選択し、レジスタ１２へ保持させる。その結果、補間データ２２として温度データＴ４５に対応する電圧データＶ４５が得られる。得られた電圧データＶ４５は、温度データＴ４５とともにデータメモリ１１へ保持される。
【００３５】
入力データＴｉｎと温度データＴ４５とが予め定められた精度以内、すなわちＴｉｎ−Ｔ４５の絶対値が予め定められた基準値ｅ（ｅ＞０）以下であれば、入力データＴｉｎに対応する補間データ２２として、電圧データＶ４５が出力されることにより、データ補間装置１０Ａによる補間データ２２の演算は終了する。一方、入力データＴｉｎと温度データＴ４５とが予め定められた精度以内ではない、すなわちＴｉｎ−Ｔ４５の絶対値が基準値ｅより大きければ、データ選択回路２０は、初期データＴ１〜Ｔ６の間隔の１／２の間隔で並ぶ温度データのうち、Ｔｉｎに最も近い温度データＴ４４５（Ｔ４とＴ４５の中央値）を中央値とする４個の温度データＴ３４、Ｔ４、Ｔ４５およびＴ５に対応する４個の電圧データＶ３４、Ｖ４、Ｖ４５およびＶ５を選択し、レジスタ１２へ保持させる。その結果、補間データ２２として温度データＴ４４５に対応する電圧データＶ４４５が得られる。
【００３６】
このとき、演算に必要な電圧データＶ３４が、データメモリ１１に格納されていない場合には、データ選択回路２０は、まず電圧データＶ３４を得るために、温度データＴ２、Ｔ３、Ｔ４およびＴ５に対応する電圧データＶ２、Ｖ３、Ｖ４およびＶ５を選択し、レジスタ１２へ保持させる。それにより補間データ２２として電圧データＶ３４が得られた後に、データ選択回路２０は、温度データＴ４４５に対応する電圧データＶ４４５を得るべく、電圧データＶ３４、Ｖ４、Ｖ４５およびＶ５を選択し、レジスタ１２へ保持させる。
【００３７】
データ選択回路２０が、入力データＴｉｎと新たな温度データの中央値との差が予め定められた基準値以下となるまで、以上の手順を繰り返すことにより、入力データＴｉｎに対応する補間データ２２が予め定められた精度で得られる。演算が終了すると、データメモリ１１に記憶されるデータを、初期データを除いて削除することにより、データメモリ１１の容量を節減することができる。逆に、データメモリ１１に記憶されるデータをそのまま残しておくことにより、入力データ２１の変動に伴う新たな補間データ２２の演算をより短時間で行うこと、あるいは演算を行わずに既に記憶される補間データ２２を出力することも可能となる。なお、データメモリ１１に対する制御は、例えばデータ選択回路２０が行うとよい。
【００３８】
［第３の実施形態］
図１３は、本発明の第３の実施形態によるデータ補間装置の構成を示すブロック図である。このデータ補間装置１０Ｂは、時分割制御回路５０、並びに接続制御回路５１及び５２を備え、レジスタ１２Ａが２個のレジスタ１２１及び１２２を備え、加減算回路１３Ａが単一の加算器を備える点において、第１の実施形態によるデータ補間装置１０とは特徴的に異なる。すなわち、データ補間装置１０Ｂは、加減算回路１３Ａによる３通りの演算を時分割により行うように構成されている。
【００３９】
接続制御回路５１は、時分割制御回路５０による制御にもとづいて、データ選択回路２０が選択した４個のデータのうちの連続した２個のデータをレジスタ１２Ａへ保持させる。すなわち、接続制御回路５１は、データ選択回路２０が選択する４個のデータを、時分割により時間をずらして２個ずつレジスタ１２へ保持させる。それにより、加減算回路１３Ａは、単一の減算器を用いて３つの差分を時分割により時間をずらして演算する。接続制御回路５２は、加減算回路１３Ａが時間をずらして演算する差分を、レジスタ１４１〜１４３へ順次保持させる。
【００４０】
図１４は、データ補間装置１０Ｂによる処理の手順を示すフローチャートである。図１４において、図３に示した処理と同様の処理については、同一の符号を付してその詳細な説明を略する。この処理（ステップＳ１０Ｂ）が始まると、まず、データメモリ１１がデータを保持する（ステップＳ１）。図３に関して既に述べたように、データメモリ１１にデータが保持されている通常の使用においては、ステップＳ１の処理は省かれる。
【００４１】
次に、時分割制御回路５０による指定にもとづいて（ステップＳ２２，Ｓ２３）、接続制御回路５１は、データ選択回路２０が選択する連続する４個のデータのうち、連続する２個のデータを選択し、選択したデータをレジスタ１２Ａへ保持させる（ステップＳ２４〜Ｓ２６）。以下の説明においても、選択された４個のデータが図４に示す点Ｐ１〜Ｐ４のｙ座標値である例を取り上げる。したがって、ステップＳ２４では、点Ｐ１および点Ｐ２のｙ座標値がレジスタ１２Ａへ保持され、ステップＳ２５では、点Ｐ２および点ｐ３のｙ座標値がレジスタ１２Ａへ保持される。また、ステップＳ２６では、点Ｐ３および点Ｐ４のｙ座標値がレジスタ１２Ａへ保持される。
【００４２】
次に、各ステップＳ２４〜Ｓ２６のいずれかが終了するごとに、加減算回路１３Ａは、レジスタ１２Ａが保持するデータの間の差分を演算する（ステップＳ２７）。次に、時分割制御回路５０による指定にもとづいて（ステップＳ２８，Ｓ２９）、接続制御回路５２は、加減算回路１３Ａが出力するデータを、レジスタ１４１〜１４３のいずれかへ保持させる（ステップＳ３０〜Ｓ３２）。続くステップＳ３３の判定において、レジスタ１４１〜１４３のいずれかにデータが保持されていなければ、処理はステップＳ２２へ戻り、レジスタ１４１〜１４３のすべてにデータが保持されておれば、処理はステップＳ３４およびＳ３５へ移行する。すなわち、時分割により時間をずらしてステップＳ２４〜Ｓ２６が順次実行され、ステップＳ２４〜Ｓ２６のうちの一つが実行される毎に、ステップＳ２７が実行され、さらにステップＳ３０〜Ｓ３２のうちの一つが実行される。ステップＳ３３の判定は、例えば時分割制御回路５０が行う。
【００４３】
ステップＳ３４では、加算器１５１がレジスタ１４１および１４２に保持される２データの加算を行い、ステップＳ３５では、加算器１５２がレジスタ１４２および１４３に保持される２データの加算を行う。ステップＳ３４およびＳ３５は、同時に実行される。ステップＳ３４に続いて、レジスタ１６１は、加算器１５１の演算結果の半値を保持する（ステップＳ３６）。また、ステップＳ３５に続いてレジスタ１６２は、加算器１５２の演算結果の半値を保持する（ステップＳ３７）。ステップＳ３６およびＳ３７は、同時に実行される。その後、図３に示したステップＳ１０と同様に、ステップＳ７〜Ｓ９の処理を経て、ステップＳ１０Ｂの処理が終了する。
【００４４】
以上のように、データ補間装置１０Ｂは、加減算回路１３Ａによる演算を時分割で行うので、加減算回路１３Ａは単一の加算器を備えれば足り、レジスタ１２Ａは２個のレジスタ１２１および１２２を備えれば足りる。すなわち、データ補間装置１０Ａは、その構成をより簡素なものとすることができる。
【００４５】
［第４の実施形態］
図１５は、本発明の第４の実施形態によるデータ補間装置の構成を示すブロック図である。このデータ補間装置１０Ｃは、接続制御回路５３を備え、レジスタ１４Ａが２個のレジスタ１４１及び１４２を備え、加減算回路１５Ａが単一の加算器を備える点において、第３の実施形態によるデータ補間装置１０Ｂとは特徴的に異なる。すなわち、データ補間装置１０Ｃは、加減算回路１３Ａによる３通りの演算を時分割により行うとともに、加減算回路１５による２通りの演算をも時分割により行うように構成されている。
【００４６】
接続制御回路５２は、時分割制御回路５０による制御にもとづいて、加減算回路１３Ａが出力するデータを、レジスタ１４１および１４２の何れかへ保持させる。接続制御回路５３は、時分割制御回路５０による制御にもとづいて、加減算回路１５Ａが出力するデータを、レジスタ１６１および１６２の何れかへ保持させる。
【００４７】
図１６は、データ補間装置１０Ｂによる処理の手順を示すフローチャートである。図１６において、図３または図１４に示した処理と同様の処理については、同一の符号を付してその詳細な説明を略する。この処理（ステップＳ１０Ｃ）の開始後、ステップＳ１、Ｓ２２〜Ｓ３２では、図１４の同一符号の処理と同様の処理が行われる。ただし、ステップＳ３０では加減算回路１３Ａの出力データがレジスタ１４１へ保持され、ステップＳ３１では加減算回路１３Ａの出力データがレジスタ１４２へ保持され、ステップＳ３２では加減算回路１３Ａの出力データが、レジスタ１４１へ保持される。
【００４８】
続くステップＳ４０では、加減算回路１５Ａによる加算に必要な２データがレジスタ１４１および１４２に保持されているか否かが判定される。この判定は、例えば時分割制御回路５０が行う。レジスタ１４１および１４２のいずれかに必要なデータが保持されていなければ、処理はステップＳ２２へ戻り、レジスタ１４１および１４２に必要なデータが保持されておれば、処理はステップＳ３４およびＳ３５へ移行する。
【００４９】
ステップＳ３０とＳ３１とが終了すると、レジスタ１４１および１４２に２データが保持されるので、加減算回路１５Ａはこれら２データの和を演算する（ステップＳ４１）。その後、接続制御回路５３は、ステップＳ４１で得られた和の半値をレジスタ１６１へ保持させる（ステップＳ４３）。また、ステップＳ３２が終了した時にも、レジスタ１４１および１４２には２データが保持されるので、加減算回路１５Ａはこれら２データの和を演算する（ステップＳ４１）。その後、接続制御回路５３は、ステップＳ４１で得られた和の半値をレジスタ１６１へ保持させる（ステップＳ４４）。
【００５０】
ステップＳ４５では、係数演算回路１７による演算に必要な２データがレジスタ１６１および１６２に保持されているか否かが判定される。この判定は、例えば時分割制御回路５０が行う。レジスタ１６１および１６２のいずれかに必要なデータが保持されていなければ、処理はステップＳ２２へ戻り、レジスタ１６１および１６２に必要なデータが保持されておれば、処理はステップＳ７へ移行する。すなわち、ステップＳ２４、Ｓ２７およびＳ３０が実行された後、ステップＳ２５、Ｓ２７およびＳ３１が実行される。その後、ステップＳ４１およびＳ４３が実行された後、ステップＳ２６、Ｓ２７、Ｓ３２、Ｓ４１およびＳ４４が実行される。その後、図３に示したステップＳ１０と同様に、ステップＳ７〜Ｓ９の処理を経て、ステップＳ１０Ｃの処理が終了する。
【００５１】
以上のように、データ補間装置１０Ｃは、加減算回路１３Ａによる演算だけでなく、加減算回路１５Ａによる演算をも時分割で行うので、加減算回路１３Ａおよび１５Ａは、各々単一の加算器を備えれば足り、レジスタ１２Ａおよび１４Ａは各々２個のレジスタを備えれば足りる。すなわち、データ補間装置１０Ｃは、その構成をさらに一層簡素なものとすることができる。
【００５２】
［第５の実施形態］
図１７は、本発明の第５の実施形態によるデータ補間装置の構成を示すブロック図である。このデータ補間装置１０Ｄは、直線補間回路８０、加減算回路７４およびレジスタ７５を備える点において、第１の実施形態によるデータ補間回路１０とは特徴的に異なっている。直線補間回路８０は、レジスタ７１、加減算回路７２およびレジスタ７３を備えている。直線補間回路８０は、レジスタ１２に保持された４個の連続するデータのうち、第２番目および第３番目のデータの平均値、すなわちこれら２データの直線補間データ２４を演算する。加減算回路７４およびレジスタ７５は、補間データ演算回路１９が出力する補間データ２２と直線補間回路８０が出力する直線補間データ２４との平均値を演算し、この平均値を補間データ２５として出力する。
【００５３】
図１８は、直線補間回路８０、加減算回路７４およびレジスタ７５による処理の手順を示すフローチャートである。図１８の処理（ステップＳ５０）が開始されると、レジスタ７１は、レジスタ１４２に保持されるデータの半値を保持する（ステップＳ５１）。レジスタ７１が、レジスタ１４２に保持されるデータの半値を保持するための回路構成は、既に述べたレジスタ１６が加減算回路１５の出力データの半値を保持するための回路構成と同様である。次に、加減算回路７２は、レジスタ７１に保持されるデータとレジスタ１２２（又は１２３）との加算（又は減算）を行う（ステップＳ５２）。次に、レジスタ７３は、加減算回路７２の出力データを保持する（ステップＳ５３）。したがって、レジスタ７３が保持するデータ｛７３｝は、｛７３｝＝［｛１２２｝＋｛１２３｝］／２となる。
【００５４】
加減算回路７２は、レジスタ１４２に保持されるデータを用いることなく、レジスタ１２２および１２３に保持される２データの和を演算してもよい。この場合には、レジスタ７３は、加減算回路７２の出力データの半値を保持する。レジスタ７３が、加減算回路７２の出力データの半値を保持するための回路構成は、既に述べたレジスタ１６が加減算回路１５の出力データの半値を保持するための回路構成と同様である。この場合においても、レジスタ７３が保持するデータ｛７３｝は、｛７３｝＝［｛１２２｝＋｛１２３｝］／２となる。
【００５５】
次に、加減算回路７４は、補間データ演算回路１９が出力する補間データ２２とレジスタ７３が出力する直線補間データ２４との和を演算する（ステップＳ５４）。続いて、レジスタ７５は、加減算回路７４の出力データの半値を保持する（ステップＳ５５）。レジスタ７５が、加減算回路７４の出力データの半値を保持するための回路構成は、既に述べたレジスタ１６が加減算回路１５の出力データの半値を保持するための回路構成と同様である。レジスタ７５が保持するデータは、補間データ２５として出力される。ステップＳ５５の処理が終了するとステップＳ５０の処理全体が終了する。
【００５６】
図１９は、データ選択回路２０が選択した４個のデータが図４に示す点Ｐ１〜Ｐ４のｙ座標値である例について、３種の補間データ２２，２４，２５の関係を示すグラフである。補間データ２２の値は、既に述べたように２８／９（＝３＋１／９）である。直線補間データ２４は、線分Ｐ２〜Ｐ３の中央点のｙ座標値に相当する。そして、補間データ２５は、補間データ２２と直線補間データ２４との平均値に相当する。このように、データ補間装置１０Ｄは、補間データ２２と直線補間データ２４との平均値を補間データ２５として出力するので、より精度の高い補間データを得ることができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態によるデータ補間装置のブロック図である。
【図２】データメモリに格納されるデータの一例を示す説明図である。
【図３】図１のデータ補間装置による処理の手順を示すフローチャートである。
【図４】図１のデータ選択回路が選択する４データの一例を示すグラフである。
【図５】図１の係数演算回路のブロック図である。
【図６】図１の係数演算回路による処理手順を示すフローチャートである。
【図７】図１の補間データ演算回路のブロック図である。
【図８】図１の補間データ演算回路による処理手順を示すフローチャートである。
【図９】図６および図８の処理を説明するためのグラフである。
【図１０】セレクタおよび加減算回路による選択的動作の関係を表形式で示す説明図である。
【図１１】本発明の第２の実施形態によるデータ補間装置のブロック図である。
【図１２】図１１のデータ選択回路の動作を説明するためのグラフである。
【図１３】本発明の第３の実施形態によるデータ補間装置のブロック図である。
【図１４】図１３のデータ補間装置による処理の手順を示すフローチャートである。
【図１５】本発明の第４の実施形態によるデータ補間装置のブロック図である。
【図１６】図１５のデータ補間装置による処理の手順を示すフローチャートである。
【図１７】本発明の第５の実施形態によるデータ補間装置のブロック図である。
【図１８】図１７の直線補間回路、加減算回路およびレジスタによる処理の手順を示すフローチャートである。
【図１９】３種の補間データの関係を示すグラフである。
【図２０】データ補間装置の適用対象の一例を示すブロック図である。
【符号の説明】
【００５８】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ  データ補間装置
１１  データメモリ
１３  加減算回路（第１加減算手段）
１５  加減算回路（第２加減算手段）
１６  レジスタ（第１シフト演算手段）
２１  入力データ
２０  データ選択回路（データ選択手段）
３１  加減算回路（第３加減算手段）
３４  除算回路（除算手段）
４３  乗算回路（乗算手段）
４６  加減算回路（第４加減算手段）
５０  時分割制御回路（第１、第２時分割制御手段）
７１  レジスタ（第２シフト演算手段）
７２  加減算回路（第５加減算手段）
７３  レジスタ（第２シフト演算手段）
７４  加減算回路（第６加減算手段）
７５  レジスタ（第３シフト演算手段）
Ｔ１〜Ｔ６  温度データ（第１データ列）
Ｖ１〜Ｖ６  電圧データ（第２データ列）
【図１】
2005050086.tif 000003
【図２】
2005050086.tif 000004
【図３】
2005050086.tif 000005
【図４】
2005050086.tif 000006
【図５】
2005050086.tif 000007
【図６】
2005050086.tif 000008
【図７】
2005050086.tif 000009
【図８】
2005050086.tif 000010
【図９】
2005050086.tif 000011
【図１０】
2005050086.tif 000012
【図１１】
2005050086.tif 000013
【図１２】
2005050086.tif 000014
【図１３】
2005050086.tif 000015
【図１４】
2005050086.tif 000016
【図１５】
2005050086.tif 000017
【図１６】
2005050086.tif 000018
【図１７】
2005050086.tif 000019
【図１８】
2005050086.tif 000020
【図１９】
2005050086.tif 000021
【図２０】
2005050086.tif 000022