JP2005227811A - Approximation circuit - Google Patents

Approximation circuit Download PDF

Info

Publication number
JP2005227811A
JP2005227811A JP2004032869A JP2004032869A JP2005227811A JP 2005227811 A JP2005227811 A JP 2005227811A JP 2004032869 A JP2004032869 A JP 2004032869A JP 2004032869 A JP2004032869 A JP 2004032869A JP 2005227811 A JP2005227811 A JP 2005227811A
Authority
JP
Japan
Prior art keywords
rom
output
input value
memory
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004032869A
Other languages
Japanese (ja)
Inventor
Kazuhiro Takizawa
一博 滝沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2004032869A priority Critical patent/JP2005227811A/en
Publication of JP2005227811A publication Critical patent/JP2005227811A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an approximation circuit finding an approximation value of a non-linear function by high-speed hardware processing. <P>SOLUTION: This approximation circuit approximating the non-linear function, in which an output value is varied non-linearly with respect to an input value, by approximation straight lines in a plurality sections is provided with an inclination ROM 108 and an intercept ROM 109 storing inclinations and intercepts of the respective approximation straight lines, an address computing means 112 computing addresses of the inclination ROM and the intercept ROM, a multiplication apparatus 110 performing multiplication between the output value and the input value of the inclination ROM, and an adder 111 performing addition of the output of the multiplication apparatus and the output of the intercept ROM. The address computing means 112 is a circuit sequentially carrying out determination on the input value step by step through a plurality of steps. The respective steps are configured of first-third ROM 105-107 storing criteria in addresses of the second power number and first-fourth comparators 101-104 comparing dimension of the criteria stored in the ROM with that of an input value for outputting a ROM address of the following step according to the comparison result. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、デジタル信号処理における逆正接(アークタンジェント)演算等の非線形演算を行う近似回路に関する。   The present invention relates to an approximation circuit that performs non-linear operations such as arc tangent calculation in digital signal processing.

例えば、tan(θ)の値から角度θを算出するアークタンジェント演算は非線形の関数演算であり、近似式による近似計算は非常に複雑になる。よって、簡単にアークタンジェントの値(角度)を求めるには、アークタンジェントのテーブルを作成すればよい(但し、tan(90)の値は無限大となるため例外として除外する)。0度から89度までの角度を1度単位で算出するためのアークタンジェントのテーブルに必要な容量は、tan(89)/tan(1)≒3,353 ×7bit であり、0度から89.5度までの角度を 0.5度単位で算出するために必要なテーブルの容量は、tan(89.5)/tan(0.5)≒13,131×7bit となる。このテーブルは出力が90までしか存在しないのに対し、入力がその数十倍必要であり、非常に効率が悪い。   For example, the arc tangent calculation for calculating the angle θ from the value of tan (θ) is a non-linear function calculation, and the approximation calculation by the approximation formula becomes very complicated. Therefore, to easily obtain the arc tangent value (angle), an arc tangent table may be created (however, the value of tan (90) is infinite and is excluded as an exception). The capacity required for the arc tangent table for calculating the angle from 0 degrees to 89 degrees in units of 1 degree is tan (89) / tan (1) ≒ 3,353 x 7 bits, and the range from 0 degrees to 89.5 degrees The table capacity required to calculate the angle in 0.5 degree units is tan (89.5) / tan (0.5) ≈13,131 × 7 bits. This table has only 90 outputs, but it requires several tens of inputs, which is very inefficient.

以上のような問題を解決するための手法として、例えば特開平9−212340号公報に開示されているようなアークタンジェント算出方法が提案されている。図14を用いて従来技術の動作を簡単に説明する。まず、角度θと、このθに対するtan(θ)の値とを対応させてテーブル400 に格納しておく。そして、図14中のI/Rで表される入力値とテーブル内のtan(θ)との比較を行い、最も近いtan(θ)に対応するθを、求める角度とする。なお、このθはテーブル400 のアドレスである。図14では、I/R=tan(θ)=0.5 の場合が例示されている。この場合、I/R=0.5 の値と最も近いのはtan(27)=0.510 であり、求める角度θは27度となる。この方法によれば、必要なテーブルの要素数は90程度でよく、ハードウェアリソースを削減することができる。
特開平9−212340号公報
As a technique for solving the above problems, for example, an arc tangent calculation method as disclosed in Japanese Patent Laid-Open No. 9-212340 has been proposed. The operation of the prior art will be briefly described with reference to FIG. First, the angle θ and the value of tan (θ) with respect to this θ are stored in the table 400 in association with each other. Then, the input value represented by I / R in FIG. 14 is compared with tan (θ) in the table, and θ corresponding to the closest tan (θ) is set as a desired angle. This θ is an address of the table 400. FIG. 14 illustrates the case where I / R = tan (θ) = 0.5. In this case, tan (27) = 0.510 is closest to the value of I / R = 0.5, and the required angle θ is 27 degrees. According to this method, the number of necessary table elements may be about 90, and hardware resources can be reduced.
JP-A-9-212340

ところで、前述の従来技術では、テーブル内のデータ〔tan(θ)〕を順次読み出して入力値(I/R)との比較を行っている。この手法では、1回目の比較で所望の角度が求まる場合もあるが、90回目の比較まで結果が得られない場合もある。すなわち、データを入力してから結果が得られるまでの時間が、1サイクルから90サイクルまでというように、入力データ毎に大きく異なることになる。また、同一のメモリ(テーブル)を、所望の結果が得られるまで繰り返しアクセスするというような構成では、処理をパイプライン化することができず、ハードウェアによる高速処理を実現することができない。よって、動画像処理等のリアルタイム性を要求される用途には不向きである。   By the way, in the above-mentioned prior art, the data [tan (θ)] in the table are sequentially read and compared with the input value (I / R). In this method, a desired angle may be obtained by the first comparison, but a result may not be obtained until the 90th comparison. That is, the time from when data is input until the result is obtained varies greatly from input cycle to input cycle, such as from 1 cycle to 90 cycles. Further, in a configuration in which the same memory (table) is repeatedly accessed until a desired result is obtained, processing cannot be pipelined, and high-speed processing by hardware cannot be realized. Therefore, it is not suitable for applications requiring real-time properties such as moving image processing.

本発明は、従来のアークタンジェント算出手法における上記問題点解決するためになされたもので、例えば、アークタンジェントのような非線形関数の近似値を求めるに際し、高速なハードウェア処理に最適な近似回路を提供することを目的とする。   The present invention has been made to solve the above-described problems in the conventional arc tangent calculation method. For example, an approximate circuit optimal for high-speed hardware processing is required to obtain an approximate value of a nonlinear function such as arc tangent. The purpose is to provide.

