Time-Domain Finite Impulse Response Filter Bank

The finite impulse response (FIR) filter is one of the basic operations in signal processing. This kernel implements a set of M FIR filters. Each FIR filter m, m ∈ {0, 1, ..., M-1 }, has a set of impulse response coefficients wm[k], k ∈ { 0 ... K-1 }. If the length of the input vector is N, the output of filter m, ym, is the convolution of wm with the input xm:
We define two datasets in Table 1, one for a short filter and one for a long filter.
Table 1: FIR filter bank input parameters.
Description Values
Set 1 Set 2
M Number of filters 64 20
N Length of input and output vectors 4096 1024
K Number of filter coefficients 128 12
W Workload (Mflop) 268.44 1.97
An operation count of 8MNK is used for the time-domain FIR benchmark that assumes complex input and output data.