The first stage consists of expanding the number ofinput samples by an integer number (N), up to a maximum of 16, and filling in between the samples with zeros. Then the new samples are filtered by a long 1/32 band FIR filter. In practice, the zeros are not multiplied with their corresponding FIR coefficients. The input samples are fed into an input FIFO and the hardware figures out which FIR coefficient corresponds to each FIFO sample. The starting coefficient and the spacing between successive coefficients are calculated by aligning the FIR filter with a virtual FIFO which is the expanded version ofthe real FIFO. The coefficient positions also depend on the third stage in the block diagram, the linear interpolator. This interpolator uses frequency and accumulator registers to interpolate between 2 samples.
| | | | | | | | | Vr K'5 V |
| }l l | | | | l l | | | | Pul | ed |
| lli[ii | | | | j l | | | | { | |
| | !1 | | | | | { ii | | | {i | 1n i li | -r |
| | f}j} | | | c {i .il | | | } | | { ij |
| | i } | | | | | | | | | | | |
| - j r ii | | }i liii |
| 1 | | - I{ { | l | | | li | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |