Chaotic Sigma Delta Modulator

by allenlu2007

在 Strogatz 的 lecture 1 中提到自然界很多現象都和 chaos 有關,例如 phase transition, superconductor super flow, 以及一些 renormalization (Q.E.D?).  不過之後都沒有實際的例子。當然 Lorenz equation 是由氣象而來算是一個例子。在最後的 lecture 有提到 synchronization and secret communication 是一個有趣的想法。但似乎並沒有真的應用在現實中。

Chaos 在 continuous time 主要由 3 維 nonlinear differential equation 產生。但在 discrete dynamic system 就容易的多,簡單到 1D 的 discrete equation x(n+1) = r * x(n) * (1-x(n)) 都可以產生 chaos.  似乎只要有兩個條件 (i) iterative equation; (ii) nonlinearity.  

這讓我直接聯想到 sigma delta modulator/demodulator.  SDM 在電子電路有廣泛的應用,例如 oversampling ADC, DAC,  fractional synthesizer, power electronics, communication, etc.  

SDM 最大的問題 (i) stability;  (ii) 因為 limiting cycle 所產生的 spurs 造成 audio ADC/DAC audible hums; 或是 synthesizer in-band/out-of-band spur problem.   一般針對 stability 的解法是用低階 (1st or 2nd order) SDM.

但這正好會讓 liming cycle spur 問題非常嚴重。即使是4th or 5th order SDM, 仍然會 suffer from limiting cycle spur 問題 (在 high SNR 應用中)。傳統做法如 multi-bit, 加 dc offset, 或是加 dither 都有優缺點。  

因為 SDM 就是 iterative equation + nonlinearity (特別在 1-bit 應用 nonlinearity 應該最強)。直覺上似乎可借助 chaos 來化解 limiting cycle 所造成的 spur.  Literature search 果真找到 chaotic sigma delta modulator. 

 

1st order SDM

先從最簡單的 1st order SDM 開始如下:

NewImage 

NewImage

Y1 是 1-bit output, 我們假設 Y1 是 DAC output 的結果 +1 and -1.  Q1 是 comparator 相對應的 quantization noise.  

a 是一個重要的 parameter.  對於 STF = D (or z^(-1)) 和 a 無關。但對 NTF 有重要的影響。如果要最好的 quantization noise suppression, a=1 對應 ideal integrator 讓 NTF = 1-D 是 ideal HPF.  

a < 1 代表 integrator leakage, 是 integrator opamp finite gain 所造成。在 analog design 常見,列入 impairment 因素之一。在 deep submicron 製程中這項 impairment 更嚴重,避免用 opamp 是 active research direction.  a < 1 的 leaky integrator 是 stable 因為 pole 在 LHP.  

a > 1 integrator 變成 exponential unstable integrator 因為 pole 在 RHP.  當然 a=1 integrator 也算是 unstable, 但只是 linearly grow (DC input).  但 a > 1 變為 exponentially grow.  不過 unstable component 可以籍者 negative feedback 變為 stable 如 1st order SDM, 只要 |a-1| < 1 or a < 2.     

Based on xxx, a > 1, 1st order SDM 變為 chaotic SDM.  Chaotic system 一般要求 (i) no fixed or periodical solution (limit cycle solution); (ii) solution is very sensitive to initial condition.  似乎可以藉者 chaotic SDM 來避免 limit cycle solution.  

Matlab simulation  

Let a=1+eps, 同時加上 correction factor (1-az^-1+z^-1) 為了之後 MASH 架構 correction.

NewImage

以 DC=0.25 為例 (Vref/4).  a=1, 0.99, 0.9 (leakage integrator) 如下:

a=1;  period=8; frequency=0.125

 NewImage

NewImage

a=0.99 (eps=-0.01); period and frequency 由於 leakage 的關係。雖然看起來相同。但確多了很多低頻部份。

NewImage

NewImage

a=0.9 (eps=-0.1); period=18; frequency=0.0556.  可見 period(frequency) 和 DC input 以及 eps 直接相關。

之後有更深入討論。

NewImage

 NewImage

結論是 leakage integrator 對於 limiting cycle 沒有太多好處。不但如此,leakage integrator 會造成

NTF=1-aZ^-1 無法 create zero, 因而影響 noise shaping 的效果。

 

再來看 a>1 case:

 

a=1.01 (eps=+0.01); period ~ 8

