Reliable verification of digital implemented filters against - - PowerPoint PPT Presentation

reliable verification of digital implemented filters
SMART_READER_LITE
LIVE PREVIEW

Reliable verification of digital implemented filters against - - PowerPoint PPT Presentation

Reliable verification of digital implemented filters against frequency specifications Anastasia Volkova , Christoph Lauter, Thibault Hilaire Sorbonne Universits, UPMC, LIP6 ARITH24 July 26, 2017 Volkova, Lauter, Hilaire ARITH24 July


slide-1
SLIDE 1

Reliable verification of digital implemented filters against frequency specifications

Anastasia Volkova, Christoph Lauter, Thibault Hilaire Sorbonne Universités, UPMC, LIP6 ARITH’24 July 26, 2017

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 1 / 17

slide-2
SLIDE 2

Digital Filters

Context: Linear Time Invariant Digital Filters Time domain

u(k) y(k)

H

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 2 / 17

slide-3
SLIDE 3

Digital Filters

Context: Linear Time Invariant Digital Filters Time domain

u(k) y(k)

H

Frequency domain H(z) =

n

  • i=0

biz−i

n

  • i=0

aiz−i , z ∈ C, ai, bi ∈ R

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 2 / 17

slide-4
SLIDE 4

Digital Filters

Frequency response (z = ejω) H

  • ejω

=

  • H
  • ejω
  • magnitude

e

phase

  • ∡H
  • ejω

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17

slide-5
SLIDE 5

Digital Filters

Frequency response (z = ejω) H

  • ejω

=

  • H
  • ejω
  • magnitude

e

phase

  • ∡H
  • ejω

βp2 βp1 passband stopband ωs1 ωp1 ω

  • H(eiω)
  • ωp2 ωs2

stopband βs π

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17

slide-6
SLIDE 6

Digital Filters

Frequency response (z = ejω) H

  • ejω

=

  • H
  • ejω
  • magnitude

e

phase

  • ∡H
  • ejω

βp2 βp1 passband stopband ωs1 ωp1 ω

  • H(eiω)
  • ωp2 ωs2

stopband βs π

β ≤

  • H(eiω)
  • ≤ β,

∀ω ∈ [ω1, ω2] ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17

slide-7
SLIDE 7

Goal: verify an implemented filter

Specifications Boolean Rigorous Verification Frequency Filter Implementation Answer

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17

slide-8
SLIDE 8

Goal: verify an implemented filter

Specifications Boolean Rigorous Verification Frequency Filter Implementation Answer

Existing approaches: simulations approximate magnitude response Our reliable approach: no simulations, only proofs rational and interval arithmetic

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17

slide-9
SLIDE 9

Goal: verify an implemented filter

Specifications Boolean Rigorous Verification Frequency Filter Implementation Answer

Existing approaches: simulations approximate magnitude response Our reliable approach: no simulations, only proofs rational and interval arithmetic We use Computer Arithmetic to make Signal Processing rigorous.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17

slide-10
SLIDE 10

Example

Filter:

g1

  • 1
  • 1

g2

  • 1
  • 1
  • 1

g3

  • 1
  • 1

1 u(k) 1 y(k) Z-1 Z-1 Z-1 0.5

g1 = 89 · 2−8 g2 = 43 · 2−7 g3 = 11 · 2−7

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17

slide-11
SLIDE 11

Example

Filter:

g1

  • 1
  • 1

g2

  • 1
  • 1
  • 1

g3

  • 1
  • 1

1 u(k) 1 y(k) Z-1 Z-1 Z-1 0.5

g1 = 89 · 2−8 g2 = 43 · 2−7 g3 = 11 · 2−7 Specifications: 1dB ≤

  • H(eiω)

3dB ∀ω ∈ [0, 1

10π]

(passband)

  • H(eiω)

− 20dB ∀ω ∈ [ 3

10π, π]

(stopband)

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17

slide-12
SLIDE 12

Example

Filter:

g1

  • 1
  • 1

g2

  • 1
  • 1
  • 1

g3

  • 1
  • 1

1 u(k) 1 y(k) Z-1 Z-1 Z-1 0.5

g1 = 89 · 2−8 g2 = 43 · 2−7 g3 = 11 · 2−7 Specifications:

  • 10

1 20 ≤

  • H(eiω)

10