上記課題を解決するために、請求項1に係る発明は、入力値に対して出力値が非線形に変化する非線形関数を、複数の区間にて折れ近似直線により近似する近似回路であって、各近似直線の傾きを格納する傾きメモリと、各近似直線の切片を格納する切片メモリと、前記傾きメモリと切片メモリのアドレスを算出するアドレス算出手段と、前記傾きメモリの出力と入力値との乗算を行う乗算器と、該乗算器の出力と前記切片メモリの出力との加算を行う加算器とを備え、前記アドレス算出手段は、入力値に対する判断を複数段に分けて順次行う回路であって、各段は、判断基準を2のべき乗個のアドレスに格納したメモリと、前記メモリに格納された判断基準と入力値との大小を比較し、その結果に基づいて次段のメモリアドレスを出力する比較器とを備えることを特徴とするものである。   In order to solve the above-described problem, the invention according to claim 1 is an approximation circuit that approximates a nonlinear function in which an output value varies nonlinearly with respect to an input value by a broken approximation line in a plurality of sections. An inclination memory for storing the inclination of the approximate line, an intercept memory for storing the intercept of each approximate line, an address calculating means for calculating the addresses of the inclination memory and the intercept memory, and multiplying the output and the input value of the inclination memory And an adder that adds the output of the multiplier and the output of the intercept memory, and the address calculation means is a circuit that sequentially performs determination on input values in a plurality of stages. Each stage compares the magnitude of the judgment criteria stored in the memory and the input value with the memory storing the judgment criteria at powers of 2 and outputs the memory address of the next stage based on the result Do It is characterized in further comprising a 較器.

この請求項1に係る発明に関する実施例には、実施例1及び2が対応する。なお、実施例1及び2では、初段の比較において「基準値」を用いているが、これは20 =1個のアドレスを持ち、データを1つ保持するメモリに対応するものである。 Embodiments 1 and 2 correspond to the embodiment relating to the first aspect of the present invention. In the first and second embodiments, the “reference value” is used in the first-stage comparison, but this corresponds to a memory having 2 0 = 1 address and holding one data.

このように構成された請求項1に係る近似回路においては、アドレス算出手段は、2のべき乗個のアドレスを持つメモリと、その出力と入力値との大小比較を行う比較器とを組み合わせたユニットが、直列に複数段接続されて構成されており、かかる構成のアドレス算出手段において、入力値はまず20 のアドレスを持つメモリのデータ(判断基準)との比較が行われ、比較結果は2段目のユニットのメモリアドレスとして使用される。2段目のユニットのメモリアドレス空間は21 であり、2段目のユニットでも、メモリのデータと入力値との同様な比較が行われ、2段目のユニットの比較結果と初段のユニットの比較結果とが3段目のユニットのメモリアドレスとして使用される。3段目のユニットのメモリアドレス空間は22 であり、以下、同様な処理が続き、最終n段の比較結果、及びそれ以前の比較結果が切片メモリと傾きメモリのアドレスとして使用される。この切片メモリと傾きメモリのアドレス空間は2n であり、切片メモリと傾きメモリには、所望の非線形関数を一定区間毎に近似した一次式の、切片と傾きがそれぞれ格納されている。傾きメモリの出力は、乗算器により入力値との乗算が行われ、乗算結果は加算器により切片メモリの出力と加算され、この加算結果が入力値の所望の非線形関数における変換結果となる。 In the approximation circuit according to claim 1, configured as described above, the address calculation means is a unit in which a memory having a power of 2 addresses and a comparator for comparing the size of the output and the input value are combined. but is configured by a plurality of stages connected in series, the address calculating means of such a configuration, the input value is compared with the data in the memory (criterion) is performed with the first 2 0 address, the comparison result 2 Used as the memory address of the unit of the stage. Memory address space of the unit of the second stage is 2 1, in units of the second stage, the same comparison of the data and the input value of the memory is performed, the unit of the second stage comparison with the first-stage unit The comparison result is used as the memory address of the third-stage unit. Memory address space of the unit of the third stage is 2 2, and the same processing is continued, the final n-stage comparison result, and earlier comparison result is used as the address of the intercept memory and inclination memory. The address space of the intercept memory and the slope memory is 2 n , and the intercept memory and the slope memory respectively store intercepts and slopes of linear expressions approximating a desired nonlinear function for each predetermined section. The output of the slope memory is multiplied by the input value by the multiplier, and the multiplication result is added to the output of the intercept memory by the adder, and this addition result becomes the conversion result in the desired nonlinear function of the input value.

以上のように、請求項1に係る近似回路によれば、各段の判断基準を格納するメモリのアドレスを2のべき乗個に設定し、それらのメモリと比較器とを組み合わせることで、2 分探索の動作を実現することができ、高速な区間絞込みが可能になる。なお、一般的な2分探索では、入力値と判断基準が一致すると探索を完了してしまうが、本発明においては、各段での比較は一致の検出を目的として行われているのではなく、次段の比較のためのメモリアドレス決定のために行われている点が異なっている。よって、最終段の比較が完了するまで探索が完了しないため、入力値の内容に関わらずに結果が得られるまでの処理時間を一定にすることができる。   As described above, according to the approximating circuit according to claim 1, by setting the address of the memory for storing the judgment criterion of each stage to a power of 2, and combining the memory and the comparator, two minutes can be obtained. The search operation can be realized, and high-speed section narrowing is possible. In a general binary search, the search is completed when the input value matches the criterion. However, in the present invention, the comparison in each stage is not performed for the purpose of detecting the match. The difference is that the determination is made to determine the memory address for comparison in the next stage. Therefore, since the search is not completed until the final stage comparison is completed, the processing time until the result is obtained can be made constant regardless of the contents of the input value.

請求項2に係る発明は、請求項1に係る近似回路において、前記傾きメモリ及び切片メモリは、出力に対して不均等に分割された複数の折れ近似直線の各区間に対応する値を格納していることを特徴とするものである。   According to a second aspect of the present invention, in the approximation circuit according to the first aspect, the slope memory and the intercept memory store a value corresponding to each section of a plurality of broken approximate straight lines divided unevenly with respect to the output. It is characterized by that.

この請求項2に係る発明に関する実施例には、実施例2が対応する。そして、このように構成された近似回路によれば、複数の折れ近似直線の区間を、曲線の形状にあわせ、出力に対して不均等に設定することにより、より的確な近似が可能になる。   The second embodiment corresponds to the embodiment relating to the second aspect of the present invention. According to the approximation circuit configured as described above, a more accurate approximation can be performed by setting a plurality of broken approximate straight line sections in accordance with the shape of the curve and setting the output unevenly.

