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
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
Digital Filters Context: Linear Time Invariant Digital Filters Time domain u ( k ) y ( k ) H � n b i z − i Frequency domain i = 0 H ( z ) = z ∈ C , a i , b i ∈ R , � n a i z − i i = 0 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 2 / 17
Digital Filters Frequency response ( z = e j ω ) phase � �� � � e j ω � � e j ω �� � e j ω � � ∡ H � H � H = e � �� � magnitude Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17
Digital Filters Frequency response ( z = e j ω ) phase � �� � � e j ω � � e j ω �� � e j ω � � ∡ H � H � H = e � �� � magnitude � � � H ( e iω ) � β p 2 β p 1 β s 0 ω π ω s 1 ω p 1 ω p 2 ω s 2 stopband passband stopband Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17
Digital Filters Frequency response ( z = e j ω ) phase � �� � � e j ω � � e j ω �� � e j ω � � ∡ H � H � H = e � �� � magnitude � � � H ( e iω ) � β p 2 β p 1 β s 0 ω π ω s 1 ω p 1 ω p 2 ω s 2 stopband passband stopband � � � H ( e i ω ) � ≤ β, β ≤ ∀ ω ∈ [ ω 1 , ω 2 ] ⊆ [ 0 , π ] Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 3 / 17
Goal: verify an implemented filter Filter Implementation Boolean Rigorous Verification Answer Frequency Specifications Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17
Goal: verify an implemented filter Filter Implementation Boolean Rigorous Verification Answer Frequency Specifications Existing approaches: Our reliable approach: simulations no simulations, only proofs approximate magnitude response rational and interval arithmetic Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17
Goal: verify an implemented filter Filter Implementation Boolean Rigorous Verification Answer Frequency Specifications Existing approaches: Our reliable approach: simulations no simulations, only proofs approximate magnitude response rational and interval arithmetic We use Computer Arithmetic to make Signal Processing rigorous. Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 4 / 17
Example Filter: 1 -1 u(k) -1 -1 g 1 = 89 · 2 − 8 -1 g3 g2 g 2 = 43 · 2 − 7 g1 -1 Z-1 -1 Z-1 g 3 = 11 · 2 − 7 Z-1 -1 0.5 1 y(k) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17
Example Filter: 1 -1 u(k) -1 -1 g 1 = 89 · 2 − 8 -1 g3 g2 g 2 = 43 · 2 − 7 g1 -1 Z-1 -1 Z-1 g 3 = 11 · 2 − 7 Z-1 -1 0.5 1 y(k) Specifications: � � � 1dB ≤ � H ( e i ω ) � ≤ ∀ ω ∈ [ 0 , 1 3dB 10 π ] (passband) � � � H ( e i ω ) � ≤ ∀ ω ∈ [ 3 − 20dB 10 π, π ] (stopband) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17
Example Filter: 1 -1 u(k) -1 -1 g 1 = 89 · 2 − 8 -1 g3 g2 g 2 = 43 · 2 − 7 g1 -1 Z-1 -1 Z-1 g 3 = 11 · 2 − 7 Z-1 -1 0.5 1 y(k) Specifications: � � � 1 3 � H ( e i ω ) � ≤ ∀ ω ∈ [ 0 , 1 20 ≤ 10 10 10 π ] (passband) 20 � � 10 − 20 � H ( e i ω ) � ≤ ∀ ω ∈ [ 3 10 π, π ] (stopband) 20 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17
Example Filter: 1 -1 u(k) -1 -1 g 1 = 89 · 2 − 8 -1 g3 g2 g 2 = 43 · 2 − 7 g1 -1 Z-1 -1 Z-1 g 3 = 11 · 2 − 7 Z-1 -1 0.5 1 y(k) Specifications: � � � 1 3 � H ( e i ω ) � ≤ ∀ ω ∈ [ 0 , 1 20 ≤ 10 10 10 π ] (passband) 20 � � 10 − 20 � H ( e i ω ) � ≤ ∀ ω ∈ [ 3 10 π, π ] (stopband) 20 � Transfer Function: n b i z − i i = 0 H ( z ) = � n a i z − i i = 0 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 5 / 17
Transfer function verification Need to show that ∀ z = e j ω , ω ∈ Ω ⊂ [ 0 , π ] β ≤ | H ( z ) | ≤ β Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17
Transfer function verification Need to show that ∀ z = e j ω , ω ∈ Ω ⊂ [ 0 , π ] β 2 ≤ | H ( z ) | 2 ≤ β 2 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17
Transfer function verification Need to show that ∀ z = e j ω , ω ∈ Ω ⊂ [ 0 , π ] β 2 ≤ | H ( z ) | 2 ≤ β 2 We have that | H ( z ) | 2 = | b ( z ) | 2 = b ( z ) b ( 1 | a ( z ) | 2 = b ( z ) b ( z ) z ) =: v ( z ) z ) w ( z ) , a ( z ) a ( 1 a ( z ) a ( z ) v ( z ) and w ( z ) have real coefficients. Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 6 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] Dealing with complex variables is difficult Change of variable: t = tan ω 2 z = e j ω = cos ω + j sin ω Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] Dealing with complex variables is difficult Change of variable: t = tan ω 2 z = e j ω = 1 − t 2 2 t 1 + t 2 + j 1 + t 2 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ v ( 1 − t 2 t = tan ω 2 t 1 + t 2 + j 1 + t 2 ) β 2 ≤ 2 2 ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] w ( 1 − t 2 2 t 1 + t 2 + j 1 + t 2 ) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ t = tan ω β 2 ≤ r ( t ) + j ж ( t ) 2 ≤ β 2 s ( t ) + j щ ( t ) ∀ ω ∈ Ω ⊆ [ 0 , π ] � �� � ∈ R Polynomials r , s , ж , щ ∈ R [ x ] Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ t = tan ω β 2 ≤ r ( t ) 2 s ( t ) ≤ β 2 ∀ ω ∈ Ω ⊆ [ 0 , π ] Now we work only with reals. Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ t = tan ω β 2 ≤ r ( t ) 2 s ( t ) ≤ β 2 ∀ ω ∈ Ω ⊆ [ 0 , π ] Mapping t = tan ω 2 maps ω onto the whole R √ t 2 + 4 Change of variable: ξ = t + 2 − 2 t Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ t = tan ω β 2 ≤ r ( t ) 2 s ( t ) ≤ β 2 ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ √ t 2 + 4 r ( 1 − 2 ξ ξ = t + 2 − ξ ( 1 − ξ ) ) β 2 ≤ 2 2 t ≤ β ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] s ( 1 − 2 ξ ξ ( 1 − ξ ) ) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the problem to a real rational function β 2 ≤ v ( z ) z = e j ω 2 w ( z ) ≤ β ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ t = tan ω β 2 ≤ r ( t ) 2 s ( t ) ≤ β 2 ∀ ω ∈ Ω ⊆ [ 0 , π ] ↓ √ t 2 + 4 β 2 ≤ p ( ξ ) ξ = t + 2 − 2 q ( ξ ) ≤ β 2 t ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 7 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that p ( ξ ) 2 β 2 ≤ ≤ β q ( ξ ) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that β 2 − β 2 + β 2 q ( ξ ) − β 2 + β 2 2 − β 2 + β 2 p ( ξ ) ≤ ≤ β 2 2 2 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that � 2 � β 2 + β 2 − β 2 2 − β 2 p ( ξ ) − q ( ξ ) − β β ≤ ≤ 2 2 q ( ξ ) 2 Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that � 2 � β 2 + β p ( ξ ) − q ( ξ ) 2 − 1 ≤ ≤ 1 2 − β 2 2 q ( ξ ) β Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that g ( ξ ) − 1 ≤ ≤ 1 h ( ξ ) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Reducing the verification problem to showing the non-negativity of a polynomial Need to show ∀ ξ ∈ Ξ ⊆ [ 0 , 1 ] that g 2 ( ξ ) ≤ 1 h 2 ( ξ ) Volkova, Lauter, Hilaire ARITH’24 July 26, 2017 8 / 17
Recommend
More recommend