3 20

∀ω ∈ [0, 1

10π]

(passband)

  • H(eiω)

10− 20

20

∀ω ∈ [ 3

10π, π]

(stopband)

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17

slide-13
SLIDE 13

Example

Filter:

g1

  • 1
  • 1

g2

  • 1
  • 1
  • 1

g3

  • 1
  • 1

1 u(k) 1 y(k) Z-1 Z-1 Z-1 0.5

g1 = 89 · 2−8 g2 = 43 · 2−7 g3 = 11 · 2−7 Specifications:

  • 10

1 20 ≤

  • H(eiω)

10

3 20

∀ω ∈ [0, 1

10π]

(passband)

  • H(eiω)

10− 20

20

∀ω ∈ [ 3

10π, π]

(stopband) Transfer Function: H(z) =

n

  • i=0

biz−i

n

  • i=0

aiz−i

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17

slide-14
SLIDE 14

Transfer function verification

Need to show that ∀z = ejω, ω ∈ Ω ⊂ [0, π] β ≤ |H(z)| ≤ β

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17

slide-15
SLIDE 15

Transfer function verification

Need to show that ∀z = ejω, ω ∈ Ω ⊂ [0, π] β2 ≤ |H(z)|2 ≤ β

2

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17

slide-16
SLIDE 16

Transfer function verification

Need to show that ∀z = ejω, ω ∈ Ω ⊂ [0, π] β2 ≤ |H(z)|2 ≤ β

2

We have that |H(z)|2 = |b(z)|2 |a(z)|2 = b(z)b(z) a(z)a(z) = b(z)b( 1

z )

a(z)a( 1

z ) =: v(z)

w(z), v(z) and w(z) have real coefficients.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17

slide-17
SLIDE 17

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

z = ejω ∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-18
SLIDE 18

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

Dealing with complex variables is difficult Change of variable: t = tan ω

2

z = ejω = cos ω + j sin ω z = ejω ∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-19
SLIDE 19

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

Dealing with complex variables is difficult Change of variable: t = tan ω

2

z = ejω = 1 − t2 1 + t2 + j 2t 1 + t2 z = ejω ∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-20
SLIDE 20

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ v( 1−t2

1+t2 + j 2t 1+t2 )

w( 1−t2

1+t2 + j 2t 1+t2 )

≤ β

2

z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-21
SLIDE 21

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ r(t) + jж(t) s(t) + jщ(t)

  • ∈R

≤ β

2

Polynomials r, s, ж, щ ∈ R[x] z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-22
SLIDE 22

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ r(t) s(t) ≤ β

2

Now we work only with reals. z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-23
SLIDE 23

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ r(t) s(t) ≤ β

2

Mapping t = tan ω

2 maps ω onto the whole R

Change of variable: ξ = t+2−

√ t2+4 2t

z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-24
SLIDE 24

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ r(t) s(t) ≤ β

2

β2 ≤ r( 1−2ξ

ξ(1−ξ))

s( 1−2ξ

ξ(1−ξ))

≤ β

2

z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π] ↓ ξ = t+2−

√ t2+4 2t

∀ξ ∈ Ξ ⊆ [0, 1]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-25
SLIDE 25

Reducing the problem to a real rational function

β2 ≤ v(z) w(z) ≤ β

2

β2 ≤ r(t) s(t) ≤ β

2

β2 ≤ p(ξ) q(ξ) ≤ β

2

z = ejω ∀ω ∈ Ω ⊆ [0, π] ↓ t = tan ω

2

∀ω ∈ Ω ⊆ [0, π] ↓ ξ = t+2−

√ t2+4 2t

∀ξ ∈ Ξ ⊆ [0, 1]

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17

slide-26
SLIDE 26

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

β2 ≤ p(ξ) q(ξ) ≤ β

2

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-27
SLIDE 27

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

β2 − β2 + β

2

2 ≤ p(ξ) q(ξ) − β2 + β

2

2 ≤ β

2 − β2 + β 2

2

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-28
SLIDE 28

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

− β

2 − β2

2 ≤ p(ξ) −

  • β2 + β

2

q(ξ) 2q(ξ) ≤ β

2 − β2

2

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-29
SLIDE 29

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

− 1 ≤ 2 β

2 − β2

  p(ξ) −

  • β2 + β

2

