Finite Impulse Response (FIR) Digital Filters • Digital filters are rapidly replacing classic analog filters. • Programmable DSP with MAC can be used to implement digital filters. • For high-bandwidth signal processing applications, FPGA technology can provide multiple MACs to achieve the desired thoughput. Digital Kommunikationselektronik 1 TNE027 Lecture 4
• FIR Theory – An FIR with constant coefficient is an Linear Time-Invariant (LTI) filter. – The ouput of an FIR of order (or length) L, to an input time-series x[n], is given by a finite version of the convolution sum: L -1 y [ n ] = f [ n ] *x [ n ] = Σ f [ k ] x [ n-k ] k =0 where f [0] ≠ 0 through f [ L -1] ≠ 0 are the filter’s L coefficients. They also correspond to the FIR’s impulse response. Digital Kommunikationselektronik 2 TNE027 Lecture 4
• LTI system expressed in the z -domain: Y ( z ) = F ( z ) X ( z ) where F ( z ) is the FIR’s transfer function defined in z -domain by L -1 F ( z ) = Σ f [ k ] z – k k =0 The roots of polynomial F ( z ) define the zeros of the filter. FIRs are also called all zero filters. Digital Kommunikationselektronik 3 TNE027 Lecture 4
Direct Form FIR Filter Tapped delay line Fig. 3.1. Tapped weight Digital Kommunikationselektronik 4 TNE027 Lecture 4
FIR Filter with Transposed Structure A variation of the direct FIR model is called the transposed FIR filter. It can be constructed from the direct form FIR filter by – Exchanging the input and output – Inverting the direction of signal flow – Substituting an adder by a fork, and vice versa Digital Kommunikationselektronik 5 TNE027 Lecture 4
FIR Filter in the Transposed Structure Fig. 3.3. See Example 3.1: Programmable FIR Filter Digital Kommunikationselektronik 6 TNE027 Lecture 4
Comparison of the two forms of the FIR filter • The direct form FIR filter needs extra pipeline registers between the adders to reduce the delay of the adder tree and to achieve high throughput. • The FIR filter with transposed structure has registers between the adders and can achieve high throughput without adding any extra pineline registers. Digital Kommunikationselektronik 7 TNE027 Lecture 4
Symmetry in FIR Filters • Define the center point of an odd-order FIR’s impulse response as the 0 th sample: k=(L -1)/2 F ( z ) = Σ f [ k ] z – k k=-(L -1)/2 (An even-order FIR can be similarly defined.) • Linear-phase FIR filter – Linear-phase is achieved if the filter is symmetric or antisymmetric. See Table 3.1. Digital Kommunikationselektronik 8 TNE027 Lecture 4
Linear-phase even-order filter with reduced number of multipliers f[L’-2] f[L’-1] Fig. 3.5. L’ = L/2, where L is an even number. Digital Kommunikationselektronik 9 TNE027 Lecture 4
Constant Coefficient FIR Design • There are only a few applications, e.g., adaptive filters, where we need a general programmable filter. • In many applications, the filters are Linear Time Invariant (LTI) and the coefficients do not change over time. • The hardware effort can be reduced for constant coefficient FIR. Digital Kommunikationselektronik 10 TNE027 Lecture 4
Direct FIR implementation • In a practical situation, the FIR coefficients are obtained from a computer design tool and presented to the designer as floating point numbers. • The performance of a fixed-point FIR, based on the floating-point coefficients, should be verified using simulation or algebraic analysis to ensure that design specifications remain satisfied. Digital Kommunikationselektronik 11 TNE027 Lecture 4
• Dynamic range overflow should be avoided. • The worst-case dynamic range growth G of an L th - order FIR is L -1 G ≤ log 2 ( Σ |f [ k ] | ) k= 0 See Example 3.2: Four-tap direct FIR filter. Digital Kommunikationselektronik 12 TNE027 Lecture 4
Improve the direct FIR design 1. Realize each filter coefficient with an optimal CSD code. 2. Increase effective multiplier speed by pipelining. 3. For FIR with symmetric coefficients, the number of multipliers can be reduced. See Table 3.3 and Example 3.3. Digital Kommunikationselektronik 13 TNE027 Lecture 4
Rephasing pipelined multiplier in FIR filter Add a positive delay f [ n ]= z d f [ n ] z -d Digital Kommunikationselektronik 14 TNE027 Lecture 4
FIR Filter with Transposed Structure • If the transposed filter has constant coefficients, two improved designs should be considered: – Multiple use of the repeated coefficients using the reduced adder graph (RAG) algorithm – Pipeline adders Digital Kommunikationselektronik 15 TNE027 Lecture 4
Reduced Adder Graph Algorithm 3.4: Reduced Adder Graph a) Remove the sign of the coefficient. b) Remove all coefficients and factors that are a power of two. c) Realize all cost “1” coefficients. d) Use cost “1” coefficients in building the multiplier of higher cost. (Use Table 2.3.) See Example 3.5. Digital Kommunikationselektronik 16 TNE027 Lecture 4
Reduced Adder Graph for F6 Half-band Filter Fig. 3.11. Realization of F6 using RAG algorithm Digital Kommunikationselektronik 17 TNE027 Lecture 4
FIR Filter Using Distributed Arithmetic • Distributed Arithmetic Using Logic Cells See Example 3.6: Distributed Arithmetic Filter as State Machine. – Logic cells are used to implement small look- up tables for low-order filters. – The outputs of a collection of low-order filters can be added together to define the output of a high-order FIR. See Example 3.7: Five-input DA Table. Digital Kommunikationselektronik 18 TNE027 Lecture 4
• DA Using Embedded Array Blocks – It is not economical to use the 2-kbit EABs for a short FIR filter, mainly because the number of available EABs is limited. – The maximum registered speed of an EAB is 76 MHz, and an LC table implementation may be faster for a short FIR filter. – For long filters, EABs have registered throughput at a constant 76 MHz and routing effort is reduced. See Example 3.8: Distributed Arithmetic Filter using EABs. Digital Kommunikationselektronik 19 TNE027 Lecture 4
Example 3.10: Loop Unrolling for DA FIR Filter Fig. 3.16: Parallel implementation of a distributed arithmetic FIR filter Digital Kommunikationselektronik 20 TNE027 Lecture 4
Recommend
More recommend