While we’re working on the DSP software, we had a closer look at the performance of the used ADAU1701. At 48kHz Sample rate, this DSP can process 1024 command per sample. With a normal CPU, that would not be a lot. But what about this DSP? Let’s have a look: a single-precision biquad filter needs 6 commands, a double-precision filter 10 commands. That means with single precision filters we would be able to use more than 150 biquad filters and even with double-precision filters there are about 100 filters possible. For a simple loudspeaker crossover, that’s a lot.
But what about FIR filtering? FIR filters are quite resource-intense. Their computing complexity is linearly dependent on the number of filter taps. The ADAU1701 can process one tap per command. That means you could process FIR filters up to about 1000 taps length on this DSP. This might not be enough for FIR based room correction, but enough for a FIR-based crossover for a normal 2 way speaker. We will see, if we can implement this.