q(ξ) 2q(ξ)   ≤ 1

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-30
SLIDE 30

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

− 1 ≤ g(ξ) h(ξ) ≤ 1

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-31
SLIDE 31

Reducing the verification problem to showing the non-negativity of a polynomial

Need to show ∀ξ ∈ Ξ ⊆ [0, 1] that

g 2(ξ) h2(ξ) ≤ 1

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-32
SLIDE 32

Reducing the verification problem to showing the non-negativity of a polynomial

It suffices to show ∀ξ ∈ Ξ ⊆ [0, 1] that

h2(ξ) − g 2(ξ) ≥ 0

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-33
SLIDE 33

Reducing the verification problem to showing the non-negativity of a polynomial

It suffices to show ∀ξ ∈ Ξ ⊆ [0, 1] that

f (ξ) ≥ 0

All these transformations are performed exactly with rational arithmetic.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17

slide-34
SLIDE 34

Checking non-negativity of a real polynomial

To verify f (ξ) ≥ 0, ∀ξ ∈ Ξ = [ξ1, ξ2] ⊆ [0, 1] we check if

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 9 / 17

slide-35
SLIDE 35

Checking non-negativity of a real polynomial

To verify f (ξ) ≥ 0, ∀ξ ∈ Ξ = [ξ1, ξ2] ⊆ [0, 1] we check if (i) f (ξ) has no zeros f (ξ′) > 0 for some ξ′ ∈ [ξ1, ξ2]

ξ1 ξ2 ξ0

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 9 / 17

slide-36
SLIDE 36

Checking non-negativity of a real polynomial

To verify f (ξ) ≥ 0, ∀ξ ∈ Ξ = [ξ1, ξ2] ⊆ [0, 1] we check if (i) f (ξ) has no zeros f (ξ′) > 0 for some ξ′ ∈ [ξ1, ξ2]

ξ1 ξ2 ξ0

(ii) f (ξ) has one zero f (ξ1) > 0 and f (ξ2) > 0

ξ1 ξ2 ξ00

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 9 / 17

slide-37
SLIDE 37

Checking non-negativity of a real polynomial

To verify f (ξ) ≥ 0, ∀ξ ∈ Ξ = [ξ1, ξ2] ⊆ [0, 1] we check if (i) f (ξ) has no zeros f (ξ′) > 0 for some ξ′ ∈ [ξ1, ξ2]

ξ1 ξ2 ξ0

(ii) f (ξ) has one zero f (ξ1) > 0 and f (ξ2) > 0

ξ1 ξ2 ξ00

(iii) interval Ξ can be split into subintervals s.t. (i) or (ii) are satisfied for every subinterval

ξ1 ξ2 ξ3 Ξ1 Ξ2

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 9 / 17

slide-38
SLIDE 38

Checking non-negativity of a real polynomial

To verify f (ξ) ≥ 0, ∀ξ ∈ Ξ = [ξ1, ξ2] ⊆ [0, 1] we check if (i) f (ξ) has no zeros f (ξ′) > 0 for some ξ′ ∈ [ξ1, ξ2]

ξ1 ξ2 ξ0

(ii) f (ξ) has one zero f (ξ1) > 0 and f (ξ2) > 0

ξ1 ξ2 ξ00

(iii) interval Ξ can be split into subintervals s.t. (i) or (ii) are satisfied for every subinterval

ξ1 ξ2 ξ3 Ξ1 Ξ2

We use Sollya tool for the implementation

Number of zeros: Sturm’s theorem Evaluations: interval multiple precision arithmetic

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 9 / 17

slide-39
SLIDE 39

Wrapping-Up

Verification of the transfer function against frequency specifications: If verification passed: rigorous guarantee, no false positives

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 10 / 17

slide-40
SLIDE 40

Wrapping-Up

Verification of the transfer function against frequency specifications: If verification passed: rigorous guarantee, no false positives If verification did not pass: return list of problematic frequencies

¯ β β ω

[ ] [ ]

[ ]

[ ]

˜ ω1 ˜ ω2 ˜ ω3 ˜ ω4

  • H(ejω)
  • Volkova, Lauter, Hilaire

ARITH’24 July 26, 2017 10 / 17

slide-41
SLIDE 41

Verifying arbitrary filter implementation

Transfer Function Implemented filter

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-42
SLIDE 42

