Hardware LTI filters computing just right √ x F. de Dinechin, x x 2+ y 2+ z 2 log x √ s i x i n � π x e n Th. Hilaire, e x + i =0 y M. Istoan, A. Volkova
Once upon a time in the maths ... there lived a handsome filter named H u ( k ) y ( k ) H F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 2
Once upon a time in the maths ... there lived a handsome filter named H u ( k ) y ( k ) H The Matlab fairies had blessed him with the most perfect transfer function: n b � b i z − i i =0 H ( z ) = ∀ z ∈ C . , n a � a i z − i 1 + i =1 whose coefficients ( a i ) and ( b i ) were real numbers so pure they could be computed very accurately in Matlab. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 2
And so H converged beautifully using its evaluation formula n b n a � � y ( k ) = b i u ( k − i ) − a i y ( k − i ) i =0 i =1 as long as the poles of H remained safely within the unit circle. u ( k − 1) u ( k − 2) u ( k − 3) y ( k − 3) y ( k − 2) y ( k − 1) u ( k ) a 3 a 2 a 1 b 0 b 1 b 2 b 3 - - - + + + + + + y ( k ) F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 3
And so H converged beautifully using its evaluation formula n b n a � � y ( k ) = b i u ( k − i ) − a i y ( k − i ) i =0 i =1 as long as the poles of H remained safely within the unit circle. u ( k − 1) u ( k − 2) u ( k − 3) y ( k − 3) y ( k − 2) y ( k − 1) u ( k ) a 3 a 2 a 1 b 0 b 1 b 2 b 3 - - - + + + + + + y ( k ) But the fairies had warned H : Don’t let your poles come close to the unit circle! F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 3
For it was a cruel, fixed-point world out there Although H had very pure coefficients, he had to serve in the dark underworld of CorteXLab. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 4
For it was a cruel, fixed-point world out there Although H had very pure coefficients, he had to serve in the dark underworld of CorteXLab. There, inputs and outputs were no real numbers, but low-resolution numbers in some ugly binary fixed-point ( m , l ) format. bit weight − 2 m 2 m − 1 2 0 2 ℓ s 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 bit position F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 4
For it was a cruel, fixed-point world out there Although H had very pure coefficients, he had to serve in the dark underworld of CorteXLab. There, inputs and outputs were no real numbers, but low-resolution numbers in some ugly binary fixed-point ( m , l ) format. bit weight − 2 m 2 m − 1 2 0 2 ℓ s 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 bit position For the input, it was OK, for a fixed-point number is also a real number. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 4
For it was a cruel, fixed-point world out there Although H had very pure coefficients, he had to serve in the dark underworld of CorteXLab. There, inputs and outputs were no real numbers, but low-resolution numbers in some ugly binary fixed-point ( m , l ) format. bit weight − 2 m 2 m − 1 2 0 2 ℓ s 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 bit position For the input, it was OK, for a fixed-point number is also a real number. But H had to round his outputs, and this transformed him into a vile monster with a tilde. u ( k ) � y out ( k ) � / / u ( k ) � y out ( k ) H H (0 , ℓ in ) ( m out , ℓ out ) F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 4
� H was a monster, and he diverged When he rounded his pure coefficients to some fixed-point format, � H forgot the fairies’ advice! (0 , ℓ in ) u ( k − 1) u ( k − 2) u ( k − 3) y ( k − 3) y ( k − 2) y ( k − 1) u ( k ) / � � � � a 3 � a 2 � a 1 � b 0 b 1 b 2 b 3 / ( m out , ℓ out ) — — — — — — - - - + + + + + + / y ( k ) ( m out , ℓ out ) F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 5
� H was a monster, and he diverged When he rounded his pure coefficients to some fixed-point format, � H forgot the fairies’ advice! (0 , ℓ in ) u ( k − 1) u ( k − 2) u ( k − 3) y ( k − 3) y ( k − 2) y ( k − 1) u ( k ) / � � � � a 3 � a 2 � a 1 � b 0 b 1 b 2 b 3 / ( m out , ℓ out ) — — — — — — - - - + + + + + + / y ( k ) ( m out , ℓ out ) Rounding errors were amplified on the feedback loop, and � H diverged miserably. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 5
� H was a monster, and he diverged When he rounded his pure coefficients to some fixed-point format, � H forgot the fairies’ advice! (0 , ℓ in ) u ( k − 1) u ( k − 2) u ( k − 3) y ( k − 3) y ( k − 2) y ( k − 1) u ( k ) / � � � � a 3 � a 2 � a 1 � b 0 b 1 b 2 b 3 / ( m out , ℓ out ) — — — — — — - - - + + + + + + / y ( k ) ( m out , ℓ out ) Rounding errors were amplified on the feedback loop, and � H diverged miserably. And so Nokia engineers abandonned small and handsome H , preferring a plain 128-tap FIR filter which was bulky, but stable. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 5
So H was crying, alone and forgotten F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 6
So H was crying, alone and forgotten ... when the good old witch FloPoCo heard his complaint. Looking at him, she said: you’re not that evil, you are just poorly specified. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 6
So H was crying, alone and forgotten ... when the good old witch FloPoCo heard his complaint. Looking at him, she said: you’re not that evil, you are just poorly specified. And in a whip of her magical TikZ cursor, she designed him a new interface: LTI Filter ( a i ) 1 ≤ i < n a , ( b i ) 0 ≤ i < n b architecture .vhdl input format (1 , ℓ in ) generator output accuracy ℓ out frequency FPGA Functional spec. Performance spec. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 6
So H was crying, alone and forgotten ... when the good old witch FloPoCo heard his complaint. Looking at him, she said: you’re not that evil, you are just poorly specified. And in a whip of her magical TikZ cursor, she designed him a new interface: LTI Filter ( a i ) 1 ≤ i < n a , ( b i ) 0 ≤ i < n b architecture .vhdl input format (1 , ℓ in ) generator output accuracy ℓ out frequency FPGA Functional spec. Performance spec. These a i and b i were reals! The very real coefficients! H suddenly felt much lighter than he had ever felt. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 6
So H was crying, alone and forgotten ... when the good old witch FloPoCo heard his complaint. Looking at him, she said: you’re not that evil, you are just poorly specified. And in a whip of her magical TikZ cursor, she designed him a new interface: LTI Filter ( a i ) 1 ≤ i < n a , ( b i ) 0 ≤ i < n b architecture .vhdl input format (1 , ℓ in ) generator output accuracy ℓ out frequency FPGA Functional spec. Performance spec. These a i and b i were reals! The very real coefficients! H suddenly felt much lighter than he had ever felt. But... but... F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 6
But you forgot to provide me a m out , cried H F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 7
But you forgot to provide me a m out , cried H No, said FloPoCo, for I have, somewhere in my library, a spell that can compute it out of your coefficients. F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 7
But you forgot to provide me a m out , cried H No, said FloPoCo, for I have, somewhere in my library, a spell that can compute it out of your coefficients. (wait a moment, where is it? It was written by poor princess Anastasia Volkova during her captivity in the caves of the mighty sorcerers Lauter and Hilaire...) F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 7
But you forgot to provide me a m out , cried H No, said FloPoCo, for I have, somewhere in my library, a spell that can compute it out of your coefficients. (wait a moment, where is it? It was written by poor princess Anastasia Volkova during her captivity in the caves of the mighty sorcerers Lauter and Hilaire...) (I hope it still compiles...) F. de Dinechin, Th. Hilaire, M. Istoan, A. Volkova Hardware LTI filters computing just right 7
Recommend
More recommend