アナログ電子回路技術者同士の交流のためのアナログ・デバイセズ提供の掲示板サイトです。
日々の回路設計活動での課題や疑問とそれらの解決、あるいはご意見やご提案などの投稿を是非お寄せください!
  トップページに戻る
 現在の総記事数
 Translation
スタッフ
 

閲覧数の多い投稿

* ランキング情報は約24時間おきに更新されます。
ポイント数が高い投稿

* ランキング情報は約24時間おきに更新されます。

アナログ電子回路コミュニティサービス終了のお知らせ

平素はアナログ電子回路コミュニティをご愛顧いただき誠にありがとうございます。

この度、アナログ電子回路コミュニティは2018年3月末日をもってサービスを終了することとなりました。それに伴いまして、本サービスへの新規会員登録は2月末日をもって締切りといたします。約10年という大変長い間、たくさんの皆様にコミュニティをご利用いただきましたこと、深く感謝申し上げます。

なお、コミュニティに掲載しているコンテンツは編集の上、アナログ・デバイセズ社のウェブサイトに随時掲載していく予定です。詳細は追って会員の皆様にお知らせいたします。

今後ともEDN Japanをご愛顧くださいますようお願い申し上げます。


アナログ電子回路コミュニティ運営事務局
* LTC製品に関するご注意
申し訳ございませんが、現時点ではリニアテクノロジー社製品についてのお問い合わせは、リニアテクノロジー社の 技術サポートページ からお問い合わせください。

スレッド一覧に戻る

A_P
タイトル
アンプのステップ応答における振動の抑制方法
ポイント []
pt.
アクセス5621
カテゴリーアンプ&コンパレータ
キーワード 減衰振動   ステップパルス   Fig1   補正振幅Eh   Fig2   Powered by Yahoo
投稿日時15/10/22 19:07
題目
アンプのステップ応答における振動の抑制方法
目的
減衰振動のあるアンプのステップ応答で、出力の減衰振動を除去する。
ポイント
減衰振動のあるアンプ出力は定常出力(=Ei*A)をオーバーする。そこで、減衰振動の半周期Wにアンプ出力が定常出力(=Ei*A)になるように入力振幅を下げる(補正振幅Eh)。減衰振動の半周期W後、ステップ入力の振幅Eiを入力し、位相反転した減衰振動を加算することにより振動を除去する。アンプの整定時間は減衰振動の半周期になる。
方法
減衰振動のあるアンプに減衰振動の半周期の時間Wの間、補正振幅Ehのステップ入力することにより出力の減衰振動の除去をLTspiceでシミュレーションすることにより確認する。
Fig1は減衰振動のある回路図である。通常、振幅Eiのステップパルスを増幅度(A=-R2/R1)のOPアンプにR1を通して入力し、OPアンプ出力Eo(=Ei*A)を得が、減衰振動を発生させるために入力抵抗R1とOPアンプの-入力の間にL1、C1を挿入する。

このR1、L1,C1による減衰振動の周期Tは
T=2π/ω*(1-δ^2)^0.5―――(1)
減衰振動の半周期 W=T/2―――(2)
補正振幅Ehは
Eh = 1/(1+EXP(-W/(2*C1*R1)))3)
ω=(L1*C1)^-0.5―――(4)
δ=1/(C1*R1*(L1*C1)^-0.5*2)―――(5)

Fig1で電源V1は①振幅0から1Vのステップパルス(Fig2の入力Ei(赤))②減衰振動の半周期Wの間、振幅Ehのステップパルス(Fig2の入力Ei(青))の2種類のステップパルスを発生する。入力抵抗R1とOPアンプU1の帰還抵抗R2は1Kohm、コンデンサC1は4300pF、インダクタンスL1は33uH、OPアンプU1は理想OPアンプである。

式(1)(2)(4)(5)により減衰振動の半周期WはW=1.18456uS、補正振幅Ehは式(1)(2)(3)(4)(5)よりEh=0.534380626Vを得る。この減衰振動回路に0から減衰振動の半周期W(=1.18456uS)時間は振幅Eh(=0.534380626V)のステップパルスを入力し、減衰振動の半周期W後は、Ei(=1V)のステップパルスを入力することにより減衰振動を除去する。
結果
Fig2はFig1(減衰振動のある回路)のシミュレーション結果である。入力Ei(赤)を入力すると出力Eo(赤)は周波数422KHzで減衰振動する。この減衰振動を除去するために0から減衰振動の半周期W=1.18456uS間に補正振幅Eh=0.534380626V、その後は振幅1Vを入力する(入力Ei(青))ことにより出力Eo(青)は減衰振動がなくなる。
結論
この振動の抑制方法はシミュレーションであるが、減衰振動するどのような実回路にも有効であると考える。減衰振動する実回路の出力から減衰振動周期Tを測定し、Wを計算する。0からW期間で入力振幅Ehを変化させ、出力に減衰振動がなくなるEhを探すことにより実回路の減衰振動を容易に除去することが期待される。

※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

コメントする     


A_P 回答番号 18
タイトル
20ビットDAC(R-2R)の直線歪改良(シミュレーション)
ポイント
pt.
アクセス4006
投稿日時16/06/09 11:09
――題目――
20ビットDAC(R-2R)の直線歪改良(シミュレーション)

――概要――
減衰振動抑制の実施回路例(回答番号 1)のラダー抵抗をmΩ単位で調整してもDAC分解能は12ビットが限界であることを示した(参照①)。
DACの直線歪を改良する方法「入力補正による直線歪改良」を提案し、シミュレーションした。このシミュレーションは予め目標DAC出力値を設定し、DAC出力が目標値になるようにDAC入力値を調整する。この「入力補正による直線歪改良」により無調整DAC分解能8ビット(参照③)が14ビットまで改善した。「入力補正による直線歪改良」はDAC出力の直線歪、オフセット電圧の調整を簡素化できる。

――目的――
20ビットDAC重回帰式(参照①、②)を使った「入力補正による直線歪改良」は目標DAC出力とDAC重回帰式出力が最小になるように「DAC出力重回帰式の入力値を複数回調整する」ことによりDAC出力歪(分解能)とオフセット電圧を改善する。
この「入力補正による直線歪改良」はDAC入力値を変えて何度もDAC出力をデジボルで測定し、目標DAC出力と合致させるのと同じであるが、デジボル測定をDAC出力重回帰式の演算で代用させ、合致したDAC入力値を入力し、直線歪を改良したDAC出力を得る。

――ポイント――
 このシミュレーションのポイントはDAC出力の測定値をDAC出力重回帰式により正確に推定できるかどうかに係っている。
図1はDAC出力をデジボルで測定した値とDAC重回帰式の推定値の誤差である。例えば図1のグラフ左端は
DAC入力       -524288
DAC出力測定値 6.642159(V)  デジボルの測定値
DAC出力推定値 6.64225417619753(V)DAC重回帰式
測定値と推定値の誤差
-95.1761975311(uV)
である。
全DAC入力での測定値と推定値の誤差ppは166.62uV(13.2LSB)で、20ビットDACでは6.3uV(0.5LSB)以下が望ましい(Y軸の目盛25.2uV/divは2LSB/divに相当する)。

――方法――
 DAC入力値(DACIN)をビット19(v(19))からビット0(v(0))に展開する(ビット19:MSB)。ビット19の電圧を重回帰式x(19)、同様にビット18の電圧は重回帰式x(18)、・・・ビット0の電圧は重回帰式x(0)である。
v(19)が「1」の場合、ビット19入力の電圧重回帰式x(19)は下記の条件式のelse以下の式で計算され、v(19)が「0」の場合はifの下の式で計算される。
If v(19) < 0.5 Then 
x(19) = 2.50261006688887E-03 + v(15) * -3.95782253026807E-06
+ v(14) * 1.55196247869742E-06 + v(13) * 1.33360813097567E-06 + ・・・
Else
x(19) = 3.30245238915005 + v(18) * -3.93466358417232E-05
+ v(6) * -1.85725307413813E-05 + v(17) * -2.09498519922226E-05 + v(15) * -1.37487051375208E-05 + ・・・
End If
ビット18入力電圧、・・・ビット0入力電圧も同様な条件式で計算される(参照②)。
計算された重回帰式x(19)からx(0)のビット入力電圧は下の重回帰式DAC_outに代入される。

DAC_out = 6.64803012487429 + x(19) * -1.99970079745283
+ x(18) * -1.00026988782687 + x(17) * -0.500338384156733
+ x(16) * -0.25019798612533 + ・・・