Verifying arbitrary filter implementation

Transfer Function Implemented filter

!

unreliable

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-43
SLIDE 43

Verifying arbitrary filter implementation

Transfer Function State Space Implemented filter

? X

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-44
SLIDE 44

Verifying arbitrary filter implementation

Transfer Function State Space Implemented filter

? X

State-Space system: S x(k + 1) = Ax(k) + bu(k) y(k) = cx(k) + du(k)

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-45
SLIDE 45

Verifying arbitrary filter implementation

Transfer Function State Space Implemented filter

? X

State-Space system: S x(k + 1) = Ax(k) + bu(k) y(k) = cx(k) + du(k) Corresponding Transfer Function: H(z) = c(zI − A)−1b + d can be approximated using the eigendecomposition of A = VEV −1

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-46
SLIDE 46

Verifying arbitrary filter implementation

Transfer Function State Space Implemented filter

X !

unreliable

State-Space system: S x(k + 1) = Ax(k) + bu(k) y(k) = cx(k) + du(k) Corresponding Transfer Function: H(z) = c(zI − A)−1b + d can be approximated using the eigendecomposition of A = VEV −1

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-47
SLIDE 47

Verifying arbitrary filter implementation

Transfer Function State Space Implemented filter

X !

unreliable

State-Space system: S x(k + 1) = Ax(k) + bu(k) y(k) = cx(k) + du(k) Corresponding Transfer Function: H(z) = c(zI − A)−1b + d can be approximated using the eigendecomposition of A = VEV −1

Need to:

Compute an approximation H(z) with arbitrary precision Exhibit a reliable bound on the approximation error

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 11 / 17

slide-48
SLIDE 48

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H S

?

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-49
SLIDE 49

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-50
SLIDE 50

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

Transformation from H to S is exact:

  • A =

      − a1 1 . . . ... . . . 1 − an . . .      

  • b =

     

  • b1 −

a1 b0 . . . . . .

  • bn −

an b0      

  • c =
  • 1

· · ·

  • d =

b0

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-51
SLIDE 51

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

− = ∆S

Difference of filters is defined as:

S ∆S b S

y(k) b y(k) ∆y(k) u(k)

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-52
SLIDE 52

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

− = ∆S − = ∆H ?

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-53
SLIDE 53

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

− = ∆S − = ∆H ?

Relation between ∆S and ∆H:

  • H −

H

  • (ejω)
  • ≤ ∆S ,

∀ω ∈ [0, 2π] where ∆S is the Worst-Case Peak Gain of the system ∆S.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-54
SLIDE 54

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

− = ∆S − = ∆H ?

Relation between ∆S and ∆H:

  • H −

H

  • (ejω)
  • ≤ ∆S ,

∀ω ∈ [0, 2π] where ∆S is the Worst-Case Peak Gain of the system ∆S. We can evaluate ∆S with a priori error ε [ARITH2015].

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-55
SLIDE 55

Bounding the approximation error

Computing the transfer function H(z) of the state-space system S:

H b H S

?

b S

− = ∆S − = ∆H ?

Relation between ∆S and ∆H:

  • H −

H

  • (ejω)
  • ≤ ∆S ,

∀ω ∈ [0, 2π] where ∆S is the Worst-Case Peak Gain of the system ∆S. We can evaluate ∆S with a priori error ε [ARITH2015]. We obtain a multiple precision approximation H on the transfer function with a reliable error bound.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 12 / 17

slide-56
SLIDE 56

Verifying a LTI filter implementation

¯ β β |H(ejω)| ω ¯ β − Θ β + Θ

Taking approximation error into account

Narrow the bounds by Θ = ∆S + ε and verify the approximation H(z) against updated specifications: β + Θ ≤

  • H(eiω)
  • ≤ β − Θ,

∀ω ∈ Ω

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 13 / 17

slide-57
SLIDE 57

Numerical results: example 1

Filter implementation:

g1

  • 1
  • 1

g2

  • 1
  • 1
  • 1

g3

  • 1
  • 1

1 u(k) 1 y(k) Z-1 Z-1 Z-1 0.5

g1 = 89 · 2−8 g2 = 43 · 2−7 g3 = 11 · 2−7 Specifications:

  • 10

1 20 ≤

  • H(eiω)

10

3 20

∀ω ∈ [0, 1

10π]