請求項3に係る発明は、請求項1又は2に係る近似回路において、所定の入力値の範囲に対して、入力値に対応する出力値を格納した変換テーブルと、入力値から所定の入力値の範囲に対応するオフセットを減算して変換テーブルのアドレスを生成するオフセット減算手段と、前記加算器の出力と変換テーブルの出力とを前記アドレス算出手段からの出力に基づいて切り替えるセレクタとを、更に備えることを特徴とするものである。   The invention according to claim 3 is the approximation circuit according to claim 1 or 2, wherein a conversion table storing an output value corresponding to an input value for a predetermined input value range, and a predetermined input value from the input value. An offset subtracting means for subtracting an offset corresponding to the range of generating a conversion table address, and a selector for switching the output of the adder and the output of the conversion table based on the output from the address calculating means, It is characterized by comprising.

この請求項3に係る発明に関する実施例には、実施例3が対応する。そして、このように構成された近似回路においては、入力値は、オフセット減算手段により入力値の所定の範囲に対応するオフセットを減算され、オフセット減算手段の出力は、変換テーブルにアドレスとして入力される。その一方で、請求項1に係る近似回路と同様な動作で、近似式を用いての入力値の変換が行われる。加算器より出力される近似式による近似計算結果と、変換テーブルの出力はセレクタに入力され、セレクタでは請求項1に係る近似回路のアドレス算出手段の出力値による判定が行われ、所定のアドレス時のみ変換テーブルの出力を最終結果として出力し、その他の場合には加算器の出力を最終結果として出力する。このように、折れ近似直線による近似と、テーブルによる直接変換を併用することで、近似が困難な個所でも高い精度での変換が可能になる。   The third embodiment corresponds to the embodiment relating to the third aspect of the present invention. In the approximation circuit configured as described above, the input value is subtracted from the offset corresponding to the predetermined range of the input value by the offset subtracting means, and the output of the offset subtracting means is input as an address to the conversion table. . On the other hand, the input value is converted using the approximate expression by the same operation as the approximate circuit according to the first aspect. The approximate calculation result based on the approximate expression output from the adder and the output of the conversion table are input to the selector, and the selector makes a determination based on the output value of the address calculating means of the approximate circuit according to claim 1, and at a predetermined address. Only the output of the conversion table is output as the final result, and in other cases, the output of the adder is output as the final result. In this way, by using both the approximation by the broken approximate line and the direct conversion by the table, it is possible to perform the conversion with high accuracy even at the place where the approximation is difficult.

本発明によれば、非線形変換を行うための膨大なテーブルが不要になる。さらに、変換結果が得られるまでの時間がすべての入力に対して均一になるため、ハードウェア設計が容易になる。また、パイプライン処理化が可能になるため、高速処理が可能になる。   According to the present invention, an enormous table for performing nonlinear conversion becomes unnecessary. Furthermore, since the time until a conversion result is obtained is uniform for all inputs, hardware design is facilitated. In addition, since pipeline processing is possible, high-speed processing is possible.

次に、発明を実施するための最良の形態について説明する。   Next, the best mode for carrying out the invention will be described.

(実施例1)
まず、本発明に係る近似回路の実施例1について説明する。図1は、実施例1を示すブロック構成図である。本実施例は、逆正接(アークタンジェント)演算を想定している。実施例1に係る近似回路は、次のように構成されている。112 はアドレス算出手段で、該アドレス算出手段112 は、第1の比較器101 〜第4の比較器104 ,第1のROM105 〜第3のROM107 から構成されている。第1〜第4の比較器101 〜104 は、入力値tan(θ)と、所定の判断基準との大小比較を行う。第1〜第3のROM105 〜107 は、比較時の判断基準を格納する記憶素子である。傾きROM108 及び切片ROM109 は、アークタンジェント関数をいくつかの区間に分割し、それぞれの区間において直線近似した近似式θ=ax+bの傾きa及び切片bを、それぞれ格納する記憶素子である。乗算器110 は、入力値と傾きROM108 に格納されたデータ(近似直線の傾き)との乗算を行い、加算器111 は、乗算器110 の乗算結果に切片ROM109 に格納されたデータ(近似直線の切片)の加算を行うものである。
(Example 1)
First, a first embodiment of the approximation circuit according to the present invention will be described. FIG. 1 is a block diagram illustrating the first embodiment. This embodiment assumes an arc tangent calculation. The approximate circuit according to the first embodiment is configured as follows. Reference numeral 112 denotes address calculating means, and the address calculating means 112 is composed of a first comparator 101 to a fourth comparator 104, and a first ROM 105 to a third ROM 107. The first to fourth comparators 101 to 104 perform the magnitude comparison between the input value tan (θ) and a predetermined determination criterion. The first to third ROMs 105 to 107 are storage elements that store judgment criteria at the time of comparison. The slope ROM 108 and the intercept ROM 109 are storage elements that store the slope a and the intercept b of the approximate expression θ = ax + b obtained by dividing the arctangent function into several sections and linearly approximating in each section. The multiplier 110 multiplies the input value by the data stored in the slope ROM 108 (slope of the approximate line), and the adder 111 multiplies the multiplication result of the multiplier 110 by the data stored in the intercept ROM 109 (the approximate straight line). (Intercept) is added.

本実施例において、図2の(A)に示すようなアークタンジェント関数のグラフを、図2の(B)に示すように、θ軸を例えば8度単位で区切って、各区間を1次式で近似する。各近似式を、それぞれθ=a0 x+b0 ,θ=a1 x+b1 ,・・・とすると、傾きROM108 には図3の(A)に示すようなデータ、切片ROM109 には図3の(B)に示すようなデータが、それぞれ格納される。これら2つのROMのアドレス空間としては、24 =16ワードが割り当てられているが、実際にデータが格納されているのはアドレス0〜10(“0000”〜“1010”)までであり、それより上の空間にはダミーデータが格納されている。また、第1のROM105 に格納されている判断基準の内容は図4の(A),第2のROM106 の内容は図4の(B),第3のROM107 の内容は図4の(C)に示すように、θを8度単位で区切った場合に、各区間の基点となるθに対応するtan(θ)の値が格納されている。これらのROM105 〜ROM107 でも上位アドレスにダミーデータが格納されているが、このダミーデータの値は想定される入力値の最大値よりも大きい値である必要がある。 In this embodiment, a graph of the arctangent function as shown in FIG. 2A is divided into, for example, a unit of 8 degrees by dividing the θ-axis in units of 8 degrees as shown in FIG. Approximate. If each approximate expression is θ = a 0 x + b 0 , θ = a 1 x + b 1 ,..., The slope ROM 108 has data as shown in FIG. Data as shown in B) is stored. As the address space of these two ROMs, 2 4 = 16 words are allocated, but data is actually stored from addresses 0 to 10 (“0000” to “1010”). Dummy data is stored in the upper space. The contents of the judgment criteria stored in the first ROM 105 are shown in FIG. 4A, the contents of the second ROM 106 are shown in FIG. 4B, and the contents of the third ROM 107 are shown in FIG. As shown in FIG. 6, when θ is divided in units of 8 degrees, the value of tan (θ) corresponding to θ serving as the base point of each section is stored. Even in these ROMs 105 to 107, dummy data is stored at the upper address, but the value of this dummy data needs to be larger than the maximum value of the assumed input value.