DAC入出力の直線回帰式(参照③)
DAC出力(V)=-1.2599E-05*DAC入力+0.024737175
DAC出力の入力換算は直線回帰式の係数(-1.2599E-05)で除算する。
DAC_out_c=DAC_out/-1.2599E-05

入力に換算した目標DAC出力(DAC_t=DACIN)と入力に換算した重回帰式DAC_out_cから誤差DAC_error=DAC_out_c-DAC_tを計算し、DAC_errorでDAC入力の修正を繰り返し、DAC_errorを最小にする。

例としてDAC入力(DACIN)=-524288の直線歪補正を説明する。補正1回目のDAC入力(-524288)を目標DACDAC_tに設定する。
DACIN=-524288をストレートバイナリに変換(-524288→0)し、ビット19(v(19))からビット0(v(0))に展開するとv(19)~v(0)は「0000Hex」である。
補正1回目の重回帰式x(19)~x(0)は
x(19)= 2.5026E-03(V)x(18)= 5.3103E-04(V)
x(17)= 5.1949E-04(V)x(16)= 5.2621E-04(V)
x(15)= 5.2309E-04(V)x(14)= 5.3250E-04 (V)
x(13)= 5.2066E-04(V)x(12)= 5.0139E-04 (V)
x(11)= 5.0038E-04(V)x(10)= 4.7402E-04(V)
x(9)= 4.9627E-04(V)x(8)= 4.9526E-04(V)
x(7)= 4.9984E-04(V)x(6)= 5.1946E-04(V)
x(5)= 5.1390E-04(V)x(4)= 5.1846E-04(V)
x(3)= 5.1015E-04(V)x(2)= 5.3037E-04(V)
x(1)= 5.1930E-04(V)x(0)= 5.3068E-04 (V)
上記x(19)~x(0)使った補正1回目の重回帰式DAC_outは
DAC_out=6.642083 →入力換算(DAC_out_c)=-527192.8
DAC_error=DAC_out_c-DAC_t=-527192.829-(-524288)=-2904.829

補正2回目のDAC入力(DACIN)=(-524288)-(-2905)=-521383
をストレートバイナリに変換(-521383→2905)し、ビット19(v(19))からビット0(v(0))に展開するとv(19)~v(0)は「0B59Hex」である。
補正2回目の重回帰式x(19)~x(0)は
x(19)= 2.5180E-03(V)x(18)= 6.0869E-04(V)
x(17)= 6.8696E-04(V)x(16)=8.5084E-04(V)
x(15)= 1.1728E-03(V)x(14)=1.8454E-03(V)
x(13)= 3.0855E-03(V)x(12)=5.4951E-03(V)
x(11)= 3.3125247(V)x(10)= 1.0051E-02(V)
x(9)= 3.3168350(V)x(8)= 3.3172447(V)
x(7)= 1.1262E-02(V)x(6)= 3.3154026(V)
x(5)= 1.0896E-02(V)x(4)= 3.3165764(V)
x(3)= 3.3153642(V)x(2)= 7.7598E-03(V)
x(1)= 6.0001E-03(V)x(0)= 3.3078701(V)
補正2回目の重回帰式DAC_outは
DAC_out=6.604641 入力換算(DAC_out_c)=-524221.0
DAC_error=DAC_out_c-DAC_t=-524221-(-524288)=67
DAC入力(DACIN)=(-524288)-(67)=-524221
をストレートバイナリに変換(=67)し、ビット19(v(19))からビット0(v(0))に展開するとv(19)~v(0)は「0B16Hex」である。

補正3回目の重回帰式x(19)~x(0)は
x(19)= 2.5201E-03(V)x(18)= 6.1794E-04(V)
x(17)= 6.8987E-04(V)x(16)= 8.4910E-04(V)
x(15)= 1.1499E-03(V)x(14)= 1.8246E-03(V)
x(13)= 2.9939E-03(V)x(12)= 5.3664E-03(V)
x(11)= 3.3121 (V)x(10)= 9.5963E-03(V)
x(9)= 3.3156 (V) x(8)= 3.3149(V)
x(7)= 7.5329E-03(V) x(6)= 6.0758E-03(V)
x(5)= 6.7417E-03(V) x(4)= 3.3128(V)
x(3)= 9.5811E-03(V) x(2)= 3.3147(V)
x(1)= 3.3132 (V) x(0)= 4.8857E-03 (V)
補正3回目の重回帰式DAC_outは
DAC_out=6.605487 入力換算(DAC_out_c)=-524288
DAC_error=DAC_out_c-DAC_t=-524288-(-524288)=0
DAC入力(DACIN)=(-524288)-(67)=-524221

補正された-524221をDACに入力することによりDAC出力は6.605487(V)となり誤差は0になる。
目標DAC出力(DAC_t)=-524288(入力換算)

DAC入力(DACIN)=-524288の直線歪補正をまとめると1回目の補正でオフセットも含んでいるのでエラーは-2905(入力換算)で、2回目の補正でDAC入力(DACIN)=-521383することによりエラーは67、更に3回目の補正でDAC入力(DACIN)=-524221によりエラーは0になる。

回数 DACIN  DAC_out(DAC_out_c) DAC_error
1 -524288  6.642083(-527193)   -2905
2 -521383  6.604641(-524221)    67
3 -524221  6.605486(-524288)    0

――結果――
図2は入力補正回数とDAC分解能の推移を示す。入力補正1回目の分解能は8.4ビット、3回目から分解能は約14ビットで飽和する。
 図3は入力補正を4回行った時のDAC出力歪である。歪のppは43LSB、DAC分解能は14.57ビット、オフセット電圧は-126uVである。なお、1LSBは-12.6uVとして計算した。
 図4は入力補正前後のDAC出力歪である。補正前のDAC出力歪のppは2958LSB(青)から補正後43(赤)に改善され、オフセット電圧は43.04mVが-126uVに改善する

――結論――
 FPGA(XC3S250 VQ100)の出力抵抗に起因し、20ビットDACの分解能は無調整で8ビットであった。20ビットDACのラダー抵抗を調整しても分解能は12ビットが限界であることをシミュレーションで示した(参照①)。
 今回、「入力補正による直線歪改良」のシミュレーションによりDAC分解能は8ビットから14ビットに、オフセット電圧は43.04mVから-126uVに改善する。「入力補正による直線歪改良」のシミュレーションはDACのラダー抵抗値が無調整でもDAC分解能とオフセット電圧が改善されることを示す。


参照①:「20ビットDAC(R-2R)のシミュレーションによる直線歪改良」(回答番号 11)
参照②:「20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定」(回答番号 10)
参照③:「20ビットDAC(R-2R)の直線歪測定」(回答番号 9)

※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 17
タイトル
MUSUSU2 様 貴重な御提案「グリッチの除去または緩和 」、有難うございます
ポイント
pt.
アクセス4643
投稿日時16/02/26 17:29
MUSUSU2 様

貴重な御提案「グリッチの除去または緩和 」、有難うございます。

――提案1――
 R-2Rラダーのような形式のDACの場合、入力の変化がわずかなのに、MSBが変化する時、他の多くのビットが同時に動いて出力に変なスパイクやギャップが出るケースがありますね。これに対処するのに、トラック&ホールド回路を使うのはどうでしょう。入力値が変わる直前ホールドさせ、変わった後グリッチが収まってからトラックに戻すという考え方です。
――返答1――
今回のDACではトラック&ホールド回路は検討していません。以前の経験では①トラック&ホールド制御パルスのデジタルフィードスルー、②チャネルチャージインジェクションによりノイズ、グリッチがトラック&ホールド回路を通過するため採用しませんでした。代わりに採用した回路はグリッチと逆極性のパルスを発生させ、グリッチに加算し、除去する回路です。この回路は20ビットDACと共に装置に組み込まれ、製品化しました。

――提案2――
 もう一つは、出力にLCフィルターではなく、LRCとしてQを落すのも有効かと思いますが?
――返答2――
タイトル「アンプのステップ応答における振動の抑制方法 」のFig1(回路図)でR1(=1KΩ)がQのRパラメータになっています。
本文の方法(抜粋)
――――
このR1、L1,C1による減衰振動の周期Tは
T=2π/ω*(1-δ^2)^0.5―――(1)
減衰振動の半周期 W=T/2―――(2)
補正振幅Ehは
Eh= 1/(1+EXP(-W/(2*C1*R1)))――(3)
ω=(L1*C1)^-0.5―――(4)
δ=1/(C1*R1*(L1*C1)^-0.5*2)―――(5)
――――
式(1)、(3)によりR1で周期Tは変化し、Q=R1/(ωL1)ですからR1に比例します。

