説明

関数演算器

【課題】PWM/PPM方式において、入力値差の関数F(|x1-x2|)演算を行うことが可能な関数演算器の提供。
【解決手段】入力値x1,x2でパルス位相変調された入力信号PPW1, PPW2が入力されると、各信号に同期して、関数f(t)(f(t)はF(x)の変数xを時間tに変数置換した関数)に比例する関数信号spk1,spk2を生成する関数発生器2a,2bと、関数信号spk1,spk2のうち低い方に比例して変化する最小値信号n1を生成する最小値検出器3と、最小値信号n1の出力のピークを保持し結果信号Vspkとして出力するピークホールド回路4を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2つの入力値x1,x2を表すアナログ信号に対して、その絶対値|x1-x2|に対し単調減少する関数F(|x1-x2|)の演算を行うアナログ関数演算器に関する。
【背景技術】
【0002】
ノイマン型アーキテクチャと異なる別種の情報処理アーキテクチャとして、ニューラルネットワークの研究開発が進められている。ニューラルネットワークは、生体で行われている情報処理をモデル化したものであり、神経細胞を模したニューロンを基本単位とし、複数のニューロンをネットワーク状に配置して情報処理を行うものである。ニューラルネットワークは、パターン・マッチングなどに応用される。このニューラルネットワークの高速化・高集積化を図るための実現手段として、アナログ方式のニューロLSIが着目されている。
【0003】
アナログ・ニューロLSIの回路方式としては、従来は、純アナログ方式、純デジタル方式、及びパルス密度変調方式が多かったが、近年では、アナログとデジタルの両方の利点を共有しようとするパルス幅変調方式やパルス位相変調方式が提案されている。パルス幅変調(PWM)方式又はパルス位相変調(PPM)方式は、電圧又は電流に0/1の2値を持たせ、時間軸方向においてパルス幅又はパルス位相(タイミング)によりアナログ量を表現する情報を持たせたパルス信号を用いる回路技術である。この方式では、デジタル回路(インバータ,ゲート回路等)とアナログ回路(キャパシタ,ソースフォロワ回路等)とを組み合わせて回路が構成される。従って、デジタル回路についてはSiCMOS技術の微細化に沿ってスケーリングできるため、純アナログ方式に比べるとチップ上の占有面積を小さくできる。また、低電圧動作も可能で、高い制御性を有し、既存のデジタルシステムとのマッチングもよく、ノイズやクロストークなどにも強いといった利点がある。さらに、PWM/PPM信号とアナログ電圧との変換過程で任意の非線形変換を実現することが可能である。
【0004】
PWM/PPM方式の回路技術としては、例えば、特許文献1,非特許文献1,2に記載の演算器が開発されている。
【0005】
図11は、特許文献1,非特許文献1,2に記載の非線形演算器の基本構成を示す図である。図11(a)の非線形演算回路は、非線形電圧源101,スイッチ102、及びキャパシタ103を備えた構成からなる。入力信号として、入力端子104にPPM信号が入力される。PPM信号は、パルスの終端エッジ位置(T)に情報を持つパルス位相変調信号である。時刻0において非線形電圧源101の電圧値は立ち上がり、時刻t>0で非線形電圧源101の電圧値は図11(d)に示すように任意の時間関数で変化する。PPMパルスの終端エッジの時刻をTとする。非線形電圧源101の出力電圧Vの時間変化を図11(d)のf(t)で表す。
【0006】
PPMパルスが立ち上がる前は、スイッチ103は非導通状態にある。このとき、キャパシタ103には電荷が保持されておらず、キャパシタ103の端子間電圧Vは0である。t=T−Δt〜TにおいてPPMパルスが立ち上がると、スイッチ104は時間Δtだけ導通状態となる。この時点で、キャパシタ103は充電され、パルスの終端エッジt=Tにおいて電圧値V=f(T)が保持される。これにより、非線形演算が行われたことになる。
【0007】
また、非特許文献3,4には、PWM方式の積和演算回路が提案されている。図12は、非特許文献3に記載の非線形演算器を表す図である。図12において、非線形演算器は、MOSトランジスタM,M,M、キャパシタC、入力回路110、出力バッファ回路111,及びコンパレータ112を備えている。
【0008】
非線形関数の任意波形は、電圧Vとして、MOSトランジスタMのゲートに入力される。前段ニューロンの状態値を表す入力信号は、PWMパルスとして入力回路110に入力される。入力回路110は、結合荷重を表す電圧Vに従って、PWMパルスのパルス電圧を調整し、MOSトランジスタMのゲートに出力する。
【0009】
2つのMOSトランジスタM,Mにより、前段ニューロンの状態値の非線形変換及び結合荷重の重み付けの2つの機能が同時に実現される。MOSトランジスタM,Mを流れる電流は、キャパシタCに電荷として蓄えられ、これが後段ニューロンの内部状態を表す。この後段ニューロンの内部状態は、出力バッファ111及びコンパレータ112によって、PWMパルスとして取り出すことができる。
【特許文献1】特開2000−57241号公報
【非特許文献1】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.
【非特許文献2】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.
【非特許文献3】是角圭祐,森江隆,野村修,真継優和,岩田穆,「アナログ・デジタル融合アーキテクチャによるConvolutional Network LSIの設計」,日本神経回路学会 第12回全国大会(JNNS2002), pp. 17-20, 2002年9月, 鳥取大学(鳥取)
【非特許文献4】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.
【発明の開示】
【発明が解決しようとする課題】
【0010】
ところで、パターン・マッチングなどの情報処理を行う場合、しばしば、2つの状態値の距離や類似度、すなわち、状態値x1,x2の差の絶対値|x1-x2|の関数F(|x1-x2|)の演算が必要となる場合がある。上述のPWM/PPM方式のアナログ・ニューロLSIを使用する場合、かかる関数F(|x1-x2|)の計算をPWM/PPM方式により行う必要がある。しかしながら、現在のところそのような関数演算器は提案されていない。
【0011】
そこで、本発明の目的は、PWM/PPM方式において、入力値x1,x2の差の絶対値|x1-x2|の任意の関数F(|x1-x2|)の演算を行うことが可能な関数演算器を提供することにある。
【課題を解決するための手段】
【0012】
本発明に係る関数演算器の第1の構成は、2つの入力値x1,x2の差の絶対値|x1-x2|に対し単調減少(又は単調増加)する関数F(|x1-x2|)の演算を行う関数演算器であって、
パルスエッジの位置が入力値x1,x2に比例するようにパルス位相変調された2つの入力信号PPW1, PPW2が入力されると、各信号に同期して、時間t(t>0)の関数f(t)(但し、f(t)はF(x)の変数xを時間tに変数置換した関数)に比例して出力が時間変化する関数信号spk1,spk2を生成する関数発生器と、
前記関数信号spk1,spk2の強度の最小値(又は最大値)に比例して時間変化する最値信号n1を生成する最値検出器と、
前記最値信号n1の出力のピークを保持し、結果信号Vspkとして出力するピークホールド回路と、を備えたことを特徴とする。
【0013】
この構成によれば、入力値x1,x2が入力信号PPW1, PPW2として入力されると、関数発生器は、それぞれの入力信号PPW1, PPW2に同期した2つの関数信号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)は、
【0014】
【数1】

となる。但し、β1は比例定数である。関数f(t)はt=0で急峻に立ち上がり、t>0で単調減少する関数なので、
【0015】
【数2】

となる。関数信号spk1,spk2のt=t1,t=t2における立ち上がりが急峻であれば、t≒max{t1, t2}の付近における関数信号β1V0f(t-max{t1,t2})の立ち上がり時間は無視できるので、
【0016】
【数3】

となる。ピークホールド回路は、最値信号n1のピーク電圧を保持し、結果信号Vspkとして出力する。結果信号Vspkは、関数f(t)が単調減少関数であることを考慮すれば、
【0017】
【数4】

となる。すなわち、関数f(|t1-t2|)=F(|x1-x2|)に比例する電圧の結果信号Vspkが得られる。
【0018】
尚、関数F(|x1-x2|)が単調増加関数の場合、最値検出器は、関数信号spk1,spk2の電圧の最大値に比例して電圧が時間変化する最値信号n1を生成する。この場合、関数f(t)は、t<0で漸近最大値、t=0で急峻に立ち下がり、t>0で漸近最大値に向かって単調増加する関数となる。この場合、式(1)のmin{ }をmax{ }に置き換えれば、あとは同様となる。
【0019】
ここで、「パルスエッジ」とは、パルスの立ち上がり又は立ち下がりのことをいう。
【0020】
関数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|)の関数形に合わせたものが採用される。
【0021】
また、本発明において、前記最値検出器は、出力ノードを共通として並列に設けられた同特性の2つのソース・フォロワ(又はエミッタ・フォロワ)増幅回路を備え、各ソース・フォロワ(又はエミッタ・フォロワ)増幅回路の入力にそれぞれ関数信号spk,spkが入力される構成とすることができる。
【0022】
また、本発明において、前記ピークホールド回路は、ホールド電圧を保持するためのコンデンサ、前記コンデンサと前記最値検出器の出力ノードとの間に接続されたダイオード、及び、前記コンデンサに保持された電圧を出力するバッファ回路を備えた構成とすることができる。
【0023】
本発明に係る関数演算器の第2の構成は、前記第1の構成において、入力値x1,x2に応じてパルス幅変調された2つのパルス幅変調信号PWM1, PWM2が入力されると、各信号PWM1, PWM2に応じてパルスの位置が変調された2つの入力信号PPW1, PPW2を生成するパルス生成器を備え、
前記関数発生器は、前記パルス生成器が生成する前記入力信号PPW1, PPW2に同期させて前記関数信号spk1,spk2を発生させることを特徴とする。
【0024】
この構成により、入力値x1,x2をパルス幅変調信号として入力して、目的関数F(|x1-x2|)の演算を行うことができる。
【0025】
本発明に係る関数演算器の第3の構成は、前記第1又は2の構成において、前記ピークホールド回路の生成する結果信号Vspkの振幅値に比例するパルス幅変調信号PWMspkを生成するパルス幅変調器を備えたことを特徴とする。
【0026】
この構成により、目的関数F(|x1-x2|)の演算結果をパルス幅変調信号として出力することができる。
【発明の効果】
【0027】
以上のように、本発明によれば、PWM/PPM方式において、入力値x1,x2の差の絶対値|x1-x2|の任意の関数F(|x1-x2|)の演算を行うことが可能な関数演算器を提供することができる。
【発明を実施するための最良の形態】
【0028】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例1】
【0029】
図1は、本発明の実施例1に係る関数演算器1の全体構成を表すブロック図である。本実施例に係る関数演算器1は、2つの入力値x1,x2の差の絶対値|x1-x2|に対し単調減少する関数F(|x1-x2|)の演算を行う。関数F(|x1-x2|)の関数形は任意であり、目的に応じて適宜選択すればよい。例えば、関数F(|x1-x2|)として、距離関数|x1-x2|2,類似度関数1/|x1-x2|2などが挙げられる。
【0030】
関数演算器1は、関数発生器2a,2b、最値検出器3、及びピークホールド回路4を備えている。関数演算器1には、パルスエッジの位置が入力値x1,x2に比例するようにパルス位相変調された2つの入力信号PPW1, PPW2が入力される。
【0031】
関数発生器2a,2bは、それぞれ入力される入力信号PPW1, PPW2をトリガとして、関数f(t)に比例して電圧が時間変化する関数信号spk1,spk2を生成する。ここで、t及びf(t)は前に説明した通りである。最値検出器3は、関数信号spk1,spk2のうち低い方の電圧に比例して時間変化する最値信号n1を生成する。ピークホールド回路4は、最値信号n1のピークを保持し、結果信号Vspkとして出力する。
【0032】
図2(a)は、関数発生器2a,2bの構成の一例を表す図である。関数発生器2a,2bは、スイッチ10、ランプ電圧生成回路11、電流源12、及びキャパシタ13を備えている。
【0033】
スイッチ10は、一方の端子が電源、他方の端子が出力ノード14に接続されている。キャパシタ13は、一方の端子が出力ノード14に接続され、他方の端子が接地されている。また、出力ノード14に接続された側のキャパシタ13端子には、電流源12の出力端子が接続されている。
【0034】
スイッチ10は、MOSトランジスタ等によって構成されたスイッチであり、入力信号PPWiによって通断制御がされるスイッチである。
【0035】
ランプ電圧生成回路11は、ランプ電圧Vrmpを生成する回路である。電流源12は、MOSトランジスタ等によって構成され、ランプ電圧Vrmpに比例した大きさの電流を出力する。
【0036】
尚、関数発生器2a,2bは、演算を行おうとする関数F(x)の関数形によって適宜選択することができる。
【0037】
一例として、距離関数F(x)= |x1-x2|2を演算する場合について説明すると、図2のランプ電圧生成回路11としては、例えば、図3に記載の回路を使用することができる。図3のランプ電圧生成回路11は、電流源15、スイッチ16、及びキャパシタ17を備えている。電流源15とキャパシタ17は、電源−接地間に直列に接続されており、電流源15とキャパシタ17の接続ノード(以下「ランプ出力ノード18」という。)の電圧が、ランプ電圧Vrmpとして取り出される。スイッチ16は、ランプ出力ノード18と接地を通断するスイッチであり、入力信号PPWiによって通断制御される。
【0038】
また、他の例として、指数減衰関数F(x)= exp(-α|x1-x2|)を演算する場合について説明すると、図2の関数発生器2a,2bの代わりに、図4に示したような関数発生器2a,2bを使用することができる。図4の関数発生器2a,2bは、スイッチ10,キャパシタ13,及び抵抗24を備えている。スイッチ10とキャパシタ13は、電源−接地間に直列に接続されており、スイッチ10とキャパシタ13の接続ノードが出力ノード14とされている。キャパシタ13の両端子間電圧が、関数信号spk1として取り出される。また、出力ノード14と接地電位との間に抵抗24が接続されている。
【0039】
スイッチ10は、入力信号PPWiによって通断制御され、入力信号PPWiがON(アサート)の期間に接続状態となる。入力信号PPWiが、時刻t−Δt〜tにΔtの時間だけON状態とされると(図4(b)参照)、キャパシタ13が充電され、関数信号spk1はほぼ電源電圧となる。その後、スイッチ10が遮断されると、キャパシタ13に蓄電された電荷は抵抗24通って放電される。キャパシタ13の容量をC、抵抗24の抵抗値をR、時間をtとすると、図4(c)に示したように、関数信号spk1はt>tにおいて、exp(-(t-t1)/CR)に比例して減衰する。
【0040】
また、他の例として、一次減少関数F(x)= α(β-|x1-x2|)を演算する場合について説明すると、図2の関数発生器2a,2bの代わりに、図5に示したような関数発生器2a,2bを使用することができる。図5の関数発生器2a,2bは、スイッチ10,キャパシタ13,及び定電流源12を備えている。スイッチ10とキャパシタ13は、電源−接地間に直列に接続されており、スイッチ10とキャパシタ13の接続ノードが出力ノード14とされている。キャパシタ13の両端子間電圧が、関数信号spk1として取り出される。また、出力ノード14と接地電位との間に定電流源12が接続されている。
【0041】
スイッチ10は、入力信号PPWiによって通断制御され、入力信号PPWiがON(アサート)の期間に接続状態となる。入力信号PPWiが、時刻t−Δt〜tにΔtの時間だけON状態とされると(図5(b)参照)、キャパシタ13が充電され、関数信号spk1はほぼ電源電圧となる。その後、スイッチ10が遮断されると、キャパシタ13に蓄電された電荷は定電流源12により引き出されて放電される。引き出される電流はほぼ一定なので、関数信号spk1はt>tにおいて、図5(c)に示したように、CV0-α(t-t1)に比例して減少する。
【0042】
さらに、他の例として、シグモイド関数F(x)= 1-1/(1+exp(-α|x1-x2|))を演算する場合について説明すると、図2の関数発生器2a,2bの代わりに、図6に示したような関数発生器2a,2bを使用することができる。図6の関数発生器2a,2bは、MOSトランジスタ25,26,及びランプ電圧生成回路11を備えている。MOSトランジスタ25,26は、電源−接地間にCMOSインバータ接続されており、MOSトランジスタ25のドレインとMOSトランジスタ26のドレインとの共通接続ノードが出力ノード14とされている。ランプ電圧生成回路11は、MOSトランジスタ25,26のゲートに入力される。尚、ランプ電圧生成回路11は図3のものと同様とする。出力ノード14の電圧が、関数信号spk1として取り出される。
【0043】
入力信号PPWi(図6(b)参照)によって、ランプ電圧生成回路11は、図6(c)に示すような、電源電圧から接地電圧まで直線的に減少するランプ電圧を発生する。このランプ電圧は、MOSトランジスタ25,26で構成されるCMOSインバータに入力される。CMOSインバータの特性として、関数信号spk1は図6(d)に示したようなシグモイド関数となる。
【0044】
図7(a)は、最値検出器3の構成を表す図である。最値検出器3は、MOSトランジスタ20,21,22により構成されたソース・フォロワ型の増幅回路である。MOSトランジスタ20は、ソースが電源に、ドレインが出力ノード23に接続されている。このMOSトランジスタ20は、ゲートに入力される一定のバイアス電圧bias_sf_pkによって定電流源として機能する。
【0045】
MOSトランジスタ21,22は、出力ノード23とアース間に並列に接続されており、ドレインが接地,ソースが出力ノード23に接続されている。MOSトランジスタ21のゲートは関数発生器2aの出力ノード23に接続され、関数信号spk1が入力される。MOSトランジスタ22のゲートは関数発生器2bの出力ノード23に接続され、関数信号spk2が入力される。MOSトランジスタ20,21及びMOSトランジスタ20,22でそれぞれソース・フォロワが構成されており、両者は同一の利得となるように設計されている。従って、出力ノード23からは、関数信号spk1又は関数信号spk2のうち何れか小さい方の電圧に比例した信号が、最値信号n1として出力される。
【0046】
図8(a)は、ピークホールド回路4の構成を表す図である。ピークホールド回路4は、ダイオード31、キャパシタ32、リセット・スイッチ33、及び出力バッファ回路34を備えている。
【0047】
入力ノード30は、最値検出器3の出力ノード23と接続され、最値信号n1が入力される。ダイオード31とキャパシタ32は、入力ノード30及び電源間に直列に接続されている。ダイオード31は、アノードが入力ノード30に、カソードがキャパシタ32に接続されている。尚、ダイオード31としては、MOSトランジスタをダイオード接続したものを使用することができる。
【0048】
リセット・スイッチ33は、ダイオード31−キャパシタ32間の接続ノード(以下、「中間出力ノード38」と呼ぶ。)と、アースとの間に接続されている。リセット・スイッチ33は、リセット信号rstによりオン/オフするスイッチであり、MOSトランジスタ等によって構成される。
【0049】
出力バッファ回路34は、中間出力ノード38の信号(以下「中間出力信号n2」という。)を増幅して出力ノード35から結果信号Vspkとして出力する回路である。出力バッファ回路34は、MOSトランジスタ36,37により構成された通常のソース・フォロワ増幅回路である。MOSトランジスタ36,37は、電源−アース間に直列に接続されており、両者の接続ノードが出力ノード35となっている。MOSトランジスタ36のゲートには中間出力信号n2が入力される。MOSトランジスタ37のゲートにはバイアス電圧bias_sf_outが入力される。MOSトランジスタ37は、一定バイアス電圧bias_sf_outによって定電流源として機能する。
【0050】
以上のように構成された本実施例1の関数演算器1について、以下その動作を説明する。
【0051】
最初に、初期化動作として、リセット信号rst(図8参照)のパルスが入力され、中間出力ノード38の電位は0Vとされる。また、バイアス電圧bias_sf_pk, bias_sf_outが0Vとされ、MOSトランジスタ20,37はオン状態される。
【0052】
次に、以下のようにして演算動作が行われる。
【0053】
まず、図2(b)のように、入力信号PPWiとして幅Δtのパルスが入力されると、スイッチ16,10がその間だけ導通状態となる。これにより、キャパシタ17は放電されて端子間電圧が0Vとなり、キャパシタ13は充電されて端子間電圧が電源電圧V0となる。
【0054】
次に、時間Δtが経過すると入力パルスが立ち下がってスイッチ16,10が遮断状態となる。この状態で、ランプ電圧生成回路11のキャパシタ17には、電流源15から一定電流がキャパシタ17に供給される。これにより、ランプ電圧Vrmpは図2(c)のように電源電圧V0まで直線的に上昇する。入力パルスの立ち下がり時刻をti(i=1,2)、電流源15の出力電流をi15、キャパシタ17の静電容量をC17とすると、キャパシタ17に充電された電荷量をQ17及びランプ電圧Vrmpは、次式(5),(6)となる。
【0055】
【数5】

【0056】
一方、電流源12は、ランプ電圧Vrmpに比例した電流irmp=αVrmpを出力する。これにより、キャパシタ13は放電する。キャパシタ13の静電容量をC13とすると、キャパシタ13に充電された電荷量をQ13、及び関数信号spkiは次式(7)(8)のようになる。
【0057】
【数6】

【0058】
従って、関数信号spk1は、図2(d)のように、電圧が時間の2乗に比例して減少する信号となる。
【0059】
以上のようにして、関数発生器2a,2bは関数信号spk1,spk2を出力する。関数信号spk1,spk2は同型であり、時間軸方向に距離|t1-t2|だけシフトしたものである。図7(b)(c)に関数信号spk1,spk2の一例を示す。
【0060】
最値検出器3は、関数信号spk1,spk2のうちの低い方の電圧に比例して時間変化する最値信号n1を生成する。MOSトランジスタ20,21及びMOSトランジスタ20,22で構成されるソース・フォロワ増幅回路の利得をβ1とすると、最値信号n1の電圧Out1は、式(9)のようになる。
【0061】
【数7】

【0062】
例えば、図7(b)(c)のような関数信号spk1,spk2が入力された場合、最値信号n1の電圧Out1は、図7(d)のようになる。
【0063】
一方、リセット動作によって、初期状態においては中間出力ノード38の電圧は0Vである。従って、最値信号n1の電圧Out1が上昇すると、MOSトランジスタ20及びダイオード31を通して中間出力ノード38に電流が供給され、中間出力ノード38の電圧Out2は電圧Out1とほぼ等しくなる。このとき、キャパシタ32の端子間電圧は減少する。一方、最値信号n1の電圧Out1が下降し始めると、Out2>Out1となるため、ダイオード31には電流が流れず、中間出力ノード38の電圧Out2は一定に保持される。これにより、中間出力ノード38の電圧Out2には、最値信号n1のピーク電圧が保持される。
【0064】
最値信号n1の電圧のピークは、図8(d)から分かるように、関数信号spk1,spk2のうち遅れた方が立ち上がる時刻max{t1,t2}である。従って、中間出力ノード38に保持される電圧Out2は、次式(10)のようになる。
【0065】
【数8】