次に、図1に示した実施例1の動作について説明する。まず、第1の比較器101 で入力値tan(θ) と最初の基準値の大小比較が行われる。本実施例のように、θを8 度単位で領域分けした場合、この最初の基準値にはtan(64)が選択される。第1の比較器101 による比較の結果は、入力値が基準値より大きい場合には“1”が、基準値以下の場合には“0”が出力されるようになっている。第1の比較器101 の比較結果と第1のROM105 に入力されるアドレスの関係を図5に示す。図4の(A),図5より、例えば入力値がtan(9)であるとすると、第1のROM105 のアドレスには“0”が入力され、第1のROM105 からはtan(32)が読み出される。   Next, the operation of the first embodiment shown in FIG. 1 will be described. First, the first comparator 101 compares the input value tan (θ) with the first reference value. When θ is divided into units of 8 degrees as in this embodiment, tan (64) is selected as the first reference value. As a result of comparison by the first comparator 101, “1” is output when the input value is larger than the reference value, and “0” is output when the input value is less than the reference value. FIG. 5 shows the relationship between the comparison result of the first comparator 101 and the address input to the first ROM 105. 4A and 5, assuming that the input value is tan (9), for example, “0” is input to the address of the first ROM 105, and tan (32) is input from the first ROM 105. Read out.

次に、第2の比較器102 により、入力値と第1のROM105 から読み出された判断基準との比較が行われる。ここでの比較の結果は、同様に入力値が第1のROM105 の読み出しデータより大きい場合には“1”、それ以外の場合は“0”となる。第2のROM106 のアドレスは、第1の比較器101 と第2の比較器102 の両方の比較結果を必要とする。図6に第1の比較器101 と第2の比較器102 の比較結果と第2のROM106 のアドレスとの関係を示す。入力値がtan(9)であるとすると、tan(9)<tan(32)であり、第2の比較器102 の出力は“0”となる。よって、第2のROM106 のアドレスには“00”が入力され、第2のROM106 からはtan(16)が読み出される。   Next, the second comparator 102 compares the input value with the criterion read from the first ROM 105. Similarly, the comparison result is “1” if the input value is larger than the read data of the first ROM 105, and “0” otherwise. The address of the second ROM 106 requires the comparison results of both the first comparator 101 and the second comparator 102. FIG. 6 shows the relationship between the comparison result of the first comparator 101 and the second comparator 102 and the address of the second ROM 106. If the input value is tan (9), tan (9) <tan (32), and the output of the second comparator 102 is “0”. Therefore, “00” is input to the address of the second ROM 106, and tan (16) is read from the second ROM 106.

次に、第3の比較器103 により、入力値と第2のROM106 から読み出された判断基準との比較が行われる。第3のROM107 のアドレスは、第1〜第3の比較器101 ,102 ,103 の比較結果を必要とする。図7に第1〜第3の比較器101 ,102 ,103 の比較結果と第3のROM107 のアドレスの関係を示す。入力値がtan(9)であるとすると、tan(9)<tan(16)であり、第3の比較器103 の出力は“0”となる。よって、第3のROM107 のアドレスには“000"が入力され、第3のROM107 からはtan(8)が読み出される。   Next, the third comparator 103 compares the input value with the judgment standard read from the second ROM 106. The address of the third ROM 107 requires the comparison results of the first to third comparators 101, 102, 103. FIG. 7 shows the relationship between the comparison results of the first to third comparators 101, 102, 103 and the address of the third ROM 107. Assuming that the input value is tan (9), tan (9) <tan (16), and the output of the third comparator 103 is “0”. Therefore, “000” is input to the address of the third ROM 107 and tan (8) is read from the third ROM 107.

次に、第4の比較器104 により、入力値と第3のROM107 から読み出された判断基準との比較が行われる。傾きROM108 及び切片ROM109 のアドレスは、第1〜第4の比較器101 ,102 ,103 ,104 の比較結果を必要とする。図8に第1〜第4の比較器101 ,102 ,103 ,104 の比較結果と、傾きROM108 及び切片ROM109 のアドレスの関係を示す。傾きROM108 及び切片ROM109 に格納されているデータは、図3の(A),(B)に示してある。入力値がtan(9)であるとすると、tan(9)>tan(8)であり第4の比較器104 の出力は“1”となる。よって、傾きROM108 ,切片ROM109 のアドレスには“0001”が入力され、傾きROM108 からは“a1”が、切片ROM109 からは“b1”が読み出される。図2の(B)に示すように、a1とb1は入力値(x軸)がtan(8)からtan(16)の間にあるときの一次近似式の傾きと切片である。なお、図5から図8に示すように、各比較器の比較結果を連接したものが、そのまま各ROMのアドレスになっている。よって、各比較器の出力を各ROMのアドレスに変換するための特別な手段は必要ない。   Next, the fourth comparator 104 compares the input value with the judgment standard read from the third ROM 107. The addresses of the slope ROM 108 and the intercept ROM 109 require the comparison results of the first to fourth comparators 101, 102, 103, 104. FIG. 8 shows the relationship between the comparison results of the first to fourth comparators 101, 102, 103, 104 and the addresses of the slope ROM 108 and the intercept ROM 109. The data stored in the inclination ROM 108 and the intercept ROM 109 are shown in FIGS. If the input value is tan (9), tan (9)> tan (8) and the output of the fourth comparator 104 is “1”. Therefore, “0001” is input to the addresses of the inclination ROM 108 and the intercept ROM 109, “a1” is read from the inclination ROM 108, and “b1” is read from the intercept ROM 109. As shown in FIG. 2B, a1 and b1 are the slope and intercept of the linear approximate expression when the input value (x-axis) is between tan (8) and tan (16). As shown in FIG. 5 to FIG. 8, the result of connecting the comparison results of the respective comparators is the address of each ROM as it is. Therefore, no special means is required for converting the output of each comparator into the address of each ROM.