回答番号 1 の「減衰振動抑制の実施回路例」 では1KΩ・2KΩのラダータイプの20ビットDACではR1=1KΩで、フィルターのQはラダー抵抗に依存します。

――提案3――
また別の話ですが、ケルビンバーレー分圧器という回路形式があり、私の職場のある回路では、それで、20ビットのDACを構成しています。スイッチはラッチング型の水銀リレーです。ラッチングリレーは、ON、またはOFFにするときのみ、リレーコイルに電流を流すものです。発熱を嫌ってのことでしょう。DACの分圧部だけで結構でかい箱になります。 とても古いもので、30年以上前の技術です。というものだと思いますが。

――返答3――
ケルビンバーレー分圧器は初めてです(ネットで確認し、勉強になりました)。

製品化した20ビットDACは1セットに8台使用し、電子ビームを静電偏向します。8台とも水冷です。電子ビームの整定時間(セトリングタイム)は10uSですので、多分ケルビンバーレー分圧器は使えないと思います(考えかたはユニークですね)。


MUSUSU2 回答番号 16
タイトル
グリッチの除去または緩和
ポイント
pt.
アクセス4769
投稿日時16/02/25 22:57
A_Pさんへ
 R-2Rラダーのような形式のDACの場合、入力の変化がわずかなのに、MSBが変化する時、他の多くのビットが同時に動いて出力に変なスパイクやギャップが出るケースがありますね。これに対処するのに、トラック&ホールド回路を使うのはどうでしょう。入力値が変わる直前ホールドさせ、変わった後グリッチが収まったてからトラックに戻すという考え方です。

 もう一つは、出力にLCフィルターではなく、LRCとしてQを落すのも有効かと思いますが?

また別の話ですが、ケルビンバーレー分圧器という回路形式があり、私の職場のある回路では、それで、20ビットのDACを構成しています。スイッチはラッチング型の水銀リレーです。ラッチングリレーは、ON、またはOFFにするときのみ、リレーコイルに電流を流すものです。発熱を嫌ってのことでしょう。DACの分圧部だけで結構でかい箱になります。 とても古いもので、30年以上前の技術です。

A_P 回答番号 15
タイトル
MUSUSU2様コメント有難うございます
ポイント
pt.
アクセス4653
投稿日時16/02/23 14:45
MUSUSU2様
コメント(高分解能R-2RADCの難しさ)有難うございます。
――コメント内容――
「FPGA+R-2Rラダーによって20ビットの確度は無謀では無いかと感じます。」
――理由①
ラダーに使用する抵抗の相対誤差、FPGAのスイッチのON抵抗のバラつきなどを含めてその精度にするのは無理では?
――理由②
基準電圧源の出力インピーダンスがゼロではないこと。基準電圧側から見た分圧網のインピーダンスが設定値によって変わると当然乱れが生じます。R-2Rラダーはこの乱れがあります。

――理由①の返答――
ご指摘の通り、この構成で、20ビット分解能を達成するのは無理です。以前製作した20ビットDACはAD1139を2個使い、FPGAで補正を行い、20ビット分解能を達成するには温度管理が必須です。
――理由②の返答――
ご指摘の通りです。回答番号 10 タイトル 「20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定」 で図2はビット17,18,19「1」の測定値と重回帰推定値、図3はビット17,18,19「0」の測定値と重回帰推定値です。表1(19~0ビット入力電圧の回帰式)のビット17「1」に注目します。
ビット17の「1」は下式で表せます。
[x17_1]=3.309+0.0012[x16]+0.000947[x18]
+0.000605[x15]
+0.000295[x14]+0.000163[x13]+0.0000851[x12]-0.0000668[x19]
+0.0000392[x11]+0.0000251[x10]-0.0000146[x6]+0.0000152[x9]
+0.00000737[x8]+0.00000873[x7]+0.00000590[x5]-0.00000563[x0]
-0.00000345[x1]-0.00000266[x4]-0.00000178[x2]-0.000000482[x3]
初項は3.309V,第2項は16ビットが1の場合は0.0012*3.3V(=3.96mV)、第3項は18ビットが1の場合は0.000947*3.3V(3.12mV)、・・・のようにDAC入力の設定値によりビット17入力電圧は変動します。
 目的変数として基準電圧源を説明変数としてビット19~0を使って重回帰を実行すればよかったと思っています(ついでに±15v、+5v電源についても重回帰を取っておくべきでした)。
この20ビットDACは回答番号 11 「20ビットDAC(R-2R)のシミュレーションによる直線歪改良 」により、どんなに頑張っても12ビット分解能が限度であることが推定でき、これ以上の調整を断念ました。

――コメント内容――
――主題の振動減衰について――
――①――アンプの振動減衰について、元のアンプがステップ入力に対してどのような振動応答を起こすかあらかじめ知っておき、それを打ち消すような補正項を付加するという発想でしょうか?
――②――もとのアンプ系にどのようなものを想定しているのかわかりませんが、それが、負帰還アンプであるとするなら、私は別の選択を考えます。
 先ず負帰還の無い増幅信号パスを設けます。それは、ある程度、入力-出力関係が分かっていても、十分な精度が出ない。そこで、それと並列に負帰還制御パスを設ける。
というような構成を考えます。
――③――ステップ入力に対する応答の改良という課題は、どういう系の時にどのような手法で というものだと思いますが。

――「主題の振動減衰について」の返答――
①ご推察の通りです。
②おもしろいアイディアです。具体的な回路でシミュレーションされたらお聞かせ下さい。
③DACのデジタルフィードスルー、グリッチの除去を目的としています。
上記のノイズを除去するにはDAC出力とOPアンプ入力間にLCフィルタが効果的ですが、振動が問題になります。この振動対策です。回答番号 1 (減衰振動抑制の実施回路例)、回答番号 2 (振動抑制回路の測定例)参照


MUSUSU2 回答番号 14
タイトル
高分解能R-2RADCの難しさ
ポイント
pt.
アクセス4753
投稿日時16/02/22 21:37
A_Pさんへ、コメントです。
 スレッドを拝見して、何か難しいことをやり過ぎていると感じます。

20ビットR-2Rラダーについて
 FPGA+R-2Rラダーによって20ビットの確度は無謀では無いかと感じます。

 理由は主に2つあります。
① ADCに使用するスイッチの抵抗のバラつきがなく、ON抵抗がゼロだと仮定した時を考えても、ラダーに使用する抵抗の相対誤差が直接、出力の確度に影響します。アバウトな考えですが、上位の桁の抵抗で、約1ppmの相対確度が必要。実際には、ON抵抗がゼロでは無いので、2Rの抵抗プラススイッチのON抵抗で、理想からのずれを考えなければなりません。2kΩの1ppmは2mΩですから、FPGAのオン抵抗の平均値を加味して2R用の抵抗値を補正するにしても、FPGAのスイッチのON抵抗のバラつきなどを含めてその精度にするのは無理では?
② 高精度のADCを構成するとき、低分解能のADCでは考えないことも考慮が必要です。その一つが、基準電圧源の出力インピーダンスがゼロではないこと。基準電圧側から見た分圧網のインピーダンスが設定値によって変わると当然乱れが生じます。R-2Rラダーはこの乱れがあります。

主題の振動減衰について
 私の理解の間違いかもしれませんが、A_Pさんは、
アンプの振動減衰について、元のアンプがステップ入力に対してどのような振動応答を起こすかあらかじめ知っておき、それを打ち消すような補正項を付加するという発想でしょうか?
 もとのアンプ系にどのようなものを想定しているのかわかりませんが、それが、負帰還アンプであるとするなら、私は別の選択を考えます。
 先ず負帰還の無い増幅信号パスを設けます。それは、ある程度、入力-出力関係が分かっていても、十分な精度が出ない。そこで、それと並列に負帰還制御パスを設ける。
というような構成を考えます。

 ― ステップ入力に対する応答の改良という課題は、どういう系の時にどのような手法で というものだと思いますが。

