I want to implement the following:
I have a one channel input signal which is processed by a 1024 tap FIR filter.
A delay can be set. too.
This signal is then put into 8 signal paths with a FIR filter and a delay each.
---> FIR 1, Delay 1
in --> FIR , Delay -- ----> FIR 2, Delay 2
---> FIR 8, Delay 8
Like in the "drawing" above. My idea is to have all FIRs calculated in one go (one call to FIR accelerator) and also do the delays with the FIR accelerator.
Is that possible? I'd process the input filter first, writing it's output into a big delay buffer.
Then, the output filters grab the data that had just been written by the first filter. Since all filters have the same input data, all TCBs refer to the same location. The output filters write to delay buffers again and the rest of the signal processing grabs the data from the output delay lines.
The buffers then would need a length of len(delay) + len(fir) + len(window) -1, correct?
All, I'd have to do would be to copy the input data into the input buffer of the first FIR filter and all the rest would be magically done by accelerator.
Do I overlook something here?