次に、乗算器110 により傾きROM108 の読み出しデータと入力値の乗算が行われ、その乗算結果と切片ROM109 の読み出しデータとの加算が加算器111 により行われる。これらの演算により、入力値tan(θ)に対する角度θが算出される。入力値がtan(9)であるとすると、θ=a1×tan(9)+b1の演算が実行され、所望のθ(9度)が算出される。   Next, the multiplier 110 multiplies the read data of the slope ROM 108 by the input value, and the adder 111 adds the multiplication result and the read data of the intercept ROM 109. By these calculations, the angle θ with respect to the input value tan (θ) is calculated. Assuming that the input value is tan (9), a calculation of θ = a1 × tan (9) + b1 is executed, and a desired θ (9 degrees) is calculated.

本発明の特徴は、各ROMへのデータの格納方法にある。図9に各ROMデータの相互関係を示す。各ROMのデータは、図9に示すように全体として見ると2分探索木になるように選ばれている。一般的な2分探索木は、各接点が高々2個の子(ポインタ)を持ち、左のポインタ(図9の表記では上側:実線矢印)でつながる子孫のデータは全て自分より小さく、右のポインタ(図9の表記では下側:点線矢印)でつながる子孫のデータは全て自分より大きいというものである。図9のような釣り合いのとれた2分木を構成するには、調べるデータの数Nを2のべき乗個にすればよい。   A feature of the present invention resides in a method for storing data in each ROM. FIG. 9 shows the mutual relationship between the ROM data. The data in each ROM is selected to be a binary search tree as a whole as shown in FIG. In a general binary search tree, each contact has at most two children (pointers), and all descendant data connected by the left pointer (upper side: solid arrow in the notation of FIG. 9) is smaller than itself, The data of descendants connected by the pointer (lower side in FIG. 9: dotted line arrow) are all larger than themselves. In order to construct a balanced binary tree as shown in FIG. 9, the number N of data to be examined should be a power of two.

本実施例においても、第1のROM105 のデータ数は21 =2,第2のROM106 のデータ数は22 =4,第3のROM107 のデータ数は23 =8,傾きROM108 ,切片ROM109 のデータ数は24 =16となっている。なお、逆正接(アークタンジェント)演算において、実際に必要な角度は90度以下であるが、90は2のべき乗ではない。そのため、本実施例では、求める角度が 128=27 度までであるとして、各ROMの値を決定している。なお、図9中の“dummy"の下の括弧内に、対応するtan(θ)を記載しているが、これは考え方をわかりやすくするための記述であり、実際に、この値を格納するわけではない。このdummy データには、必ず「入力<dummy 」という結果になるような値を格納しておく。なお、図9において実際にアクセスされるdummy データは、第1のROM105 のdummy データのみである。その他のROMのdummy データへのアクセスは、比較器が正常に動作している限り発生しない。よって、第1のROM105 以外のdummy データは特に格納しておく必要はない。 Also in this embodiment, the number of data in the first ROM 105 is 2 1 = 2, the number of data in the second ROM 106 is 2 2 = 4, the number of data in the third ROM 107 is 2 3 = 8, the slope ROM 108, the intercept ROM 109 The number of data is 2 4 = 16. In the arc tangent calculation, the actually required angle is 90 degrees or less, but 90 is not a power of 2. Therefore, in this embodiment, the angle required by the up to 128 = 2 7 degrees, and determines the value of each ROM. Note that the corresponding tan (θ) is described in parentheses under “dummy” in FIG. 9, but this is a description for easy understanding of the concept, and this value is actually stored. Do not mean. In this dummy data, a value that always results in “input <dummy” is stored. Note that the dummy data actually accessed in FIG. 9 is only the dummy data in the first ROM 105. Access to other ROM dummy data does not occur as long as the comparator operates normally. Therefore, it is not necessary to store dummy data other than the first ROM 105.

一般的な2分探索では、比較の結果は「入力値<判断基準」、「入力値=判断基準」、「入力値>判断基準」の3通りであり、「入力値=判断基準」の場合に探索を完了する。しかし、それでは本発明の目的である、処理結果が得られるまでの処理時間を一定にする、という課題を解決することができない。そこで、本発明における比較の結果は、「入力値<判断基準」と「入力値=判断基準」の場合をまとめて「入力値≦判断基準」とし、入力値と判断基準がたとえ等しくても、次段の比較を実行するようになっている。例えば、入力値がtan(64)で最初の基準値と等しい場合、一般的な2分探索では初回の比較で探索が完了してしまうが、本実施例の場合、入力値tan(64)はtan(64)→tan(32)→tan(48)→tan(56)と順次比較され、最終的にtan(56)とtan(64)との間を補間する近似直線θ=a7×x+b7にたどり着く。この直線は、そもそも入力値がtan(64)のときにθ=64,入力値がtan(56)のときにθ=56となるように近似した式である。よって、この式の“x”に入力値tan(64)を入力すれば、求める角度θは当然64度となる。   In a general binary search, there are three comparison results: “input value <determination criterion”, “input value = determination criterion”, and “input value> determination criterion”, where “input value = determination criterion”. Complete the search. However, this does not solve the problem that the processing time until the processing result is obtained, which is the object of the present invention, is constant. Therefore, the result of the comparison in the present invention is that “input value <determination criterion” and “input value = determination criterion” are collectively set as “input value ≦ determination criterion”, and even if the input value and the determination criterion are equal, The next stage comparison is performed. For example, when the input value is tan (64) and is equal to the first reference value, the search is completed by the first comparison in a general binary search. In this embodiment, the input value tan (64) is tan (64)-> tan (32)-> tan (48)-> tan (56) are sequentially compared, and finally an approximate line θ interpolating between tan (56) and tan (64) becomes θ = a7 × x + b7 Arrive. This straight line is an approximate expression so that θ = 64 when the input value is tan (64) and θ = 56 when the input value is tan (56). Therefore, if the input value tan (64) is input to “x” in this equation, the required angle θ is naturally 64 degrees.

