Modified FxLMS block for ADAU1442 eval board
Good afternoon!
I am wondering if it is any way to use the Modified FxLMS block or FxLMS block for the ADA1442 eval board. This board supports only NLMS block, which is not very useful for multi-channel ANC.
Thank you!
Regards
Audio Signal Processors
anc
adau1442
SigmaDSP Audio Processors
MFXLMS
Hello Plodozhor,
I do not expect we will be adding this block to the ADAU1442 toolbox. The DSP resources are somewhat limited for this application and so we recommend to move over to the ADAU145x and ADAU146x family of processors.
Dave T
Hello Dave,
Thank you for your reply. However, ADAU145x and ADAU146x are also not a good solution for us because we need more inputs for our application then these evaluation boards have. However, is it still possible to implement active noise control manually using ADAU1442?
Hello Plodozhor,
So you are not designing your own PCB?
The ADAU1442 is a reasonably powerful DSP but the ADAU1452 is much more powerful and had block based processing and a quad MAC that makes it more efficient for doing FFTs. Then there is the AEC and NR allocation that is available for licensing for that platform.
So you should be able to do an FxLMS algorithm but it might limit how much other things you can do. Also, I do not have any example projects to get you started. There is a lot on the forum and I can help with small parts of the program if questions come up.
Dave T
Hello Dave,
Thank you for your reply. Yes, I' m not designing my PCB.
I know that ADAU1452 is more powerful. However, we choose ADAU1442 eval board because we need more than 4 analog (3.5 jack) inputs and ADAU1452 eval board has only 4.
I'm starting to implement the algorithm. Hope, it will be ok.
Thank you for help
Regards
Hello Dave,
One more question. Is there any convolution block for two signals?
Regards
Hello Plodozhor,
What type of convolution? We have IIR and FIR filters.
Dave T
Hello Dave,
If I understand right FIR filter block assumes one input and implements the convolution of this input with pre-stored filter coefficients. And I need a block that has two inputs and implements the convolution of these inputs. Is it possible to use FIR filter in this way?
Regards
Hello Plodozhor,
We have the FIR Filter Pool block which can have multiple inputs and you can choose from a pool of FIR filters for which filter to use. So this is good where multiple inputs will be using the same filter coefficients. Then you do not have to store the same coefficients multiple times. But we do not have any block that uses one input to convolve with another? Unless you must multiply one sample by the other? So I am not fully understanding your question.
If you need to process more than one channel you can simply grow the cell.
This above was a single channel FIR filter that I grew to three inputs and outputs. They all will use the coefficients stored in the table so that is efficient.
Dave T
Hello Dave,
Thank you for reply. Let me explain what I mean. I mean convolution between two input vectors. It can be expressed by this equation:
y(n)=x(n)*z(n)+x(n-1)*z(n-1)+...+x(n-N+1)*z(n-N+1)
where x and z input vector of order N and y(n) is a one-samle output.
Is it possible to implement something similar?
Thank you!
Regards
Hello,
It looks you are describing a vector dot product, am I correct ?
Regards,
Chris
Hello,
Yes, you are right, it is the same as a vector dot product. Is there any way to implement it?
Thank you!
Regards
Hello,
We don't have this function in the library, but its possible to do it with delays and multiplies and adder, although its not efficient. See the attached project.
Regards,
Chris
6327.VectorDot.zip
Hi Chris,
Thank you for your reply. But I need to implement it for vectors of 640 order. Maybe you can suggest something instead of this?
Thank you!
Regards
Please log in to reply.

