Alternative number representations for robust analog-to-digital - - PowerPoint PPT Presentation

alternative number representations for robust analog to
SMART_READER_LITE
LIVE PREVIEW

Alternative number representations for robust analog-to-digital - - PowerPoint PPT Presentation

Alternative number representations for robust analog-to-digital conversion Ozg ur Ylmaz University of British Columbia May 29, 2008 Joint work with: Theory: Ingrid Daubechies, Sinan G unt urk, Yang Wang Implementation: Peter


slide-1
SLIDE 1

Alternative number representations for robust analog-to-digital conversion

¨ Ozg¨ ur Yılmaz

University of British Columbia

May 29, 2008

slide-2
SLIDE 2

Joint work with: Theory: Ingrid Daubechies, Sinan G¨ unt¨ urk, Yang Wang Implementation: Peter Vautour, Matt Yedlin

slide-3
SLIDE 3

Analog-to-digital (A/D)conversion

Inherently analog signals: Speech, high quality audio, images, video, etc. Objective: Represent an “analog signal” (takes its values in a continuous set) by finitely many bits=: ’quantization’

slide-4
SLIDE 4

Analog-to-digital (A/D)conversion

Inherently analog signals: Speech, high quality audio, images, video, etc. Objective: Represent an “analog signal” (takes its values in a continuous set) by finitely many bits=: ’quantization’

How is this done - a natural approach

Let x ∈ [0, 1], and xN:= N-bit truncation of the standard binary (base-2) representation of x, xN =

N

  • n=1

bn2−n, bn ∈ {0, 1}. Then:

  • 1. |x − xN| ≤ 2−N
  • 2. (b1, b2, . . . , bN) provide an N-bit quantization of x with the

accuracy of 2−N (essentially optimal in rate-distortion sense).

slide-5
SLIDE 5

Example ctd.

Next: can we compute the bits bn on an analog circuit?

Successive approximation

Let x0 := 0 and define un := 2n(x − xn) for n ≥ 0. Then un = 2un−1 − bn, n = 1, 2, . . . , bn = ⌊2un−1⌋ = 1, un−1 ≥ 1/2, 0, un−1 < 1/2.

Remarks

  • 1. Note that un = T(un−1) where T is the doubling map.
  • 2. The values of un and bn above are macroscopic and bounded.

So the successive approximation algorithm as above can be implemented on an analog circuit.

  • 3. Given the optimality of the accuracy for a given bit budget,

are we done?

slide-6
SLIDE 6

Example ctd.

When designing an A/D converter (ADC), accuracy is not the only concern! In fact, truncated base-2 representations (:= “pulse code modulation” or PCM) are far from being the most popular choice

  • f A/D conversion method.

Why not?

In practice, analog circuits are never precise:

◮ arithmetic errors, e.g., through nonlinearity, ◮ quantizer errors, e.g., threshold offset, ◮ thermal noise...

Therefore:

◮ All relations hold approximately, and all quantities are

approximately equal to their theoretical values;

◮ in particular, in the case of the above described algorithm,

  • nly for a finite number of iterations, given that dynamics of

an expanding map has “sensitive dependence on initial conditions”.

slide-7
SLIDE 7

More resilient algorithms to compute base-2 representations?

  • Question. Are there better, i.e., more resilient, algorithms than

“successive approximation” for evaluating bn(x) for each x?

slide-8
SLIDE 8

More resilient algorithms to compute base-2 representations?

  • Question. Are there better, i.e., more resilient, algorithms than

“successive approximation” for evaluating bn(x) for each x?

  • Answer. The bits in the base-2 representations are essentially

uniquely determined. Therefore, there is no way to recover from an erroneous bit computation:

◮ a 1 assignment for bn when x < xn−1 + 2−n means an

“overshoot” from which there is no way to “back up” later,

◮ a 0 assignment for bn when x > xn−1 + 2−n implies a

“fall-behind” from which there is no way to “catch up” later.

slide-9
SLIDE 9

Example ctd. – conclusion

  • 1. Any ADC based on base-2 expansions is bound to be not

robust.

  • 2. The fundamental problem with base-2 expansions is the lack
  • f redundancy in these representations.
  • 3. As this is a central problem in A/D conversion (as well as in

D/A conversion), many alternative bit representations of numbers, as well as of signals, have been adopted or devised by circuit engineers, e.g., beta-representations and Σ∆ modulation.

  • 4. Both “beta-encoding” and “Σ∆ modulation” produce

redundant representations of x ∈ [0, 1].

slide-10
SLIDE 10

Rest of the talk

◮ introduce basic notation and terminology ◮ focus on a class of converters called Algorithmic Converters,

and establish mathematical framework (including a formal definition of robustness)

◮ discuss accuracy characteristics of certain widely used

algorithmic converters: PCM (truncated binary expansion), sigma-delta schemes (truncated Sturmian words), beta encoders (truncated beta representations)

◮ identify problems with these classes – robustness vs. accuracy

slide-11
SLIDE 11

Rest of the talk

◮ introduce basic notation and terminology ◮ focus on a class of converters called Algorithmic Converters,

