How to evaluate fixed-point implementation of LMS filter is correct? I am having an LMS block with 6 filter coefficients.
The value of filter coefficients are
0.0001
0.00045 
0.2535 
0.546536 
0.0000243 
0.3423

I have tried to implement the LMS algorithm in floating-point with $\mu=0.01$.
LMS algorithm implemented in floating point is based on the below equations:(from figure) :
v(n)=wT(n)u(n),
e(n)=d(n)-v(n),
w(n+1)=w(n)+mu e(n)*u(n) ,which is the weight updation equation.
Here d(n) is the desired signal,u(n) is the input to lms block,v(n) is the lms filter output ,w(n) is the adaptive filter weights and e(n) is the error.
I have given a set of desired samples and input samples to the LMS filter and the LMS filter output data samples were analyzed. Now, to implement the same LMS filter in fixed-point representation, I will have to do scaling and rounding. Is scaling of filter coefficients by some factor $2^{s_1}$ enough and $\mu$ value be represented like $2^{-6}$ or should we consider any other factors while doing scaling operations. Finally, how to check the fixed-point implementation of LMS filter worked correctly?
I'm not an expert on the LMS algorithm. Perhaps you should add a link to the algorithm description so we can help you. However, I have adapted a lot of algorithms to fixed-point implementation, so I think I can help you.
I'm gonna give you a few pointers :
1 - If your algorithm is not recursive, quantization errors can affect the accuracy of your results but the fixed-point implementation will always be stable.
2 - If your algorithm is recursive, it is possible that quantization will radically change the behaviour of your algorithm, it could become unstable, you could be stuck with a limit cycle, etc.
3 - Create a &quot;perfect&quot; model. In your case, the floating-point implementation could be your perfect model. Then, convert your model to fixed-point and compare the results of your fixed-point model. You can toy around with the number of bits for your coefficients, rounding versus truncation, etc.
Regarding your algorithm, you have 6 coefficients, 3 of them are significant (coefficients 3, 4 and 6) while 3 of them seem insignificant (1,2,5). Is this ok?