--- In [email protected], "Ganesh L.G" <[EMAIL PROTECTED]> wrote: > > > Hi, > I am new to adaptive signal processing. > This is regarding use of LMS algorithm in adaptive signal processing > where the updated co-efficient are given by > > c_new[] = ì * x[n] * [d[n] - (xH *c[n])] > > ì - step size > x[n] - Input vector > d[n] - desired response > xH - Hermition transform of x[n] > c[n] - Coefficient vector > > to understand LMS algorithm, I took for example y[n] = x[n]^2 > where x[n] > > I want to know how to model this above equation mathematically? > > I have the following concerns: > > 1. Can we treat vectors as matrices? If yes, are all laws of matrix > algebra applicable to vector algebra also?
Ganesh, Vectors can be considered two-dimensional matrices where one of the dimensions has a range of only 1. > > 2. How could I assume the size of the coefficient vector initially? When I implemented the LMS denoiser I found that the dynamically adjustable FIR filter that is used for the LMS can go from 16 to 48 - 64 taps. Less than 16, the filter loses its effectiveness. More than 64, you gain nothing and sometimes some artifacts start to be heard. > > 3. How should the "Step size" for convergence be taken initially? The value of mu (i in your example) is much lower than 1 usually. Try with values ranging from 10^-4 to 10^-1. Remember, when implementing this kind of filters, it is of paramount importance to *listen* to the results of each change, small as it may be. You cannot design an LMS filter on paper only. > > 4. How do we take Hermation transform for real numbers ? An Hermitian matrix is a square matrix that is just the complex conjugate of its transpose. If the matrix is real you just take the transpose, as a real number is the complex conjugate of itself. But there are no square matrices in the above formula... I think that who wrote that formula, with xH intended maybe just the transpose of the row-vector with the latest input values, transforming it into a column-vector. > > 5. Say, for example, I wanted to multiply c[n] * xH , what are the > considertaions to be made? See point 4. > > Any other suggestions on implementation of LMS algorithm would be > greatly appreciated. In the above formula there is the term d[n], the "desired response", which is what initially confuses all those who read about LMS for the first time. As a practical suggestion, use for d[n] the input vector x[n], delayed by one or two samples. The result will be that the algorithm will favor signals that have some sort of correlation, like speech or CW, at the expenses of uncorrelated noise, which is just what we want to achieve... and, as said before, experiment with various delays, listening at the results. It is a cut-and-try process, that sometimes can take many hours or days before arriving to an acceptable result. Another warning is that the LMS algorithm is very sensitive to the input signal level. So it is best to place it after some sort of AGC. Good luck 73 Alberto i2PHD