(passband)

  • H(eiω)

10− 20

20

∀ω ∈ [ 3

10π, π]

(stopband) Verification result: implemented filter passed the verification against frequency specifications Verification time: 1.9 s

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 14 / 17

slide-58
SLIDE 58

Numerical results: example 2

Filter implementation: 14th order bandpass filter Specifications:   

  • H(eiω)

−80dB ∀ω ∈ [0, 17kHz] (stopband) 0dB ≤

  • H(eiω)

1 − 10−4dB ∀ω ∈ [21kHz, 25kHz] (passband)

  • H(eiω)

−80dB ∀ω ∈ [27kHz, 30kHz] (stopband) Verification result: implemented filter does not pass the verification against frequency constraints Verification time: 53 s

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 15 / 17

slide-59
SLIDE 59

Numerical results: example 2

Filter implementation: 14th order bandpass filter Verification result: implemented filter does not pass the verification against frequency constraints Verification time: 53 s Frequency response:

3 17 21 25 27 Frequency, kHz −120 −100 −80 −60 −40 −20 Amplitude, dB

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 15 / 17

slide-60
SLIDE 60

Numerical results: example 2

Filter implementation: 14th order bandpass filter Verification result: implemented filter does not pass the verification against frequency constraints Verification time: 53 s Frequency response:

21 22 24 25 −2 −1.5 −1 −0.5 23 Frequency, kHz Amplitude, dB

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 15 / 17

slide-61
SLIDE 61

Numerical results: example 2

Filter implementation: 14th order bandpass filter Verification result: implemented filter does not pass the verification against frequency constraints Verification time: 53 s Frequency response:

21 22 24 25 −2 −1.5 −1 −0.5 23 Frequency, kHz Amplitude, dB

22.5 22.6 22.6 −1 −0.99 −0.98

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 15 / 17

slide-62
SLIDE 62

Conclusion and Perspectives

Conclusion: Reliable a posteriori verification of any implemented linear filter Multiple precision approximation of any filter’s transfer function Approximation errors of the transfer function are fully accounted for Algorithm implemented using a combination of rational and interval arithmetic in Sollya Use-cases: verification and comparison of implementations, verification

  • n design-stage, verification of design methods

Perspectives: Improve algorithm timings Prove our implementation with Coq Exploit information on the problematic frequencies for more robust design and implementation

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 16 / 17

slide-63
SLIDE 63

Thank you! Questions?

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 17 / 17

slide-64
SLIDE 64

Transfer Function of a State-Space

Transfer function of a single-input single-output state-space S: H(z) = c(zI − A)−1b + d Using the eigendecomposition A = VEV −1: H(z) = P(z) Q(z) + d P(z) =

n

  • i=1

(cV )i(V −1b)i

  • j=i

(z − λj) Q(z) =

n

  • j=1

(z − λj) We compute an approximation H(z) in Multiple Precision arithmetic.

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 1 / 3

slide-65
SLIDE 65

Numerical results

Input: four realizations of the same filter Problem: verify realizations after coefficient quantization to 32/16/8 bits Results: wordlength 32 16 8 DFIIt margin

  • unstable

unstable time 12.49s

  • ρ DFIIt

margin

  • 4.68e-3 dB

time 13.12s 4.19s 104.01s State-Space Balanced margin 6.16e-10 dB

  • 6.71e-1 dB

time 12.27s 18.18s 92.05s Lattice Wave margin 3.80e-10 dB

  • 1.73e-2 dB

time 920.88s 4.58s 200.83s

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 2 / 3

slide-66
SLIDE 66

Numerical results:

Input: four simple frequency specifications Problem: Verify and compare transfer function design methods. Results: comparison of SciPy in Python and Matlab Butterworth Chebyshev Elliptic margin (dB) margin (dB) margin (dB) lowpass Matlab 1.29e-17 7.93e-17

  • SciPy

2.14e-15 4.48e-2 4.48e-2 highpass Matlab 2.77e-16 6.94e-17 4.48e-2 SciPy 3.02e-15 2.29e-16 4.48e-2 bandpass Matlab 3.04e-17

  • SciPy
  • 4.48e-2

4.48e-2 bandstop Matlab 4.59e-16 3.09e-15

  • SciPy
  • 6.36e-15

7.02e-6

Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 3