"多項式近似により対数関数の近似演算を行う対数関数の近似演算回路において、指定された多項式の次数、定義域及び許容誤差に基づいて、該定義域を複数の区間に分割する分割位置と対数関数を近似する多項式の各区間の係数値を求める関数分割部と、前記分割位置情報と当該対数演算回路への入力値から、該入力値が属する区間を判定し演算に使用する係数値を選択する区間判定部と、選択された係数値を多項式に設定し前記入力値に対する対数値を演算する多項式演算部を備え、前記関数分割部は、多変量解析法を用いて前記許容誤差内の精度で近似する最小の分割数となる分割位置を決定し、前記多項式演算部は加算器と乗算器を含む演算器を有し、演算結果を該演算器にフィードバックする構成としたことを特徴とする対数関数の近似演算回路。多項式近似により対数関数の近似演算を行う対数関数の近似演算方法において、指定された多項式の次数、定義域及び許容誤差に基づいて、該定義域を複数の区間に分割する分割位置と対数関数を近似する多項式の各区間の係数値を求める関数分割ステップと、前記分割位置情報と当該対数演算の入力値から、該入力値が属する区間を判定し演算に使用する係数値を選択する区間判定ステップと、選択された係数値を多項式に設定し前記入力値に対する対数値を演算する多項式演算ステップを備え、前記関数分割ステップは、多変量解析法を用いて前記許容誤差内の精度で近似する最小の分割数となる分割位置を決定し、前記多項式演算ステップは加算と乗算を含む演算ステップを有し、演算結果を該演算ステップにフィードバックする構成としたことを特徴とする対数関数の近似演算方法。折れ線近似法によるアルゴリズムでは、一般に演算精度が低いという課題があり、実用的には例えば0.5dB程度の誤差を生じる。この演算精度を高めようとすると、直線関数の区間をより狭くする必要があるため、記憶装置に格納すべきデータ量が非常に多くなってしまう。また、テイラー展開法によるアルゴリズムでは、入力から導かれる近似値テーブルの他に、補正係数として近似値テーブルと同容量のテーブルが2個必要なため、高い計算精度が必要な場合には補正係数のために大容量の記憶領域が必要となる。本発明はかかる事情を鑑みてなされたものであり、その目的は、指定された演算精度に応じて適応的に回路構成を変更することができ、演算精度を向上させた時の回路規模の増加を抑制することができる対数関数の近似演算回路を提供することにある。本発明は、多項式近似により対数関数の近似演算を行う対数関数の近似演算回路であって、指定された多項式の次数、定義域及び許容誤差に基づいて、該定義域を複数の区間に分割する分割位置と対数関数を近似する多項式の各区間の係数値を求める関数分割部と、前記分割位置情報と当該対数演算回路への入力値から、該入力値が属する区間を判定し演算に使用する係数値を選択する区間判定部と、選択された係数値を多項式に設定し前記入力値に対する対数値を演算する多項式演算部を備える。前記関数分割部は、多変量解析法を用いて前記許容誤差内の精度で近似する最小の分割数となる分割位置を決定し、前記多項式演算部は加算器と乗算器を含む演算器を有し、演算結果を該演算器にフィードバックする構成とした。本発明によれば、関数分割処理と区間判定処理により、指定された演算精度に応じて区間分割数を最小とし、演算に使用する多項式の係数値を適応的に切り替えることができる。また、多項式演算処理において加算器、乗算器の共有化をはかることで、回路規模の増加を抑制しながら、高次多項式の演算を行うことができる。以下、本発明の実施の形態について説明する。図1は、本発明による対数関数の近似演算回路以下、対数演算回路と呼ぶの一実施例を示すブロック構成図である。対数演算回路1は、指定された条件に応じて、区間分割を行うための分割位置情報と区間毎の多項式の係数値を生成する関数分割部2と、入力値の区間を判定して適用する多項式の係数値を生成する区間判定部3と、多項式を用いて入力値の対数値を演算する多項式演算部4を有する。図1において、符号10は対数演算を行う入力値x、符号11は演算に使用する多項式の次数p、符号12は入力値の範囲最小値と最大値を示す定義域[m,n]、符号13は演算結果に許容される演算誤差ε、符号14は分割された区間ごとに決められた多項式の係数値a,b,c、符号15は区間分割の境界位置を示す閾値e,f,g、符号16は現在の入力値xに対して選択された多項式の係数値a,b,c、符号20は演算結果yである。図2は、関数分割部2における関数分割処理の説明図である。関数分割部2では多項式の次数p、定義域[m,n]及び許容誤差εを指定することで、入力値の区間を分割し区間毎の係数値a,b,cと、閾値e,f,gを出力する。関数分割処理では、横軸に入力値xの定義域[m,n]をとり、それに対する対数演算値である出力値yを縦軸にとる。例えば入力信号の範囲が12ビットの場合は0~4095までの範囲をとるので、これを関数fxに対する入力範囲として、定義域[m,n]m=0,n=4095と置く。この定義域をいくつかの閾値境界値e,f,gにより複数の区間i,j,kに分割し、各区間における近似多項式f1x,f2x,f3xの係数値a,b,cを定める。図3は、関数分割部2において閾値及び係数値を定めるためのアルゴリズムの一例を示す。まずS100において、入力値の定義域[m,n]、許容誤差ε、多項式の次数pを指定する。次にS101において、指定した定義域[m,n]の区間[m,mk]と多項式の次数pを用いて、基準となる入力の対数値に対して回帰分析を行う。回帰分析とは2つの変数の間の関係を表す式を統計的手法によって推計する手法である。例えば、S101では回帰分析で用いられる代表的な推計方法の最小二乗法を用い、次数pから想定される適当なモデルの関数を用いて、想定する関数が区間[m,mk]の値に対してよい近似となるように、残差の二乗和を最小とするような係数を決定する。この結果からS102において、近似誤差αと係数値a,b,cが算出できる。例えば多項式の次数p=2とした場合は3個の係数a,b,cを算出する。なお、この分析には、回帰分析以外の多変量解析手段を用いてもよい。次にS103において、近似誤差αと許容誤差εの比較判定を行う。近似誤差α<許容誤差εの場合はS104に進み、区間[m,mk]のk値に1を加算してk→k1、再度回帰分析を行う。そしてS102に戻り、近似誤差αと係数値a,b,cを再度算出する。以下、これを繰り返す。またS103において近似誤差α<許容誤差εを満たしていない場合は、S105に進み現在のk値を閾値eとして決定する。最後にS106において閾値eとともにこの区間の係数値a,b,cを決定する。以上の処理を定義域である[m,n]の全ての範囲で繰り返すことで、図2に示した区間分割のための閾値e,f,gと各区間における係数値a,b,cを出力する。この結果得られる閾値の数すなわち区間分割数は、近似する精度許容誤差εに応じて必要な最小数となる。よって、記憶すべきデータ数を最小化することができる。なお分割数は多項式の次数pにも依存し、高次多項式にするほど分割数が少なくなる。ただしその場合は、演算回数が増えることになり全体の回路規模は増加する。なお、関数分割部2はレジスタ及びメモリ等に格納して実行するハードウェア構成で実現する。あるいはそれぞれの処理をソフトウェアで実行し、CPUとのインターフェース回路などを介して、後続の演算回路に位置情報等を与える構成としてもよい。次に図4は区間判定部3の内部構成図である。区間判定部3では、関数分割部2で求めた係数値14と閾値15を使用して入力データの属する区間判定を行い、その区間に使用する係数値16を出力する。閾値判定部で5は入力値10と閾値15との比較を行い、入力値10が定義域内のどの区間に属するかを判定し、分割位置の情報17を出力する。係数算出部6は、分割位置情報17を基に、係数値14の中から当該入力値10の演算に必要な係数値16を選択して出力する。次に図5は多項式演算部4の内部構成図である。多項式演算部4では、区間判定部3で選択した係数値16を多項式に設定して演算を行い、対数値の演算結果20を出力する。演算器7は乗算器7aと加算器7bを含み、入力値10に対して多項式の演算を行なう。演算制御部8は、多項式の次数11と区間判定部3で選択された係数値16から多項式を設定するとともに、演算器7の演算結果途中の値20を入力する。このように、演算結果をフィードバックする構成とし、演算器7で使用する回路リソース乗算器7aと加算器7bを共有している。そのとき演算器7に対し、乗算器7aの係数信号18aと加算器7bの係数信号18bを時分割で出力する制御を行う。例えば、2次多項式で演算する場合は1回目の演算結果に対して1回のフィードバックを行えばよい。タイミング制御部9は、演算制御部8のバスの切り替えを制御するタイミング信号19を出力する。例えば2次多項式の演算では、2サイクルのタイミングで制御すればよい。この様に、演算器7において乗算器と加算器を共有化し、演算制御部8による係数切り替えとタイミング制御部9によるタイミング調整を行うことにより、回路規模の増加を抑制しながら高次多項式による演算結果を出力することができる。"