and establish mathematical framework (including a formal definition of robustness)

◮ discuss accuracy characteristics of certain widely used

algorithmic converters: PCM (truncated binary expansion), sigma-delta schemes (truncated Sturmian words), beta encoders (truncated beta representations)

◮ identify problems with these classes – robustness vs. accuracy ◮ introduce a novel algorithmic converter, the Golden Ratio

Encoder, with superior characteristics – proof of stability, approximation rate, robustness...

slide-12
SLIDE 12

Basic definitions – encoder and decoder maps

Let X be a compact normed space (the space of analog objects). EN is an N-bit encoder if EN : X → {0, 1}N.

slide-13
SLIDE 13

Basic definitions – encoder and decoder maps

Let X be a compact normed space (the space of analog objects). EN is an N-bit encoder if EN : X → {0, 1}N. A progressive family of encoders (EN)∞

1 is generated by a single

map ψ : X → {0, 1}N such that EN(x) = (ψ(x)1, . . . , ψ(x)N).

slide-14
SLIDE 14

Basic definitions – encoder and decoder maps

Let X be a compact normed space (the space of analog objects). EN is an N-bit encoder if EN : X → {0, 1}N. A progressive family of encoders (EN)∞

1 is generated by a single

map ψ : X → {0, 1}N such that EN(x) = (ψ(x)1, . . . , ψ(x)N). A map DN : Range(EN) → X is a decoder for EN. In general, x ∈ X cannot be perfectly recovered from EN(x). That is, quantization is inherently lossy.

slide-15
SLIDE 15

Basic definitions – distortion and accuracy

For a given decoder DN for the encoder EN, the distortion can be measured by δX(EN, DN) = sup

x∈X

x − DN(EN(x)). We define the accuracy of EN as α(EN) = inf

DN

δX(EN, DN). Above the choice of norm depends on the setting.

slide-16
SLIDE 16

Basic definitions – distortion and accuracy

For a given decoder DN for the encoder EN, the distortion can be measured by δX(EN, DN) = sup

x∈X

x − DN(EN(x)). We define the accuracy of EN as α(EN) = inf

DN

δX(EN, DN). Above the choice of norm depends on the setting. Remark. When designing a progressive encoder family, one of the objectives: α(EN) → 0 as N → ∞ as quickly as possible, e.g., exponential in N.

slide-17
SLIDE 17

Algorithmic converters

x un-1

n

D

b un

unit time delay

(Q,F)

un ∈ U: state (continuous) of the circuit at time n x ∈ X: the object to be quantized Q : U × X → {0, 1} F : U × X → U The pair (Q, F) define a progressive family of encoders as follows: bn = Q(un−1, x) un = F(un−1, x). The encoder EN associated with (Q, F) is defined by EN(x) := (b1, . . . , bN).

slide-18
SLIDE 18

Algorithmic converters ctd.

  • Definition. Let ψQ,F be the generator of the progressive family of

encoders as defined above, i.e., for x ∈ X, ψQ,F(x) := (b1, b2, . . . ). We say (Q, F) defines an algorithmic A/D converter if the map ψQ,F is invertible on X.

slide-19
SLIDE 19

Algorithmic converters ctd.

  • Definition. Let ψQ,F be the generator of the progressive family of

encoders as defined above, i.e., for x ∈ X, ψQ,F(x) := (b1, b2, . . . ). We say (Q, F) defines an algorithmic A/D converter if the map ψQ,F is invertible on X.

  • Remark. A large fraction of the ADCs used in practice, e.g., PCM

(base-2), Σ∆ modulators, beta-encoders, are algorithmic

  • converters. We will come back to this.
slide-20
SLIDE 20

Algorithmic converters – robustness

Recall: Accuracy is not the only concern when evaluating the performance of an A/D converter!

slide-21
SLIDE 21

Algorithmic converters – robustness

Recall: Accuracy is not the only concern when evaluating the performance of an A/D converter! What else? An ADC must be implemented, at least partly, on analog circuitry. Analog circuits are never precise. In a typical implementation, the algorithmic converter functions are inaccurate: (Q, F) ← → ( Q, F) It is vital that the accuracy of the underlying algorithmic encoder is not drastically effected when such a change takes place.

slide-22
SLIDE 22

Algorithmic converters – robustness

Quantify: Functions Q and F typically are compositions of elementary maps:

◮ Addition: u → u + a, a ∈ R,

(u, v) → u + v.

slide-23
SLIDE 23

Algorithmic converters – robustness

Quantify: Functions Q and F typically are compositions of elementary maps:

◮ Addition: u → u + a, a ∈ R,

(u, v) → u + v.

◮ Multiplication: u → bu, b ∈ R

slide-24
SLIDE 24

Algorithmic converters – robustness

Quantify: Functions Q and F typically are compositions of elementary maps:

◮ Addition: u → u + a, a ∈ R,

(u, v) → u + v.

◮ Multiplication: u → bu, b ∈ R ◮ Decision element: u → qτ(u) =

  • 0,

