(57)【特許請求の範囲】
【請求項１】
２つの入力値x1,x2の差の絶対値|x1-x2|に対して単調減少（又は単調増加）する関数F(|x1-x2|)の演算を行う関数演算器であって、
入力値x1,x2に比例してパルスの時間位置が変調された２つのパルス位相変調信号PPW1, PPW2が入力されると、各信号に同期して、時間t（t>0）の関数f(t)（但し、f(t)はF(x)の変数xを時間tに変数置換した関数）に比例して強度が時間変化する関数信号spk1,spk2を生成する関数発生器と、
前記関数信号spk1,spk2の強度の最小値（又は最大値）に比例して強度が時間変化する最値信号n1を生成する最値検出回路と、
前記最値信号n1の強度のピークを保持し、結果信号Vspkとして出力するピークホールド回路と、
を備えたことを特徴とする関数演算器。
【請求項２】
入力値x1，x2に応じてパルス幅変調された２つのパルス幅変調信号PWM1, PWM2が入力されると、各信号PWM1, PWM2に応じてパルスの時間位置が変調された２つのパルス位相変調信号PPW1, PPW2を生成するパルス生成器を備え、
前記関数発生器は、前記パルス生成器が生成する前記パルス位相変調信号PPW1, PPW2に同期させて前記関数信号spk1,spk2を発生させること
を特徴とする請求項１記載の関数演算器。
【請求項３】
前記ピークホールド回路の生成する結果信号Vspkの振幅値に比例するパルス幅信号PWMspkを生成するパルス幅変調器を備えたことを特徴とする請求項１又は２に記載の関数演算器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの入力値x1，x2を表すアナログ信号に対して、その絶対値|x1-x2|に対し単調減少する関数F(|x1-x2|)の演算を行うアナログ関数演算器に関する。
【背景技術】
【０００２】
ノイマン型アーキテクチャと異なる別種の情報処理アーキテクチャとして、ニューラルネットワークの研究開発が進められている。ニューラルネットワークは、生体で行われている情報処理をモデル化したものであり、神経細胞を模したニューロンを基本単位とし、複数のニューロンをネットワーク状に配置して情報処理を行うものである。ニューラルネットワークは、パターン・マッチングなどに応用される。このニューラルネットワークの高速化・高集積化を図るための実現手段として、アナログ方式のニューロＬＳＩが着目されている。
【０００３】
アナログ・ニューロＬＳＩの回路方式としては、従来は、純アナログ方式、純デジタル方式、及びパルス密度変調方式が多かったが、近年では、アナログとデジタルの両方の利点を共有しようとするパルス幅変調方式やパルス位相変調方式が提案されている。パルス幅変調（ＰＷＭ）方式又はパルス位相変調（ＰＰＭ）方式は、電圧又は電流に０／１の２値を持たせ、時間軸方向においてパルス幅又はパルス位相（タイミング）によりアナログ量を表現する情報を持たせたパルス信号を用いる回路技術である。この方式では、デジタル回路（インバータ，ゲート回路等）とアナログ回路（キャパシタ，ソースフォロワ回路等）とを組み合わせて回路が構成される。従って、デジタル回路についてはＳｉＣＭＯＳ技術の微細化に沿ってスケーリングできるため、純アナログ方式に比べるとチップ上の占有面積を小さくできる。また、低電圧動作も可能で、高い制御性を有し、既存のデジタルシステムとのマッチングもよく、ノイズやクロストークなどにも強いといった利点がある。さらに、ＰＷＭ／ＰＰＭ信号とアナログ電圧との変換過程で任意の非線形変換を実現することが可能である。
【０００４】
ＰＷＭ／ＰＰＭ方式の回路技術としては、例えば、特許文献１，非特許文献１，２に記載の演算器が開発されている。
【０００５】
図１１は、特許文献１，非特許文献１，２に記載の非線形演算器の基本構成を示す図である。図１１（ａ）の非線形演算回路は、非線形電圧源１０１，スイッチ１０２、及びキャパシタ１０３を備えた構成からなる。入力信号として、入力端子１０４にＰＰＭ信号が入力される。ＰＰＭ信号は、パルスの終端エッジ位置（Ｔ）に情報を持つパルス位相変調信号である。時刻０において非線形電圧源１０１の電圧値は立ち上がり、時刻ｔ＞０で非線形電圧源１０１の電圧値は図１１（ｄ）に示すように任意の時間関数で変化する。ＰＰＭパルスの終端エッジの時刻をＴとする。非線形電圧源１０１の出力電圧Ｖ３の時間変化を図１１（ｄ）のｆ（ｔ）で表す。
【０００６】
ＰＰＭパルスが立ち上がる前は、スイッチ１０３は非導通状態にある。このとき、キャパシタ１０３には電荷が保持されておらず、キャパシタ１０３の端子間電圧Ｖ２は０である。ｔ＝Ｔ−Δｔ〜ＴにおいてＰＰＭパルスが立ち上がると、スイッチ１０４は時間Δｔだけ導通状態となる。この時点で、キャパシタ１０３は充電され、パルスの終端エッジｔ＝Ｔにおいて電圧値Ｖ２＝ｆ（Ｔ）が保持される。これにより、非線形演算が行われたことになる。
【０００７】
また、非特許文献３，４には、ＰＷＭ方式の積和演算回路が提案されている。図１２は、非特許文献３に記載の非線形演算器を表す図である。図１２において、非線形演算器は、ＭＯＳトランジスタＭ１，Ｍ２，Ｍ３、キャパシタＣＮ、入力回路１１０、出力バッファ回路１１１，及びコンパレータ１１２を備えている。
【０００８】
非線形関数の任意波形は、電圧ＶＦとして、ＭＯＳトランジスタＭ１のゲートに入力される。前段ニューロンの状態値を表す入力信号は、ＰＷＭパルスとして入力回路１１０に入力される。入力回路１１０は、結合荷重を表す電圧ＶＷに従って、ＰＷＭパルスのパルス電圧を調整し、ＭＯＳトランジスタＭ２のゲートに出力する。
【０００９】
２つのＭＯＳトランジスタＭ１，Ｍ２により、前段ニューロンの状態値の非線形変換及び結合荷重の重み付けの２つの機能が同時に実現される。ＭＯＳトランジスタＭ１，Ｍ２を流れる電流は、キャパシタＣＮに電荷として蓄えられ、これが後段ニューロンの内部状態を表す。この後段ニューロンの内部状態は、出力バッファ１１１及びコンパレータ１１２によって、ＰＷＭパルスとして取り出すことができる。
【特許文献１】特開２０００−５７２４１号公報
【非特許文献１】T. Morie, K Murakoshi, M Nagata, and A. Iwata, "Pulse Modulation Techniques for Nonlinear Dynamical Systems and a CMOS Chaos Circuit with Arbitrary 1-D Maps", IEICE Trans. Electron., Vol. E87-C, No. 11, pp. 1856-1862, 2004.
【非特許文献２】T. Morie, S. Sakabayashi, H. Ando, M. Nagata and A. Iwata, "Pulse Modulation Circuit Techniques for Nonlinear Dynamical Systems", Proc. International Symposium on Nonlinear Theory and its Application (NOLTA'98), pp. 447-450, Crans-Montana, Sept. 16, 1998.
【非特許文献３】是角圭祐，森江隆，野村修，真継優和，岩田穆，「アナログ・デジタル融合アーキテクチャによるConvolutional Network LSIの設計」，日本神経回路学会 第12回全国大会（JNNS2002）, pp. 17-20, 2002年9月, 鳥取大学(鳥取)
【非特許文献４】K. Korekado, T. Morie, O. Nomura, H. Ando, T. Nakano, M. Matsugu, and A. Iwata, "A VLSI Convolutional Neural Network for Image Recognition Using Merged/Mixed Analog-Digital Architecture", Int. J. Fuzzy and Intelligent Systems, Vol.15, No.314, No. 3/4, pp.173-179, 2004.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、パターン・マッチングなどの情報処理を行う場合、しばしば、２つの状態値の距離や類似度、すなわち、状態値x1,x2の差の絶対値|x1-x2|の関数F(|x1-x2|)の演算が必要となる場合がある。上述のＰＷＭ／ＰＰＭ方式のアナログ・ニューロＬＳＩを使用する場合、かかる関数F(|x1-x2|)の計算をＰＷＭ／ＰＰＭ方式により行う必要がある。しかしながら、現在のところそのような関数演算器は提案されていない。
【００１１】
そこで、本発明の目的は、ＰＷＭ／ＰＰＭ方式において、入力値x1,x2の差の絶対値|x1-x2|の任意の関数F(|x1-x2|)の演算を行うことが可能な関数演算器を提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係る関数演算器の第１の構成は、２つの入力値x1,x2の差の絶対値|x1-x2|に対し単調減少（又は単調増加）する関数F(|x1-x2|)の演算を行う関数演算器であって、
パルスエッジの位置が入力値x1,x2に比例するようにパルス位相変調された２つの入力信号PPW1, PPW2が入力されると、各信号に同期して、時間t（t>0）の関数f(t)（但し、f(t)はF(x)の変数xを時間tに変数置換した関数）に比例して出力が時間変化する関数信号spk1,spk2を生成する関数発生器と、
前記関数信号spk1,spk2の強度の最小値（又は最大値）に比例して時間変化する最値信号n1を生成する最値検出器と、
前記最値信号n1の出力のピークを保持し、結果信号Vspkとして出力するピークホールド回路と、を備えたことを特徴とする。
【００１３】
この構成によれば、入力値x1,x2が入力信号PPW1, PPW2として入力されると、関数発生器は、それぞれの入力信号PPW1, PPW2に同期した２つの関数信号spk1,spk2を生成する。入力信号PPW1, PPW2のタイミングをそれぞれt1,t2とする。関数信号の電圧をV0f(t)とする（V0は比例定数）。このとき、時刻tの関数信号spk1,spk2の電圧は、V0f(t-t1),V0f(t-t2)となる。最値検出器は、関数F(|x1-x2|)が単調減少関数の場合、関数信号spk1,spk2の電圧の最小値に比例して電圧が時間変化する最値信号n1を生成する。すなわち、時刻tの最値信号n1の電圧Out1(t)は、
【００１４】
【数１】
0004625961.tif 000002
となる。但し、β1は比例定数である。関数f(t)はt=0で急峻に立ち上がり、t>0で単調減少する関数なので、
【００１５】
【数２】
0004625961.tif 000003
となる。関数信号spk1,spk2のt=t1,t=t2における立ち上がりが急峻であれば、t≒max{t1, t2}の付近における関数信号β1V0f(t-max{t1,t2})の立ち上がり時間は無視できるので、
【００１６】
【数３】
0004625961.tif 000004
となる。ピークホールド回路は、最値信号n1のピーク電圧を保持し、結果信号Vspkとして出力する。結果信号Vspkは、関数f(t)が単調減少関数であることを考慮すれば、
【００１７】
【数４】
0004625961.tif 000005
となる。すなわち、関数f(|t1-t2|)=F(|x1-x2|)に比例する電圧の結果信号Vspkが得られる。
【００１８】
尚、関数F(|x1-x2|)が単調増加関数の場合、最値検出器は、関数信号spk1,spk2の電圧の最大値に比例して電圧が時間変化する最値信号n1を生成する。この場合、関数f(t)は、t<0で漸近最大値、t=0で急峻に立ち下がり、t>0で漸近最大値に向かって単調増加する関数となる。この場合、式（１）のmin{  }をmax{  }に置き換えれば、あとは同様となる。
【００１９】
ここで、「パルスエッジ」とは、パルスの立ち上がり又は立ち下がりのことをいう。
【００２０】
関数f(t)は、目的関数F(x)の変数xを時間tに変数置換した関数である。すなわち、入力信号PPW1, PPW2のパルスエッジの時刻をt1,t2とすると、t1=Ax1+B, t2=Ax2+Bと表される。ここで、A,Bは定数である。このとき、f(t)=f(Ax+B)=F(X)となる。関数f(t)の関数形は任意であり、演算を行おうとしている目的関数F(|x1-x2|)の関数形に合わせたものが採用される。
【００２１】
また、本発明において、前記最値検出器は、出力ノードを共通として並列に設けられた同特性の２つのソース・フォロワ（又はエミッタ・フォロワ）増幅回路を備え、各ソース・フォロワ（又はエミッタ・フォロワ）増幅回路の入力にそれぞれ関数信号spk１,spk２が入力される構成とすることができる。
【００２２】
また、本発明において、前記ピークホールド回路は、ホールド電圧を保持するためのコンデンサ、前記コンデンサと前記最値検出器の出力ノードとの間に接続されたダイオード、及び、前記コンデンサに保持された電圧を出力するバッファ回路を備えた構成とすることができる。
【００２３】
本発明に係る関数演算器の第２の構成は、前記第１の構成において、入力値x1，x2に応じてパルス幅変調された２つのパルス幅変調信号PWM1, PWM2が入力されると、各信号PWM1, PWM2に応じてパルスの位置が変調された２つの入力信号PPW1, PPW2を生成するパルス生成器を備え、
前記関数発生器は、前記パルス生成器が生成する前記入力信号PPW1, PPW2に同期させて前記関数信号spk1,spk2を発生させることを特徴とする。
【００２４】
この構成により、入力値x1，x2をパルス幅変調信号として入力して、目的関数F(|x1-x2|)の演算を行うことができる。
【００２５】
本発明に係る関数演算器の第３の構成は、前記第１又は２の構成において、前記ピークホールド回路の生成する結果信号Vspkの振幅値に比例するパルス幅変調信号PWMspkを生成するパルス幅変調器を備えたことを特徴とする。
【００２６】
この構成により、目的関数F(|x1-x2|)の演算結果をパルス幅変調信号として出力することができる。
【発明の効果】
【００２７】
以上のように、本発明によれば、ＰＷＭ／ＰＰＭ方式において、入力値x1,x2の差の絶対値|x1-x2|の任意の関数F(|x1-x2|)の演算を行うことが可能な関数演算器を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【００２９】
図１は、本発明の実施例１に係る関数演算器１の全体構成を表すブロック図である。本実施例に係る関数演算器１は、２つの入力値x1,x2の差の絶対値|x1-x2|に対し単調減少する関数F(|x1-x2|)の演算を行う。関数F(|x1-x2|)の関数形は任意であり、目的に応じて適宜選択すればよい。例えば、関数F(|x1-x2|)として、距離関数|x1-x2|2，類似度関数1/|x1-x2|2などが挙げられる。
【００３０】
関数演算器１は、関数発生器２ａ，２ｂ、最値検出器３、及びピークホールド回路４を備えている。関数演算器１には、パルスエッジの位置が入力値x1,x2に比例するようにパルス位相変調された２つの入力信号PPW1, PPW2が入力される。
【００３１】
関数発生器２ａ，２ｂは、それぞれ入力される入力信号PPW1, PPW2をトリガとして、関数f(t)に比例して電圧が時間変化する関数信号spk1,spk2を生成する。ここで、t及びf(t)は前に説明した通りである。最値検出器３は、関数信号spk1,spk2のうち低い方の電圧に比例して時間変化する最値信号n1を生成する。ピークホールド回路４は、最値信号n1のピークを保持し、結果信号Vspkとして出力する。
【００３２】
図２（ａ）は、関数発生器２ａ，２ｂの構成の一例を表す図である。関数発生器２ａ，２ｂは、スイッチ１０、ランプ電圧生成回路１１、電流源１２、及びキャパシタ１３を備えている。
【００３３】
スイッチ１０は、一方の端子が電源、他方の端子が出力ノード１４に接続されている。キャパシタ１３は、一方の端子が出力ノード１４に接続され、他方の端子が接地されている。また、出力ノード１４に接続された側のキャパシタ１３端子には、電流源１２の出力端子が接続されている。
【００３４】
スイッチ１０は、ＭＯＳトランジスタ等によって構成されたスイッチであり、入力信号PPWiによって通断制御がされるスイッチである。
【００３５】
ランプ電圧生成回路１１は、ランプ電圧Vrmpを生成する回路である。電流源１２は、ＭＯＳトランジスタ等によって構成され、ランプ電圧Vrmpに比例した大きさの電流を出力する。
【００３６】
尚、関数発生器２ａ，２ｂは、演算を行おうとする関数F(x)の関数形によって適宜選択することができる。
【００３７】
一例として、距離関数F(x)= |x1-x2|2を演算する場合について説明すると、図２のランプ電圧生成回路１１としては、例えば、図３に記載の回路を使用することができる。図３のランプ電圧生成回路１１は、電流源１５、スイッチ１６、及びキャパシタ１７を備えている。電流源１５とキャパシタ１７は、電源−接地間に直列に接続されており、電流源１５とキャパシタ１７の接続ノード（以下「ランプ出力ノード１８」という。）の電圧が、ランプ電圧Vrmpとして取り出される。スイッチ１６は、ランプ出力ノード１８と接地を通断するスイッチであり、入力信号PPWiによって通断制御される。
【００３８】
また、他の例として、指数減衰関数F(x)= exp(-α|x1-x2|)を演算する場合について説明すると、図２の関数発生器２ａ，２ｂの代わりに、図４に示したような関数発生器２ａ，２ｂを使用することができる。図４の関数発生器２ａ，２ｂは、スイッチ１０，キャパシタ１３，及び抵抗２４を備えている。スイッチ１０とキャパシタ１３は、電源−接地間に直列に接続されており、スイッチ１０とキャパシタ１３の接続ノードが出力ノード１４とされている。キャパシタ１３の両端子間電圧が、関数信号spk1として取り出される。また、出力ノード１４と接地電位との間に抵抗２４が接続されている。
【００３９】
スイッチ１０は、入力信号PPWiによって通断制御され、入力信号PPWiがＯＮ（アサート）の期間に接続状態となる。入力信号PPWiが、時刻ｔ１−Δｔ〜ｔ１にΔｔの時間だけＯＮ状態とされると（図４（ｂ）参照）、キャパシタ１３が充電され、関数信号spk1はほぼ電源電圧となる。その後、スイッチ１０が遮断されると、キャパシタ１３に蓄電された電荷は抵抗２４通って放電される。キャパシタ１３の容量をＣ、抵抗２４の抵抗値をＲ、時間をｔとすると、図４（ｃ）に示したように、関数信号spk1はｔ＞ｔ１において、exp（-(t-t1)/CR）に比例して減衰する。
【００４０】
また、他の例として、一次減少関数F(x)= α(β-|x1-x2|)を演算する場合について説明すると、図２の関数発生器２ａ，２ｂの代わりに、図５に示したような関数発生器２ａ，２ｂを使用することができる。図５の関数発生器２ａ，２ｂは、スイッチ１０，キャパシタ１３，及び定電流源１２を備えている。スイッチ１０とキャパシタ１３は、電源−接地間に直列に接続されており、スイッチ１０とキャパシタ１３の接続ノードが出力ノード１４とされている。キャパシタ１３の両端子間電圧が、関数信号spk1として取り出される。また、出力ノード１４と接地電位との間に定電流源１２が接続されている。
【００４１】
スイッチ１０は、入力信号PPWiによって通断制御され、入力信号PPWiがＯＮ（アサート）の期間に接続状態となる。入力信号PPWiが、時刻ｔ１−Δｔ〜ｔ１にΔｔの時間だけＯＮ状態とされると（図５（ｂ）参照）、キャパシタ１３が充電され、関数信号spk1はほぼ電源電圧となる。その後、スイッチ１０が遮断されると、キャパシタ１３に蓄電された電荷は定電流源１２により引き出されて放電される。引き出される電流はほぼ一定なので、関数信号spk1はｔ＞ｔ１において、図５（ｃ）に示したように、CV0-α(t-t1)に比例して減少する。
【００４２】
さらに、他の例として、シグモイド関数F(x)= 1-1/(1+exp(-α|x1-x2|))を演算する場合について説明すると、図２の関数発生器２ａ，２ｂの代わりに、図６に示したような関数発生器２ａ，２ｂを使用することができる。図６の関数発生器２ａ，２ｂは、ＭＯＳトランジスタ２５，２６，及びランプ電圧生成回路１１を備えている。ＭＯＳトランジスタ２５，２６は、電源−接地間にＣＭＯＳインバータ接続されており、ＭＯＳトランジスタ２５のドレインとＭＯＳトランジスタ２６のドレインとの共通接続ノードが出力ノード１４とされている。ランプ電圧生成回路１１は、ＭＯＳトランジスタ２５，２６のゲートに入力される。尚、ランプ電圧生成回路１１は図３のものと同様とする。出力ノード１４の電圧が、関数信号spk1として取り出される。
【００４３】
入力信号PPWi（図６（ｂ）参照）によって、ランプ電圧生成回路１１は、図６（ｃ）に示すような、電源電圧から接地電圧まで直線的に減少するランプ電圧を発生する。このランプ電圧は、ＭＯＳトランジスタ２５，２６で構成されるＣＭＯＳインバータに入力される。ＣＭＯＳインバータの特性として、関数信号spk1は図６（ｄ）に示したようなシグモイド関数となる。
【００４４】
図７（ａ）は、最値検出器３の構成を表す図である。最値検出器３は、ＭＯＳトランジスタ２０，２１，２２により構成されたソース・フォロワ型の増幅回路である。ＭＯＳトランジスタ２０は、ソースが電源に、ドレインが出力ノード２３に接続されている。このＭＯＳトランジスタ２０は、ゲートに入力される一定のバイアス電圧bias_sf_pkによって定電流源として機能する。
【００４５】
ＭＯＳトランジスタ２１，２２は、出力ノード２３とアース間に並列に接続されており、ドレインが接地，ソースが出力ノード２３に接続されている。ＭＯＳトランジスタ２１のゲートは関数発生器２ａの出力ノード２３に接続され、関数信号spk1が入力される。ＭＯＳトランジスタ２２のゲートは関数発生器２ｂの出力ノード２３に接続され、関数信号spk2が入力される。ＭＯＳトランジスタ２０，２１及びＭＯＳトランジスタ２０，２２でそれぞれソース・フォロワが構成されており、両者は同一の利得となるように設計されている。従って、出力ノード２３からは、関数信号spk1又は関数信号spk2のうち何れか小さい方の電圧に比例した信号が、最値信号n1として出力される。
【００４６】
図８（ａ）は、ピークホールド回路４の構成を表す図である。ピークホールド回路４は、ダイオード３１、キャパシタ３２、リセット・スイッチ３３、及び出力バッファ回路３４を備えている。
【００４７】
入力ノード３０は、最値検出器３の出力ノード２３と接続され、最値信号n1が入力される。ダイオード３１とキャパシタ３２は、入力ノード３０及び電源間に直列に接続されている。ダイオード３１は、アノードが入力ノード３０に、カソードがキャパシタ３２に接続されている。尚、ダイオード３１としては、ＭＯＳトランジスタをダイオード接続したものを使用することができる。
【００４８】
リセット・スイッチ３３は、ダイオード３１−キャパシタ３２間の接続ノード（以下、「中間出力ノード３８」と呼ぶ。）と、アースとの間に接続されている。リセット・スイッチ３３は、リセット信号rstによりオン／オフするスイッチであり、ＭＯＳトランジスタ等によって構成される。
【００４９】
出力バッファ回路３４は、中間出力ノード３８の信号（以下「中間出力信号n2」という。）を増幅して出力ノード３５から結果信号Vspkとして出力する回路である。出力バッファ回路３４は、ＭＯＳトランジスタ３６，３７により構成された通常のソース・フォロワ増幅回路である。ＭＯＳトランジスタ３６，３７は、電源−アース間に直列に接続されており、両者の接続ノードが出力ノード３５となっている。ＭＯＳトランジスタ３６のゲートには中間出力信号n2が入力される。ＭＯＳトランジスタ３７のゲートにはバイアス電圧bias_sf_outが入力される。ＭＯＳトランジスタ３７は、一定バイアス電圧bias_sf_outによって定電流源として機能する。
【００５０】
以上のように構成された本実施例１の関数演算器１について、以下その動作を説明する。
【００５１】
最初に、初期化動作として、リセット信号rst（図８参照）のパルスが入力され、中間出力ノード３８の電位は０Ｖとされる。また、バイアス電圧bias_sf_pk, bias_sf_outが０Ｖとされ、ＭＯＳトランジスタ２０，３７はオン状態される。
【００５２】
次に、以下のようにして演算動作が行われる。
【００５３】
まず、図２（ｂ）のように、入力信号PPWiとして幅Δtのパルスが入力されると、スイッチ１６，１０がその間だけ導通状態となる。これにより、キャパシタ１７は放電されて端子間電圧が０Ｖとなり、キャパシタ１３は充電されて端子間電圧が電源電圧V0となる。
【００５４】
次に、時間Δｔが経過すると入力パルスが立ち下がってスイッチ１６，１０が遮断状態となる。この状態で、ランプ電圧生成回路１１のキャパシタ１７には、電流源１５から一定電流がキャパシタ１７に供給される。これにより、ランプ電圧Vrmpは図２（ｃ）のように電源電圧V0まで直線的に上昇する。入力パルスの立ち下がり時刻をti(i=1,2)、電流源１５の出力電流をi15、キャパシタ１７の静電容量をC17とすると、キャパシタ１７に充電された電荷量をQ17及びランプ電圧Vrmpは、次式（５），（６）となる。
【００５５】
【数５】
0004625961.tif 000006
【００５６】
一方、電流源１２は、ランプ電圧Vrmpに比例した電流irmp=αVrmpを出力する。これにより、キャパシタ１３は放電する。キャパシタ１３の静電容量をC13とすると、キャパシタ１３に充電された電荷量をQ13、及び関数信号spkiは次式（７）（８）のようになる。
【００５７】
【数６】
0004625961.tif 000007
【００５８】
従って、関数信号spk1は、図２（ｄ）のように、電圧が時間の２乗に比例して減少する信号となる。
【００５９】
以上のようにして、関数発生器２ａ，２ｂは関数信号spk1，spk2を出力する。関数信号spk1，spk2は同型であり、時間軸方向に距離|t1-t2|だけシフトしたものである。図７（ｂ）（ｃ）に関数信号spk1，spk2の一例を示す。
【００６０】
最値検出器３は、関数信号spk1，spk2のうちの低い方の電圧に比例して時間変化する最値信号n1を生成する。ＭＯＳトランジスタ２０，２１及びＭＯＳトランジスタ２０，２２で構成されるソース・フォロワ増幅回路の利得をβ1とすると、最値信号n1の電圧Out1は、式（９）のようになる。
【００６１】
【数７】
0004625961.tif 000008
【００６２】
例えば、図７（ｂ）（ｃ）のような関数信号spk1，spk2が入力された場合、最値信号n1の電圧Out1は、図７（ｄ）のようになる。
【００６３】
一方、リセット動作によって、初期状態においては中間出力ノード３８の電圧は０Ｖである。従って、最値信号n1の電圧Out1が上昇すると、ＭＯＳトランジスタ２０及びダイオード３１を通して中間出力ノード３８に電流が供給され、中間出力ノード３８の電圧Out2は電圧Out1とほぼ等しくなる。このとき、キャパシタ３２の端子間電圧は減少する。一方、最値信号n1の電圧Out1が下降し始めると、Out2>Out1となるため、ダイオード３１には電流が流れず、中間出力ノード３８の電圧Out2は一定に保持される。これにより、中間出力ノード３８の電圧Out2には、最値信号n1のピーク電圧が保持される。
【００６４】
最値信号n1の電圧のピークは、図８（ｄ）から分かるように、関数信号spk1，spk2のうち遅れた方が立ち上がる時刻max{t1,t2}である。従って、中間出力ノード３８に保持される電圧Out2は、次式（１０）のようになる。
【００６５】
【数８】
0004625961.tif 000009
【００６６】
出力バッファ回路３４は、中間出力ノード３８の電圧Out2を増幅し、結果信号Vspkとして出力ノード３５に出力する。出力バッファ回路３４の利得をβ２とすると、結果信号Vspkは式（１１）のようになる。
【００６７】
【数９】
0004625961.tif 000010
【００６８】
式（１１）より、結果信号Vspkとして、入力値x1,x2の距離|x1-x2|2に比例した値が得られることが分かる。
【実施例２】
【００６９】
図９は、本発明の実施例２に係る関数演算器１’の全体構成を表すブロック図である。実施例２の関数演算器１’は、実施例１の関数演算器１に対して、関数発生器２ａ，２ｂの前段にそれぞれパルス生成器４０ａ，４０ｂを設け、ピークホールド回路４の後段にパルス幅変調器４１を追加したものである。
【００７０】
パルス生成器４０ａ，４０ｂには、入力値x1，x2に応じてパルス幅変調された２つのパルス幅変調信号PWM1, PWM2が入力される。パルス幅変調信号PWM1, PWM2は、その後側エッジにおいて同期されているものとする。尚、逆にＰＷＭ信号の前側エッジで同期している信号でも類似の回路でＰＰＭ信号を生成することができる。パルス生成器４０ａ，４０ｂは、各パルス幅変調信号PWM1, PWM2に応じてパルスの位置が変調された２つのパルス位相変調信号PPW1, PPW2を生成する。
【００７１】
また、パルス幅変調器４１は、ピークホールド回路４が生成する結果信号Vspkの振幅値に比例したパルス幅変調信号PWMspkを生成する。
【００７２】
図１０（ａ）は、パルス生成器４０ａ，４０ｂの構成を表す図である。パルス生成器４０ａ，４０ｂは、インバータ５０、遅延回路５１ａ，５１ｂ、論理ゲート５２、及び出力バッファ５３を備えている。
【００７３】
インバータ５０には、パルス幅変調信号PWMi(i=1,2)が入力され、その反転信号を遅延回路５１ａ，５１ｂに出力する。遅延回路５１ａ，５１ｂは、ともに４段のインバータが直列に接続された構成とされている。但し、遅延回路５１ｂは、遅延回路５１ａよりも伝達時間がΔｔだけ長くなるように設計されている。論理ゲート５２は、遅延回路５１ａの出力値及び５１ｂの出力の反転値に対してＯＲ演算を行う。出力バッファ５３は、論理ゲート５２の出力を増幅し、パルス位相変調信号PPWiとして出力する。
【００７４】
例えば、パルス幅変調信号PWMiとして、図１０（ｂ）のような信号が入力された場合、遅延回路５１ａ，５１ｂの出力は図１０（ｃ）（ｄ）に示したパルス幅変調信号PWMi(1)，PWMi(2)となる。論理ゲート５２は、これらの信号の反転値に対して回路図に示した論理演算を行う。その結果、パルス位相変調信号PPWiは、パルス幅変調信号PWMi(1)の立ち下がりエッジにおいて立ち下がり、パルス幅変調信号PWMi(2)の立ち下がりエッジにおいて立ち上がるような幅Δｔの短いパルスとなる。
【００７５】
これにより、パルス幅変調信号PWM1, PWM2から、入力値x1，x2に応じてパルス位相変調がされた２つのパルス位相変調信号PPM1, PPM2が生成される。
【００７６】
関数発生器２ａ，２ｂ、最値検出器３及びピークホールド回路４の動作については、実施例１で説明した通りである。パルス幅変調器４１は、結果信号Vspkを再びパルス幅変調信号に変換し、パルス幅信号PWMspkとして出力する。
【００７７】
以上のように、本実施例２の関数演算器１’を使用すると、入力値x1,x2をパルス幅変調信号PWM1, PWM2として入力し、その演算結果をパルス幅信号PWMspkとして得ることができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施例１に係る関数演算器１の全体構成を表すブロック図である。
【図２】関数発生器２ａ，２ｂの構成の一例及び各信号の時間変化を表す図である。
【図３】ランプ電圧生成回路１１の一例を表す図である。
【図４】指数減衰関数を生成する関数発生器の例を表す図である。
【図５】一次減少関数を生成する関数発生器の例を表す図である。
【図６】シグモイド関数を生成する関数発生器の例を表す図である。
【図７】最値検出器３の構成及び各信号の時間変化を表す図である。
【図８】ピークホールド回路４の構成及び各信号の時間変化を表す図である。
【図９】本発明の実施例２に係る関数演算器１’の全体構成を表すブロック図である。
【図１０】パルス生成器４０ａ，４０ｂの構成及び各信号の時間変化を表す図である。
【図１１】特許文献１，非特許文献１，２に記載の非線形演算器の基本構成を示す図である。
【図１２】非特許文献３に記載の非線形演算器を表す図である。
【符号の説明】
【００７９】
１，１’  関数演算器
２ａ，２ｂ  関数発生器
３  最値検出器
４  ピークホールド回路
１０  スイッチ
１１  ランプ電圧生成回路
１２  電流源
１３  キャパシタ
１４  出力ノード
１５  電流源
１６  スイッチ
１７  キャパシタ
１８  ランプ出力ノード
２０，２１，２２  ＭＯＳトランジスタ
２３  出力ノード
２４  抵抗
２５，２６  ＭＯＳトランジスタ
３０  入力ノード
３１  ダイオード
３２  キャパシタ
３３  リセット・スイッチ
３４  出力バッファ回路
３５  出力ノード
３６，３７  ＭＯＳトランジスタ
３８  中間出力ノード
４０ａ，４０ｂ  パルス生成器
４１  パルス幅変調器
５０  インバータ
５１ａ，５１ｂ  遅延回路
５２  論理ゲート
５３  出力バッファ
【図１】
0004625961.tif 000011
【図２】
0004625961.tif 000012
【図３】
0004625961.tif 000013
【図４】
0004625961.tif 000014
【図５】
0004625961.tif 000015
【図６】
0004625961.tif 000016
【図７】
0004625961.tif 000017
【図８】
0004625961.tif 000018
【図９】
0004625961.tif 000019
【図１０】
0004625961.tif 000020
【図１１】
0004625961.tif 000021
【図１２】
0004625961.tif 000022