Digital Signal Processing Basics
An FIR filter output is computed for every sample at a sampling frequency of 48 kHz on a processor clocked at 200 MHz that performs one multiply-accumulate per cycle. Ignoring the time for other processing, which of the following is closest to the maximum number of taps that can be processed in real time?
- AAbout 2,080 taps
- BAbout 4,170 taps
- CAbout 8,330 taps
Show answer and explanation
Answer: B. About 4,170 taps
The time available per sample is 1/48000 ≈ 20.8 µs, which is 200 MHz ÷ 48 kHz ≈ 4167 clock cycles. At one MAC per cycle, about 4,170 taps can be computed. If this time is exceeded, the output is not ready before the next sample arrives and real-time processing breaks down, so in practice designs leave a margin for interrupts, data transfers and the like.
- A. This assumes one cycle each for the multiplication and the addition (4167 ÷ 2). This processor performs a MAC in one cycle.
- B. Correct. 200 MHz ÷ 48 kHz ≈ 4167 cycles.
- C. This divides by the Nyquist frequency of 24 kHz instead of the sampling frequency (200 MHz ÷ 24 kHz).