【0066】
出力バッファ回路34は、中間出力ノード38の電圧Out2を増幅し、結果信号Vspkとして出力ノード35に出力する。出力バッファ回路34の利得をβとすると、結果信号Vspkは式(11)のようになる。
【0067】
【数9】

【0068】
式(11)より、結果信号Vspkとして、入力値x1,x2の距離|x1-x2|2に比例した値が得られることが分かる。
【実施例2】
【0069】
図9は、本発明の実施例2に係る関数演算器1’の全体構成を表すブロック図である。実施例2の関数演算器1’は、実施例1の関数演算器1に対して、関数発生器2a,2bの前段にそれぞれパルス生成器40a,40bを設け、ピークホールド回路4の後段にパルス幅変調器41を追加したものである。
【0070】
パルス生成器40a,40bには、入力値x1,x2に応じてパルス幅変調された2つのパルス幅変調信号PWM1, PWM2が入力される。パルス幅変調信号PWM1, PWM2は、その後側エッジにおいて同期されているものとする。尚、逆にPWM信号の前側エッジで同期している信号でも類似の回路でPPM信号を生成することができる。パルス生成器40a,40bは、各パルス幅変調信号PWM1, PWM2に応じてパルスの位置が変調された2つのパルス位相変調信号PPW1, PPW2を生成する。
【0071】
また、パルス幅変調器41は、ピークホールド回路4が生成する結果信号Vspkの振幅値に比例したパルス幅変調信号PWMspkを生成する。
【0072】
図10(a)は、パルス生成器40a,40bの構成を表す図である。パルス生成器40a,40bは、インバータ50、遅延回路51a,51b、論理ゲート52、及び出力バッファ53を備えている。
【0073】
インバータ50には、パルス幅変調信号PWMi(i=1,2)が入力され、その反転信号を遅延回路51a,51bに出力する。遅延回路51a,51bは、ともに4段のインバータが直列に接続された構成とされている。但し、遅延回路51bは、遅延回路51aよりも伝達時間がΔtだけ長くなるように設計されている。論理ゲート52は、遅延回路51aの出力値及び51bの出力の反転値に対してOR演算を行う。出力バッファ53は、論理ゲート52の出力を増幅し、パルス位相変調信号PPWiとして出力する。
【0074】
例えば、パルス幅変調信号PWMiとして、図10(b)のような信号が入力された場合、遅延回路51a,51bの出力は図10(c)(d)に示したパルス幅変調信号PWMi(1),PWMi(2)となる。論理ゲート52は、これらの信号の反転値に対して回路図に示した論理演算を行う。その結果、パルス位相変調信号PPWiは、パルス幅変調信号PWMi(1)の立ち下がりエッジにおいて立ち下がり、パルス幅変調信号PWMi(2)の立ち下がりエッジにおいて立ち上がるような幅Δtの短いパルスとなる。
【0075】
これにより、パルス幅変調信号PWM1, PWM2から、入力値x1,x2に応じてパルス位相変調がされた2つのパルス位相変調信号PPM1, PPM2が生成される。
【0076】
関数発生器2a,2b、最値検出器3及びピークホールド回路4の動作については、実施例1で説明した通りである。パルス幅変調器41は、結果信号Vspkを再びパルス幅変調信号に変換し、パルス幅信号PWMspkとして出力する。
【0077】
以上のように、本実施例2の関数演算器1’を使用すると、入力値x1,x2をパルス幅変調信号PWM1, PWM2として入力し、その演算結果をパルス幅信号PWMspkとして得ることができる。
【図面の簡単な説明】
【0078】
【図1】本発明の実施例1に係る関数演算器1の全体構成を表すブロック図である。
【図2】関数発生器2a,2bの構成の一例及び各信号の時間変化を表す図である。
【図3】ランプ電圧生成回路11の一例を表す図である。
【図4】指数減衰関数を生成する関数発生器の例を表す図である。
【図5】一次減少関数を生成する関数発生器の例を表す図である。
【図6】シグモイド関数を生成する関数発生器の例を表す図である。
【図7】最値検出器3の構成及び各信号の時間変化を表す図である。
【図8】ピークホールド回路4の構成及び各信号の時間変化を表す図である。
【図9】本発明の実施例2に係る関数演算器1’の全体構成を表すブロック図である。
【図10】パルス生成器40a,40bの構成及び各信号の時間変化を表す図である。
【図11】特許文献1,非特許文献1,2に記載の非線形演算器の基本構成を示す図である。
【図12】非特許文献3に記載の非線形演算器を表す図である。
【符号の説明】
【0079】
1,1’ 関数演算器
2a,2b 関数発生器
3 最値検出器
4 ピークホールド回路
10 スイッチ
11 ランプ電圧生成回路
12 電流源
13 キャパシタ
14 出力ノード
15 電流源
16 スイッチ
17 キャパシタ
18 ランプ出力ノード
20,21,22 MOSトランジスタ
23 出力ノード
24 抵抗
25,26 MOSトランジスタ
30 入力ノード
31 ダイオード
32 キャパシタ
33 リセット・スイッチ
34 出力バッファ回路
35 出力ノード
36,37 MOSトランジスタ
38 中間出力ノード
40a,40b パルス生成器
41 パルス幅変調器
50 インバータ
51a,51b 遅延回路
52 論理ゲート
53 出力バッファ






