アプリ版:「スタンプのみでお礼する」機能のリリースについて

対数アンプについて知りたいです。
センサから取得したアナログデータを対数アンプで増幅しています。今まではアナログデータを増幅しただけです。その基板に対数アンプ回路を組み込んだらしいのです。
最終的にはA/D変換してデジタルデータをパソコンで取得しているのですが、対数アンプを組み込むと、センサ値が増加したのですが、なぜだからわかりません。教えてください。
また、センサ値を式で求めたいのですが、補正式に参考になる情報を教えてください。
よろしく、お願いします。

A 回答 (3件)

 ふと見直したら、懸案のアンプが果たして単極性( 0≦X≦1 )なのか不明なので、-1≦X≦1の両極性への拡張を追記します。


それには双曲線関数;
  sinh(X) = (exp(X) - exp(-X))/2  …(1)
を使って、
アンプの入出力特性を、
  y = sinh(bX) / sinh(b)  …(2)
と表せばよい。
分母の sinh(b) で割る訳は前回と同じく y を -1≦y≦1 に正規化するためで、sinh(b)は単に分子の最大値である。b は定数で前回の定数μと同じくb が大きいと曲線の膨らみが大きい。前回のμとは
  b = ln(1+μ)  …(3)
の関係である。(3)式を(1)式に入れてみれば exp と ln(自然対数)が相殺される。

参考までに y=sinh(bX)/sinh(b) のカーブは;

         y
        +1 |       *(+1,+1)
         │     *
         │  *
         │ *
          | *
  ─────*────── X
  -1     * |       +1
        * |
       *  |
     *   │
  *      │-1
(-1,-1)


 なお、回路屋はこの双曲線なアンプをも含めて ログアンプ と呼ぶ事が多いので、プラ・マイ両側なのかプラス側だけ作ってあるのかなど確認すべきです。
<#>センサが何なのか。例えばフォトものの指数特性のアンチ目的アンプなら多分単極性とか、、</#>
    • good
    • 1

1.


 log(X) や sin(X) の X は無次元の量であるので計算の時には無次元でないといけない。ログアンプの特性は必ず、
  log( Vin / V0 )
と表される。
入力電圧 Vin と定数電圧 V0 の比だから無次元数だ。ログアンプには V0 に相当する回路があり、アンプ設計者はそれでセンサ出力が最大値のときにAD変換結果がフルスケール値になるよう調整するのが普通だ。フルスケール値とは例えば16bitのAD変換器なら65535。

 以下、センサ最大値VfsとVinの比 Vin/Vfs を X と書く。 Xは0~1の範囲となる。

2.
   y
   │             *
   │          *
   │       *
   │     *
──┼──*── X
   │  * ↑ 
   │ * X=1のときy=0  
   │ *   
   │*   
   │* ← x=0のときy=-無限大

対数関数 y=log(μX) は係数μが大きいほど曲線の膨らみが大きいことなどは数学で習ったと思う。上図ですぐ気付いたと思うが、Vinがゼロのときyはマイナス無限大なのでこの式は実際の回路のふるまいと合わないのだ、そこで
  y = log(μX+1)
この式ならX=0でy=0となって回路と合う。

   y  上図を左に1ズラした
   │        *
   │    *
   │  *
   │*
──*──── X
  * |
  * |
 *  |
 *  |


次に、Xが0~1なのに合わせてyも0~1にする。それにはXが最大の時のyすなわちlog(μ+1)で割る。すなわち、
  y = log(μX+1) / log(μ+1)
とする。難しい式に見えるかも知れないが分母はただの定数だ。 X やyをこのように無次元化することによってAD変換bit数などにかかわらない一般論になる。

3.
プログラマらしい君が欲しいのは上式の逆関数、
  X = 1/μ・((1+μ)^y -1)
でしょう。奇怪に見えるかも知れないが。
AD変換のデータをそのフルスケール値で割ったのが変数 yで、上式を計算した結果の X にセンサのフルスケール出力値を掛ければ、目的のリアルセンサ値になる。

4.
μの値;
どうやらアンプ担当サイドから何も情報が来てないのですか?もし担当者が上記のような事が疎い人なら自分で測るのもいいが、仕事でやってるのならモチはモチ屋にやらせた方が良いかも。すこし面倒かも。
    • good
    • 0

 対数アンプは、その名の通り入力信号を対数変換して出力する回路です。

その特性は例えば
Vo = A・log10(B・Vi)   (ただし Vi>0)
のように表せます。ここでAとBはアンプのパラメータです。

 今、アンプの入出力特性が、
 Vi = 0.1mV のとき Vo =-1V
 Vi = 1mV のとき Vo = 0V
 Vi = 10mV のとき Vo = 1V
 Vi = 100mV のとき Vo = 2V
 Vi = 1V のとき Vo = 3V
 Vi = 10V のとき Vo = 4V
であるとすれば、Vo=0 になるのは B・Vi=1 のときなので
 B = 1000
であり、また、Vi が10倍になる毎に Vo が 1V づつ増加しているので
 A = 1
になります。実際のA,Bの値がどうなっているかは、アンプを組み込んだ設計者に聞くか、信号を入れて測定してみれば良いと思います。

 補正式というのは、上記の逆変換を行う式のことだと思いますから
 Vi = 10^(Vo/A) / B
になります。

 「対数アンプを組み込むと、センサ値が増加した」というのは、上の入出力特性例からわかるように、対数は上に凸の曲線なので、ある範囲で入力電圧より大きな出力電圧になるからでしょう。

 直流信号アンプに対数アンプを組み込む目的は、たぶんダイナミックレンジを広げるためでしょうね。小さな信号から大きな信号まで、一定の分解能を持たせたい場合、ゲイン切替型プリアンプを入れるか、このような対数アンプを入れます。
 なお、最近はΔΣ型A/D変換器で24Bitもの分解能を持つ物が出てきたので、単純にA/D変換するだけで、相当小さな信号まで、実用上充分な分解能で測定できるようになりつつあります。ただ、変換時間は比較的遅いので、どんな用途にも使えると言う訳では無いと思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!