なお、本実施例の各構成は、当然、各種の変形、変更が可能である。例えば、本実施例では、θの値を8度単位で区切ってアークタンジェントの近似を行ったが、区切り単位角度は8度である必要は全くない。区切る単位角度を狭くすれば、より正確な近似が可能になる。また、それほど誤差が問題にならない場合は区切る単位角度を広くすれば、ROM容量が少なくて済むし、比較の段数も減るため回路規模を削減することができる。また、基準値を格納する記憶素子として、本実施例ではROMを使用したが、RAMやレジスタ等の揮発性記憶素子を用いてもよい。その場合、外部からの基準値の書き換えが可能になるため、アークタンジェント以外の非線形関数の近似と併用させることも可能である。また、説明を簡略化するために省略したが、各ROM及び各演算器の出力にレジスタを挿入すればパイプライン動作が可能になり、処理を高速化することができる。   Of course, each configuration of the present embodiment can be variously modified and changed. For example, in this embodiment, the arc tangent is approximated by dividing the value of θ in units of 8 degrees, but the unit angle of the sections need not be 8 degrees at all. If the unit angle to be divided is narrowed, more accurate approximation is possible. In addition, when the error is not so much a problem, if the unit angle to be divided is widened, the ROM capacity can be reduced and the number of comparison stages can be reduced, so that the circuit scale can be reduced. Further, in this embodiment, the ROM is used as the storage element for storing the reference value. However, a volatile storage element such as a RAM or a register may be used. In this case, since the reference value can be rewritten from the outside, it can be used together with approximation of a nonlinear function other than arctangent. Although omitted for simplification of description, if a register is inserted into the output of each ROM and each arithmetic unit, a pipeline operation becomes possible, and the processing speed can be increased.

(実施例2)
次に、本発明の実施例2に関して説明する。この実施例2の構成は、基本的には図1に示した実施例1と同様であるため、本実施例の構成の図示は省略する。また、各構成要素の動作も実施例1と同様である。本実施例においては、第1〜第3のROMに格納する判断基準の生成方法に特徴がある。実施例1では、図2の(B)に示したように、直線近似する区間をθ軸に対して均等に分割して決定した。しかし、この分割方法では関数の曲線部の再現性を損なっている可能性がある。そこで、本実施例では、図10の(A)に示すような曲線を近似する場合、図10の(B)に示すように、θの値とは無関係に曲線の形状を最大限に保てるような分割を行う。図11に各ROMの内容の一例を示す。この例では、50度以下を非常に粗く、50度から80度までを非常に細かく分割している。
(Example 2)
Next, a second embodiment of the present invention will be described. Since the configuration of the second embodiment is basically the same as that of the first embodiment shown in FIG. 1, the illustration of the configuration of this embodiment is omitted. The operation of each component is the same as that in the first embodiment. The present embodiment is characterized in a method for generating determination criteria stored in the first to third ROMs. In Example 1, as shown in FIG. 2B, the section to be linearly approximated was determined by being equally divided with respect to the θ axis. However, this division method may impair the reproducibility of the curve portion of the function. Therefore, in this embodiment, when a curve as shown in FIG. 10A is approximated, as shown in FIG. 10B, the shape of the curve can be kept to the maximum regardless of the value of θ. Perform a proper division. FIG. 11 shows an example of the contents of each ROM. In this example, 50 degrees or less is very coarse, and 50 degrees to 80 degrees is divided very finely.

実施例1では、90度を2のべき乗で表すことができなかったため、テーブルのアドレス空間を2のべき乗で構成するために、テーブル内にダミーデータを配置していた。本実施例は、区切り角度の区間の幅を任意に設定できることを特徴としているが、幅のみならず区間数も任意に設定できる。よって、曲線の形状に影響が出ない範囲で、分割数を2のべき乗個に設定することが可能である。その結果、図11のようにダミーデータが不要になり、アドレス空間を有効に使用することができる。   In the first embodiment, since 90 degrees could not be expressed by a power of 2, dummy data was arranged in the table in order to configure the address space of the table by a power of 2. This embodiment is characterized in that the width of the section of the separation angle can be set arbitrarily, but not only the width but also the number of sections can be set arbitrarily. Therefore, the number of divisions can be set to a power of 2 within a range that does not affect the shape of the curve. As a result, dummy data becomes unnecessary as shown in FIG. 11, and the address space can be used effectively.

(実施例3)
図12に本発明の実施例3の構成を示す。なお、図12において、図1に示した実施例1と同一機能のものには同一符号を付し、その説明を省略する。本実施例では、図12に示すように、図1に示した実施例1の構成に加えて、オフセット減算手段301 と変換ROM302 とセレクタ303 とを備えている。なお、本実施例では比較の段数を減らし、2段構成にしている。本実施例では、図13の(A)に示すような曲線を、図13の(B)に示すように4領域に分割する。分割方法は、θ軸に対して均等、不均等のどちらでもよい。これらの分割領域のうち、直線近似が困難な個所を直接変換領域310 とし、このときの入力値tan(θ)に対する出力θの関係をテーブル化しておく。
(Example 3)
FIG. 12 shows the configuration of the third embodiment of the present invention. In FIG. 12, the same functions as those in the first embodiment shown in FIG. In this embodiment, as shown in FIG. 12, an offset subtracting means 301, a conversion ROM 302, and a selector 303 are provided in addition to the configuration of the first embodiment shown in FIG. In this embodiment, the number of comparison stages is reduced and a two-stage configuration is adopted. In the present embodiment, a curve as shown in FIG. 13A is divided into four regions as shown in FIG. The division method may be either uniform or non-uniform with respect to the θ axis. Of these divided regions, a portion where straight line approximation is difficult is defined as a direct conversion region 310, and the relationship of the output θ to the input value tan (θ) at this time is tabulated.

次に、図12に示した実施例3の動作について説明する。傾きROM108 及び切片ROM109 のアドレスが算出されるまでの動作は、実施例1及び実施例2の動作と同様である。傾きROM108 及び切片ROM109 のアドレス算出後、傾きROM108 の出力と入力値tan(θ)との乗算が行われ、更にその乗算結果と切片ROM109 の出力との加算が行われ、求める角度θが算出される。   Next, the operation of the third embodiment shown in FIG. 12 will be described. The operations until the addresses of the inclination ROM 108 and the intercept ROM 109 are calculated are the same as those in the first and second embodiments. After calculating the addresses of the slope ROM 108 and the intercept ROM 109, the output of the slope ROM 108 and the input value tan (θ) are multiplied, and the multiplication result and the output of the intercept ROM 109 are added to calculate the desired angle θ. The