A_P 回答番号 13
タイトル
バッファ付20ビットDAC(R-2R)のシミュレーションによる直線歪改良
ポイント
pt.
アクセス4831
投稿日時16/02/16 15:34
――題目――
バッファ付20ビットDAC(R-2R)のシミュレーションによる直線歪改良
――概要――
減衰振動抑制の実施回路例(回答番号 1)のDAC分解能は12ビットが限界であることを「20ビットDAC(R-2R)のシミュレーションによる直線歪改良」(回答番号 11)で示し、原因はFPGA(XC3S250 VQ100)の出力抵抗によるものであることを示唆した。
この対策として各入力ビットにバッファ(OPアンプ:LT1254でボルテージフォロワを構成)を付け出力抵抗を下げる回路を「20ビットDAC(R-2R)」に追加し、作製した。LT1254は4回路で電流帰還タイプである。 
 このバッファ付20ビットDAC(R-2R)のDAC入力電圧を前の投稿(回答番号 11)と同様にシミュレーションで直線歪改良する。
――目的――
各入力ビットにバッファを付けた「重回帰により推定したDAC入力電圧」(回答番号 12)を使ったシミュレーションで、20ビットDACのラダー抵抗(1KΩ/2KΩ)を調整し、無調整時のDACの分解能11ビットが何処まで改良できるか確認する。
――ポイント――
 FPGA(XC3S250 VQ100)出力とDACのビット入力の間にLT1254によるボルテージフォロワ(バッファ)を挿入し、その出力抵抗が下がることにより、入力ビットパターンが変化しても入力ビット電圧の変動を少なくする。
 この回路構成でシミュレーションし、直線歪を確認しながらDACのラダー抵抗を調整することにより直線歪を何処まで改善するか挑戦する。
――方法――
 図1は20ビットDAC(R-2R)シミュレーション回路(LTSPICE)である。各ビット入力にVoltage Dependent Voltage Source(電圧制御電圧源)とBV(Arbitrary Behavioral voltage source)のペアが組み合わせてある(20組)。1秒を1LSBに対応させ、1048576秒で20ビットを表現する。
LSBビット入力の電圧制御電圧源(V6)はパルスで振幅は3.3v、周期2秒で、BV(B21)はIf( x > .5, then y else z)関数を使い、LSBビット入力のx、y、zは以下のようになる。
x=x0、
y=3.32275352597658+0.00000687[x2]+0.00000378[x3]
+0.00000178[x4]+0.00000131[x19]+0.000000838[x18]
+0.000000842[x5]+0.000000805[x9]+0.000000398[x8]
+0.000000454[x1]+0.000000302[x17]-0.000000218[x10]
+0.000000208[x16]+0.000000135[x12]-0.0000000967[x15]
-0.000000110[x11]-0.0000000899[x14]-0.0000000821[x7]
-0.0000000382[x13]-0.0000000188[x6]
z= 0.0000422255634888529-0.00000796[x19]
+0.00000635[x2]+0.00000360[x3]+0.00000181[x4]
+0.00000120[x18]+0.000000921[x5]+0.000000481[x13]
-0.000000486[x1]+0.000000378[x17]+0.000000268[x9]
+0.000000233[x7]+0.000000123[x16]-0.000000140[x11]
+0.000000107[x15]+0.0000000837[x6]+0.0000000826[x8]
-0.0000000624[x10]+0.0000000361[x14]-0.0000000185[x12]
同様にMSBビット入力の電圧制御電圧源(V23)はパルスで振幅は3.3v、周期524288秒で、BV(B2)はIf( x > .5, then y else z)関数を使い、MSBビット入力のx、y、zは以下のようになる。
x=x19
y=  3.322-0.0000104[x18]+0.00000127[x17]
+0.00000125[x16]+0.00000136[x10]-0.000000391[x3]
-0.000000402[x12]-0.000000508[x9]-0.000000401[x14]
-0.000000548[x1]+0.000000446[x11]-0.000000362[x6]
+0.000000496[x2]-0.000000422[x8]-0.000000359[x15]
-0.000000220[x4]-0.000000131[x5]+0.000000143[x7]
-0.000000128[x0]-0.0000000971[x13]
z= -0.000245-0.0000114[x18]+0.00000115[x16]
+0.000000792[x4]-0.000000511[x5]+0.000000739[x3]
-0.000000533[x6]-0.000000249[x10]+0.000000517[x11]
-0.000000402[x9]+0.000000481[x7]-0.000000311[x0]
-0.000000243[x2]+0.000000182[x12]+0.000000107[x13]
-0.0000000646[x14]-0.0000000906[x1]-0.0000000753[x17]
-0.0000000190[x8]+0.0000000169[x15]
上記の電圧制御電圧源とBVを含む図1の20ビットDAC(R-2R)シミュレーション回路で過渡解析(.tran)を行う。
例えば、DACの7ビット目の抵抗(R71)を調整する場合、過渡解析で .tran 0 138 118 1 (過渡解析:.tran [出力間隔] [終了時間] [開始時間] [計算間隔].)を実行し、DAC入力118から138を連続して入力し、DAC出力(OUT)を表示する。DAC入力が127から128に変化する時、DAC出力が-1LSB(-12.7uV)になるように抵抗R71を調整する。同様にして、ビット0から19ビットの抵抗を調整する。
――結果――
 表1はバッファ付DACの入力ビット0から19ビットの抵抗を調整した結果で、無調整時の抵抗はいずれも2KΩである。15~19(MSB)ビットに関わる抵抗は0.01Ωを調整する必要がある。
図2は調整後のラダー抵抗値のDAC出力直線歪(シミュレーション)で、DAC出力とその回帰直線(=-12.684uV+57.835uV)の差がDAC出力直線歪である。DACの直線歪をLSB単位で表すためにDAC出力直線歪(LSB)=(DAC出力―回帰直線)/12.684uVを計算する。DAC出力直線歪のppは8LSBで、DACの等価分解能は17ビットである。図3は調整前後のDAC出力直線歪である。調整前の等価分解能は11ビットで、6ビット改善されている。
――結論――
 バッファ付20ビットDAC(1kΩ-2kΩ)のシミュレーションにより2Rを調整し、無調整のDACの分解能11ビットをどこまで改良できるかを行い、このDAC構成でラダー抵抗を調整し、17ビットの分解能を得た。
 シミュレーションによればDACの分解能をあげるには入力ビットのドライバーの出力インピーダンスを下げることが重要でり、ビット入力のバッファは必須であると考える。




 表1 シミュレーションによるラダー抵抗調整値
ビット  抵抗(Ω)
19|R18=1998.31(msb)
18|R20=1998.47
17|R22=1998.6
16|R24=1998.99
15|R43=1999.17
14|R45=1999.8
13|R47=2001.3
12|R49=2003.5
11|R55=2008
10|R57=2015
9 |R59=2027
8 |R61=2050
7 |R71=2110
6 |R73=2160
5 |R75=2300
4 |R77=2600
3 |R83=3000
2 |R85=3100
1 |R87=2900
0 |R89=2000(lsb)
※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 12
タイトル
バッファ付20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定
ポイント
pt.
アクセス4828
投稿日時16/02/16 15:30
――題目――
バッファ付20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定
――概要――
減衰振動抑制の実施回路例(回答番号 1)のDAC分解能は12ビットが限界であることを「20ビットDAC(R-2R)のシミュレーションによる直線歪改良」(回答番号 11)で示し、原因はFPGA(XC3S250 VQ100)の出力抵抗によるものであることを示唆した。
この対策として各入力ビットにバッファ(OPアンプ:LT1254でボルテージフォロワを構成)を付け出力抵抗を下げる回路を「20ビットDAC(R-2R)」に追加し、作製した。LT1254は4回路で電流帰還タイプである。 
 このバッファ付20ビットDAC(R-2R)のDAC入力電圧を前の投稿(回答番号 10)と同様に重回帰で推定する。
――目的――
前回投稿した「20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定」(回答番号 10)でDAC入力電圧の推定式を投稿したが、入力ビットにバッファ(OPアンプ:LT1254)を追加した後の入力電圧の推定式を作る。
――ポイント――
 入力ビットのバッファ出力で注目するDAC入力電圧以外(19個の入力ビット入力電圧)を説明変数、注目するDAC入力電圧を目的変数とした重回帰式で注目するDAC入力電圧を推定する。
