Efika 5200B ProjectReggae on Efikain category Multimedia
proposed by Grzegorz Kraszewski on 21st February 2006 (accepted on 20th March 2006)
posted by Grzegorz Kraszewski on 25th July 2008
Finally it is the time for looking at audio resampling more seriously. I'm starting for a simplest case - a decimator. Decimation is dividing the sampling frequency by an integer number M. It is done with a lowpass FIR filter with cutoff frequency at pi/M, calculating only every M-th output sample.
I've researched FIR-s optimization already, but this one is a special case. The data reusability (which is critical for SIMD performance) is lower, because of sample skipping. A filter coefficients table is shifted over the input vector not one sample at a time, but M samples.
I've implemented naive reference code today, and did some benchmarking. The reference code is slow, Pegasos 2 achieves 175 to 195 Mtaps/s depending on filter length and decimation factor M. Efika does 55 to 65 Mtaps/s. It needs optimization badly :-).