一方、このような近似式による近似計算が行われるのと並行して、オフセット減算手段301 により入力値から、直接変換領域310 の設定位置に対応させた所定の値が減算される。オフセット減算手段301 の出力は、変換ROM302 のアドレスとなり、変換ROM302 からは入力値tan(θ)に対して1対1で規定される角度θの値が出力される。セレクタ303 では、加算器111 の出力と変換ROM302 のデータのどちらを最終出力とするかの選択が行われる。選択に際しては、第1の比較器101 ,第2の比較器102 の比較結果、すなわち傾きROM108 と切片ROM109 のアドレスが使用される。   On the other hand, in parallel with the approximation calculation by such an approximate expression, a predetermined value corresponding to the set position of the direct conversion area 310 is subtracted from the input value by the offset subtracting means 301. The output of the offset subtracting means 301 becomes the address of the conversion ROM 302, and the conversion ROM 302 outputs the value of the angle θ defined on a one-to-one basis with respect to the input value tan (θ). The selector 303 selects which of the output of the adder 111 and the data of the conversion ROM 302 is the final output. In selection, the comparison results of the first comparator 101 and the second comparator 102, that is, the addresses of the slope ROM 108 and the intercept ROM 109 are used.

図13の(B)に示す例の場合、全体を4 区間に分割したうちの3番目の領域が直接変換領域310 に割り当てられている。この場合、第1の比較器101 の出力が“1”,第2の比較器102 の出力が“0”(すなわち、傾きROM108 ,切片ROM109 のアドレスが“10”)のときに、セレクタ303 は変換ROM302 の出力を選択して出力する。なお、図13の(B)の場合、オフセット減算手段301 において減算される値は、図13の(B)においてxthで示される値である。また、傾きROM108 と切片ROM109 のアドレスのうち、直接変換領域に割り当てられる空間に関してはアクセスが発生しないため、どのようなデータが格納されていてもよい。 In the case of the example shown in FIG. 13B, the third area of the whole divided into four sections is directly assigned to the conversion area 310. In this case, when the output of the first comparator 101 is “1” and the output of the second comparator 102 is “0” (that is, the addresses of the slope ROM 108 and the intercept ROM 109 are “10”), the selector 303 is The output of the conversion ROM 302 is selected and output. In the case of FIG. 13B, the value subtracted by the offset subtracting means 301 is the value indicated by x th in FIG. 13B. Further, among the addresses of the inclination ROM 108 and the intercept ROM 109, no access is generated with respect to the space directly assigned to the conversion area, so any data may be stored.

以上のように、直線近似が容易な部分に関しては直線近似を行い、直線近似が困難な、非線形性が顕著な個所のみ詳細なテーブルを使用することで、曲線の精度を保ちながらもテーブルサイズを縮小することができる。なお、オフセット減算手段301 において、曲線の形状に大きな影響がでない範囲で、右シフト動作等によりビット長を削減すれば、変換ROM302 の容量を減らすことができる。また、本実施例では4領域に分割したものを示したが、当然それより多く、あるいは少なく分割することも可能である。また、直接変換領域を一箇所に限定する必要もなく、対象とする非線形関数によっては複数の直接変換領域を設定することで、より変換精度を向上させることが可能である。   As described above, straight line approximation is performed for parts where straight line approximation is easy, and the table size can be reduced while maintaining the accuracy of the curve by using a detailed table only in places where linear approximation is difficult and where nonlinearity is significant. Can be reduced. In the offset subtracting means 301, the capacity of the conversion ROM 302 can be reduced if the bit length is reduced by a right shift operation or the like within a range where the shape of the curve is not greatly affected. In the present embodiment, the area is divided into four areas, but it is of course possible to divide more or less. Further, it is not necessary to limit the direct conversion region to one place, and it is possible to improve the conversion accuracy by setting a plurality of direct conversion regions depending on the target nonlinear function.

本発明に係る近似回路の実施例1の構成を示すブロック図である。It is a block diagram which shows the structure of Example 1 of the approximate circuit which concerns on this invention. アークタンジェント関数のグラフ、及びアークタンジェント関数を複数区間に分割し1次式で近似する態様を示す図である。It is a figure which shows the aspect of dividing the arctangent function graph and the arctangent function into a plurality of sections and approximating with a linear expression. 図1に示した実施例1における傾きROM及び切片に格納されるデータを示す図である。It is a figure which shows the data stored in inclination ROM and intercept in Example 1 shown in FIG. 実施例1における第1〜第3のROMに格納されている判断基準データを示す図である。It is a figure which shows the criteria data stored in the 1st-3rd ROM in Example 1. FIG. 実施例1における第1の比較器の比較結果と第1のROMに入力されるアドレスの関係を示す図である。FIG. 6 is a diagram illustrating a relationship between a comparison result of a first comparator and an address input to a first ROM in Embodiment 1. 実施例1における第1及び第2の比較器の比較結果と第2のROMに入力されるアドレスの関係を示す図である。FIG. 6 is a diagram illustrating a relationship between a comparison result of first and second comparators in Example 1 and an address input to a second ROM. 実施例1における第1〜第3の比較器の比較結果と第3のROMに入力されるアドレスの関係を示す図である。FIG. 5 is a diagram illustrating a relationship between a comparison result of first to third comparators in Example 1 and an address input to a third ROM. 実施例1における第1〜第4の比較器の比較結果と傾きROM及び切片ROMのアドレスの関係を示す図である。It is a figure which shows the relationship between the comparison result of the 1st-4th comparator in Example 1, and the address of inclination ROM and intercept ROM. 実施例1における第1〜第3のROMと傾きROM及び切片ROMにおける各データの相互関係を示す図である。It is a figure which shows the mutual relationship of each data in the 1st-3rd ROM in Example 1, inclination ROM, and intercept ROM. 実施例2におけるアークタンジェント関数に対する直線近似区間の分割態様を示す図である。It is a figure which shows the division | segmentation aspect of the linear approximation area with respect to the arctangent function in Example 2. FIG. 実施例2における各ROMのデータの相互関係を示す図である。FIG. 10 is a diagram illustrating a mutual relationship between data in each ROM in the second embodiment. 実施例3の構成を示すブロック図である。10 is a block diagram illustrating a configuration of Example 3. FIG. アークタンジェント関数と実施例3における複数の近似区間の分割態様を示す図である。It is a figure which shows the division | segmentation aspect of the arc tangent function and the some approximate area in Example 3. FIG. 従来のアークタンジェント算出手法に用いるテーブルの内容を示す図である。It is a figure which shows the content of the table used for the conventional arctangent calculation method.

符号の説明Explanation of symbols

101 第1の比較器
102 第2の比較器
103 第3の比較器
104 第4の比較器
105 第1のROM
106 第2のROM
107 第3のROM
108 傾きROM
109 切片ROM
110 乗算器
111 加算器
112 アドレス算出手段
301 オフセット減算手段
302 変換ROM
303 セレクタ
101 First comparator
102 Second comparator
103 Third comparator
104 Fourth comparator
105 First ROM
106 2nd ROM
107 Third ROM
108 Tilt ROM
109 Section ROM
110 multiplier
111 Adder
112 Address calculation means
301 Offset subtraction means
302 conversion ROM
303 selector