――方法――
 -524288から524287までの値(128個)をFPGAにより発生させ、R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACにバッファを通して入力し、注目するDAC入力電圧とそれ以外の19個のビット入力のアナログ電圧をデジボルにより測定する。DAC入力(入力20チャンネル)の測定値はGPIBを通してエクセルに表示する。同様に524287から-524288までの値(128個)をDACに入力し、この入力のアナログ電圧を測定する。前の128個測定と後の128個測定の重複は測定値の安定性の確認である。
 図1は各入力ビットにバッファを追加した(R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACの回路図である。
直線歪の測定のブロック図(20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定」(回答番号 10)の図1を参照)で、エクセルVBAからRS232Cを通してDACに入力され、そのDACの入出力(21チャンネル)アナログ電圧はGPIBを通してエクセルのセルに記録される。これらの入力電圧から注目するDAC入力電圧の重相関を計算し、DAC入力電圧の重相関の回帰式により注目するDAC入力電圧を推定する。
――結果――
 DAC入力(x18、・・・x1、x0(LSB))を説明変数、DAC入力x19(MSB)の「1」を目的変数として、重相関の回帰式を作り、同様にDAC入力(x18、・・・x1、x0(LSB))を説明変数、DAC入力x19(MSB)の「0」を目的変数として、重相関の回帰式を作る。以下、同じようにDAC入力x18、x17、・・・x0の「1」と「0」の重回帰式を作る。
 表1は19~0ビット入力電圧の回帰式で、表1で[x19_0]は19ビット「0」時の入力電圧、[x19_1]は19ビット「1」時の入力電圧の重回帰式で、同様に[x0_0]は0ビット「0」時の入力電圧、[x0_1]は0ビット「1」時の入力電圧の重回帰式である(文字数制限により[x16_0]以降省略)。
 図2は横軸がDAC入力、縦軸がビット17,18,19「1」のビット17,18、19「1」バッファ有り・なしの入力電圧重回帰推定値、図3は横軸がDAC入力、縦軸がビット17,18、19「0」バッファ有り・なしの入力電圧重回帰推定値である。バッファありはバッファなしに比べ入力電圧は一定である。
――結論――
各ビットにバッファ(LT1254)を付けることにより入力ビット電圧の変動が減少する(変動電圧は1mVpp)。バッファ付の19~0ビット入力電圧の回帰式重回帰式を使い、バッファ付ビット入力電圧に対応するDACシミュレーションでDACラダー抵抗を調整し、DACの分解能が改善できる可能性がある。

表1 19~0ビット入力電圧の回帰式
[x19_0]=-0.000245-0.0000114[x18]+0.00000115[x16]
+0.000000792[x4]-0.000000511[x5]+0.000000739[x3]
-0.000000533[x6]-0.000000249[x10]+0.000000517[x11]
-0.000000402[x9]+0.000000481[x7]-0.000000311[x0]
-0.000000243[x2]+0.000000182[x12]+0.000000107[x13]
-0.0000000646[x14]-0.0000000906[x1]-0.0000000753[x17]
-0.0000000190[x8]+0.0000000169[x15]
[x19_1]=3.322-0.0000104[x18]+0.00000127[x17]
+0.00000125[x16]+0.00000136[x10]-0.000000391[x3]
-0.000000402[x12]-0.000000508[x9]-0.000000401[x14]
-0.000000548[x1]+0.000000446[x11]-0.000000362[x6]
+0.000000496[x2]-0.000000422[x8]-0.000000359[x15]
-0.000000220[x4]-0.000000131[x5]+0.000000143[x7]
-0.000000128[x0]-0.0000000971[x13]
[x18_0]=0.00365-0.0000137[x19]+0.0000102[x17]
+0.00000647[x16]+0.00000202[x15]+0.00000110[x14]
+0.000000662[x13]-0.000000653[x1]-0.000000350[x5]
-0.000000238[x10]-0.000000223[x9]+0.000000212[x4]
-0.000000166[x6]+0.000000161[x12]-0.000000196[x0]
+0.000000161[x2]+0.000000101[x3]-0.0000000453[x7]
+0.0000000549[x8]-0.0000000404[x11]
[x18_1]=3.326+0.0000132[x17]+0.00000692[x16]
-0.00000342[x19]+0.00000221[x15]+0.00000121[x14]
+0.00000104[x6]-0.000000686[x9]+0.000000554[x11]
+0.000000784[x13]+0.000000420[x7]+0.000000543[x0]
+0.000000427[x5]-0.000000482[x10]-0.000000398[x3]
-0.000000274[x8]+0.000000235[x12]+0.0000000395[x1]
+0.0000000304[x2]-0.0000000141[x4]
[x17_0]=0.00393+0.00000901[x18]+0.00000531[x15]
-0.00000448[x19]+0.00000291[x14]+0.00000145[x13]
+0.000000499[x12]-0.000000325[x16]+0.000000381[x11]
-0.000000289[x7]+0.000000209[x9]+0.000000155[x5]
-0.000000204[x1]+0.000000139[x2]+0.000000138[x4]
-0.000000125[x3]-0.0000000982[x8]+0.0000000758[x10]
-0.0000000361[x6]+0.00000000173[x0]
[x17_1]=3.326+0.0000109[x18]+0.00000646[x15]
+0.00000558[x19]+0.00000296[x14]+0.00000194[x16]
+0.00000160[x13]+0.000000644[x6]+0.000000446[x11]
+0.000000625[x12]+0.000000430[x10]+0.000000384[x2]
-0.000000250[x9]-0.000000182[x8]-0.000000163[x0]
+0.0000000435[x3]+0.0000000392[x5]+0.0000000227[x7]
+0.00000000796[x4]-0.000000000819[x1]
――文字数制限により[x16_0]以降省略――
※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 11
タイトル
20ビットDAC(R-2R)のシミュレーションによる直線歪改良
ポイント
pt.
アクセス4844
投稿日時16/02/15 07:01
――題目――
20ビットDAC(R-2R)のシミュレーションによる直線歪改良
――目的――
「重回帰により推定したDAC入力電圧」(回答番号 10)を使ったシミュレーションで、20ビットDACのラダー抵抗(1KΩ/2KΩ)を調整し、無調整時のDACの分解能8ビットが何処まで改良できるか確認する。
――ポイント――
 実際のDACでラダー抵抗を調整することは時間と労力を要する。シミュレーションにより直線歪を確認しながらDACのラダー抵抗を調整することにより直線歪を何処まで改善するか挑戦する。
――方法――
 図1は20ビットDAC(R-2R)シミュレーション回路(LTSPICE)である。各ビット入力にVoltage Dependent Voltage Source(電圧制御電圧源)とBV(Arbitrary Behavioral voltage source)のペアが組み合わせてある(20組)。1秒を1LSBに対応させ、1048576秒で20ビットを表現する。
LSBビット入力の電圧制御電圧源(V6)はパルスで振幅は3.3v、周期2秒で、BV(B21)はIf( x > .5, then y else z)関数を使い、LSBビット入力のx、y、zは以下のようになる。
x=x0、
y=3.306+0.000951[x1]+0.000457[x2]+0.000250[x3]+0.000134[x4]
+0.0000636[x5]+0.0000517[x6]-0.0000309[x13]+0.0000174[x15]
+0.0000208[x14]+0.0000190[x7]-0.0000117[x19]+0.00000689[x8]
z=0.000536+0.000802[x1]+0.000400[x2]+0.000204[x3]
+0.000103[x4]+0.0000516[x5]+0.0000255[x6]+0.0000133[x7]
+0.0000101[x19]+0.00000640[x8]-0.00000493[x13]+0.00000368[x9]+0.00000313[x14]+0.00000309[x10]+0.00000253[x15]
+0.00000204[x18]+0.00000106[x12] 同様にMSBビット入力の電圧制御電圧源(V23)はパルスで振幅は3.3v、周期524288秒で、BV(B2)はIf( x > .5, then y else z)関数を使い、MSBビット入力のx、y、zは以下のようになる。
x=x19
y= 3.302-0.0000393[x18]-0.0000186[x6]-0.0000209[x17]
-0.0000137[x15]-0.0000118[x14]-0.0000116[x16]+0.00000955[x13]
+0.00000786[x12]-0.00000515[x2]+0.00000489[x10]
-0.00000451[x0]+0.00000263[x7]-0.00000208[x1]-0.00000182[x9]
-0.00000150[x5]-0.000000714[x8]+0.000000225[x3]
-0.000000199[x4]-0.00000000572[x11]
z= 0.00251-0.00000396[x15]+0.00000155[x14]+0.00000133[x13]
+0.00000108[x8]+0.000000864[x2]+0.000000995[x10]
+0.000000847[x12]+0.000000667[x18]-0.000000735[x6]
+0.000000663[x4]-0.000000591[x17]-0.000000497[x11]
+0.000000197[x3]-0.000000209[x5]-0.000000199[x7]
+0.000000112[x9]-0.0000000691[x1]+0.0000000430[x0]
+0.0000000411[x16]
上記の電圧制御電圧源とBVを含む図1の20ビットDAC(R-2R)シミュレーション回路で過渡解析(.tran)を行う。
例えば、DACの7ビット目の抵抗(R71)を調整する場合、過渡解析で .tran 0 138 118 1 (過渡解析:.tran [出力間隔] [終了時間] [開始時間] [計算間隔].)を実行し、DAC入力118から138を連続して入力し、DAC出力(OUT)を表示する。DAC入力が127から128に変化する時、DAC出力が-1LSB(-12.7uV)になるように抵抗R71を調整する。同様にして、ビット0から19ビットの抵抗を調整する。
――結果――
 表1はDACの入力ビット0から19ビットの抵抗を調整した結果で、無調整時の抵抗はいずれも2KΩである。17、18、19(MSB)ビットに関わる抵抗は0.01Ωを調整する必要がある。
図2は調整後のラダー抵抗値のDAC出力直線歪(シミュレーション)で、DAC出力とその回帰直線(=-12.695uV-18.854mV)の差がDAC出力直線歪である。DACの直線歪をLSB単位で表すためにDAC出力直線歪(LSB)=(DAC出力―回帰直線)/12.695uVを計算する。DAC出力直線歪のppは190LSBで、DACの等価分解能は12.43ビットである。図3は調整前後のDAC出力直線歪である。調整前の等価分解能は8.5ビットで、5ビット改善されている。
――結論――
 20ビットDAC(1kΩ-2kΩ)のシミュレーションにより2Rを調整し、無調整のDACの分解能8ビットをどこまで改良できるかを行った。
このDAC構成で、どんなにラダー抵抗を調整しても12ビット以上に分解能を改良できない。
原因はFPGA(XC3S250 VQ100)の出力抵抗によるものである(ビット「1」での出力抵抗= 15.4 Ω ビット「0」での出力抵抗=13.4 Ω)。例えば19ビットの抵抗は周りのビット入力が「0」であると1983.07Ω、その逆に周りのビット入力が「1」の時は1983.37Ωとなり、19ビット抵抗(R18)は入力ビットパターンが異なると抵抗値が0.3Ω変わり、直線歪を増大させることが、このシミュレーションで分かった。
抵抗値の調整も10mΩ精度が必要で、現実的でない。

 表1 シミュレーションによるラダー抵抗調整値
ビット  抵抗(Ω)
19(msb) R18=1983.07
18 R20=1983.01
17 R22=1983.46
16 R24=1983.2
15 R43=1982.3
14 R45=1981.1
13 R47=1980
12 R49=1977
11 R55=1973
10 R57=1965
9 R59=1956
8 R61=1948
7 R71=1910
6 R73=1600
5 R75=2500
4 R77=2400
3 R83=3000
2 R85=2400
1 R87=3000
0(lsb) R89=2000

※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 10
タイトル
20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定
ポイント
pt.
アクセス4805
投稿日時16/02/15 06:53
――題目――
20ビットDAC(R-2R)のDAC入力電圧を重回帰で推定
――目的――
前回投稿した「20ビットDAC(R-2R)の直線歪測定」(回答番号 9)で20ビットDACの分解能は8ビットであった。入力ドライバー「FPGA:XC3S250 VQ100出力抵抗(high= 15.4 Ω low=13.4 Ω)」と1KΩ/2KΩのラダーDACの組み合わせで究極的に、何処まで分解能を改善するか興味津々である。この分解能改善をシミュレータで行うために重回帰を使って、DAC入力電圧の推定式を作る。
――ポイント――
 注目するDAC入力電圧以外(19個の入力ビット入力電圧)を説明変数、注目するDAC入力電圧を目的変数とした重回帰式で注目するDAC入力電圧を推定する。
――方法――
 -524288から524287までの値(128個)をFPGAにより発生させ、R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACに入力し、注目するDAC入力電圧とそれ以外の19個のビット入力のアナログ電圧をデジボルにより測定する。DAC入力(入力20チャンネル)の測定値はGPIBを通してエクセルに表示する。同様に524287から-524288までの値(128個)をDACに入力し、この入力のアナログ電圧を測定する。前の128個測定と後の128個測定の重複は測定値の安定性の確認である。
図1は直線歪の測定のブロック図である(R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACは「減衰振動抑制の実施回路例」の図1を参照)。エクセルVBAからRS232Cを通してDACに入力され、そのDACの入出力(21チャンネル)アナログ電圧はGPIBを通してエクセルのセルに記録される。これらの入力電圧から注目するDAC入力電圧の重相関を計算し、DAC入力電圧の重相関の回帰式により注目するDAC入力電圧を推定する。
――結果――
 DAC入力(x18、・・・x1、x0(LSB))を説明変数、DAC入力x19(MSB)の「1」を目的変数として、重相関の回帰式を作り、同様にDAC入力(x18、・・・x1、x0(LSB))を説明変数、DAC入力x19(MSB)の「0」を目的変数として、重相関の回帰式を作る。以下、同じようにDAC入力x18、x17、・・・x0の「1」と「0」の重回帰式を作る。
 表1は19~0ビット入力電圧の回帰式で、表1で[x19_0]は19ビット「0」時の入力電圧、[x19_1]は19ビット「1」時の入力電圧の重回帰式で、同様に[x0_0]は0ビット「0」時の入力電圧、[x0_1]は0ビット「1」時の入力電圧の重回帰式である(文字数制限により[x16_0]以降省略)。
 図2は横軸がDAC入力、縦軸がビット17,18,19「1」の測定値と重回帰推定値、図3は横軸がDAC入力、縦軸がビット17,18,19「0」の測定値と重回帰推定値である。
――結論――
 R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACは入力ドライバー「FPGA:XC3S250 VQ100出力抵抗(high= 15.4 Ω low=13.4 Ω)」により入力ビット電圧が変動する。この入力ビット電圧の変動が主因により等価分解能が8ビットになったと推察する。
19~0ビット入力電圧の回帰式重回帰式を使い、変動するビット入力電圧に対応するDACシミュレーションでDACラダー抵抗を調整し、何処までDACの分解能が改善できるか興味がある。

表1 19~0ビット入力電圧の回帰式
[x19_0]=0.00251-0.00000396[x15]+0.00000155[x14]
+0.00000133[x13]+0.00000108[x8]+0.000000864[x2]
+0.000000995[x10]+0.000000847[x12]+0.000000667[x18]
-0.000000735[x6]+0.000000663[x4]-0.000000591[x17]
-0.000000497[x11]+0.000000197[x3]-0.000000209[x5]
-0.000000199[x7]+0.000000112[x9]-0.0000000691[x1]
+0.0000000430[x0]+0.0000000411[x16]
[x19_1]=3.302-0.0000393[x18]-0.0000186[x6]-0.0000209[x17]
-0.0000137[x15]-0.0000118[x14]-0.0000116[x16]+0.00000955[x13]
+0.00000786[x12]-0.00000515[x2]+0.00000489[x10]
-0.00000451[x0]+0.00000263[x7]-0.00000208[x1]-0.00000182[x9]
-0.00000150[x5]-0.000000714[x8]+0.000000225[x3]
-0.000000199[x4]-0.00000000572[x11]
[x18_0]=0.000532+0.000830[x17]+0.000415[x16]+0.000209[x15]
+0.0000993[x14]+0.0000543[x13]+0.0000271[x12]+0.0000150[x11]
+0.00000570[x10]+0.00000433[x9]+0.00000364[x8]-0.00000335[x6]+0.00000227[x7]+0.00000169[x5]+0.00000190[x19]+0.00000188[x0]+0.00000134[x4]+0.00000103[x1]+0.000000891[x2]
+0.000000800[x3]
[x18_1]=3.306+0.000100[x17]+0.000500[x16]+0.000252[x15]
+0.0000928[x14]+0.0000776[x13]-0.0000661[x19]+0.0000418[x12]
-0.0000349[x6]+0.0000244[x11]+0.0000143[x10]+0.0000111[x9]
+0.0000116[x5]+0.00000847[x7]+0.00000469[x8]+0.00000463[x3]
+0.00000284[x4]-0.00000291[x0]+0.00000134[x1]
+0.0000000813[x2]
[x17_0]=0.000527+0.00100[x16]+0.000804[x18]+0.000499[x15]
+0.000252[x14]+0.000128[x13]+0.0000638[x12]+0.0000321[x11]
+0.0000163[x10]+0.00000829[x9]+0.00000514[x8]+0.00000281[x7]
+0.00000204[x19]+0.00000103[x5]+0.000000855[x2]
+0.000000652[x4]+0.000000686[x3]+0.000000478[x0]
+0.000000445[x1]+0.000000196[x6]
[x17_1]=3.309+0.0012[x16]+0.000947[x18]+0.000605[x15]
+0.000295[x14]+0.000163[x13]+0.0000851[x12]-0.0000668[x19]
+0.0000392[x11]+0.0000251[x10]-0.0000146[x6]+0.0000152[x9]
+0.00000737[x8]+0.00000873[x7]+0.00000590[x5]-0.00000563[x0]
-0.00000345[x1]-0.00000266[x4]-0.00000178[x2]-0.000000482[x3]
――文字数制限により[x16_0]以降省略――
※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 9
タイトル
20ビットDAC(R-2R)の直線歪測定
ポイント
pt.
アクセス4846
投稿日時16/02/11 18:16
題目
20ビットDAC(R-2R)の直線歪測定
目的
前回投稿した「減衰振動抑制の実施回路例」のDACの直線歪(積分非直線性誤差)を測定する。
ポイント
 自作するラダータイプは「直線歪が大きい」ことである。この「直線歪が大きい」要因はDAC入力をドライブするロジック回路の出力抵抗である。
  方法
 -524288から524287までの値(128個)をFPGAにより発生させ、R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACに入力する。このDAC出力をデジボルにより測定する。
今回はDAC出力をスキャナーにより選択し、デジボルによりDAC出力の電圧を測定する。この測定値はGPIBを通してエクセルに表示する。更に524287から-524288までの値(128個)をDACに入力し、前後の測定値の差をモニターする。図1は直線歪の測定のブロック図で、R-2R(1KΩ/2KΩ)ラダータイプ20ビットDACは「減衰振動抑制の実施回路例」の図1を参照して下さい。エクセルVBAからRS232C、FPGAを通してDACに入力され、そのDAC出力はGPIBを通してエクセルのセルに記録される(表1のDAC入出力測定表を参照)。これらの入出力からDACの入出力特性を作成し、入出力から回帰直線を計算し、DAC出力の回帰直線からの誤差(直線歪)を作成する。
注)DAC入力の設定値はオフセットバイナリ。
  結果
 図2はR-2R(1KΩ/2KΩ)ラダータイプ20ビットDACの入出力特性で、この入出力の回帰直線(V)は-12.6uV*DAC入力+24.8674mVである。図3は、このDACの直線歪(=DAC出力-回帰直線)である。直線歪の最大-最小は38.726mVpp(=3074LSB)、等価分解能は8.4ビットである。
