色々で調べてみるとシングルビットの多次デルタシグマについての資料は多いですがマルチビットについての資料はあまり多くありません。特許をあさると色々出てくるのですが、なかなか読み解くのが難しいです。自分は数学苦手なので数式を見てもどうしてそうなるのかが直感的に全く理解出来ません。できればシミュレーションで色々やってみたいのですが、残念ながら誰もが追試できるようなシミュレーションで検討している内容は殆ど見かけないです。本当は見て触って動作を知りたいのですが…。
そこで自分でLTSpiceでマルチビットデルタシグマのシミュレーションをやってみましたのでここにまとめておきます。シミュレーションならば数式だけだとよくわからない次数やマルチビット化による挙動の違い、各部動作や波形についても細かく見ることが出来ます。技術的には全く新しくない内容ですが何らかの参考になればと思います。
先に結論を言ってしまいますが、マルチビット化は部品点数や手間がかかる割に特性向上が僅かなので基本は次数を増やすほうが良かったです!
マルチビットデルタシグマとは
デルタシグマ変調の特性を向上させる方法にはいくつかの方法があります。
- シングルビット多次デルタシグマはノイズシェーピングの帯域内ノイズを出来るだけ高域に押しやる方法
- マルチビットデルタシグマはデルタシグマ変調をマルチビット化してノイズシェーピングの振幅を減らす方法
- シングルビットデルタシグマのマルチビット拡張でノイズシェーピングの振幅を減らす方法
このような違いがあります。下の2つの違いはわかりにくいですが、デルタシグマ変調ごとマルチビット化するのか、マルチビット部とデルタシグマ変調部を分離するかの違いです。文章でわかりにくくても図やシミュレーション回路を見たほうが違いがわかりやすいかもしれません。とりあえずどの方法もデルタシグマ変調で発生する帯域内ノイズを減らそうという目的は共通しています。
これを発展させるとPCM179Xシリーズのようなマルチビットデルタシグマを更にマルチビットで拡張したような構成になりますね。BBのアドバンスドセグメントについてはこの資料が詳しいです。
http://www.tij.co.jp/jp/lit/ml/jajt042/jajt042.pdf
シングルビット1次デルタシグマのシミュレーション
下記リンク先からの引用ですが、ここの図が一番見やすかったので紹介したいと思います。アナログでシミュレーションする場合の1次デルタシグマのブロック図です。これをLTSpiceでシミュレーションするとこうなります。
大体こんな感じのデータになります。
LPF込みなのでシェーピングノイズは既に抑圧されており少ない状態になっていますが、これは帯域内の限界SNと歪率特性を見るためにそのようにしています。実際のシェーピングノイズの具合や各部の波形などはLTSpice用ファイルを公開しておきますので各自DLして実際にテストしてみてください。
シングルビット3次デルタシグマ
このブロック図は二次です。
同じように増やしていきますと三次では発振してしまいます。こちらのシミュレーションではC4を2000pにして積分器の立ち上がり速度を抑制しています。このようにしないと立ち上がり直後で電源電圧に張り付いて変調がストップしてしまいます。積分の速度を落とすことで発振を抑制する動作もシミュレーションならよくわかります。3次になると一気にSNが上がります。歪率も非常に低くて良い特性が得られています。
ここまでは既存のサイトでもシミュレーション事例がありますので、追試するのは難しくありません。ここから先が本記事の本番です!
マルチビット1次デルタシグマ
これがマルチビット化したデルタシグマ変調のブロック図です。1次だとブロック図を見ると非常にシンプルで、1bitの比較器のところがマルチビットになっているだけなのですね。これで正しく動くのかブロック図を見てもよくわからないですが、これを実際にシミュレーションしたのが次の画像です。
この図だと3bit、8階調のマルチビットADC/DACになっています。ADCは各スレッショルドを直接入力して比較するという内容になっています。SNは若干良くなっていますが3bitくらいだとノイズは1/8なので18dB位の改善ですね。
そのかわり歪率は若干悪化しています。階調の段差の部分がデルタシグマ振幅の上限付近を通過するためマルチビットの段差で変調度が下がってしまうことが理由だと思います。いろいろ考えたのですが根本的にこの部分を改善して特性を確保するのはなかなか難しそうです。
ということでデルタシグマ変調のマルチビット化はもっと階調を細かくしてノイズや歪を抑え込まないと効果が薄いということになりそうです。この状態だと回路規模が大きい割には1bitの3次デルタシグマに完敗です。次数を増やす方法と比較すると手間がかかる割にデメリットが目立つ結果となりました。LTSpiceだとこれ以上は手入力で大変ですが、これを8bit位にすれば一気に48dBほどSNも上がるはずなのでマルチビットの優位性も出てきそうですが…。
ちなみにこの回路の出力波形は次のような感じです。赤がLPF前、緑がLPF後です。赤の波形では段差のところで変調度が下がっているのがわかります。密度の粗い部分は情報量が少なく正しい波形を再現できない=歪率が悪化しているということでしょう。同じような方式のDSDも振幅いっぱいまでの波形を変調すると歪率が悪化しますのでそれと同じだと思われます。
また赤色の波形が6階調な理由は入力振幅が小さいからです。フルスケールでサイン派を入力すればきちんと8階調になります。
シングルビット1次デルタシグマ+マルチビット拡張
タイトルがややこしくなってきました。これはブロック図がないので何が違うのかは下のLTSPICEの回路図を参考にしてください。先程のマルチビットデルタシグマとの違いは、初段でマルチビット部とデルタシグマ部に信号分割していることです。
特性はマルチビットデルタシグマと似ています。出力も若干落ちてますが最終合成の/2が不要だったせいです。
この回路の出力波形は次のような形です。デルタシグマ変調の出力レベルをもっと下げないとこの方式のメリットが最大限に発揮されないのですが、意外とSNは通常のシングルビットより若干改善されています。そのあたりを追い込めばSN特性はもう少し良くなりそうです。
そして初段で分割されたマルチビットとデルタシグマに分割された波形は次のような感じです。この2つを合わせると元波形になります。赤色の波形が1bitでデルタシグマ変調されます。全体をマルチビットに分割する方法と似てはいますが回路の構成は別です。
赤色で入力される波形のレベルがマルチビットによって間引かれており振幅が低い状態にとどまっています。そのため常に変調度が高い状態になっていますので、そのあたりが特性の良い理由かもしれません。
マルチビット3次デルタシグマ+マルチビット拡張
最強セットと思われる組み合わせを試してみました。
期待したのですが結果は全然良くありません!発振しているみたいなピークも見られますし歪率もとんでもなく悪いです。なんでも組み合わせれば良いわけではない、ということでしょうか。なかなか難しい問題です。
どの組み合わせがまずいのか調べてみます。
マルチビット3次デルタシグマ
この組み合わせは問題ありません。なかなか良い特性でした。傾向は1次と同じでマルチビット化によって歪率が若干劣化し、SNが若干向上するというものです。そして次数が上がることによって歪率の悪化具合も低く抑制されています。次数の向上はちょうどアナログアンプで言うNFB量が上がるのと似た効果があるようです。こういうこともシミュレーションをやってみるとよくわかりますね。
シングルビット3次デルタシグマ+マルチビット拡張
この組み合わせでは歪率が悪化してしまいました。各種組み合わせでシミュレーションをした結果大きな劣化要因となっているのはこの3次デルタシグマとマルチビット拡張の相性が悪いこと、それが歪率悪化の原因のようです。ただし定数の追求などはやっていないので、この構成が絶対ダメとは言えませんが、技術の組み合わせも各種特性を考慮に入れないと上手く行かないようです。
3次デルタシグマは安定性が低いので入力波形の追従性が悪いのでしょうか?最終段の合成波形を見るとマルチビットとデルタシグマの合成部で波形が乱れています。入力波形はかなり高周波成分を含むのですがそのカドの部分がきちんと再現できていない感じです。3次だとSNがいい代わりに再現の速度が遅いのでしょうか。思い出すのは3段増幅型のオペアンプです。増幅段が多いので高域の位相特性が悪く、矩形波応答が乱れて発振しやすい、これらの特徴がとてもにています。
今回の結果だけで言えばマルチビット拡張と組み合わせるなら、デルタシグマは1次または高速化が出来る範囲の変調に抑えておくことが特性の確保に重要ということになりそうです。
シングルビット1次デルタシグマ+レベルマッチマルチビット拡張
デルタシグマの振幅をマルチビットの1階調と合わせた構成も試してみました。きっちりレベルマッチングを取った形です。そしてもう一つの改善点が最終合成で/2をしていないので信号レベルが下がってません。こっちが正しい合成ですね。
SNは1次デルタシグマのマルチビット系ではこれが一番良いです。歪率はマルチビットデルタシグマと同等ですが、デルタシグマ自体の振幅が下がったことにより入力波形の変調度が下がっていることが要因でしょう。劣化要因自体はマルチビットデルタシグマと全く同じ理由だと思われます。変調度も同等なので劣化程度もほぼ同等です。3次の合成の時のような大幅な劣化はありません。やはり1次だと素直な印象です。
出力波形は次のようになっています。見た目はマルチビットデルタシグマと見分けがつかないですが、SN特性はこちらのほうが若干優れており、同じマルチビット化でも同じ特性にはならないのが面白いです。
まぁここまでやっても3次デルタシグマ単体のほうが余裕で特性が良いですね…。特に歪率はマルチビットを絡めるとどうしても劣化します。
LTSpice用データのダウンロード
参考リンク
ΔΣ変調を使用したA-D/D-A変換回路はどっち?
http://cc.cqpub.co.jp/system/contents/1267/
An Introduction to Delta Sigma Converters
http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma.html
プログラムでΔΣ変調器
https://bluefish.orz.hm/sdoc/deltasigma.html
44.1kHz PCMを2.8MHz 1bitに変換する
http://community.phileweb.com/mypage/entry/2721/20170528/55889/
こんにちは。私は測定用に低歪の発振器が作れないかと、デルタシグマに手を出しました。デジタル(PCM)からデジタル(DSM)への変換ですが、PCMの解像度が高いので、アナログからのデジタル領域での変換とも言えます。
教科書の通り、1ビットのDSMは3次以上で発振します。但し、これは変調度が50%を超えるからです。引用されているCQ出版も、1次は80%の変調度になっています。このままだと3次以上は必ず発振します。50%以下であれば、適切な定数で問題なく動作します。私は7次を使っています。「R. Schreier and G.Temes,ΔΣ型アナログ/デジタル変換器入門, 丸善」に書かれている7次のCRFB回路そのままです。
この現象は、おそらく単純な理由です。多次の1ビットDSMが最大振幅を出そうとすると、ずっと1を出し続ける事は出来ないので必ず0が混じります。四ビット単位で考えると、大抵は「1110」という具合に、1が3個続くと0が一個入ります。こうすると最大値は1+1+1+0=3となります。最小値は普通「0001」で、0+0+0+1=1です。結局、多次の1ビットDSMは本来可能な最大振幅の4から0ではなく、3から1までしか振れないのです。これは一般的なもっと長いビット長でも同じです。
DSMの文献ではあまり触れられていませんが、1ビットの多次は変調度を50%以下にする必要があります。マルチビット化していくと、この変調度の制約は緩くなるので、結果としてSNは最大で6dB良くなります。但し、デジタル領域では色んな演算が可能なので、それらを駆使すると、この変調度の壁は破れます。なので今は、DSM自体は単純な1ビットが良いのかな、と思ってます。
如月さん
補足ありがとうございます。文献の書籍まではチェックしてないので完全な回答が難しいのですが、今分かる範囲でご回答したいと思います!
変調度は50%までというのはDSDもそうなっていますね。実際には80%でも変調そのものは出来るようですが歪率が大幅に劣化してしまうみたいですね。
このあたりを理論じゃなくて実際にシミュレーションで観測した限りですが、信号振幅がキャリア振幅に近づくにつれて1110の例でいえば頻度が11111111110のようにどんどん長くなってしまい、復元された信号には凸凹が増加、波形自体も乱れてきました。変調度が高すぎると埋込できる元波形の情報量が下がってしまい、それが特性劣化の理由ではないかと思います。この現象自体は1次でも観測可能です。
この波形の乱れに3次のようなハイゲイン構成になると、ノイズシェーピングの残留ノイズが限界を超えて安定したループを形成できなくなってしまうような印象でした。丁度オペアンプの正帰還を思い出します。オペアンプも5532みたいな3段増幅になると位相遅れが無視できなくなり高速化するとすぐに発振するのと似ています。
おそらく2次は大丈夫で3次だとダメってのは多分数学的解析で証明できるのでしょうけれども、そこまでは調べてないですので深い所は理解できてないです。
Philewebのyamamoto2002さんの記事にある7次の求まった係数の並びとブロック図を見比べるとシェーピングノイズがオーバーフローしないように初段に行くほどフィードバックゲインを低く調整しているように見えます。初段でゲインが高すぎると最終段に行く前にオーバーフローしてしまうのでしょう。マルチビット化でこの辺りの安定性が増すのもシェーピングノイズの振幅自体が下がるからでしょうね。
今回のシミュレーションや検討をみると基本は多次デルタシグマの設計にして、マルチビット化は最後の特性向上の手段とするのが良さそうに思いました。アナログ回路ではなくデジタル段で処理すれば多次デルタシグマ自体は複雑な演算ではないので高速な計算装置さえあればできそうです。
そして3次より上の厳密なシミュレーションをやるならLTSpiceより数学的なシミュレーションのほうが良いと思いました。アナログ回路のオペアンプモデルによる積分器とコンパレータの組み合わせだと開始時のキャリア立ち上がりのスピードを見て定数を調整するというとてもアナログなやり方しか出来ないので7次の設計は不可能に近いです。ブロック図のまま理論通りにやらないと7次の再現はかなり難しいと思います。
多次CRFBの定数の求め方についてはPhilewebのyamamoto2002さんの記事も良かったですね。正直数式が多いのでちゃんと理解するのはなかなか難しいのですが、現実的にはすでにある定数を利用するのが良い結果を出すには一番はやくて確実だと思いました。こういう記事があるととてもありがたいです。
自分自身もそういう思いもあって実験結果などは出来る限り公開するようにしています。