CREDITS

FIR FILTER THEORY

INTRODUCTION:

DESIGN METHODS:

CHOICE OF REALIZATIONS:

STRUCTURES OF FIR SYSTEM:

DIRECT FORM:

DIRECT FORM FOR LINEAR PHASE FIR SYSTEM:

ACTUAL IMPLEMENTATION:

DESIGN PARAMETERS

BUILDING BLOCKS

IMPLEMENTATION

WORKING

# MINI PROJECT ON FIR FILTER REALIZATION IN V.L.S.I

BY:

JAHAGIRDAR.V.S &

GAURAV BHAGWAT

OF M.TECH(ELECTRONICS)

UNDER THE GUIDANCE OF

PROF. R.B. DESHMUKH &

PROF. W.S. KHOKLE

OF THE DEPARTMENT OF ELECTRONICS ENGINEERING VISVESVAREAYA REGIONAL COLLEGE OF ENGINEERING NAGPUR - 10

# Fir Filter Theory

## Introduction:

FIR filters find useful applications in the fields of speech, audio, image, and video processing, pulse shaping, correlation and equalization etc.

The general equation governing FIR Filters is

y(n) = Sh(k)x(n-k) ..............................(1) k=0 toM-1

where x(n) is the input sequence y(n) is the output sequence and h(n) is the unit sample response.

Designing of Fir Filter involves determining the coefficients h(0), h(1), h(2),..........h(n) according to design constraints.

## DESIGN METHODS:

There are many methods of designing FIR Filters. These are:

1. WINDOW method 2. Frequency Sampling method 3. Hilbert transform Method etc.

These algorithms are complex and are carried out before the actual implementation of the filter by either hardware or software. All of these methods finally provide us a set of coefficients h(0), h(1), h(2),.............h(n) , which are then used to implement the FIR filter.

## CHOICE OF REALIZATION:

In general we can view eqn (1) as computational procedure (an algorithm) for determining the output sequence y(n) of the system from the input sequence x(n).However in many ways, the computations in eqn. can be arranged into equivalent sets of difference equations. Each set of equations defines a computational procedure or an algorithm for implementatingthe system. From each set of equations we can construct a block diagram consisting of an interconnection of delay elements, multipliers, and adders. Such block diagrams are called realizations of the system or equivalently structures for realizing the system.

The major factors that influence the choice of realization are

1. Computational Complexity 2. Memory Requirements 3. Finite Word-length Effects and 4. Ease of Implementation.

Computational complexity refers to the number of arithmetic operations (multiplications, divisions, and additions) required to compute an output value y(n) for the system.

Memory requirements refers to the amount of memory required to store the system parameters, past inputs, past outputs and any intermediate computed values.

Finite word-length effects or finite precision effects refers to the quantization effects that are inherent in any digital implementation of system, either in hardware or in software.

## STRUCTURES OF FIR SYSTEM:

In general, an FIR system is described by the difference equation

y(n) = Sbkx(n-k) .........................(2) k=0 to M-1or equivalently, by the system function

H(z) = Sbkz -k ...........................(3) k=0 toM-1

Furthermore, the unit sample response of he FIR system is identical to the coefficients {bk} ,that is,

 H(n) =bn, 0 <= M-1 =0, otherwise

The length of FIR Filter is selected as M.

There are many methods of implementing an FIR system

### DIRECT FORM:

The direct-form realization follows immediately from the nonrecursive difference equation given by eqn (1) that is

y(n) =Sh(k)x(n-k) k=0 toM-1

This structure is illustrated in Fig.1 This structure requires M - 1 memory elements for storing the M - 1 previous inputs, and has a complexity of M multiplications and M - 1 additions per output point.

### DIRECT FORM FOR LINEAR PHASE FIR SYSTEM:

When the FIR system has linear phase, the unit sample response of the system satisfies either the symmetry or asymmetry condition

h(n) = +h(M - 1 - n)

For such a system the number of multiplications is reduced from M to M/2 for M even and to (M - 1)/2 for M odd. The structure that takes advantage of this symmetry is illustrated in Fig.2 for the case in which M is odd.

The cascade realization follows naturally from the system function given by eqn. (3). It is simple matter to factor H(z) into second-order FIR systems so that

H(z) = P Hk (z) k=1to K

where

Hk (z) = bk0+bk1z-1+bk2z-2 k=1,2,..........,K

and K is the integer part of (M+1)/2. The cascade-form realization along with the basic second-order section are shown in Fig.3.

There are a few other complex structures also namely Frequency-Sampling Structure and Lattice structure etc.

# Actual Implementation:

The implementation selected is the Direct form structure.

## Design Parameters

### Filter Coefficient

 register word length 8bits Data register word length 8 bits Length of filter Scalable

### Building blocks

 Blocks Area l*l Delay Other details Adder 77x142 1ns Multiplier 532x1111 8ns 8bit fixed point I/P 16 bit O/P Register 97x66 1ns 1bit Latch 46x59 1ns 1bit

## Implementation

The filter could be implemented by: Cascading as many units of the unit cell as the length of the filter. This can be done if the application in which the filter is to be used is known and that application requires a fixed length filter. Alternatively, we can construct a filter of fixed length and number of unit cells with a special configuration register used to select the length of the filter. Such a filter can be generally configured as per the situation .

Fig 1:A unit cell block diagram

# Working

The operation of the filter cell is as follows: When the clock goes low... Data from cell (n-2) is passed to cell (n-1). cell (n-2) gets the data of cell(n-3)...and data from the data source is loaded to cell0.i.e data is shifted out to the next cell. When the clock goes high... The coefficients h (0), h (1), h (2)...h (n-1) are loaded in the coefficient register. The multiplication of h (n) with x (n-k) takes place in the multiplier this is then added to the output of the previous cell and the result is passed on to the next cell where the same process is repeated.

Typical working of the ckt

 Clock Cell-0 h(0) Cell-1 h(1) Cell-2 h(2) Cell-3 h(3) Cell-4 h(4) Operation L x(0) * * * * Load cell-0 H x(0)h(0) * * * * Compute y(0) L x(1) x(0) * * * Shift data H x(1)h(0) x(0)h(1) * * * Compute y(1) L x(2) x(1) x(0) * * Shift data H x(2)h(0) x(1) h(1) x(0) h(2) * * Compute y(2) L x(3) x(2) x(1) x(0) * Shift data H x(3)h(0) x(2) h(1) x(1) h(2) x(0) h(3) * Compute y(3) L x(4) x(3) x(2) x(1) x(0) Shift data H x(4)h(0) x(3) h(1) x(2) h(2) x(1) h(3) x(0) h(4) Compute y(4) L x(5) x(4) x(3) x(2) x(1) Shift data H x(5)h(0) x(4) h(1) x(3) h(2) x(2) h(3) x(1) h(4) Compute y(5)