have two questions:
1. Is it possible to implement multiple 4095 FIR filters having different coefficients (taps) ?
2. How many 4095 taps FIR filters can process this accelerator for 48k sampling rate ?
Mitesh>> Yes, you can use multiple channels (up to 32) by programming the FIRCTL1 register and configuring chained TCBs.
Mitesh>>I think you can estimate this with the help of FIR throughput expression provided in the HRM (page 7-50). Please let me know if you need any specific help there.
2 I do not know
Thanks a lot, yongyaqin21489 and Mitesh !
Sorry for questions that were set earlier by others.
In the meantime I have red carefully documentation, and looked at examples for EzKit, "MultiIterationFIR" mainly.
A first comment is:
/* This code performs 2048 tap length FIR implementation on 2048 sample data using multi iteration mode*/
but this is not the truth, because FIR length is 4096, and the window size is 1024.
Anyway, it gives 2084 core cycles for single, 4096 convolution, so it really doubles computation power of SIMD ALU.
In case of 400MHz clock, 1600 MMACs/48kHz = 33333,333 taps what equals 8.13 4096tap filters.
That is great !
Also because my FIRs must be shorter - about 1411 taps.
I meet this question also, so I ask for your help.
1 can you realize the 1096 tap FIR using multi iteration? if you can , how many the window size and input buffer?
2 I can understand your caculation of 8.13, but how to repeat the FIR ? I mean where should I put the for (; ; ),is it the FIRCTL1 = FIR_EN | FIR_DAMEN ?
Retrieving data ...