(57)【要約】【課題】  非線形関数の近似値を、高速なハードウェア処理で求めるようにした近似回路を提供する。【解決手段】  入力値に対して出力値が非線形に変化する非線形関数を、複数の区間にて折れ近似直線により近似する近似回路であって、各近似直線の傾きと切片とを格納する傾きＲＯＭ108 及び切片ＲＯＭ109 と、前記傾きＲＯＭと切片ＲＯＭのアドレスを算出するアドレス算出手段112 と、前記傾きＲＯＭの出力と入力値との乗算を行う乗算器110 と、該乗算器の出力と前記切片ＲＯＭの出力との加算を行う加算器111 とを備え、前記アドレス算出手段112 は、入力値に対する判断を複数段に分けて順次行う回路であって、各段は、判断基準を２のべき乗個のアドレスに格納した第１〜第３のＲＯＭ105 〜107 と、前記ＲＯＭに格納された判断基準と入力値との大小を比較し、その結果に基づいて次段のＲＯＭアドレスを出力する第１〜第４の比較器101 〜104 とで構成する。【選択図】        図  １
2005227811.tif 000002
【特許請求の範囲】
【請求項１】
入力値に対して出力値が非線形に変化する非線形関数を、複数の区間にて折れ近似直線により近似する近似回路であって、各近似直線の傾きを格納する傾きメモリと、各近似直線の切片を格納する切片メモリと、前記傾きメモリと切片メモリのアドレスを算出するアドレス算出手段と、前記傾きメモリの出力と入力値との乗算を行う乗算器と、該乗算器の出力と前記切片メモリの出力との加算を行う加算器とを備え、前記アドレス算出手段は、入力値に対する判断を複数段に分けて順次行う回路であって、各段は、判断基準を２のべき乗個のアドレスに格納したメモリと、前記メモリに格納された判断基準と入力値との大小を比較し、その結果に基づいて次段のメモリアドレスを出力する比較器とを備えることを特徴とする近似回路。
【請求項２】
前記傾きメモリ及び切片メモリは、出力に対して不均等に分割された複数の折れ近似直線の各区間に対応する値を格納していることを特徴とする請求項１に係る近似回路。
【請求項３】
所定の入力値の範囲に対して、入力値に対応する出力値を格納した変換テーブルと、入力値から所定の入力値の範囲に対応するオフセットを減算して変換テーブルのアドレスを生成するオフセット減算手段と、前記加算器の出力と変換テーブルの出力とを前記アドレス算出手段からの出力に基づいて切り替えるセレクタとを、更に備えることを特徴とする請求項１又は請求項２に係る近似回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル信号処理における逆正接（アークタンジェント）演算等の非線形演算を行う近似回路に関する。
【背景技術】
【０００２】
例えば、tan(θ）の値から角度θを算出するアークタンジェント演算は非線形の関数演算であり、近似式による近似計算は非常に複雑になる。よって、簡単にアークタンジェントの値（角度）を求めるには、アークタンジェントのテーブルを作成すればよい（但し、tan(90）の値は無限大となるため例外として除外する）。０度から89度までの角度を１度単位で算出するためのアークタンジェントのテーブルに必要な容量は、tan(89）／tan(１）≒3,353 ×７bit であり、０度から89.5度までの角度を 0.5度単位で算出するために必要なテーブルの容量は、tan(89.5）／tan(0.5)≒13,131×７bit となる。このテーブルは出力が90までしか存在しないのに対し、入力がその数十倍必要であり、非常に効率が悪い。
【０００３】
以上のような問題を解決するための手法として、例えば特開平９−２１２３４０号公報に開示されているようなアークタンジェント算出方法が提案されている。図14を用いて従来技術の動作を簡単に説明する。まず、角度θと、このθに対するtan(θ）の値とを対応させてテーブル400 に格納しておく。そして、図14中のＩ／Ｒで表される入力値とテーブル内のtan(θ）との比較を行い、最も近いtan(θ）に対応するθを、求める角度とする。なお、このθはテーブル400 のアドレスである。図14では、Ｉ／Ｒ＝tan(θ）＝0.5 の場合が例示されている。この場合、Ｉ／Ｒ＝0.5 の値と最も近いのはtan(27）＝0.510 であり、求める角度θは27度となる。この方法によれば、必要なテーブルの要素数は90程度でよく、ハードウェアリソースを削減することができる。
【特許文献１】特開平９−２１２３４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前述の従来技術では、テーブル内のデータ〔tan(θ）〕を順次読み出して入力値（Ｉ／Ｒ）との比較を行っている。この手法では、１回目の比較で所望の角度が求まる場合もあるが、90回目の比較まで結果が得られない場合もある。すなわち、データを入力してから結果が得られるまでの時間が、１サイクルから90サイクルまでというように、入力データ毎に大きく異なることになる。また、同一のメモリ（テーブル）を、所望の結果が得られるまで繰り返しアクセスするというような構成では、処理をパイプライン化することができず、ハードウェアによる高速処理を実現することができない。よって、動画像処理等のリアルタイム性を要求される用途には不向きである。
【０００５】
本発明は、従来のアークタンジェント算出手法における上記問題点解決するためになされたもので、例えば、アークタンジェントのような非線形関数の近似値を求めるに際し、高速なハードウェア処理に最適な近似回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に係る発明は、入力値に対して出力値が非線形に変化する非線形関数を、複数の区間にて折れ近似直線により近似する近似回路であって、各近似直線の傾きを格納する傾きメモリと、各近似直線の切片を格納する切片メモリと、前記傾きメモリと切片メモリのアドレスを算出するアドレス算出手段と、前記傾きメモリの出力と入力値との乗算を行う乗算器と、該乗算器の出力と前記切片メモリの出力との加算を行う加算器とを備え、前記アドレス算出手段は、入力値に対する判断を複数段に分けて順次行う回路であって、各段は、判断基準を２のべき乗個のアドレスに格納したメモリと、前記メモリに格納された判断基準と入力値との大小を比較し、その結果に基づいて次段のメモリアドレスを出力する比較器とを備えることを特徴とするものである。
【０００７】
この請求項１に係る発明に関する実施例には、実施例１及び２が対応する。なお、実施例１及び２では、初段の比較において「基準値」を用いているが、これは２0 ＝１個のアドレスを持ち、データを１つ保持するメモリに対応するものである。
【０００８】
このように構成された請求項１に係る近似回路においては、アドレス算出手段は、２のべき乗個のアドレスを持つメモリと、その出力と入力値との大小比較を行う比較器とを組み合わせたユニットが、直列に複数段接続されて構成されており、かかる構成のアドレス算出手段において、入力値はまず２0 のアドレスを持つメモリのデータ（判断基準）との比較が行われ、比較結果は２段目のユニットのメモリアドレスとして使用される。２段目のユニットのメモリアドレス空間は２1 であり、２段目のユニットでも、メモリのデータと入力値との同様な比較が行われ、２段目のユニットの比較結果と初段のユニットの比較結果とが３段目のユニットのメモリアドレスとして使用される。３段目のユニットのメモリアドレス空間は２2 であり、以下、同様な処理が続き、最終ｎ段の比較結果、及びそれ以前の比較結果が切片メモリと傾きメモリのアドレスとして使用される。この切片メモリと傾きメモリのアドレス空間は２n であり、切片メモリと傾きメモリには、所望の非線形関数を一定区間毎に近似した一次式の、切片と傾きがそれぞれ格納されている。傾きメモリの出力は、乗算器により入力値との乗算が行われ、乗算結果は加算器により切片メモリの出力と加算され、この加算結果が入力値の所望の非線形関数における変換結果となる。
【０００９】
以上のように、請求項１に係る近似回路によれば、各段の判断基準を格納するメモリのアドレスを２のべき乗個に設定し、それらのメモリと比較器とを組み合わせることで、2 分探索の動作を実現することができ、高速な区間絞込みが可能になる。なお、一般的な２分探索では、入力値と判断基準が一致すると探索を完了してしまうが、本発明においては、各段での比較は一致の検出を目的として行われているのではなく、次段の比較のためのメモリアドレス決定のために行われている点が異なっている。よって、最終段の比較が完了するまで探索が完了しないため、入力値の内容に関わらずに結果が得られるまでの処理時間を一定にすることができる。
【００１０】
請求項２に係る発明は、請求項１に係る近似回路において、前記傾きメモリ及び切片メモリは、出力に対して不均等に分割された複数の折れ近似直線の各区間に対応する値を格納していることを特徴とするものである。
【００１１】
この請求項２に係る発明に関する実施例には、実施例２が対応する。そして、このように構成された近似回路によれば、複数の折れ近似直線の区間を、曲線の形状にあわせ、出力に対して不均等に設定することにより、より的確な近似が可能になる。
【００１２】
請求項３に係る発明は、請求項１又は２に係る近似回路において、所定の入力値の範囲に対して、入力値に対応する出力値を格納した変換テーブルと、入力値から所定の入力値の範囲に対応するオフセットを減算して変換テーブルのアドレスを生成するオフセット減算手段と、前記加算器の出力と変換テーブルの出力とを前記アドレス算出手段からの出力に基づいて切り替えるセレクタとを、更に備えることを特徴とするものである。
【００１３】
この請求項３に係る発明に関する実施例には、実施例３が対応する。そして、このように構成された近似回路においては、入力値は、オフセット減算手段により入力値の所定の範囲に対応するオフセットを減算され、オフセット減算手段の出力は、変換テーブルにアドレスとして入力される。その一方で、請求項１に係る近似回路と同様な動作で、近似式を用いての入力値の変換が行われる。加算器より出力される近似式による近似計算結果と、変換テーブルの出力はセレクタに入力され、セレクタでは請求項１に係る近似回路のアドレス算出手段の出力値による判定が行われ、所定のアドレス時のみ変換テーブルの出力を最終結果として出力し、その他の場合には加算器の出力を最終結果として出力する。このように、折れ近似直線による近似と、テーブルによる直接変換を併用することで、近似が困難な個所でも高い精度での変換が可能になる。
【発明の効果】
【００１４】
本発明によれば、非線形変換を行うための膨大なテーブルが不要になる。さらに、変換結果が得られるまでの時間がすべての入力に対して均一になるため、ハードウェア設計が容易になる。また、パイプライン処理化が可能になるため、高速処理が可能になる。
【発明を実施するための最良の形態】
【００１５】
次に、発明を実施するための最良の形態について説明する。
【実施例】
【００１６】
（実施例１）
まず、本発明に係る近似回路の実施例１について説明する。図１は、実施例１を示すブロック構成図である。本実施例は、逆正接（アークタンジェント）演算を想定している。実施例１に係る近似回路は、次のように構成されている。112 はアドレス算出手段で、該アドレス算出手段112 は、第１の比較器101 〜第４の比較器104 ，第１のＲＯＭ105 〜第３のＲＯＭ107 から構成されている。第１〜第４の比較器101 〜104 は、入力値tan(θ）と、所定の判断基準との大小比較を行う。第１〜第３のＲＯＭ105 〜107 は、比較時の判断基準を格納する記憶素子である。傾きＲＯＭ108 及び切片ＲＯＭ109 は、アークタンジェント関数をいくつかの区間に分割し、それぞれの区間において直線近似した近似式θ＝ａｘ＋ｂの傾きａ及び切片ｂを、それぞれ格納する記憶素子である。乗算器110 は、入力値と傾きＲＯＭ108 に格納されたデータ（近似直線の傾き）との乗算を行い、加算器111 は、乗算器110 の乗算結果に切片ＲＯＭ109 に格納されたデータ（近似直線の切片）の加算を行うものである。
【００１７】
本実施例において、図２の（Ａ）に示すようなアークタンジェント関数のグラフを、図２の（Ｂ）に示すように、θ軸を例えば８度単位で区切って、各区間を１次式で近似する。各近似式を、それぞれθ＝ａ0 ｘ＋ｂ0 ，θ＝ａ1 ｘ＋ｂ1 ，・・・とすると、傾きＲＯＭ108 には図３の（Ａ）に示すようなデータ、切片ＲＯＭ109 には図３の（Ｂ）に示すようなデータが、それぞれ格納される。これら２つのＲＯＭのアドレス空間としては、２4 ＝16ワードが割り当てられているが、実際にデータが格納されているのはアドレス０〜10（“0000”〜“1010”）までであり、それより上の空間にはダミーデータが格納されている。また、第１のＲＯＭ105 に格納されている判断基準の内容は図４の（Ａ），第２のＲＯＭ106 の内容は図４の（Ｂ），第３のＲＯＭ107 の内容は図４の（Ｃ）に示すように、θを８度単位で区切った場合に、各区間の基点となるθに対応するtan(θ）の値が格納されている。これらのＲＯＭ105 〜ＲＯＭ107 でも上位アドレスにダミーデータが格納されているが、このダミーデータの値は想定される入力値の最大値よりも大きい値である必要がある。
【００１８】
次に、図１に示した実施例１の動作について説明する。まず、第１の比較器101 で入力値tan(θ) と最初の基準値の大小比較が行われる。本実施例のように、θを8 度単位で領域分けした場合、この最初の基準値にはtan(64）が選択される。第１の比較器101 による比較の結果は、入力値が基準値より大きい場合には“１”が、基準値以下の場合には“０”が出力されるようになっている。第１の比較器101 の比較結果と第１のＲＯＭ105 に入力されるアドレスの関係を図５に示す。図４の（Ａ），図５より、例えば入力値がtan(９）であるとすると、第１のＲＯＭ105 のアドレスには“０”が入力され、第１のＲＯＭ105 からはtan(32）が読み出される。
【００１９】
次に、第２の比較器102 により、入力値と第１のＲＯＭ105 から読み出された判断基準との比較が行われる。ここでの比較の結果は、同様に入力値が第１のＲＯＭ105 の読み出しデータより大きい場合には“１”、それ以外の場合は“０”となる。第２のＲＯＭ106 のアドレスは、第１の比較器101 と第２の比較器102 の両方の比較結果を必要とする。図６に第１の比較器101 と第２の比較器102 の比較結果と第２のＲＯＭ106 のアドレスとの関係を示す。入力値がtan(９）であるとすると、tan(９）＜tan(32）であり、第２の比較器102 の出力は“０”となる。よって、第２のＲＯＭ106 のアドレスには“00”が入力され、第２のＲＯＭ106 からはtan(16）が読み出される。
【００２０】
次に、第３の比較器103 により、入力値と第２のＲＯＭ106 から読み出された判断基準との比較が行われる。第３のＲＯＭ107 のアドレスは、第１〜第３の比較器101 ，102 ，103 の比較結果を必要とする。図７に第１〜第３の比較器101 ，102 ，103 の比較結果と第３のＲＯＭ107 のアドレスの関係を示す。入力値がtan(９）であるとすると、tan(９）＜tan(16）であり、第３の比較器103 の出力は“０”となる。よって、第３のＲＯＭ107 のアドレスには“000"が入力され、第３のＲＯＭ107 からはtan(８）が読み出される。
【００２１】
次に、第４の比較器104 により、入力値と第３のＲＯＭ107 から読み出された判断基準との比較が行われる。傾きＲＯＭ108 及び切片ＲＯＭ109 のアドレスは、第１〜第４の比較器101 ，102 ，103 ，104 の比較結果を必要とする。図８に第１〜第４の比較器101 ，102 ，103 ，104 の比較結果と、傾きＲＯＭ108 及び切片ＲＯＭ109 のアドレスの関係を示す。傾きＲＯＭ108 及び切片ＲＯＭ109 に格納されているデータは、図３の（Ａ），（Ｂ）に示してある。入力値がtan(９）であるとすると、tan(９）＞tan(８）であり第４の比較器104 の出力は“１”となる。よって、傾きＲＯＭ108 ，切片ＲＯＭ109 のアドレスには“0001”が入力され、傾きＲＯＭ108 からは“ａ１”が、切片ＲＯＭ109 からは“ｂ１”が読み出される。図２の（Ｂ）に示すように、ａ１とｂ１は入力値（ｘ軸）がtan(８）からtan(16）の間にあるときの一次近似式の傾きと切片である。なお、図５から図８に示すように、各比較器の比較結果を連接したものが、そのまま各ＲＯＭのアドレスになっている。よって、各比較器の出力を各ＲＯＭのアドレスに変換するための特別な手段は必要ない。
【００２２】
次に、乗算器110 により傾きＲＯＭ108 の読み出しデータと入力値の乗算が行われ、その乗算結果と切片ＲＯＭ109 の読み出しデータとの加算が加算器111 により行われる。これらの演算により、入力値tan(θ）に対する角度θが算出される。入力値がtan(９）であるとすると、θ＝ａ１×tan(９）＋ｂ１の演算が実行され、所望のθ（９度）が算出される。
【００２３】
本発明の特徴は、各ＲＯＭへのデータの格納方法にある。図９に各ＲＯＭデータの相互関係を示す。各ＲＯＭのデータは、図９に示すように全体として見ると２分探索木になるように選ばれている。一般的な２分探索木は、各接点が高々２個の子（ポインタ）を持ち、左のポインタ（図９の表記では上側：実線矢印）でつながる子孫のデータは全て自分より小さく、右のポインタ（図９の表記では下側：点線矢印）でつながる子孫のデータは全て自分より大きいというものである。図９のような釣り合いのとれた２分木を構成するには、調べるデータの数Ｎを２のべき乗個にすればよい。
【００２４】
本実施例においても、第１のＲＯＭ105 のデータ数は２1 ＝２，第２のＲＯＭ106 のデータ数は２2 ＝４，第３のＲＯＭ107 のデータ数は２3 ＝８，傾きＲＯＭ108 ，切片ＲＯＭ109 のデータ数は２4 ＝16となっている。なお、逆正接（アークタンジェント）演算において、実際に必要な角度は90度以下であるが、90は２のべき乗ではない。そのため、本実施例では、求める角度が 128＝２7 度までであるとして、各ＲＯＭの値を決定している。なお、図９中の“dummy"の下の括弧内に、対応するtan(θ）を記載しているが、これは考え方をわかりやすくするための記述であり、実際に、この値を格納するわけではない。このdummy データには、必ず「入力＜dummy 」という結果になるような値を格納しておく。なお、図９において実際にアクセスされるdummy データは、第１のＲＯＭ105 のdummy データのみである。その他のＲＯＭのdummy データへのアクセスは、比較器が正常に動作している限り発生しない。よって、第１のＲＯＭ105 以外のdummy データは特に格納しておく必要はない。
【００２５】
一般的な２分探索では、比較の結果は「入力値＜判断基準」、「入力値＝判断基準」、「入力値＞判断基準」の３通りであり、「入力値＝判断基準」の場合に探索を完了する。しかし、それでは本発明の目的である、処理結果が得られるまでの処理時間を一定にする、という課題を解決することができない。そこで、本発明における比較の結果は、「入力値＜判断基準」と「入力値＝判断基準」の場合をまとめて「入力値≦判断基準」とし、入力値と判断基準がたとえ等しくても、次段の比較を実行するようになっている。例えば、入力値がtan(64）で最初の基準値と等しい場合、一般的な２分探索では初回の比較で探索が完了してしまうが、本実施例の場合、入力値tan(64）はtan(64）→tan(32）→tan(48）→tan(56）と順次比較され、最終的にtan(56）とtan(64）との間を補間する近似直線θ＝ａ７×ｘ＋ｂ７にたどり着く。この直線は、そもそも入力値がtan(64）のときにθ＝64，入力値がtan(56）のときにθ＝56となるように近似した式である。よって、この式の“ｘ”に入力値tan(64）を入力すれば、求める角度θは当然64度となる。
【００２６】
なお、本実施例の各構成は、当然、各種の変形、変更が可能である。例えば、本実施例では、θの値を８度単位で区切ってアークタンジェントの近似を行ったが、区切り単位角度は８度である必要は全くない。区切る単位角度を狭くすれば、より正確な近似が可能になる。また、それほど誤差が問題にならない場合は区切る単位角度を広くすれば、ＲＯＭ容量が少なくて済むし、比較の段数も減るため回路規模を削減することができる。また、基準値を格納する記憶素子として、本実施例ではＲＯＭを使用したが、ＲＡＭやレジスタ等の揮発性記憶素子を用いてもよい。その場合、外部からの基準値の書き換えが可能になるため、アークタンジェント以外の非線形関数の近似と併用させることも可能である。また、説明を簡略化するために省略したが、各ＲＯＭ及び各演算器の出力にレジスタを挿入すればパイプライン動作が可能になり、処理を高速化することができる。
【００２７】
（実施例２）
次に、本発明の実施例２に関して説明する。この実施例２の構成は、基本的には図１に示した実施例１と同様であるため、本実施例の構成の図示は省略する。また、各構成要素の動作も実施例１と同様である。本実施例においては、第１〜第３のＲＯＭに格納する判断基準の生成方法に特徴がある。実施例１では、図２の（Ｂ）に示したように、直線近似する区間をθ軸に対して均等に分割して決定した。しかし、この分割方法では関数の曲線部の再現性を損なっている可能性がある。そこで、本実施例では、図10の（Ａ）に示すような曲線を近似する場合、図10の（Ｂ）に示すように、θの値とは無関係に曲線の形状を最大限に保てるような分割を行う。図11に各ＲＯＭの内容の一例を示す。この例では、50度以下を非常に粗く、50度から80度までを非常に細かく分割している。
【００２８】
実施例１では、90度を２のべき乗で表すことができなかったため、テーブルのアドレス空間を２のべき乗で構成するために、テーブル内にダミーデータを配置していた。本実施例は、区切り角度の区間の幅を任意に設定できることを特徴としているが、幅のみならず区間数も任意に設定できる。よって、曲線の形状に影響が出ない範囲で、分割数を２のべき乗個に設定することが可能である。その結果、図11のようにダミーデータが不要になり、アドレス空間を有効に使用することができる。
【００２９】
（実施例３）
図12に本発明の実施例３の構成を示す。なお、図12において、図１に示した実施例１と同一機能のものには同一符号を付し、その説明を省略する。本実施例では、図12に示すように、図１に示した実施例１の構成に加えて、オフセット減算手段301 と変換ＲＯＭ302 とセレクタ303 とを備えている。なお、本実施例では比較の段数を減らし、２段構成にしている。本実施例では、図13の（Ａ）に示すような曲線を、図13の（Ｂ）に示すように４領域に分割する。分割方法は、θ軸に対して均等、不均等のどちらでもよい。これらの分割領域のうち、直線近似が困難な個所を直接変換領域310 とし、このときの入力値tan(θ）に対する出力θの関係をテーブル化しておく。
【００３０】
次に、図12に示した実施例３の動作について説明する。傾きＲＯＭ108 及び切片ＲＯＭ109 のアドレスが算出されるまでの動作は、実施例１及び実施例２の動作と同様である。傾きＲＯＭ108 及び切片ＲＯＭ109 のアドレス算出後、傾きＲＯＭ108 の出力と入力値tan(θ）との乗算が行われ、更にその乗算結果と切片ＲＯＭ109 の出力との加算が行われ、求める角度θが算出される。
【００３１】
一方、このような近似式による近似計算が行われるのと並行して、オフセット減算手段301 により入力値から、直接変換領域310 の設定位置に対応させた所定の値が減算される。オフセット減算手段301 の出力は、変換ＲＯＭ302 のアドレスとなり、変換ＲＯＭ302 からは入力値tan(θ）に対して１対１で規定される角度θの値が出力される。セレクタ303 では、加算器111 の出力と変換ＲＯＭ302 のデータのどちらを最終出力とするかの選択が行われる。選択に際しては、第１の比較器101 ，第２の比較器102 の比較結果、すなわち傾きＲＯＭ108 と切片ＲＯＭ109 のアドレスが使用される。
【００３２】
図13の（Ｂ）に示す例の場合、全体を4 区間に分割したうちの３番目の領域が直接変換領域310 に割り当てられている。この場合、第１の比較器101 の出力が“１”，第２の比較器102 の出力が“０”（すなわち、傾きＲＯＭ108 ，切片ＲＯＭ109 のアドレスが“10”）のときに、セレクタ303 は変換ＲＯＭ302 の出力を選択して出力する。なお、図13の（Ｂ）の場合、オフセット減算手段301 において減算される値は、図13の（Ｂ）においてｘthで示される値である。また、傾きＲＯＭ108 と切片ＲＯＭ109 のアドレスのうち、直接変換領域に割り当てられる空間に関してはアクセスが発生しないため、どのようなデータが格納されていてもよい。
【００３３】
以上のように、直線近似が容易な部分に関しては直線近似を行い、直線近似が困難な、非線形性が顕著な個所のみ詳細なテーブルを使用することで、曲線の精度を保ちながらもテーブルサイズを縮小することができる。なお、オフセット減算手段301 において、曲線の形状に大きな影響がでない範囲で、右シフト動作等によりビット長を削減すれば、変換ＲＯＭ302 の容量を減らすことができる。また、本実施例では４領域に分割したものを示したが、当然それより多く、あるいは少なく分割することも可能である。また、直接変換領域を一箇所に限定する必要もなく、対象とする非線形関数によっては複数の直接変換領域を設定することで、より変換精度を向上させることが可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明に係る近似回路の実施例１の構成を示すブロック図である。
【図２】アークタンジェント関数のグラフ、及びアークタンジェント関数を複数区間に分割し１次式で近似する態様を示す図である。
【図３】図１に示した実施例１における傾きＲＯＭ及び切片に格納されるデータを示す図である。
【図４】実施例１における第１〜第３のＲＯＭに格納されている判断基準データを示す図である。
【図５】実施例１における第１の比較器の比較結果と第１のＲＯＭに入力されるアドレスの関係を示す図である。
【図６】実施例１における第１及び第２の比較器の比較結果と第２のＲＯＭに入力されるアドレスの関係を示す図である。
【図７】実施例１における第１〜第３の比較器の比較結果と第３のＲＯＭに入力されるアドレスの関係を示す図である。
【図８】実施例１における第１〜第４の比較器の比較結果と傾きＲＯＭ及び切片ＲＯＭのアドレスの関係を示す図である。
【図９】実施例１における第１〜第３のＲＯＭと傾きＲＯＭ及び切片ＲＯＭにおける各データの相互関係を示す図である。
【図１０】実施例２におけるアークタンジェント関数に対する直線近似区間の分割態様を示す図である。
【図１１】実施例２における各ＲＯＭのデータの相互関係を示す図である。
【図１２】実施例３の構成を示すブロック図である。
【図１３】アークタンジェント関数と実施例３における複数の近似区間の分割態様を示す図である。
【図１４】従来のアークタンジェント算出手法に用いるテーブルの内容を示す図である。
【符号の説明】
【００３５】
101   第１の比較器
102   第２の比較器
103   第３の比較器
104   第４の比較器
105   第１のＲＯＭ
106   第２のＲＯＭ
107   第３のＲＯＭ
108   傾きＲＯＭ
109   切片ＲＯＭ
110   乗算器
111   加算器
112   アドレス算出手段
301   オフセット減算手段
302   変換ＲＯＭ
303   セレクタ
【図１】
2005227811.tif 000003
【図２】
2005227811.tif 000004
【図３】
2005227811.tif 000005
【図４】
2005227811.tif 000006
【図５】
2005227811.tif 000007
【図６】
2005227811.tif 000008
【図７】
2005227811.tif 000009
【図８】
2005227811.tif 000010
【図９】
2005227811.tif 000011
【図１０】
2005227811.tif 000012
【図１１】
2005227811.tif 000013
【図１２】
2005227811.tif 000014
【図１３】
2005227811.tif 000015
【図１４】
2005227811.tif 000016