Digital Signal Processing Basics

A 256-tap FIR filter runs in real time at a sampling frequency of 44.1 kHz. Which of the following is the number of multiply-accumulate (MAC) operations needed per second?

  1. AAbout 44,000
  2. BAbout 11.3 million
  3. CAbout 22.6 million
Show answer and explanation

Answer: B. About 11.3 million

An FIR filter performs as many multiply-accumulates per output sample as it has taps, here 256. There are 44,100 outputs per second, so 256 × 44,100 = 11,289,600, about 11.3 million MACs are needed. Even a processor that performs one MAC per cycle needs a clock of at least about 11.3 MHz, and in practice work such as reading and writing data is added.

  • A. This is the number of outputs per second (the sampling frequency) itself. Each output needs 256 MACs.
  • B. Correct. 256 × 44,100 ≈ 11.3 million.
  • C. This counts multiplications and additions separately (2 × 256 × 44,100). Counting a MAC as one operation gives half of it.
Practice this topic Back to topic

Books on Digital Signal Processing Basics Ad

As an Amazon Associate I earn from qualifying purchases.

More Digital Signal Processing Basics questions

  1. 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?
  2. In an FIR filter computation, products of 16-bit fixed-point data and coefficients are represented in 32 bits, and 256 of these products are added up. Which of the following is the minimum accumulator width that guarantees no overflow during the computation?
  3. A 6 kHz sine wave is sampled at a sampling frequency of 48 kHz. Which of the following is the normalized angular frequency ω (the phase advance per sample) of the resulting discrete-time signal?
  4. Which of the following is the fundamental period (the smallest positive integer N such that x[n + N] = x[n] for every integer n) of the discrete-time signal x[n] = cos(0.3πn)?
  5. Which of the following signals takes the same value as the discrete-time signal x[n] = cos(1.75πn) for every integer n?