Re: Frequency Domain LMS-Algorithmus
Hi!
thank you first of all for your quick response.
my english is far to be spectacular but i will try:
So I want to implement a block LMS algorithm, :
- The input sequence x [n] is divided into blocks of length C, where C is the DFT length. To get from one block to another, we make a shift of L values.
-The method (LMS) is then repeated for each block in the frequency range. I want to compute the Frequency Domain LMS-Algorithm because it converges faster than the LMS-Algorithm in time range.(a convolution in the time range corresponds to a simple element-wise multiplication in the frequency range!
The Steps:
1.Filtering using the Overlap-save method in the frequency range:
X [k] = FFT (x [k])
Y [k] = W [k] .* X [k]
y [k] = IFFT (y [k])
Error vector: e [k] = d [k]-y [k]
E [k] = FFT (s [k])
2.Adaption of the filter in the frequency range:
-Power estimation and step size
-Update of the coefficient vector of the filter
where
k = block index, it shoud work like this:
x [1] is the vector which contains the first C values
x [2] is than the result of a shift of x[1] (L values shift) and also contains C values
so general: x [k] = [x [kL + L-C ],........, x [kL + L-1]]
w [k] is then the corresponding weight vector for this block. He has the length N(N<C), so it will be extended to C-N zeros to the length of C:
w [k] = [w1, w2 ,..., wN, 0,0 ,.... 0]
The block way processing entails that the filter output is calculated for each block and y[k] has the length L.
I can explain more details concerning the power estimation etc..
I dont even know how to begin, i thought maybe i can build a function that calculates the algorithm for one block, since it will be repeated for each Block.
And in the main programm, i can make the first step ( devide the input signal x[n] into several blocks x[k], that will be used than for the function), i may need a loop..
I am making my first experience with matlab, so i am having a lot of trouble
I can also answer questions about the algorithm.
Thank you for your help and your patience