if u < τ, 1, if u ≥ τ.

slide-25
SLIDE 25

Algorithmic converters – robustness

Quantify: Functions Q and F typically are compositions of elementary maps:

◮ Addition: u → u + a, a ∈ R,

(u, v) → u + v.

◮ Multiplication: u → bu, b ∈ R ◮ Decision element: u → qτ(u) =

  • 0,

if u < τ, 1, if u ≥ τ. Above, a, b, τ are parameters whose values are likely to vary within some tolerance.

  • Definition. Suppose Q = Qλ, F = Fλ where λ ∈ Rd: parameters.

Let E λ

N be the associated algorithmic encoder. We say that E λ N is

robust with respect to λ, if ∃ǫ > 0 such that δX(E γ

N, Dλ N) → 0 as N → ∞ wheneverγ − λ < ǫ.

slide-26
SLIDE 26

Examples

  • I. PCM (truncated binary) is an algorithmic converter.

Set Q(u, x) = q1(2u) and F(u, x) = 2u − q1(2u). Encoder: (Successive approximation) For x ∈ [0, 1], initial state u0 = x bn = q1(2un−1) un = 2un−1 − bn, n = 1, 2, . . . EN(x) = (b1, . . . , bN) → N-bit trunc. binary exp. of x. Generator: ψQ,F(x) = bits in the binary expansion of x. Decoder: DN(x) = 2−N−1 +

N

  • n=1

bn2−n. Accuracy: α(EN) = O(2−N) (optimal).

slide-27
SLIDE 27

Examples - PCM ctd.

Let’s investigate PCM in terms of its robustness properties. Recall: Q(u, x) = q1(2x) and F(u, x) = 2u − q1(2x). Important parameters: multiplication by 2 and threshold value (= 1) of q1.

slide-28
SLIDE 28

Examples - PCM ctd.

Let’s investigate PCM in terms of its robustness properties. Recall: Q(u, x) = q1(2x) and F(u, x) = 2u − q1(2x). Important parameters: multiplication by 2 and threshold value (= 1) of q1. Imperfect implementation:

◮ multiply by 2 + ǫ ⇒ |ǫ/4| ≤ δX(

EN, DN),

slide-29
SLIDE 29

Examples - PCM ctd.

Let’s investigate PCM in terms of its robustness properties. Recall: Q(u, x) = q1(2x) and F(u, x) = 2u − q1(2x). Important parameters: multiplication by 2 and threshold value (= 1) of q1. Imperfect implementation:

◮ multiply by 2 + ǫ ⇒ |ǫ/4| ≤ δX(

EN, DN),

◮ use qτ with |τ − 1| ≈ ǫ ⇒ |ǫ/2| ≤ δX(

EN, DN).

slide-30
SLIDE 30

Examples - PCM ctd.

Let’s investigate PCM in terms of its robustness properties. Recall: Q(u, x) = q1(2x) and F(u, x) = 2u − q1(2x). Important parameters: multiplication by 2 and threshold value (= 1) of q1. Imperfect implementation:

◮ multiply by 2 + ǫ ⇒ |ǫ/4| ≤ δX(

EN, DN),

◮ use qτ with |τ − 1| ≈ ǫ ⇒ |ǫ/2| ≤ δX(

EN, DN). PCM is not robust. To achieve the theoretical accuracy, one needs to implement a precise multiplier and a decision element with a precise “toggle point”.

slide-31
SLIDE 31

Digression – first-order Σ∆ modulation

Next, we review a family of ADCs which is popular in practice. Let x ∈ [0, 1]. Define Tx : u → u + x. Let u0 = ϕ ∈ [0, 1) be arbitrary, and set        un = T n

x (ϕ),

n = 1, 2, . . . bn =

  • if un−1 ∈ [0, 1 − x),

1 if un−1 ∈ [1 − x, 1),        1st-order Σ∆

slide-32
SLIDE 32

Digression – first-order Σ∆ modulation

Next, we review a family of ADCs which is popular in practice. Let x ∈ [0, 1]. Define Tx : u → u + x. Let u0 = ϕ ∈ [0, 1) be arbitrary, and set    un = un−1 + x − bn, n = 1, 2, . . . bn = ⌊un−1 + x⌋    1st-order Σ∆

slide-33
SLIDE 33

Digression – first-order Σ∆ modulation

Next, we review a family of ADCs which is popular in practice. Let x ∈ [0, 1]. Define Tx : u → u + x. Let u0 = ϕ ∈ [0, 1) be arbitrary, and set    un = un−1 + x − bn, n = 1, 2, . . . bn = ⌊un−1 + x⌋    1st-order Σ∆

Remarks.

  • 1. For irrational x, the above recursion produces Sturmian words.

A first-order Σ∆ modulator encodes x by the associated N-bit truncated Sturmian word.

  • 2. Σ∆ has been used for A/D conversion since 1960s.
slide-34
SLIDE 34

Digression – first-order Σ∆ modulation

Remarks ctd.

  • 3. Encoding. Let EN : x → (bn)N

1

  • 4. Decoding. Set hn = 1/N, n = 1, ..., N, and define

DN : (bn)N

1 → N

  • n=1

hnbn. Then |x − DN(EN(x))| ≤ 1/N.

  • 5. One can improve this error bound by using a different

reconstruction kernel ˜

  • h. In particular, G¨

unt¨ urk proved that |x −

N

  • n=1

˜ hnbn| ≤ CxN−2 log2+ǫ N. Proof uses machinery from discrepancy theory.

slide-35
SLIDE 35

Digression – first-order Σ∆ modulation

Remarks ctd.

  • 6. One can also obtain a lower bound for the approximation

error:

6.1 Consider the 1st-order Σ∆ scheme with u0 = 1/2, let bx,1/2 be the corresponding Sturmian word. Then for A1/2(N) := {(bx,1/2)N

1 : x ∈ (0, 1)},

#A1/2 = 3 π2 N2+O(N log N). 6.2 In fact, (bx,1/2)N

1 = (by,1/2)N 1 if x, y are between two consec.

N-Farey points (G¨ unt¨ urk-Lagarias-Vaishampayan, cf. Mignosi). Then C/N ≤ sup

x∈(0,1)

|x − Dopt

N (bx,1/2)N 1 |

slide-36
SLIDE 36

Digression – first-order Σ∆ modulation

Remarks ctd.

  • 7. One can use 1st-order Σ∆ to quantize “varying input”, e.g.,

samples of functions whose Fourier transform is compactly supported in [−1/2, 1/2]. Let xn = f (n/λ) where λ > 1 is the

  • versampling factor. With u0 = ϕ ∈ [0, 1), let, for n = 1, 2, ...,

un = Txn(un−1), bn = q1(un−1 + xn), One can also run this recursion backwards. Set E(f ) = (bn)∞

−∞, and use the decoder Dφ

Dφ : (bn)∞

−∞ → (1/λ)

  • bnφ(· − n/λ).

Here φ is an appropriate sampling kernel. Then we have (Daubechies-DeVore) f − Dφ(E(f ))∞ ≤ 1 λVar(φ).

slide-37
SLIDE 37

Digression – higher-order Σ∆ modulation

Rewrite the iteration for the 1st-order Σ∆: un = un−1 + x − ⌊un−1 + x⌋ (∆u)n = x − q1(un−1 + x) Generalize to kth-order: u−k+1 = · · · = u0 = 0, and (∆ku)n = x − bk

n

bk

n

= q1(ρ(x, un−1, ..., un−k+1))

  • kth-order Σ∆

Remarks

  • 1. With an appropriate choice of (hn)N

1 , one can show

|x −

N

  • n=1

hnbk

n| ≤ CN−k

if un remain bounded (unif. in N) (i.e., the scheme is stable).

slide-38
SLIDE 38

Digression – higher-order Σ∆ modulation

Remarks ctd.

  • 2. ρ is chosen to ensure stability (non-trivial). First infinite

family of stable Σ∆ schemes of arbitrary order (not implementable in practice) was constructed by Daubechies and DeVore (∼ 2000). For 2nd-order schemes, a wide family

  • f rules ensure stability (OY-2002).
  • 3. We can rewrite the recursion as

un = Lkun−1 + (x − q1(ρ(u, x)))1

  • 4. Error estimates can be improved (the piecewise affine system

has tiling invariant sets)...

  • 5. Question. Can we again count the number of possible

N-words obtained via a kth-order Σ∆ scheme? A possible generalization of Sturmian shifts? ...

slide-39
SLIDE 39

Back to examples of algorithmic converters

Recall

x un-1

n

D

b un

unit time delay

(Q,F)

un ∈ U: state (continuous) of the circuit at time n x ∈ X: the object to be quantized Q : U × X → {0, 1} F : U × X → U The pair (Q, F) define a progressive family of encoders as follows: bn = Q(un−1, x) un = F(un−1, x). The encoder EN associated with (Q, F) is defined by EN(x) := (b1, . . . , bN).

slide-40
SLIDE 40

Back to examples of algorithmic converters

  • II. First-order Σ∆ schemes are algorithmic converters.

Set Q(u, x) = q1(u + x) and F(u, x) = u + x − q1(u + x). Encoder: For x ∈ [0, 1] and initial state u0 ∈ [0, 1) arbitrary, bn = q1(un−1 + x), un = un−1 + x − bn, n = 1, 2, . . . EN(x) = (b1, . . . , bN) → N-bit Σ∆ encoding of x Generator: ψQ,F(x) = (b1, b2, . . . ). Decoder: DN(x) = 1 N

N

  • n=1

bn. Accuracy: α(EN) = O(1/N).

slide-41
SLIDE 41

Examples – first-order Σ∆ ctd.

Robustness

Let’s investigate 1st-order Σ∆ in terms of its robustness properties. Recall: Q(u, x) = q1(u + x) and F(u, x) = u + x − q1(u + x). Important parameters:

◮ Threshold value (= 1) of q1. ◮ No multiplier needed!

slide-42
SLIDE 42

Examples – first-order Σ∆ ctd.

