Remembering NLMS block values.
I have a NLMS block in use in my project on a ADAU1761. This seems to work fine. The block learn about the reflections it should cancel. But after a reset this learned information (filter coefficients) is lost.
I saw a few screen shots on this form where the NLMS block contain a button that show the coefficients. But when I use the block this button is not available. Also in exported C code I can’t see a declaration for the coefficients. The space used for the coefficients is not so difficult to find:
#define MOD_NLMS1_ALG0_LMSALG1RMSTABLEBASE31_ADDR 55
#define MOD_NLMS1_ALG0_LMSALG1RMSTABLEBASE31_FIXPT 0x00020000
#define MOD_NLMS1_ALG0_LMSALG1RMSTABLEBASE31_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.015625)
#define MOD_NLMS1_ALG0_LMSALG1RMSTABLEBASE31_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_NLMS1_ALG0_LMSALG1CCZM0_ADDR 311
#define MOD_NLMS1_ALG0_LMSALG1CCZM0_FIXPT 0x00800000
#define MOD_NLMS1_ALG0_LMSALG1CCZM0_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define MOD_NLMS1_ALG0_LMSALG1CCZM0_TYPE SIGMASTUDIOTYPE_FIXPOINT
I like to memorize the learned information. That way, I’m able to restore the last known information after a reset, giving better results just from the start.
Could I simply copy all data, or are the some things I have to take care off?
Thanks, Lukas
Audio Signal Processors
SigmaDSP Audio Processors
adau1761
Hello Lukas,
Sorry I missed your question until now. There is a post on the forum that will help you extract the coefficients and then you can have your system controller initialize them at bootup time.
https://ez.analog.com/message/113178#comment-113178
I hope this helps.
Dave T
Please log in to reply.