雖然周期性結構被 exponential grow integrator 破壞。但仍有很強的周期性類似a=1。

(blue curve is offset by 8)

NewImage

Frequency spectrum 看起來比較接近 SDM, 但強烈周期性仍存在。(f=0.125, 0.25, and 0.375Hz)

NewImage

a=1.02

NewImage

 

a=1.05 (eps=+0.05) 比較沒有周期性。

NewImage

 NewImage

 

a=1.1 (eps=+0.1) 比較沒有周期性。

NewImage

NewImage

a=1.2 (eps=+0.2) 看來很 random。

NewImage

NewImage

 

以上諸圖代表 a > 1.05 (or even a > 1.1) 才能有效的破壞 limit cycle.  

不過另一個問題是 noise shaping 的效果也被破壞。以下 show 如何用 MASH SDM 來解決 (應該說減輕) 這個問題。有兩種方法:

 

MASH SDM

先從 ideal MASH 1-1-1SDM 開始,如下圖: 

NewImage

NewImage

 

考慮 leakage (a<1) or chaotic (a>1) 等 special case:

NewImage 

 

NewImage

可以看到最後雖然 NTF 只留下 3rd terms, 但原來的 zero 並沒有還原。不過如果 1-a 很小,(1-aZ^1)^3 在低頻時也會被 suppressed.  不過這不是最有效的做法。更好的作法如下。

 

MASH Compensated SDM 

更好的方法是用 MASH compensated SDM 架構。先用 MASH11 作為 example:

/Users/alu/work/matlab/simulink/sdm/sdm_mash11_v4.slx

NewImage

Derivation:  final noise term is:  (1-Z^-1)(1-aZ^-1).  仍然有一個 zero.

 

a=1 (eps=0) as expected, 只有周期性 output.  再來考慮 leaky integrator (a<1), 同樣只有周期性的 output.

NewImage

a=0.99 (eps=-0.01)

NewImage

a=0.9 (eps=-0.1)

NewImage

 

接下來是重點,考慮 exponential grow integrator.  神奇的事發生了。Final output 看來非常 random, 即使 y1 仍有強烈的周期性。但結合 y1 y2 之後就很 random.

a=1.01 (eps=+0.01)

NewImage

y2 如下:

NewImage

NewImage

 

a=1.02 (eps=+0.02)

NewImage

 

a=1.05 (eps=+0.05)

NewImage

 

a=1.1 (eps=+0.1)

NewImage

y2 as follows:

NewImage

NewImage

 

a=1.2 (eps=+0.2)

NewImage

 

By the same token, we can do MASH111 as follows:

/Users/alu/work/matlab/simulink/sdm/sdm_mash111_v4.slx

NewImage 

a=1.2 (eps=0.2).  Blue curve is MASH11; Magenta is MASH111

NewImage 

 

Straight from math:  1-aZ^-1   Z = exp(jx)   x is between 0 and pi.  

x = 0;  1-a  

x=pi;   1+a 

assuming OSR=100;  x=pi/100

|1-aZ^1|  

a = 1 ==>  -30dB

a = 1.01 ==> -29.6dB

a= 1.05 ==> -24.5dB

a = 1.1 ==> -19.6dB

a = 1.2 ==> -13.9dB

That is a=1.1 degrade about 10dB!  Add one or two zeros depends on how deep the notch needs to be!

 

What’s Next Step

1. 2nd order chaotic SDM

2. multi-bit for chaotic SDM? better or worse?

3. Combine chaotic and dithering?

 

Multi-bit Chaotic SDM

先用 5-level model (-1, -0.5, 0, +0.5, +1)

/Users/alu/work/matlab/simulink/sdm/sdm_mash111_multi_v1.slx

NewImage

zout1 是無 MASH, tout1 是 MASH11, yout 是 MASH111.

a = 1.01 (eps=+0.01), zout1 如下: 仍然非常具有周期性。

NewImage

NewImage

 

a=1.05 如下: 

NewImage

NewImage

In summary, multi-bit (multilevel) 基本上對 DC input 只是 quantization level (noise) 變小,並沒改變什麼。

不過對於 large signal swing (e.g. sine wave), multi-level 應該有幫助。

 

 

How about randomize the alpha in the integrator by a noise generator; but keep the average is 0!!

So that the output is on average zero.

1 + a D + a^2 D + …

a = 0.9;  a2 = 1.1 …..?? 

 

 

 

 

 

 

Advertisements