Robustness

Let’s investigate 1st-order Σ∆ in terms of its robustness properties. Recall: Q(u, x) = q1(u + x) and F(u, x) = u + x − q1(u + x). Important parameters:

◮ Threshold value (= 1) of q1. ◮ No multiplier needed!

Imperfect implementation:

◮ use qτ with |τ − 1| ≤ ǫ ⇒ δX(

EN, DN) = O(1/N).

slide-43
SLIDE 43

Examples – first-order Σ∆ ctd.

Robustness

Let’s investigate 1st-order Σ∆ in terms of its robustness properties. Recall: Q(u, x) = q1(u + x) and F(u, x) = u + x − q1(u + x). Important parameters:

◮ Threshold value (= 1) of q1. ◮ No multiplier needed!

Imperfect implementation:

◮ use qτ with |τ − 1| ≤ ǫ ⇒ δX(

EN, DN) = O(1/N). First-order Σ∆ is robust! Main reason Σ∆ is popular...

  • Note. The accuracy of an N-bit 1st-order Σ∆ encoder is of

O(1/N), much worse than O(2−N), accuracy of PCM.

slide-44
SLIDE 44

Examples – kth-order Σ∆

  • III. kth-order Σ∆ schemes are algorithmic converters.

State space U ⊂ Rk. Set Q(u, x) = q1(ρ(u, x)) and F(u, x) = Lku + x − q1(ρ(u, x)). ρ : U × X → R is called “quantization rule”. (stability!) Lk is the k × k lower triangular matrix of 1s.

slide-45
SLIDE 45

Examples – kth-order Σ∆

  • III. kth-order Σ∆ schemes are algorithmic converters.

State space U ⊂ Rk. Set Q(u, x) = q1(ρ(u, x)) and F(u, x) = Lku + x − q1(ρ(u, x)). ρ : U × X → R is called “quantization rule”. (stability!) Lk is the k × k lower triangular matrix of 1s. Encoder: For x ∈ [0, a], a < 1, initial state u0 ∈ B ⊂ Rk arbitrary, bn = Q(un, x) un+1 = F(un, x), n = 1, 2, . . . EN(x) = (b1, . . . , bN) → N-bit Σ∆ encoding (order k) of x Decoder: DN(x) =

N

  • n=1

hnbn; hn: approp. sampling kernel Accuracy: α(EN) = O(1/Nk).

slide-46
SLIDE 46

Examples – kth-order Σ∆ ctd.

Robustness

Again, what about robustness of a kth-order Σ∆-scheme? Important parameters:

◮ Threshold value (= 1) of q1, and ◮ multiplications and additions performed in the quantization

rule ρ.

slide-47
SLIDE 47

Examples – kth-order Σ∆ ctd.

Robustness

Again, what about robustness of a kth-order Σ∆-scheme? Important parameters:

◮ Threshold value (= 1) of q1, and ◮ multiplications and additions performed in the quantization

rule ρ. kth-order Σ∆ with a wide family of quantization rules is robust! [Daubechies-DeVore, OY]

  • Note. The accuracy of an N-bit kth-order Σ∆ encoder is of

O(N−k), still much worse than O(2−N), accuracy of PCM.

slide-48
SLIDE 48

Examples – beta encoders

  • IV. Beta encoders (Daubechies et al.) are algorithmic

converters.

Let 1 < β < 2, and compute truncated cautious (not greedy, not lazy) beta representations of x ∈ [0, 1). Set Q(u, x) = q1(βu − µ) and F(u, x) = βu − q1(βu − µ). Note that this corresponds to the recursion un = βun−1 − bn, bn = ⌊βun−1 − µ⌋ with u0 = x

◮ µ = 0: greedy selection, ◮ µ = (2 − β)/(β − 1): lazy selection ◮ 0 < µ < (2 − β)/(β − 1): cautious selection.

slide-49
SLIDE 49

Examples – beta encoders

  • IV. Beta encoders (Daubechies et al.) are algorithmic

converters.

Let 1 < β < 2, and compute truncated cautious (not greedy, not lazy) beta representations of x ∈ [0, 1). Set Q(u, x) = q1(βu − µ) and F(u, x) = βu − q1(βu − µ). Encoder: For x ∈ [0, 1) and initial state u0 = x, bn = q1(βun−1 − µ), un = βun−1 − bn, n = 1, 2, . . . EN(x) = (b1, . . . , bN) → an N-bit trunc. β-rep. of x. Decoder: DN(x) =

N

  • n=1

bnβ−n. Accuracy: α(EN) = O(β−N).

slide-50
SLIDE 50

Examples – beta-encoders ctd.

Robustness

Recall: Q(u, x) = q1+µ(βu) and F(u, x) = βu − q1+µ(βu + µ). Important parameters: Threshold value (= 1 + µ) of q and multiplication by β

slide-51
SLIDE 51

Examples – beta-encoders ctd.

Robustness

Recall: Q(u, x) = q1+µ(βu) and F(u, x) = βu − q1+µ(βu + µ). Important parameters: Threshold value (= 1 + µ) of q and multiplication by β Imperfect implementation:

