ADSP-214xx SHARC Processor Hardware Reference 6-39
FFT/FIR/IIR Hardware Modules
The input buffer size for decimation filters is N – 1 + (W × M) where:
• N is the number of taps
• W is the window size
• M is the decimation ratio
The window size (
WINDOW bits) in the FIRCTL2 register must be pro-
grammed with the number of output samples.
To start this mode, programs set the FIR_RATIO and FIR_UPSAMP bits in the
FIRCTL2 register (along with normal filter setting). Also the TAPLEN bits
setting should be greater than or equal to FIR_RATIO bits setting for deci-
mation filter.
Interpolation
An interpolator filter provides L output results for each new input sample,
where L is the interpolation ratio. Note that the output rate is L times the
input rate.
In this mode, according to the ratio specified in configuration register,
FIR logic inserts L – 1 zeros between any two input samples (up-sampling)
and then performs the interpolation (through the FIR filter).
Both up-sampling and down-sampling do not support multi iteration
mode. Therefore, the filtering operation can only be done on up to 1024
TAPs and the ratio of up/down sampling can only be an integer value.
In an interpolation filter FIR logic inserts L – 1 zeros between each sample
and the program has to make sure that these zeroes are fully shifted out of
the delay line before moving on to the next channel. This puts a restric-
tion on window size in terms of L – the sample ratio as shown below.
WINDOWSIZE = n × SAMPLERATIO
where n is the number of input samples.