第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 と計算する事ができます。ちょっと詳しい DAC についての資料を読むと、式川が独り歩きして現 れることが度々ありますが、実はこれだけの前提条件の下に成り立っている式なのです。 なお、量子化誤差の分布が一様という仮定については、必ずしも成り立つものではありません。例えば 入力が 0 の場合、あるいは ADC との量子化ステップとびったり重なる信号が入力された場合、量子化誤 差は発生しません。しかし、現実の ADC ではアナログ素子の影響により入力信号に対してランダムな雑 音が加算されていますから、これを加えた量子化誤差は一様であるとみなして構わないと言えます * 7 。 式に川を使用して実際の量子化ビット数と THD 十 N の関係を求める際には、もうひとつ注意が必要 な点があります。れビット ( れ ~ 2 ) の 2 進数が表せる範囲は一 2 ← 1 ー 1 ( 表 2.5 ) であり、 これを符号付き固定小数点数としてみなした場合に、正側の表現可能範囲が△ = 1 / 2 " ー 1 だけ小さくな ります。 表 2.5 n ビットの 2 進数と符号付き固定小数点数として見た場合の実数との対応 れ一 1 = 1 ー△ = 1 - 2 △ れ一 1 符号つき整数実数 0 れ一 1 れ一 1 れ一 1 0 れ -1 ー 2 ) / 2 ー 1 ) / 2 - 1 ) / 2 " 1 ー 1 十△ そのため、表現できる最大正弦波の振幅は 1 ー△ = 1 のようになります。 THD 十 N = 2010g10 ー 1 / 2 " ー 1 となり、実質的な THD 十 N は式 [ 2.2 】 △ / V - 1 / 2 。ー 1 ) / の そのため、求める THD 十 N は式に川には従わず、 割り当てると、△ = 2 となりますが、信号振幅も同じく 1 となります。 また、量子化ビット数が lbit の場合に関しては、 2 進数の 0 を実数の一 1 、 2 進数の 1 を実数の 1 として 当然ですが、量子化ビット数が小さいほど式 [ 2 川と式に囘、 [ 2.21 の値は乖離していくことがわかり これらを加味して、量子化ビット数と THD 十 N の関係を求めると、表 2.6 のようになり ー 1 ・ 76 [dBl••・ [ 2 ・ 21 1 / THD 十 N = 20 logl() 2 / ・ V72 ます。 ます。 となります。 46 関の信号を加算することもあります * 7 デジタル信号に対しては、量子化誤差を均一化して THD 十 N を改善するために、敢えてデイザと呼ばれる入力信号と無相
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 本稿では、オーディオ用 DAC として近年一般的に使用される△ DAC のしくみについて、 Scilab によるシミュレーションと、 FPGA による実装を行いながら、学んでいきます。第 1 回の 今回は、 Scilab によるシミュレーションの準備と、二次までの△芝変調器のシミュレーションを CKashiken 著 ] 執筆の動機 2.1 はじめに 行ってみました。 31 DAC アナログ部分の設計を行い、最終的に DAC 内蔵ヘッドホンアンプを製作する予定です。 芝変調の基本的な考え方について学んでみます。次回以降は、より高次の△芝変調や、 FPGA への実装、 第 1 回の今回は、手始めとして Scilab による一次、二次△芝変調の特性シミュレーションを行い、△ 践的に理解していくことを目指していきます。 そこで本稿では、 Scilab によるシミュレーションと FPGA への実装を通じて、△変調のしくみを実 と、こちらは高度に学術的な内容で、一筋縄では理解し難いものとなっています。 た DAC の特性についての評価は行われていません。また、△芝 DAC の専門書 [ 1 司を手に取ってみる のみで手軽に D / A 変換を実現するということに主眼を置いており、△変調のしくみの解説や、実装し △芝 DAC を FPGA に実装している先行例は既にいくつかあります [ 22 Ⅱ 23 ] 。しかし、いずれも FPGA 本稿の目的 式の DAC ( △芝 DAC) について、学んでみることにしました。 まり見かけません。そこで、 DAC のしくみをきちんと理解したいと思い、近年主流となっている△方 一方で、 DAC 内蔵ヘッドホンアンプで使用する DAC そのものに関しては、自作を行っている例をあ WA18740 を使用して DAC 内蔵ヘッドホンアンプを自作したことがあります。 えてきています。私自身も 3 年ほど前に、当時流行っていた Wolfs 。 n 社 ( 現 CirrusLogic 社 ) の DAC メーカー各社が続々と新製品を発売するのに加え、個人でも設計が可能なため、自作に挑戦する方が増 プルオーディオプレイヤーとデジタル接続できるようにした DAC 内蔵ヘッドホンアンプは、オーディオ ヘッドホンアンプ、特に D/A 変換器 (Digital to Analog Converter ; DAC) を搭載して PC やポータ 昨今、ハイレゾプームの影響もあり、ポータブルオーディオが盛り上がりを見せています。その中でも
2.2 一般的な DAC の構成と諸特性 DAC を動作させるクロックのゆらぎである、ジッタの影響を受けやすいという課題があります。 ・ンツタの影響 PWM 方式では出力が lbit のため、素子ばらっきによる影響は発生しません。一方、 の役割です。図 2.5 に△変調器を採用した DAC のプロック構成を示します。このうち DAC と記載し これに対し、量子化誤差をうまく信号帯域外に追いやりながら量子化ビット数を下げるのが△芝変調器 ようものなら、そこでの量子化誤差が増えてしまい、システム全体での性能が低下してしまいます。 約は多少緩和されます。一方、単純に量子化ビット数を下げようと、入力データの下位ビットを切り捨て じるものでした。つまり、必要とされる量子化ビット数が小さければ、素子ばらっきやジッタに対する制 先に述べた各 DAC の課題は、求める分解能、すなわち量子化ビット数を大きくしようと思えばこそ生 るものだからです。 していません。これは、△ DAC という表現が、先に述べた DAC の変換方式とは、抽象度として異な こまでで、 DAC の方式について述べてきましたが、本稿でテーマとしている△ DAC がまだ登場 △ DAC とは のスイッチングを行う必要があります。このため、クロックのジッタに対してはよりシビアになります。 PWM 方式の DAC で 4bit の精度を実現しようとすると、 24 = 16 倍の速度で内部回路を動作させ、出力 化してしまう可能性のあるジッタは大敵です。ジッタの影響は他の方式の DAC にもありますが、例えば PWM 方式において、出力電圧を決定するのは H 出力をしている時間の幅です。このため、これが変 ている部分は、 こまでで述べたどの DAC でも使用することが可能です。 〇△変調を使用せず高分解能の DAC を使用した場合 /24bit 48kHz 〇△変調を使用せず量子化ビット数を落とした場合 アナログ的に性能を出すことが困難 24bit DAC LPF アナログ的に性能を出しやすい 48kHz /24bit 48kHz 下位 bit / 低 bit 低 bit 切リ捨て DAC ここで歪を作ってしまう LPF 〇△変調を使用して量子化ビット数を落とした場合 アナログ的に性能を出しやすい 3MHz 3MHz 48kHz / 24b it オーバー /24bit △ / 低 bit 低 bit サンプリング LPF 24kHz カットオフ アナログ的に 性能が出づらい 歪んでしまう 低 bit DAC によリ カットオフ 24kHz 十分な性能 必要な帯域内では カットオフ 24kHz 変調器 帯域を広げる △ E 変調のために DAC 歪成分を必要帯域外に 追いやリながら低 bit 化 図 2.5 △変調器を採用した DAC のプロック構成 方式では出力を 1 と一 1 ( 0 ) の二値に絞ることで、 DAC としての原理的な非線形性をなくしています * 1 。 これを突き詰めて、 DAC の分解能を lbit まで減らしたものが、 1bitDAC と言われるものです。この * 1 実際には出力を 2 値に絞ったとしても、 は存在します トランジスタがオンする際の過渡波形や電源のノイズなど、アナログ的な非線形性 35
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 市販されている DAC では、二次 ~ 五次の△芝変調器と、 うですは司。 DAC の諸特性 Iæ5bit 程度の DAC を組み合わせているよ 前節まででは、様々な DAC の方式について紹介しました。続いて、 DAC に求められる諸特性につい ても整理しておきましよう。 オーディオ用の DAC では、汎用の DAC で求められる微分直線性 (Differential Non-Linearity ; DNL) や積分直線性 (lntegral Non-Linearity ; INL) といった静的特性 ()C 特性 ) ではなく、以下に述べる ような動的特性 ()C 特性 ) で特性が規定されています。 周波数特性 DAC の特性としてまず初めに挙げられるのは、周波数特性です。 で再現されるかを表す指標です。 これは入力信号がどの周波数範囲ま 昔ながらのアナログフィルタと同様に、周波数特性がフラットな帯域 ( 通常 1kHz など ) と比較して振 幅が一 3dB ( エネルギーが半分 ) となる周波数として定義することもありますが、 DAC は内部のデジタ ルフィルタ ( インターポレーションフィルタ ) によって単純ではないカットオフ特性を持っている場合も 多く、データシート上ではグラフで示されていることが一般的ですは司。 注意しなくてはならないのは、周波数特性が高い周波数まで伸びている DAC が、すなわち優秀な DAC という訳ではない点です。オーディオ用 DAC にせよ、その他の汎用 DAC にせよ、必要な帯域は その DAC を使用するシステム側で決められているべきで、システムとして求められる帯域の中で、後述 する THD 十 N や SNR といった特性の良いものが優秀と言えるでしよう。 THD + N TotaI Harmonic Distortion 十 Noise (THD 十 N) は、アンプや信号処理で生じる高調波歪の和 ( 全高 調波歪 ) と、ノイズを足し合わせたものを、入力信号との比で表したものです。 数式として表すと、信号成分の電力を S2 、信号の第乞高調波の電力を D? 、ノイズ成分の電力を N2 として、 . D? 十 N2 THD 十 = S2 と定義でき、通常は百分率区 ] またはデシベル値 [ dB ] として示されます。 高調波歪とノイズはそもそも異なるものであり、測定上別々に取り扱うべきではありますが、昔ながら のオーディオアナライザでは、測定信号から、入力信号成分をノッチフィルタで取り除いた残りの電力を 測定して THD 十 N を求めていたため、これを分離することができませんでした。 最近では FFT をベースとした測定器のお陰で THD と N を分離して測定できるようになりましたが、 今でも THD 十 N という指標が多くの場面で使用されています。 36
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 符号なし整数バイナリコード温度計コード 表 2.1 3bit のバイナリコードと温度計コード 7 6 5 4 3 2 1 0 111 110 101 100 011 010 001 000 1111111 0111111 0011111 0001111 0000111 0000011 0000001 0000000 出力波形はキャリア周波数と同じ周波数ののこぎり波または三角波と、入力データをコンパレータで比 較することで簡単に生成することができます ( 図 2.4 ) 。図 2.4 を見ると、入力データの値が大きくなる と、出力 PWM のデューティが大きくなっていることが分かります。 最近ではマイコンに PWM 生成モジュールが内蔵されていることも珍しく無いため、 こちらもしばし ば自作で使われる方式です。 入力データ 比較用のこぎり波 出力 PWM 図 2.4 PWM 方式 DAC の構成 PWM は出力が H / L の lbit であるため一見難しそうですが、出力電圧はデューティすなわちキャリ ア周期の中で H 出力の幅が何段階あるかで決まるため、キャリア周波数をサンプリングレートとするマ ルチビット DAC のように考えることができます。 一般的な DAC の課題 こまででいくつかの DAC の方式を紹介してきましたが、どの DAC も分解能を上げるために つかの課題があります。 いく ・素子ばらっきの影響 DAC の分解能を上げるためにまず課題となるのが、素子間のばらっきです。 例えば R ー 2R 方式の DAC は、各抵抗の値が全て同じであることを前提に出力電流が設計通りに出力さ れるようになっています。また、カレントセグメント方式の DAC も同じく、各電流源の出力電流が設計 通りになっていることが前提になっており、この前提が崩れると出力値に誤差が発生し、出力波形に歪が 発生することになります。 高分解能な DAC では、半導体内の素子のばらっきを抑えるため、製造工程の中でレーザーを使って素 子の調整を行うレーザートリミングと呼ばれる技術を使用することもありますが、この工程のためコスト が大幅に上がる要因となってしまいますは司。 34
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 前提知識 本稿は、電気電子工学を専門とする筆者が、△芝変調について学びながら執筆していくため、おおよそ 以下の知識があることを前提としています。記事内で説明しきれない部分に関しては、適宜参考文献を挙 ・電気電子工学の知識 げていくつもりですので、参考にして頂ければと思います。 また、逆にデジタル信号処理が専門の方からすると、当たり前すぎることも細かく書いている部分があ ー FIR/IIR フィルタ ー z 変換 ー離散フーリエ変換 (FFT) ・基本的なデジタル信号処理の知識 フーリエ変換、ラブラス変換 電気電子回路一般 2.2 一般的な DAC の構成と諸特性 るかと思いますが、そちらに関してもご容赦いただければと思います。 はじめに、一般的な DAC の構成と、その諸特性について確認してみましよう。 一般的な DAC の構成 オーディオ用として使用される DAC の実現方法には、 R-2R 方式 いくつかの種類があります。 R-2R 方式の DAC は、構造が簡単なことから、自作の DAC としてよく使われる方式です。実際の構 成方法は、出力が電流出力か、電圧出力かで 2 種類ありますが、 出力の電流加算型について考えます。 電流加算型 R-2R DAC の基本構成は図 2.1 のようになります。 l=Vref/R l/2 R l/4 R l/8 R 2R Vref 2R 2R 2R こでは、構成をイメージしやすい電流 2R 図 2.1 電流加算型 4bit R-2R DAC の構成 おおまかな構成としては、基準電圧源 ef に対し、並列に 2R の抵抗で終端または出力端子に接続、直 32
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 引Ⅱは引 input output 0.8 0.6 04 epm!ldwv ー 02 ー 04 ー 06 ー 0.8 02 0.3 0.8 07 06 0.5 Time [ms] 09 図 2.36 4bitDAC を使用しニ次△変調を行った出力時間波形 1bitDAC を使用した場合の図 2.35 は、図 2.27 と見比べて一見同じに見えます。また、 4bitDAC を使 用した場合の図 2.36 は図 2.28 とは多少異なって見えますが、どちらの方が良い性能なのかは全く見て 取れません。 この様に、△変調器の評価は時間軸では行うことはできず、これが△芝 DAC のしくみを直感的に理 解しがたい原因となっています。一方で、先程までに見てきたように、 FFT を行い周波数軸で解析する と、次数や DAC の量子化ビット数による違いがきちんと現れるので、なんとも面白いものです。 2.5 今回のまとめ 今回は、△ DAC の基本的な仕組みの確認と、 Scilab による二次△芝変調器までのシミュレーション を行いました。シミュレーションにより、△変調とオーバーサンプリングを使用することにより、量子 化ビット数の小さい DAC でも信号帯域の性能 (THD 十 N) を向上させることが可能なことが分かりまし た。これであれば、自作として製作可能な量子化ビット数の小さな DAC でも、信号処理次第で実用的な 性能を求めることができそうです。 一方で、 MarmaIade は基本的にハードウェア本のはずなのですが、今回はいろいろ間に合わなかった こともあり、ハードウェアが一切出てこない回になってしまいました。また、 MOD2 については安定性 についても書きたかったのですが、時間切れとなってしまいました。 次回以降、今回書ききれなかった部分の補足を行うとともに、△変調器を FPGA に実装するための 方針や、 DAC アナログ部分の設計など、ハードウェアも含めた内容で進めていければと思います。 78
2.3 シミュレーションの第一歩 0 input output ー 20 一 M8N 、 S 」 8 三 le 」 pedS 」 0MOd ー 140 ー 180 ー 200 0 10 000 20 000 30 000 40 08 50 000 60 000 70 000 80 000 90 000 Freq uency [Hz] 図 2.18 サンプリングレート 192kHz の時の量子化誤差 (24kHz ローパスフィルタ後 ; ハニング窓 ) これより、サンプリングレートを上げることにより、必要な信号帯域が同じであれば帯域内の THD 十 N を低減させられることが分かりました。また、先程数式で計算したとおり、サンプリングレートを倍にす ると、およそ 3dB ずつ THD 十 N が低減していることが見て取れます。 こまでのシミュレーションで、アナログ信号を A / D 変換する場合について、以下のことがわかりま 、一 0 子化ビット数が高いほど THD 十 N は向上する ーおよそー 6.02 x ( 量子化ビット数 ) ー 1.76 い B ] ・サンプリングレートは全帯域の THD 十 N には寄与しないが、必要な周波数帯域が一定であればサ ンプリングレートが高いほど帯域内の THD 十 N は低減する ーサンプリングレートを倍にすると -3dB これと同じことは、デジタル領域で信号の量子化ビット数を変更する場合にも起こります。△芝 DAC では、 DAC プロックとしてアナログ的に性能を出しやすい高々 5bit 程度の DAC を使用しますが、人力 された 16bit や 24bit のオーディオデータを、そのまま DAC の量子化ビット数に合わせて再量子化する と、表 2.6 で求めたように THD 十 N が悪化してしまいます。 そこで登場するのが△ DAC の肝である、△芝変調です。 61
付録 A 参考文献 は引 ROHM, 2012 Appllication Note 降圧コンバータの PCB レイアウト手法 http://rohmfs . ro 血 . com/jp/ products/databook/applinote/ic/power/switching—regulator/converter—pcb—layout— appli-j ・ pdf 第 2 章 は司和保孝夫、安田彰 , 2007 △芝型アナログ / デジタル変換器入門丸善 は司安田彰、岡村喜博 , 2014 ハイレゾオーディオ技術読本オーム社 は司 TEXAS INSTRUMENTS, 2001 限界性能への挑戦と音質へのこだわり http://www.tij ・ co ・ jp/jp/1it/m1/jajt042/jajt042. pdf は 8 ] TEXAS INSTRUMENTS, 2001 デジタル・オーディオの測定方法 http://www ・ tij ・ co ・ jp/jp/1it/an/jaja131/jaja131. pdf は釧 TEXAS INSTRUMENTS , 2001 デジタル・オーディオ用 DAC のダイナミック特性テスト http : //www.t ij ・ co ・ j p/j p/lit/an/ jaja016/jaja016.pdf Analog Devices, 2009 「 S/N 比 = 6.02N 十 1.76DB 」、その意味と利用上の注意点 http://www ・ analog. com/media/jp/ training-seminars/tutoriaIs/MT-001-jp. pdf 1 ] Analog Devices, 2009 シグマ・デルタ ADC/DAC の原理 http: //www ・ analog. com/media/jp/ technica1-documentation/app1ication-notes/AN-283-jp. pdf 卩 2 ] FPGA マガジン編集部 , 2015 ハイレゾ 24 / 32 ビット ! オーディオ x FPGA ( FPGA マガジン No. 9 ) [ 23 ] DEO で FPGA マスターをめざせ ! DSD でヘッドフォン駆動 https ://sites ・ google. com/site/de0defpga/ hardware-extension-proj ect/dsdodiodeheddofonwo-mingrase に 4 ] 齊藤宣一 , 2015 Scilab 超入門 http://www. infsup ・ jp/saito/materia1s/15sci1ab-intro. pdf 司 SciIab 0111 ⅲ e Help, 2017 WeIcome to SciIab 6.0.0 https://help.scilab.org/docs/6.0.0/en-US/CHANGES. html [ 2 司小野測器 FFT アナライザについて 7. FFT と時間窓 ( ウインドウ ) https://www. onosokki. co. jp/HP-WK/ c—support/newreport/ana1yzer/FFT4/fft-11. htm [ 2 司鏡慎吾 , 2016 やる夫で学ぶディジタル信号処理 http://www. ic. is . tohoku ・ ac ・ jp/-swk/lecture/yaruodsp/ main . html 88
第 2 章 SciIab と FPGA で学んでみる△ DAC 第 1 回 lli_rms = err_rms t hdn 0 .7067815 0 .0038376 ー 45 .304578 input output ー 20 ー 40 一 M8N あ」 8 三 le 」 pedS J9M0d ー 100 ー 120 ー 160 ー 180 ー 200 10 Frequency [Hz] 図 2.26 4bit DAC を使用し一次△変調を行った出力スペクトル ー xn_rms err—rms thdn 0 .6184338 0 .0001777 ー 70.832199 この結果から、オーバーサンプリングと△芝変調を組み合わせることで、 lbit の DAC でもある程度ま で THD 十 N を向上できることが見えてきました。また、 4bit の DAC でも同様に、オーバーサンプリン グと△芝変調によって更に THD 十 N を向上できていることが分かります。 なおここでは導出しませんが、 MODI を使用した場合、サンプリングレートを倍にすると、理論的に は THD 十 N が -9dB になります。その為、 26 = 64 倍のオーバーサンプリングを行っている今回の場 合、約 54dB の改善が行えるはずで、これを式囘の値と組み合わせると、 1bitDAC の場合で約一 56dB 、 4bitDAC の場合で約一 79dB 程度の値が見込まれます。これと比較すると、今回のシミュレーションによ る値は理論値に足りていないことが分かりますが、元々△が大きい lbit や 4bit では理論値とシミュ レーション値に差が出やすい事を考えると、ある程度近い値になったと言えるかと思います。 68