Markov brothers' inequality: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Jérôme
1890s
en>K9re11
 
Line 1: Line 1:
The '''Multidelay block frequency domain adaptive filter''' (MDF) algorithm is a block-based frequency domain implementation of the (normalised) [[Least mean squares filter|Least mean squares filter (LMS)]] algorithm.
Hello, my name is Felicidad but I don't like when people use my complete title. Arizona has always been my living location but my spouse wants us to transfer. Bookkeeping is how he supports his family and his wage has been truly fulfilling. One of the issues I love most is climbing and now I have time to consider on new issues.<br><br>My web-site [http://wp.shizzlaz.eu/index.php?mod=users&action=view&id=23474 extended car warranty]
 
== Introduction ==
The MDF algorithm is based on the fact that convolutions may be efficiently computed in the frequency domain (thanks to the [[Fast Fourier Transform]]). However, the algorithm differs from the [[Fast LMS algorithm]] in that block size it uses may be smaller than the filter length. If both are equal, then MDF reduces to the FLMS algorithm.  
 
The advantages of MDF over the (N)LMS algorithm are:
* Lower algorithmic complexity
* Partial de-correlation of the input (which 'may' lead to faster convergence)
 
== Variable definitions ==
[[File:Lms filter.svg|444px|LMS filter]]
 
Let <math>N</math> be the length of the processing blocks, <math>K</math> be the number of blocks and <math>\mathbf{F}</math> denote the 2Nx2N Fourier transform matrix. The variables are defined as:
 
: <math>\underline{\mathbf{e}}(\ell) = \mathbf{F}\left[ \mathbf{0}_{1xN}, e(\ell N),\dots,e(\ell N-N-1) \right]^T</math>
: <math>\underline{\mathbf{x}}_k(\ell) = \mathrm{diag} \left\{ \mathbf{F}\left[ x((\ell -k+1) N),\dots,x((\ell -k-1) N-1) \right]^T \right\}</math>
: <math>\underline{\mathbf{X}}(\ell) = \left[ \underline{\mathbf{x}}_0(\ell), \underline{\mathbf{x}}_1(\ell), \dots, \underline{\mathbf{x}}_{K-1}(\ell) \right]</math>
: <math>\underline{\mathbf{d}}(\ell) = \mathbf{F}\left[ \mathbf{0}_{1xN}, d(\ell N),\dots,d(\ell N-N-1) \right]^T</math>
With normalisation matrices <math>\mathbf{G}_1</math> and <math>\mathbf{G}_2</math>:
 
: <math>\mathbf{G}_1 = \mathbf{F}\begin{bmatrix}
\mathbf{0}_{NxN} & \mathbf{0}_{NxN} \\
\mathbf{0}_{NxN} & \mathbf{I}_{NxN} \\
\end{bmatrix}\mathbf{F}^{-1}</math>
: <math>\tilde{\mathbf{G}}_2 = \mathbf{F}\begin{bmatrix}
\mathbf{I}_{NxN} & \mathbf{0}_{NxN} \\
\mathbf{0}_{NxN} & \mathbf{0}_{NxN} \\
\end{bmatrix}\mathbf{F}^{-1}</math>
: <math>\mathbf{G}_2 = \mathrm{diag} \left\{ \tilde{\mathbf{G}}_2, \tilde{\mathbf{G}}_2, \dots, \tilde{\mathbf{G}}_2 \right\} </math>
 
In practice, when multiplying a column vector <math>\mathbf{x}</math> by <math>\mathbf{G}_1</math>, we take the inverse FFT of <math>\mathbf{x}</math>, set the first <math>N</math> values in the result to zero and then take the FFT. This is meant to remove the effects of the circular convolution.
 
== Algorithm description ==
For each block, the MDF algorithm is computed as:
: <math> \underline{\hat{\mathbf{y}}}(\ell) = \mathbf{G}_1 \underline{\mathbf{X}}(\ell) \underline{\hat{\mathbf{h}}}(\ell-1)  </math>
: <math> \underline{\mathbf{e}}(\ell) = \underline{\mathbf{d}}(\ell) - \underline{\hat{\mathbf{y}}}(\ell) </math>
: <math>\mathbf{\Phi}_\mathbf{xx} = \underline{\mathbf{X}}(\ell)\underline{\mathbf{X}}(\ell)^H</math>
: <math> \underline{\hat{\mathbf{h}}}(\ell) = \underline{\hat{\mathbf{h}}}(\ell-1) + \mu\mathbf{G}_2\mathbf{\Phi}_\mathbf{xx}^{-1}(\ell) \underline{\mathbf{X}}^H(\ell) \underline{\mathbf{e}}(\ell)  </math>
 
It is worth noting that, while the algorithm is more easily expressed in matrix form, the actual implementation requires no matrix multiplications. For instance the normalisation matrix computation <math>\mathbf{\Phi}_\mathbf{xx} = \underline{\mathbf{X}}(\ell)\underline{\mathbf{X}}(\ell)^H</math> reduces to an element-wise vector multiplication because <math>\underline{\mathbf{X}}(\ell)</math> is block-diagonal. The same goes for other multiplications.
 
== References ==
* J.-S. Soo and K. Pang, “Multidelay block frequency domain adaptive filter,” ''IEEE Transactions on Acoustics, Speech and Signal Processing'', vol. 38, no. 2, pp.&nbsp;373–376, 1990.
* H. Buchner, J. Benesty, W. Kellermann, "An Extended Multidelay Filter: Fast Low-Delay Algorithms for Very High-Order Adaptive Systems". ''Proc. IEEE [[International Conference on Acoustics, Speech, and Signal Processing]] (ICASSP)'', 2003.
* A free implementation of the MDF algorithm is available in [http://www.speex.org Speex] ([http://svn.xiph.org/trunk/speex/libspeex/mdf.c main source file])
 
== See also ==
* [[Adaptive filter]]
* [[Recursive least squares]]
* For statistical techniques relevant to LMS filter see [[Least squares]].
 
[[Category:Digital signal processing]]
[[Category:Filter theory]]

Latest revision as of 16:04, 25 November 2014

Hello, my name is Felicidad but I don't like when people use my complete title. Arizona has always been my living location but my spouse wants us to transfer. Bookkeeping is how he supports his family and his wage has been truly fulfilling. One of the issues I love most is climbing and now I have time to consider on new issues.

My web-site extended car warranty