# FIR or IIR?

I have a DSP/FPGA system to process signal and I want to design a

filter to filter my input signal. I need to know which one is better

for me, FIR filter or IIR filter. For my application I need to meet

all the requirements below:

1) Low ripple

2) Linear Phase response

4) Sharpness: to block noise

5) Complexity (inherent group phase delay of the filter is not

important but it is important that my DSP platform spends few time to

process the filter and find enough time to demodulate the signal)

->group delay is not so critical for me

Advantages of FIR filters:

2. Can be implemented with fast convolution

4. Relatively insensitive to quantization

5. Can have linear phase (same time delay of all frequencies)

6. Requires fixed point math.

Advantages of IIR filters

1. For a given magnitude response specification, IIR filters often

require much less computation than an equivalent FIR.

I have collected this information from several places. It is said

that IIR is better for a good magnitude response. My problem is that

I don't know the followings

1) Given the same magnitude response and 'phase' response, which

filter requires less computation?

2) Considering that "1-IIR requires floating point math" and "2-FIR

can be implemented with fast convolution", which filter requires less

process?

3) How sensitive is IIR filter to quantization noise?

4) Which one is better for me as a final conclusion?

with thanks in advance

kian zarrin

1-it is said that IIR filter with the same magnitude response has much

less order than FIR. What about phase response then.(the data might be

stored in the phase of the signal so my phase response should be as

good as my magnitude response)?

2-although IIR filter has less order but it requires floating point

math so if i want to implement it on a FGPA (Xilinx spartan3 - 1000), I

fear that it would actually need more hardware than FIR to implement

the floating point math(FIR requires fixed point math)?