◮ use qτ with |τ − (1 + µ)| ≤ ǫ ⇒ δX(

EN, DN) = O(β−N).

slide-52
SLIDE 52

Examples – beta-encoders ctd.

Robustness

Recall: Q(u, x) = q1+µ(βu) and F(u, x) = βu − q1+µ(βu + µ). Important parameters: Threshold value (= 1 + µ) of q and multiplication by β Imperfect implementation:

◮ use qτ with |τ − (1 + µ)| ≤ ǫ ⇒ δX(

EN, DN) = O(β−N).

◮ multiply with β + ǫ at each multiplier ⇒ Cǫ ≤ δX(

EN, DN).

slide-53
SLIDE 53

Examples – beta-encoders ctd.

Robustness

Recall: Q(u, x) = q1+µ(βu) and F(u, x) = βu − q1+µ(βu + µ). Important parameters: Threshold value (= 1 + µ) of q and multiplication by β Imperfect implementation:

◮ use qτ with |τ − (1 + µ)| ≤ ǫ ⇒ δX(

EN, DN) = O(β−N).

◮ multiply with β + ǫ at each multiplier ⇒ Cǫ ≤ δX(

EN, DN).

◮ The assumed value of β is different from the actual

implemented value. Partial solution in [Daubechies-OY], still not satisfactory.

slide-54
SLIDE 54

Examples – beta-encoders ctd.

Robustness

Recall: Q(u, x) = q1+µ(βu) and F(u, x) = βu − q1+µ(βu + µ). Important parameters: Threshold value (= 1 + µ) of q and multiplication by β Imperfect implementation:

◮ use qτ with |τ − (1 + µ)| ≤ ǫ ⇒ δX(

EN, DN) = O(β−N).

◮ multiply with β + ǫ at each multiplier ⇒ Cǫ ≤ δX(

EN, DN).

◮ The assumed value of β is different from the actual

implemented value. Partial solution in [Daubechies-OY], still not satisfactory. Beta encoders are robust wrt quantizer threshold value. They are not robust wrt multiplication by β.

slide-55
SLIDE 55

Moral so far...

Encoders that enjoy superior accuracy properties (PCM, Beta) suffer from robustness issues. Encoders that enjoy superior robustness properties (Σ∆) have inferior accuracy characteristics. Next, we present a scheme with the best of both worlds!

slide-56
SLIDE 56

The Golden Ratio Encoder (GRE)

Main idea. The above (classical) implementation of beta-encoders: un+1 = βun − bn; bn = Q(un); u1 = x. The characteristic polynomial: p(y) = y − β; choice of bn ensures |un| remain bounded –in this case, the scheme is stable.

slide-57
SLIDE 57

The Golden Ratio Encoder (GRE)

Main idea. The above (classical) implementation of beta-encoders: un+1 = βun − bn; bn = Q(un); u1 = x. The characteristic polynomial: p(y) = y − β; choice of bn ensures |un| remain bounded –in this case, the scheme is stable.

  • Question. Is it possible to use more suitable difference equations

and still obtain a β representation of x ∈ [0, 1)? We want the characteristic polynomial to have integer coefficients (coefficients ±1 are preferred), have one of its roots at β ∈ (1, 2), and that ∃(bn) to keep the resulting system stable.

slide-58
SLIDE 58

GRE

Consider un+2 = un+1 + un − bn; u0 = x, u1 = 0. The characteristic equation is p(y) = y2 − y − 1 whose roots are φ = 1 + √ 5 2 (the golden ratio), and − 1 φ. Using φ2 = φ + 1, we obtain DN(b) =

N−1

  • n=0

bnφ−n = x − φ−N(uN + φuN+1).

slide-59
SLIDE 59

GRE

Consider un+2 = un+1 + un − bn; u0 = x, u1 = 0. The characteristic equation is p(y) = y2 − y − 1 whose roots are φ = 1 + √ 5 2 (the golden ratio), and − 1 φ. Using φ2 = φ + 1, we obtain DN(b) =

N−1

  • n=0

bnφ−n = x − φ−N(uN + φuN+1).

  • Proposition. If there is rule for choosing bn such that |un| ≤ C,

then the above iteration produces a beta encoding of x with β = φ (hence the name). That is, for the corresp. encoder EN, |x − DN(EN(x))| = O(φ−N). Next, we establish such rules...

slide-60
SLIDE 60

Stability of GRE

Simplest stable GRE. Set bn = q1(un+1 + un) =

  • 0,

if un+1 + un < 1, 1, if un+1 + un ≥ 1.

  • Proposition. For x ∈ [0, 1), if we run

un+2 = un+1 + un − bn; bn = q1(un+1 + un); u0 = x; u1 = 0, we have 0 ≤ un ≤ 1 for every n.

slide-61
SLIDE 61

Stability of GRE

Simplest stable GRE. Set bn = q1(un+1 + un) =

  • 0,

if un+1 + un < 1, 1, if un+1 + un ≥ 1.

  • Proposition. For x ∈ [0, 1), if we run