Claims (3)

入力値に対して出力値が非線形に変化する非線形関数を、複数の区間にて折れ近似直線により近似する近似回路であって、各近似直線の傾きを格納する傾きメモリと、各近似直線の切片を格納する切片メモリと、前記傾きメモリと切片メモリのアドレスを算出するアドレス算出手段と、前記傾きメモリの出力と入力値との乗算を行う乗算器と、該乗算器の出力と前記切片メモリの出力との加算を行う加算器とを備え、前記アドレス算出手段は、入力値に対する判断を複数段に分けて順次行う回路であって、各段は、判断基準を2のべき乗個のアドレスに格納したメモリと、前記メモリに格納された判断基準と入力値との大小を比較し、その結果に基づいて次段のメモリアドレスを出力する比較器とを備えることを特徴とする近似回路。   An approximation circuit that approximates a nonlinear function whose output value varies nonlinearly with respect to the input value by folding approximate lines in a plurality of sections, an inclination memory that stores the inclination of each approximate line, and an intercept of each approximate line Intercept memory, address calculating means for calculating the addresses of the slope memory and intercept memory, a multiplier for multiplying the output of the slope memory by the input value, the output of the multiplier and the intercept memory And an adder that performs addition with the output, wherein the address calculation means sequentially determines the input value in a plurality of stages and each stage stores the determination criteria in powers of 2 An approximation circuit comprising: a memory configured to compare a determination criterion stored in the memory with an input value, and output a memory address of a next stage based on the result. 前記傾きメモリ及び切片メモリは、出力に対して不均等に分割された複数の折れ近似直線の各区間に対応する値を格納していることを特徴とする請求項1に係る近似回路。   2. The approximation circuit according to claim 1, wherein the inclination memory and the intercept memory store values corresponding to sections of a plurality of broken approximate lines that are divided unevenly with respect to the output. 所定の入力値の範囲に対して、入力値に対応する出力値を格納した変換テーブルと、入力値から所定の入力値の範囲に対応するオフセットを減算して変換テーブルのアドレスを生成するオフセット減算手段と、前記加算器の出力と変換テーブルの出力とを前記アドレス算出手段からの出力に基づいて切り替えるセレクタとを、更に備えることを特徴とする請求項1又は請求項2に係る近似回路。   A conversion table that stores an output value corresponding to an input value with respect to a predetermined input value range, and an offset subtraction that generates an address of the conversion table by subtracting an offset corresponding to the predetermined input value range from the input value The approximation circuit according to claim 1, further comprising: a means for switching between the output of the adder and the output of the conversion table based on the output from the address calculating means.
JP2004032869A 2004-02-10 2004-02-10 Approximation circuit Pending JP2005227811A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004032869A JP2005227811A (en) 2004-02-10 2004-02-10 Approximation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004032869A JP2005227811A (en) 2004-02-10 2004-02-10 Approximation circuit

Publications (1)

Publication Number Publication Date
JP2005227811A true JP2005227811A (en) 2005-08-25

Family

ID=35002509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004032869A Pending JP2005227811A (en) 2004-02-10 2004-02-10 Approximation circuit

Country Status (1)

Country Link
JP (1) JP2005227811A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5143748B2 (en) * 2006-12-27 2013-02-13 シャープ株式会社 ΔΣ modulation type digital-analog converter, digital signal processing method, and AV apparatus
JP2013214305A (en) * 2012-03-30 2013-10-17 Apple Inc Transcendental and non-linear components using series expansion
CN110213052A (en) * 2019-06-05 2019-09-06 海光信息技术有限公司 Data processing method and device
WO2021137691A1 (en) * 2019-12-31 2021-07-08 Mimos Berhad A circuit for determining an arctangent of an input operand and a method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5143748B2 (en) * 2006-12-27 2013-02-13 シャープ株式会社 ΔΣ modulation type digital-analog converter, digital signal processing method, and AV apparatus
JP2013214305A (en) * 2012-03-30 2013-10-17 Apple Inc Transcendental and non-linear components using series expansion
CN103365824A (en) * 2012-03-30 2013-10-23 苹果公司 Transcendental and non-linear components using series expansion
US9015217B2 (en) 2012-03-30 2015-04-21 Apple Inc. Transcendental and non-linear components using series expansion
CN110213052A (en) * 2019-06-05 2019-09-06 海光信息技术有限公司 Data processing method and device
WO2021137691A1 (en) * 2019-12-31 2021-07-08 Mimos Berhad A circuit for determining an arctangent of an input operand and a method thereof

Similar Documents

Publication Publication Date Title
US20240248682A1 (en) Multiple Mode Arithmetic Circuit
JP2599545B2 (en) Computer system for calculating logarithm and method of operating computer system
EP0493834B1 (en) Address generating circuit
JPH01125626A (en) Reciprocal calculating method
US4945505A (en) Cordic apparatus and method for approximating the magnitude and phase of a complex number
KR100398859B1 (en) Data calculating device
Muscedere et al. Efficient techniques for binary-to-multidigit multidimensional logarithmic number system conversion using range-addressable look-up tables
US6065031A (en) Log converter utilizing offset and method of use thereof
JP3551113B2 (en) Divider
JP4277091B2 (en) DDS pulse generator
US20070118584A1 (en) Apparatus and method for calculation of divisions and square roots
JP2005227811A (en) Approximation circuit
US6952710B2 (en) Apparatus, methods and computer program products for performing high speed division calculations
Hsiao et al. Two-level hardware function evaluation based on correction of normalized piecewise difference functions
US6983298B2 (en) Method and apparatus for linear interpolation using gradient tables
US6477557B1 (en) Division circuit not requiring taking complements of divisor, dividend and remainder
Muscedere et al. On efficient techniques for difficult operations in one and two-digit DBNS index calculus
JP2644514B2 (en) Function operation unit
JPH10320524A (en) Look-up table device and image generator
JPH0883263A (en) Digital signal processor
JP3390599B2 (en) Divider
JPH06202752A (en) Interpolating device for exponential function data
CN118113251A (en) Multi-bit multiplier based on Vedic method
JP2000010763A (en) Division circuit
JP2006338390A (en) Logarithm and square root transformation circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061226

A977 Report on retrieval

Effective date: 20090128

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20090224

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Effective date: 20090630

Free format text: JAPANESE INTERMEDIATE CODE: A02