結論
 無調整でR-2R(1KΩ/2KΩ)ラダータイプ20ビットDACの分解能は8ビットであった。図3の直線歪からMSB入力(19ビット)、18ビット、17ビットの影響が大きい。

表1 
  DAC入出力測定表
入力
 出力(V) 歪(出力-回帰直線)(V)
-524288 6.641804833  0.012550349
-509565 6.453124309  0.009357298
-507734 6.430558123  0.009858935
・・・・・・・・・・
-4304  0.058824354 -0.019420259
0  0.041798106  0.017777366
11577  -0.106244739  0.015587165
・・・・・・・・・・・
523082 -6.579194345  -0.013175113
524287 -6.595651216  -0.014450811
500983 -6.296204263  -0.008598919
・・・・・・・・・・
6169  -0.03737273  -0.021078213
-1  0.002955126  -0.018479374
-9984  0.131324626  -0.01665819
・・・・・・・・・・
-517269 6.550873657  0.010047929
-524288 6.641189962  0.011935478

※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 8
タイトル
IKUZO様
ポイント
pt.
アクセス4951
投稿日時16/01/14 09:00
知識が浅く、お力になれなく申し訳ありません。
IKUZO様のアイディアは面白そうですね。具体化した回路ができましたら是非お聞かせ下さい。