un+2 = un+1 + un − bn; bn = q1(un+1 + un); u0 = x; u1 = 0, we have 0 ≤ un ≤ 1 for every n. Remarks.

  • 1. The corresponding GRE is stable, thus its accuracy is O(φ−N).
  • 2. Not even one multiplication!
slide-62
SLIDE 62

Stability of GRE

Simplest stable GRE. Set bn = q1(un+1 + un) =

  • 0,

if un+1 + un < 1, 1, if un+1 + un ≥ 1.

  • Proposition. For x ∈ [0, 1), if we run

un+2 = un+1 + un − bn; bn = q1(un+1 + un); u0 = x; u1 = 0, we have 0 ≤ un ≤ 1 for every n. Remarks.

  • 1. The corresponding GRE is stable, thus its accuracy is O(φ−N).
  • 2. Not even one multiplication!
  • 3. Unfortunately, not robust wrt quantizer threshold: Replace q1

with q1+ǫ ⇒ unstable scheme! Need to do more work...

slide-63
SLIDE 63

Numerical Experiment

!1 1 2 !1 !0.5 0.5 1 1.5 2 un un+1 10 20 30 40 50 !35 !30 !25 !20 !15 !10 !5 RMSE number of bits spent number of bits resolved

slide-64
SLIDE 64

Stability of GRE

Stable GREs with better robustness properties. Describe the GRE iteration with a 2d-map. Define TQ : u v

1 1 1 u v

  • − Q(u, v)

1

  • .

Then, we can rewrite the recursion as un+1 un+2

  • = TQ

un un+1

  • .

Note: We now observe that GRE is an algorithmic converter. Above, we used Q(u, v) = q1(u + v). We will now construct alternative Q for which the scheme is stable and robust.

slide-65
SLIDE 65

Stability of GRE

Stable GREs with better robustness properties (ctd.) Use Q(u, v) = qτ(u + γv) =: Qγ

τ (u, v) with γ = 1 and approp. τ.

  • Note. If implemented with Qγ

τ , the parameters of concern

regarding robustness are γ and τ.

slide-66
SLIDE 66

Stability of GRE

Stable GREs with better robustness properties (ctd.) Use Q(u, v) = qτ(u + γv) =: Qγ

τ (u, v) with γ = 1 and approp. τ.

  • Note. If implemented with Qγ

τ , the parameters of concern

regarding robustness are γ and τ. Main Theorem. For every 1 < γ < 3, there exists ν1 < ν2, and η > 0 such that GRE implemented with Qγ′

τ is stable provided

|γ′ − γ| < η and ν1 < τ < ν2.

  • Corollary. The GRE implemented with Qγ

τ is robust wrt γ and τ.

In particular, δX(GRE γ′,τ

N

, DN) = O(φ−N) whenever |γ′ − γ| < η and ν1 < τ < ν2.

slide-67
SLIDE 67

Stability of GRE

Stable GREs with better robustness properties (ctd.) Use Q(u, v) = qτ(u + γv) =: Qγ

τ (u, v) with γ = 1 and approp. τ.

  • Note. If implemented with Qγ

τ , the parameters of concern

regarding robustness are γ and τ. Main Theorem. For every 1 < γ < 3, there exists ν1 < ν2, and η > 0 such that GRE implemented with Qγ′

τ is stable provided

|γ′ − γ| < η and ν1 < τ < ν2.

  • Corollary. The GRE implemented with Qγ

τ is robust wrt γ and τ.

In particular, δX(GRE γ′,τ

N

, DN) = O(φ−N) whenever |γ′ − γ| < η and ν1 < τ < ν2. Sketch of the proof. See picture.

slide-68
SLIDE 68

!1 !0.5 0.5 1 1.5 2 !1 !0.5 0.5 1 1.5 2 r1 r2 d1 d2 h1 h2 l2 l1 C1 D1 A1 B1 A2 B2 C2 D2 A*

2

B*

2

C*

2

D*

2

A B C D 1

µ = 0.05

!2 !1 A#

1

C#

2

µ

slide-69
SLIDE 69

Numerical Experiment

ν1 = 1.2, ν2 = 1.3, γ = 1.55.

!1 1 2 !1 !0.5 0.5 1 1.5 2 un un+1 10 20 30 40 50 !35 !30 !25 !20 !15 !10 !5 RMSE number of bits spent number of bits resolved

slide-70
SLIDE 70

Highlights

  • 1. GRE is an algorithmic A/D converter. Its implementation

does not require any “precise multiplication” or “precise decision element”.

  • 2. GRE enjoys exponential accuracy.
slide-71
SLIDE 71

Highlights

  • 1. GRE is an algorithmic A/D converter. Its implementation

does not require any “precise multiplication” or “precise decision element”.

  • 2. GRE enjoys exponential accuracy.
  • 3. GRE is a “Nyquist-rate A/D converter”, i.e., it quantizes each

sample value independently (no memory). This makes GRE a good candidate for A/D conversion in settings where classical sampling theory does not apply, e.g., compressed sensing.