【特許請求の範囲】
【請求項1】
2つの入力値x1,x2の差の絶対値|x1-x2|に対して単調減少(又は単調増加)する関数F(|x1-x2|)の演算を行う関数演算器であって、
入力値x1,x2に比例してパルスの時間位置が変調された2つのパルス位相変調信号PPW1, PPW2が入力されると、各信号に同期して、時間t(t>0)の関数f(t)(但し、f(t)はF(x)の変数xを時間tに変数置換した関数)に比例して強度が時間変化する関数信号spk1,spk2を生成する関数発生器と、
前記関数信号spk1,spk2の強度の最小値(又は最大値)に比例して強度が時間変化する最値信号n1を生成する最値検出回路と、
前記最値信号n1の強度のピークを保持し、結果信号Vspkとして出力するピークホールド回路と、
を備えたことを特徴とする関数演算器。
【請求項2】
入力値x1,x2に応じてパルス幅変調された2つのパルス幅変調信号PWM1, PWM2が入力されると、各信号PWM1, PWM2に応じてパルスの時間位置が変調された2つのパルス位相変調信号PPW1, PPW2を生成するパルス生成器を備え、
前記関数発生器は、前記パルス生成器が生成する前記パルス位相変調信号PPW1, PPW2に同期させて前記関数信号spk1,spk2を発生させること
を特徴とする請求項1記載の関数演算器。
【請求項3】
前記ピークホールド回路の生成する結果信号Vspkの振幅値に比例するパルス幅信号PWMspkを生成するパルス幅変調器を備えたことを特徴とする請求項1又は2に記載の関数演算器。




【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2007−241684(P2007−241684A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2006−63529(P2006−63529)
【出願日】平成18年3月9日(2006.3.9)
【出願人】(504174135)国立大学法人九州工業大学 (489)