IKUZO 回答番号 7
タイトル
A_P さん回答ありがとうございました
ポイント
pt.
アクセス5068
投稿日時16/01/13 15:29
A_Pさん回答ありがとうございました
A_Pさんのことですから、なんでもご存じなのかなと思いまして、なるほど1ビットでは応答速度を早くするというのが欠点なのでしょうか、普通のやりかたではDACからアナログにして増幅してSP駆動させるのですが、今やっているのが1ビットDACから直接FET駆動させて(増幅?)SPを駆動する方法で、これをマルチビットDACで可能ならばやりたいのですが、これは不可能のようで、なにか良い方法はないかと、そんなにDACこだわる必要もないのかもしれません、DACからアナログを出力後の応答を改善する方法はA_Pさんの振動抑制回路できれいな波形に補正することができると信じております、そこで1ビットDACから(FET)の後10uHのコイルと474のコンデンサでフィルターしているのですが、考え方として振動抑制の方法で良くするような方法はないものかと、

A_P 回答番号 6
タイトル
御免なさい。この質問はIKUZO様以上の知識はありません
ポイント
pt.
アクセス5025
投稿日時16/01/13 14:37
――質問内容――
「マルチビットDACと1ビットDACでは1ビットDACのグリッジが少ないというのは通説なのでしょうか、マルチビットDACに比べてなぜ1ビットDACのグリッジが少ないのでしょうか?想像ではパルス駆動点が少ない?とはおもいますが、実際にはどうなのか?アドバイスお願いできませんか?」
――回答――
御免なさい。上記質問にはIKUZO様以上の知識はありません。
以前、電子ビームを偏向するのにDACを使った電子ビーム偏向アンプの開発をしていました。高速で電子ビームを偏向する必要がありましたので必然的にマルチビットDACを選択していました。1ビットDACはセットリング時間が遅く、ステップ応答がよくありません。オーディオ用としては全く問題ありませんが、高速電子ビーム偏向では大きなネックとなり、使用した経験がありません。

IKUZO 回答番号 5
タイトル
貴重なデータありがとうございます
ポイント
pt.
アクセス5179
投稿日時16/01/13 08:23
A_P さん
「AD811出力負荷容量(368pF)による寄生振動の除去」貴重なデータをありがとうございます、スレッド違反かもしれませんがA_P さんに質問が、マルチビットDACと1ビットDACでは1ビットDACがグリッジが少ないというのは通説なのでしょうか、マルチビットDACに比べてなぜ1ビットDACがグリッジが少ないのでしょうか?想像ではパルス駆動点が少ない?とはおもいますが、実際にはどうなのか?アドバイスお願いできませんか?

A_P 回答番号 4
タイトル
IKUZO様、ご質問有難うございます
ポイント
pt.
アクセス5078
投稿日時16/01/12 17:28
IKUZO様、ご質問有難うございます。
――質問内容――
「どんな分野での応用なのでしょうか?これが非常に大切になるものというのが見えてないのですが、なにに使用されるおつもりですか?理論だけの話?」
――回答――
特に応用分野はありません。アンプ出力の寄生振動を除去する一つの方法です。以前、DACのグリッチ、デジタルフィードスルーに手を焼いていました。「振動の抑制回路の測定例」では、このグリッチの除去に有効なのかを調べてみました。どちらかと言えば「理論だけの話?」に近いです。
――追記――
「独断、偏見、独りよがり、思い込み」で行動していますので、何に利用するなどは考えていません。昔はラック1本1KW消費していたロジック回路が今ではFPGAで1W以下の電力で実現でき、アイディアがあればFPGAでロジック回路が簡単に出来ます。当時を思えば夢のようです。
「独断、偏見、独りよがり、思い込み」ついでに、もう1例、お付き合い下さい。
OPアンプに容量負荷を付けると寄生振動が発生します。この寄生振動を「アンプのステップ応答における振動の抑制方法」により除去する例です。