slide-72
SLIDE 72

Highlights

  • 1. GRE is an algorithmic A/D converter. Its implementation

does not require any “precise multiplication” or “precise decision element”.

  • 2. GRE enjoys exponential accuracy.
  • 3. GRE is a “Nyquist-rate A/D converter”, i.e., it quantizes each

sample value independently (no memory). This makes GRE a good candidate for A/D conversion in settings where classical sampling theory does not apply, e.g., compressed sensing.

  • 4. GRE was implemented using the Fibonacci recursion. One can

generalize and construct higher order “polynacci encoders” with p(y) = yk − yk−1 − · · · − 1 whose largest root βk ∈ (1, 2), all other roots inside the unit circle (thus like φ, βk is a Pisot number). Moreover βk → 2.

slide-73
SLIDE 73

Highlights

  • 1. GRE is an algorithmic A/D converter. Its implementation

does not require any “precise multiplication” or “precise decision element”.

  • 2. GRE enjoys exponential accuracy.
  • 3. GRE is a “Nyquist-rate A/D converter”, i.e., it quantizes each

sample value independently (no memory). This makes GRE a good candidate for A/D conversion in settings where classical sampling theory does not apply, e.g., compressed sensing.

  • 4. GRE was implemented using the Fibonacci recursion. One can

generalize and construct higher order “polynacci encoders” with p(y) = yk − yk−1 − · · · − 1 whose largest root βk ∈ (1, 2), all other roots inside the unit circle (thus like φ, βk is a Pisot number). Moreover βk → 2.

  • 5. Other technical issues, e.g., bias removal, requantization can

be resolved.

slide-74
SLIDE 74

Highlights

  • 1. GRE is an algorithmic A/D converter. Its implementation

does not require any “precise multiplication” or “precise decision element”.

  • 2. GRE enjoys exponential accuracy.
  • 3. GRE is a “Nyquist-rate A/D converter”, i.e., it quantizes each

sample value independently (no memory). This makes GRE a good candidate for A/D conversion in settings where classical sampling theory does not apply, e.g., compressed sensing.

  • 4. GRE was implemented using the Fibonacci recursion. One can

generalize and construct higher order “polynacci encoders” with p(y) = yk − yk−1 − · · · − 1 whose largest root βk ∈ (1, 2), all other roots inside the unit circle (thus like φ, βk is a Pisot number). Moreover βk → 2.

  • 5. Other technical issues, e.g., bias removal, requantization can

be resolved.

  • 6. Finally, implementation...
slide-75
SLIDE 75

Does it work on analog hardware?

We implemented the GRE on a breadboard...

Note: 4066 is connected +V to pin 14, -V to pin 7 PD4 PD3 PD2 GND +5V PA5 PA6 PA4 PA0 Microcore-11 2V INPUT

H2 H3 H3 H2 H1 H1 S1 S1 S1 S0 S0 S0 +5V

  • V
  • V
  • V
  • V
  • V
  • V
  • V

+V +V +V +V +V +V +V +V 2k2 2k2 220 220 1 2 6 4 4N33 1 2 6 4 4N33 100nF 100nF 10k 3 2 1 78L05 33nF 20k 10k 10k 10k 10k 10k 12 13 4 1 1 14 + LM324 10 9 4 1 1 8 + LM324 2k2 2 3 8 4 7 1 + LM311 10k 5 6 4 1 1 7 + LM324 3 2 4 1 1 1 + LM324 10k 33nF 10k 15k 10k 33nF 4066 1 3 1 2 7 4 6 1 5 3 8 LF398 4 6 6 5 3 4 4 6 6 6 9 8 4066 1 2 11 10 7 4 6 1 5 3 8 LF398 7 4 6 1 5 3 8 LF398 24 25 26 22 3 2 4 18 8

slide-76
SLIDE 76

Hardware implementation

We plot un+1 vs. un, computed theoretically (left) and measured from the circuit (right).

!1 1 2 3 !0.5 0.5 1 1.5 2 2.5 3 un un+1

slide-77
SLIDE 77

Performance of the circuit

0.5 1 1.5 2 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 (analog) input (digital) reconstruction experimental identity bounds 0.5 1 1.5 2 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 (analog) input (digital) reconstruction experimental identity bounds

8-bit data 16-bit data blankblank

slide-78
SLIDE 78

Performance of the circuit

The RMSE error vs. number of GRE bits (J).

2 4 6 8 10 12 14 16 10

!3

10

!2

10

!1

10 10

1

J RMS ERROR upper bound average of 100 bias corr.

  • ffset corr.

bias/gain/offset corr.

slide-79
SLIDE 79

Performance of the circuit

AC data.

100 200 300 400 500 600 700 800 200 400 600 800 Freq FFT(xq) 5 10 15 0.5 1 1.5 2 Time [s] xq

16-GRE-bit reconstruction of a sinusoid x(t) = (A − B) sin(2πft) + (A + B)/2 with f = 20.2Hz, A ≈ 1.57, and B ≈ 0.35.The sampling rate was approx. 53.33 Hz.