――目的――
OPアンプ(AD811)出力負荷容量(368pF)による寄生振動の除去
――ポイント――
AD811は電流帰還タイプのOPアンプで、比較的高速です。このアンプ出力に容量負荷を接続するには直列に抵抗を付けることが常識ですが、あえて直接容量を付けて寄生振動を発生させる。
――方法、結果――  
図1でDAC(AD9754 多分製造中止)の電流出力によりAD811で電流電圧変換する。図2の容量負荷無し出力(水色)をDACにより発生させる。容量負荷(368pF)を付けると寄生振動した出力(青色)になる。この寄生振動した出力の振幅と半周期から階段波形(赤色)をDACにより発生させる。この波形で容量負荷を付けると寄生振動を除去した出力(緑色)になる。
――結論――
AD811出力に容量負荷368pFを接続すると図2の青色のように寄生振動する。振動の半周期と振幅を設定することにより寄生振動が除去(緑色)できる。このように減衰振動するアンプ出力から振動を除去できる。
※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

IKUZO 回答番号 3
タイトル
応用例
ポイント
pt.
アクセス5164
投稿日時16/01/12 07:43
アンプのステップ応答における振動の抑制方法ですが、計算式や原理を詳しくのべておられますが、どんな分野での応用なのでしょうか?これが非常に大切になるものというのが見えてないのですが、なにに使用されるおつもりですか?理論だけの話?

A_P 回答番号 2
タイトル
振動抑制回路の測定例
ポイント
pt.
アクセス5319
投稿日時16/01/11 06:15
--題目--
振動抑制回路の測定例
--目的--
前回投稿した「減衰振動抑制の実施回路例」に於いてDACがグリッチを発生する入力でLCあり/なしによるグリッチをDAC出力で測定する。
--ポイント--
 R-2R(1KΩ/2KΩ)ラダータイプ20ビットDAC入力のMSBの2KΩを1.8KΩと可変抵抗500Ωに交換し、DAC入力&H(7FFFF)から&H(80000)に変化時のDAC出力の誤差が最小になるようにDAC入力MSBの可変抵抗500Ωで調整した。
--方法--
 20ビットDACに&H(7FFFF)と&H(80000)を交互に入力し、20ビットDACと電流電圧変換OPアンプ(AD797)の間に挿入したLC(L1=33uH,C1=4300pF)あり/なしによるAD797出力(DAC出力)の波形(グリッチ波形)をオシロスコープで測定し、その測定波形はオシロスコープのGPIBを通してエクセルに記録する。これらの制御はエクセルのVBAで行う。
 前回の投稿「減衰振動抑制の実施回路例」は最大振幅でDAC出力立下り時の減衰振動を除去するためDAC入力を&H(00000)と&H(FFFFF)の間に&H(8F457)を設定し、同様にDAC出力立ち上がり時の減衰振動を除去するためDAC入力を&H(FFFFF)と&H(00000)の間に&H(708FE)を設定した。
今回の投稿は&H(7FFFF)と&H(80000)の差が1であるため、DAC入力の&H(7FFFF)と&H(80000)の間に&H(7FFFF)を設定し、同様にDAC入力の&H(80000)と&H(7FFFF)の間に&H(80000)を設定した。
注)DAC入力の設定値はストレートバイナリ。
  --結果--
 図1は{DAC入力&H(7FFFF)、&H(80000)}と{DAC入力&H(80000)、&H(7FFFF)}で、LCあり/なしのDAC出力波形である。ピンク色はLCありのDAC出力波形(3.5mVpp)で、LCなしのDAC出力波形は水色の波形(53mVpp)であり、同様に黄色の波形はLCありDAC出力波形(3.1mVpp)で、LCなしのDAC出力波形は茶色の波形(79.9mVpp)である。
 図2はLCありのDAC出力波形で3.5mVppの残留波形がり、 図3はLCありのDAC出力波形で3.1mVppの残留波形がある。
 測定結果をまとめると以下のようになる。
DAC入力    FFF→80000(rise)  80000→7FFFFfall)
DAC出力(LCなし) 53.59mVpp    79.94mVpp
DAC出力(LCあり) 3.53mVpp     3.14mVpp
LC効果(LCあり/LCなし) 15.2      25. 5
--結論--
前回の投稿「アンプのステップ応答における振動の抑制方法」で減衰振動のあるアンプの減衰振動の除去をLTspiceシミュレーションより確認し、次の投稿「減衰振動抑制の実施回路例」は20ビットDACと電流電圧変換OPアンプ(AD797)の間にLCを挿入し、減衰振動を発生させ、このDAC出力に発生した振動を除去できることを示した。
今回の投稿「振動の抑制回路の測定例」はグリッチが最も大きくなる7FFFFから80000をDACに入力し、LCあり/なし時のグリッチを測定した。LCありの効果は7FFFF→80000(rise)で(LCあり/LCなし)15.2倍、80000→7FFFF(fall)で(LCあり/LCなし)25.5倍改善した。LCありで3.5mVpp、3.1mVppの残留波形を更に低減させるには回路実装を含めた考慮が必要となろう。 
※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

A_P 回答番号 1
タイトル
減衰振動抑制の実施回路例
ポイント
pt.
アクセス5388
投稿日時15/12/21 04:58
題目
減衰振動抑制の実施回路例
目的
DACに挿入したLCにより減衰振動したDAC出力の減衰振動を除去する。
ポイント
自作した1KΩ・2KΩのラダータイプの20ビットDAC入力をFPGAにより制御し、減衰振動を除去する。
方法
20ビットDACと電流電圧変換OPアンプ(AD797)の間にLCを挿入する(L1=33uH,C1=4300pF)。20ビットDACの出力抵抗は1KΩである。
20ビットDACの入力はFPGA(xc3s250 vq100)により制御し、FPGAはRS232を通してパソコンと接続する。20ビットDACの出力はオシロスコープで測定し、その測定波形をGPIBからエクセルに記録する。これらの制御はエクセルのVBAで行う。図1は20ビットDAC(R-2R)テスト回路図である。
FPGAは&H(00000)と&H(FFFFF)を42uS毎に発生させ、20ビットDACに入力する(最大振幅)。FPGAはDAC出力立下り時の減衰振動を除去するため&H(00000)と&H(FFFFF)の間の(1.18456uS:計算値)に&H(8F457)を設定する。同様にFPGAはDAC出力立ち上がり時の減衰振動を除去するため&H(FFFFF)と&H(00000)の間の(1.18456uS:計算値)に&H(708FE)を設定する。注)DAC入力の設定値はストレートバイナリ。
  結果
 図2は最大振幅でのDAC出力の立ち上がり{DAC入力&H(FFFFF)、&H(708FE)と&H(00000)}、下がり{DAC入力&H(00000)、&H(8F457)と&H(FFFFF)}で、減衰振動を除去する調整を行い、LCあり・なしのDAC出力波形である。ピンク色のLCありfall波形は減衰振動を除去する調整後のDAC出力立下り波形で、LCがないと黄色の波形(LCなしfall)になる。同様に緑色のLCありrise波形は減衰振動を除去する調整後のDAC出力立ち上がり波形で、LCがないと茶色の波形(LCなしrise)になる。
 図3は調整前後のDAC出力波形(最大振幅)で、青色は立ち下がり調整前の減衰振動のある波形で、調整後の波形はピンク色で示す。同様に黄色は立ち上がり調整前の減衰振動のある波形で、調整後の波形は水色で示す。
  結論
前回の投稿「アンプのステップ応答における振動の抑制方法」で減衰振動のあるアンプの減衰振動の除去をLTspiceシミュレーションより確認した。
実施回路例は20ビットDACと電流電圧変換OPアンプ(AD797)の間にLCを挿入し、減衰振動を発生させ、このDAC出力に発生した振動を除去できることを示した。

※このデータをダウンロードするにはログイン(ユーザー登録)が必要です。

スレッド一覧に戻る



コメント投稿

* コメントの投稿にはログイン(ユーザー登録)が必要です。


タイトル

* 50文字以内
『初心者でも大丈夫!』
(記事の内容が初心者向けの場合はここにチェックをしてください。)
本文

* あと6000文字

ファイル1
ファイル2
ファイル3

* 5MBまでのGIF, JPEG, PDF ファイルが投稿できます。

* 入力に時間がかかると、セキュリティのためにログイン情報が破棄されて書き込みが処理されないことがあります。投稿内容確認ボタンを押す前に、一旦文章をクリップボードにコピー(本文入力欄をクリック後Ctrlキー+A、Ctrlキー+Cと連続で押す)して、再貼り付けできるようにしておいて下さい。

ゲスト 様
投稿する場合はログインして下さい。 初めての方はこちらからご登録ください。

お知らせ
ユーザーランキング

* ランキング情報は約24時間おきに更新されます。


  個人情報保護方針会社情報お問い合わせ

copyright(c) 2010 - 2017 ITmedia Inc.