Uniquely inversible grammar: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Lockley
m remove context tag
 
en>Yobot
m WP:CHECKWIKI error fixes, added underlinked tag using AWB (9475)
Line 1: Line 1:
Last week I woke up and noticed - I have been single for a little while now and after much bullying from buddies I today locate myself opted for on line dating. They assured me that there are plenty of sweet, regular and  [http://lukebryantickets.iczmpbangladesh.org concert Tickets luke bryan] entertaining visitors to meet  [http://lukebryantickets.neodga.com luke bryan concert tour dates] up, therefore here  [http://www.hotelsedinburgh.org luke bryan 2014 tour schedule] goes the pitch!<br>My household and buddies are magnificent and spending time with them at bar [http://Search.huffingtonpost.com/search?q=gigabytes&s_it=header_form_v1 gigabytes] or meals is always critical. I haven't ever been in to clubs as I discover that one may not have a good dialogue with all the noise. I also have 2 really cute and [http://Www.Wikipedia.org/wiki/unquestionably+cheeky unquestionably cheeky] dogs that are almost always keen to meet new people.<br>I attempt to keep  [http://lukebryantickets.flicense.com luke bryan concert ticket] as toned as potential being at the gym many times per week. I appreciate my athletics and attempt to perform or view as several a possible. Being winter I'll frequently at Hawthorn matches. Notice: Supposing that you considered purchasing a hobby I really don't brain, I've seen the carnage of fumbling suits at stocktake sales.<br><br>My site [http://lukebryantickets.lazintechnologies.com tickets to see luke bryan]
'''Least mean squares (LMS)''' algorithms are a class of [[adaptive filter]] used to mimic a desired filter by finding the filter coefficients that relate to producing the least mean squares of the error signal (difference between the desired and the actual signal). It is a [[stochastic gradient descent]] method in that the filter is only adapted based on the error at the current time.  It was invented in 1960 by [[Stanford University]] professor [[Bernard Widrow]] and his first Ph.D. student, [[Ted Hoff]].
 
== Problem formulation ==
[[File:Lms filter.svg|444px|LMS filter]]
 
=== Relationship to the least mean squares filter ===
The realization of the causal Wiener filter looks a lot like the solution to the least squares estimate, except in the signal processing domain. The least squares solution, for input matrix <math>
\scriptstyle\mathbf{X}</math> and output vector <math>\scriptstyle\mathbf{y} </math>
is
 
<math>
\boldsymbol{\hat\beta} = (\mathbf{X} ^\mathbf{T}\mathbf{X})^{-1}\mathbf{X}^{\mathbf{T}}\boldsymbol y .
</math>
 
The FIR least mean squares filter is related to the Wiener filter, but minimizing the error criterion of the former does not rely on cross-correlations or auto-correlations. Its solution converges to the Wiener filter solution.
Most linear adaptive filtering problems can be formulated using the block diagram above. That is, an unknown system <math>\mathbf{h}(n)</math> is to be identified and the adaptive filter attempts to adapt the filter <math>\hat{\mathbf{h}}(n)</math> to make it as close as possible to <math>\mathbf{h}(n)</math>, while using only observable signals <math>x(n)</math>, <math>d(n)</math> and <math>e(n)</math>; but <math>y(n)</math>, <math>v(n)</math> and <math>h(n)</math> are not directly observable. Its solution is closely related to the [[Wiener filter]].
 
=== Definition of symbols ===
:<math>n</math> is the number of the current input sample
:<math>p</math> is the filter order
:<math> \{\cdot\}^H </math> ([[Hermitian transpose]] or [[conjugate transpose]])
:<math>
\mathbf{x}(n) = \left[x(n), x(n-1), \dots, x(n-p+1)\right]^T
</math>
:<math>
\mathbf{h}(n) = \left[h_0(n), h_1(n), \dots, h_{p-1}(n)\right]^T,\quad \mathbf{h}(n) \in \mathbb{C}^p
</math>
:<math>
y(n) = \mathbf{h}^H(n) \cdot \mathbf{x}(n)
</math>
:<math>
d(n) = y(n) + \nu(n)
</math>
:<math>\hat{\mathbf{h}}(n)</math> estimated filter; interpret as the estimation of the filter coefficients after {{math|n}} samples
:<math>
e(n) = d(n) - \hat{y}(n) = d(n) - \hat{\mathbf{h}}^H(n) \cdot \mathbf{x}(n)
</math>
 
== Idea ==
The basic idea behind LMS filter is to approach the optimum filter weights <math>(R^{-1}P)</math>, by updating the
filter weights in a manner to converge to the optimum filter weight. The algorithm starts by assuming a small weights
(zero in most cases), and at each step, by finding the gradient of the mean square error, the weights are updated.
That is, if the MSE-gradient is positive, it implies, the error would keep increasing positively,
if the same weight is used for further iterations, which means we need to reduce the weights. In the same way, if the gradient is negative, we need to increase the weights. So, the
basic weight update equation is :
 
<math> W_{n+1} = W_n - \mu\Delta \varepsilon [n] </math>,
 
where <math> \varepsilon </math> represents the mean-square error.
The negative sign indicates that, we need to change the weights in a direction opposite to that of the gradient slope.
 
The mean-square error, as a function of filter weights is a quadratic function which means it has only one extrema, that minimises
the mean-square error, which is the optimal weight. The LMS thus, approaches towards this optimal weights by ascending/descending
down the mean-square-error vs filter weight curve.
 
== Derivation ==
The idea behind LMS filters is to use [[steepest descent]] to find filter weights <math> \mathbf{h}(n)</math> which minimize a [[Loss function|cost function]].
We start by defining the cost function as
:<math> C(n) = E\left\{|e(n)|^{2}\right\}</math>
where <math>e(n)</math> is the error at the current sample 'n' and <math>E\{.\}</math> denotes the [[expected value]].
 
This cost function (<math>C(n)</math>) is the mean square error, and it is minimized by the LMS. This is where the LMS gets its name. Applying [[steepest descent]] means to take the [[partial derivative]]s with respect to the individual entries of the filter coefficient (weight) vector
:<math>
\nabla_{\hat{\mathbf{h}}^H} C(n) = \nabla_{\hat{\mathbf{h}}^H} E\left\{e(n) \, e^{*}(n)\right\}=2E\left\{\nabla_{\hat{\mathbf{h}}^H} ( e(n)) \, e^{*}(n) \right\}
</math>
where <math>\nabla</math> is the [[gradient]] operator.
:<math>
\nabla_{\hat{\mathbf{h}}^H} (e(n))= \nabla_{\hat{\mathbf{h}}^H} \left(d(n) - \hat{\mathbf{h}}^H \cdot \mathbf{x}(n)\right)=-\mathbf{x}(n)
</math>
:<math>
\nabla C(n) = -2E\left\{\mathbf{x}(n) \, e^{*}(n)\right\}
</math>
Now, <math>\nabla C(n)</math> is a vector which points towards the steepest ascent of the cost function. To find the minimum of the cost function we need to take a step in the opposite direction of <math>\nabla C(n)</math>. To express that in mathematical terms
:<math>\hat{\mathbf{h}}(n+1)=\hat{\mathbf{h}}(n)-\frac{\mu}{2} \nabla C(n)=\hat{\mathbf{h}}(n)+\mu \, E\left\{\mathbf{x}(n) \, e^{*}(n)\right\}</math>
where <math>\frac{\mu}{2}</math> is the step size(adaptation constant). That means we have found a sequential update algorithm which minimizes the cost function. Unfortunately, this algorithm is not realizable until we know <math>E\left\{\mathbf{x}(n) \, e^{*}(n)\right\} </math>.
 
Generally, the expectation above is not computed. Instead, to run the LMS in an online (updating after each new sample is received) environment, we use an instantaneous estimate of that expectation. See below.
 
== Simplifications ==
For most systems the expectation function <math>{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\} </math> must be approximated. This can be done with the following unbiased [[estimator]]
:<math>
\hat{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\}=\frac{1}{N}\sum_{i=0}^{N-1}\mathbf{x}(n-i) \, e^{*}(n-i)
</math>
where <math>N</math> indicates the number of samples we use for that estimate. The simplest case is <math>N=1</math>
:<math>
\hat{E}\left\{\mathbf{x}(n) \, e^{*}(n)\right\}=\mathbf{x}(n) \, e^{*}(n)
</math>
For that simple case the update algorithm follows as
:<math>\hat{\mathbf{h}}(n+1)=\hat{\mathbf{h}}(n)+\mu \mathbf{x}(n) \, e^{*}(n)</math>
Indeed this constitutes the update algorithm for the LMS filter.
 
== LMS algorithm summary ==
The LMS algorithm for a <math>p</math>th order algorithm can be summarized as
{|
| Parameters: || <math>p=</math> filter order 
|-
|  || <math>\mu=</math> step size 
|-
|Initialisation: || <math>\hat{\mathbf{h}}(0)=\operatorname{zeros}(p)</math>
|-
|Computation: || For <math>n=0,1,2,... </math>
|-
|||
<math>\mathbf{x}(n) = \left[x(n), x(n-1), \dots, x(n-p+1)\right]^T</math>
|-
|||<math> e(n) = d(n)-\hat{\mathbf{h}}^{H}(n)\mathbf{x}(n)</math>
|-
|||<math> \hat{\mathbf{h}}(n+1) = \hat{\mathbf{h}}(n)+\mu\,e^{*}(n)\mathbf{x}(n)</math>
|}
 
== Convergence and stability in the mean ==
 
As the LMS algorithm does not use the exact values of the expectations, the weights would never reach the optimal weights in the absolute sense, but a convergence is possible in mean. That is, even though the weights may change by small amounts, it changes about the optimal weights. However, if the variance with which the weights change, is large, convergence in mean would be misleading. This problem may occur, if the value of step-size <math> \mu </math> is not chosen properly.
 
If <math> \mu </math> is chosen to be large, the amount with which the weights change depends heavily on the gradient estimate, and so the weights may change by a large value so that gradient which was negative at the first instant may now become positive. And at the second instant, the weight may change in the opposite direction by a large amount because of the negative gradient and would thus keep oscillating with a large variance about the optimal weights. On the other hand if <math> \mu </math> is chosen to be too small, time to converge to the optimal weights will be too large.
 
Thus, an upper bound on <math> \mu </math> is needed which is given as
<math> 0<\mu<\frac{2}{\lambda_{\mathrm{max}}} </math>
 
where <math>\lambda_{\max}</math> is the greatest eigenvalue of the [[autocorrelation]] matrix <math> R = E\{x(n)x(n)\}</math>. If this condition is not fulfilled, the algorithm becomes unstable and <math>\hat{h}(n)</math> diverges.
 
Maximum convergence speed is achieved when
:<math>
\mu=\frac{2}{\lambda_{\mathrm{max}}+\lambda_{\mathrm{min}}},
</math>
where <math>\lambda_{\min}</math> is the smallest eigenvalue of R.
Given that <math>\mu</math> is less than or equal to this optimum, the convergence speed is determined by <math>\lambda_{\min}</math>, with a larger value yielding faster convergence. This means that faster convergence can be achieved when <math>\lambda_{\max}</math> is close to <math>\lambda_{\min}</math>, that is, the maximum achievable convergence speed depends on the [[eigenvalue spread]] of <math>R</math>.
 
A [[white noise]] signal has autocorrelation matrix <math>R=\sigma^2 I</math> where <math>\sigma^2</math> is the variance of the signal. In this case all eigenvalues are equal, and the eigenvalue spread is the minimum over all possible matrices.
The common interpretation of this result is therefore that the LMS converges quickly for white input signals, and slowly for colored input signals, such as processes with low-pass or high-pass characteristics.
 
It is important to note that the above upperbound on <math>\mu</math> only enforces stability in the mean, but the coefficients of <math>\hat{h}(n)</math> can still grow infinitely large, i.e. divergence of the coefficients is still possible. A more practical bound is
:<math>
0<\mu<\frac{2}{\mathrm{tr}\left[R\right]},
</math>
where <math>\mathrm{tr}[R]</math> denotes the trace of <math>R</math>. This bound guarantees that the coefficients of <math>\hat{h}(n)</math> do not diverge (in practice, the value of <math>\mu</math> should not be chosen close to this upper bound, since it is somewhat optimistic due to approximations and assumptions made in the derivation of the bound).
 
== Normalised least mean squares filter (NLMS) ==
 
The main drawback of the "pure" LMS algorithm is that it is sensitive to the scaling of its input <math>x(n)</math>. This makes it very hard (if not impossible) to choose a learning rate <math>\mu</math> that guarantees stability of the algorithm (Haykin 2002). The ''Normalised least mean squares filter'' (NLMS) is a variant of the LMS algorithm that solves this problem by normalising with the power of the input. The NLMS algorithm can be summarised as:
 
{|
| Parameters: || <math>p=</math> filter order 
|-
|  || <math>\mu=</math> step size 
|-
|Initialization: || <math>\hat{\mathbf{h}}(0)=\operatorname{zeros}(p)</math>
|-
|Computation: || For <math>n=0,1,2,... </math>
|-
|||
<math>\mathbf{x}(n) = \left[x(n), x(n-1), \dots, x(n-p+1)\right]^T</math>
|-
|||<math> e(n) = d(n)-\hat{\mathbf{h}}^{H}(n)\mathbf{x}(n)</math>
|-
|||<math> \hat{\mathbf{h}}(n+1) = \hat{\mathbf{h}}(n)+\frac{\mu\,e^{*}(n)\mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)}</math>
|}
 
=== Optimal learning rate ===
It can be shown that if there is no interference (<math>v(n)=0</math>), then the optimal learning rate for the NLMS algorithm is
:<math>\mu_{opt}=1</math>
and is independent of the input <math>x(n)</math> and the real (unknown) impulse response <math>\mathbf{h}(n)</math>. In the general case with interference (<math>v(n) \ne 0</math>), the optimal learning rate is
:<math>
\mu_{opt}=\frac{E\left[\left|y(n)-\hat{y}(n)\right|^2\right]}{E\left[|e(n)|^2\right]}
</math>
 
The results above assume that the signals <math>v(n)</math> and <math>x(n)</math> are uncorrelated to each other, which is generally the case in practice.
 
=== Proof ===
Let the filter misalignment be defined as <math>\Lambda(n) = \left| \mathbf{h}(n) - \hat{\mathbf{h}}(n) \right|^2</math>, we can derive the expected misalignment for the next sample as:
: <math> E\left[ \Lambda(n+1) \right] = E\left[ \left| \hat{\mathbf{h}}(n) + \frac{\mu\,e^{*}(n)\mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} - \mathbf{h}(n) \right|^2 \right]</math>
: <math> E\left[ \Lambda(n+1) \right] = E\left[ \left| \hat{\mathbf{h}}(n) + \frac{\mu\, \left(  v^*(n)+y^*(n)-\hat{y}^*(n)  \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} - \mathbf{h}(n) \right|^2 \right]</math>
 
Let <math>\mathbf{\delta}=\hat{\mathbf{h}}(n)-\mathbf{h}(n)</math> and <math>r(n) = \hat{y}(n)-y(n)</math>
 
: <math> E\left[ \Lambda(n+1) \right] = E\left[ \left| \mathbf{\delta}(n) - \frac{\mu\, \left(  v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right|^2 \right]</math>
: <math> E\left[ \Lambda(n+1) \right] = E\left[ \left( \mathbf{\delta}(n) - \frac{\mu\, \left(  v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)^H \left( \mathbf{\delta}(n) - \frac{\mu\, \left(  v(n)+r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)  \right]</math>
 
Assuming independence, we have:
: <math> E\left[ \Lambda(n+1) \right] = \Lambda(n) + E\left[ \left( \frac{\mu\, \left(  v(n)-r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)^H \left( \frac{\mu\, \left(  v(n)-r(n) \right) \mathbf{x}(n)}{\mathbf{x}^H(n)\mathbf{x}(n)} \right)  \right] - 2 E\left[\frac{\mu|r(n)|^2}{\mathbf{x}^H(n)\mathbf{x}(n)}\right]</math>
: <math> E\left[ \Lambda(n+1) \right] = \Lambda(n) + \frac{\mu^2 E\left[|e(n)|^2\right]}{\mathbf{x}^H(n)\mathbf{x}(n)} - \frac{2 \mu E\left[|r(n)|^2\right]}{\mathbf{x}^H(n)\mathbf{x}(n)}</math>
 
The optimal learning rate is found at <math>\frac{dE\left[ \Lambda(n+1) \right]}{d\mu} = 0 </math>, which leads to:
: <math>2 \mu E\left[|e(n)|^2\right] - 2 E\left[|r(n)|^2\right] = 0</math>
: <math>\mu = \frac{E\left[|r(n)|^2\right]}{E\left[|e(n)|^2\right]}</math>
 
== See also ==
* [[Recursive least squares]]
* For statistical techniques relevant to LMS filter see [[Least squares]].
* [[Similarities between Wiener and LMS]]
* [[Multidelay block frequency domain adaptive filter]]
* [[Zero forcing equalizer]]
* [[Kernel adaptive filter]]
 
== References ==
* Monson H. Hayes: ''Statistical Digital Signal Processing and Modeling,'' Wiley, 1996, ISBN 0-471-59431-8
* Simon Haykin: ''Adaptive Filter Theory,'' Prentice Hall, 2002, ISBN 0-13-048434-2
* Simon S. Haykin, Bernard Widrow (Editor): ''Least-Mean-Square Adaptive Filters,'' Wiley, 2003, ISBN 0-471-21570-8
* Bernard Widrow, Samuel D. Stearns: ''Adaptive Signal Processing,'' Prentice Hall, 1985, ISBN 0-13-004029-0
* Weifeng Liu, Jose Principe and Simon Haykin: ''Kernel Adaptive Filtering: A Comprehensive Introduction,'' John Wiley, 2010, ISBN 0-470-44753-2
* Paulo S.R. Diniz: ''Adaptive Filtering: Algorithms and Practical Implementation,'' Kluwer Academic Publishers, 1997, ISBN 0-7923-9912-9
 
== External links ==
* [http://www.antenna-theory.com/arrays/weights/lms.php LMS Algorithm in Adaptive Antenna Arrays] www.antenna-theory.com
* [http://www.advsolned.com/example_ale_nc.html LMS Noise cancellation demo] www.advsolned.com
 
[[Category:Digital signal processing]]
[[Category:Filter theory]]
[[Category:Stochastic algorithms]]

Revision as of 03:47, 11 September 2013

Least mean squares (LMS) algorithms are a class of adaptive filter used to mimic a desired filter by finding the filter coefficients that relate to producing the least mean squares of the error signal (difference between the desired and the actual signal). It is a stochastic gradient descent method in that the filter is only adapted based on the error at the current time. It was invented in 1960 by Stanford University professor Bernard Widrow and his first Ph.D. student, Ted Hoff.

Problem formulation

LMS filter

Relationship to the least mean squares filter

The realization of the causal Wiener filter looks a lot like the solution to the least squares estimate, except in the signal processing domain. The least squares solution, for input matrix 𝐗 and output vector 𝐲 is

𝜷̂=(𝐗𝐓𝐗)1𝐗𝐓𝒚.

The FIR least mean squares filter is related to the Wiener filter, but minimizing the error criterion of the former does not rely on cross-correlations or auto-correlations. Its solution converges to the Wiener filter solution. Most linear adaptive filtering problems can be formulated using the block diagram above. That is, an unknown system 𝐡(n) is to be identified and the adaptive filter attempts to adapt the filter 𝐡̂(n) to make it as close as possible to 𝐡(n), while using only observable signals x(n), d(n) and e(n); but y(n), v(n) and h(n) are not directly observable. Its solution is closely related to the Wiener filter.

Definition of symbols

n is the number of the current input sample
p is the filter order
{}H (Hermitian transpose or conjugate transpose)
𝐱(n)=[x(n),x(n1),,x(np+1)]T
𝐡(n)=[h0(n),h1(n),,hp1(n)]T,𝐡(n)p
y(n)=𝐡H(n)𝐱(n)
d(n)=y(n)+ν(n)
𝐡̂(n) estimated filter; interpret as the estimation of the filter coefficients after Buying, selling and renting HDB and personal residential properties in Singapore are simple and transparent transactions. Although you are not required to engage a real property salesperson (generally often known as a "public listed property developers In singapore agent") to complete these property transactions, chances are you'll think about partaking one if you are not accustomed to the processes concerned.

Professional agents are readily available once you need to discover an condominium for hire in singapore In some cases, landlords will take into account you more favourably in case your agent comes to them than for those who tried to method them by yourself. You need to be careful, nevertheless, as you resolve in your agent. Ensure that the agent you are contemplating working with is registered with the IEA – Institute of Estate Brokers. Whereas it might sound a hassle to you, will probably be worth it in the end. The IEA works by an ordinary algorithm and regulations, so you'll protect yourself in opposition to probably going with a rogue agent who prices you more than they should for his or her service in finding you an residence for lease in singapore.

There isn't any deal too small. Property agents who are keen to find time for any deal even if the commission is small are the ones you want on your aspect. Additionally they present humbleness and might relate with the typical Singaporean higher. Relentlessly pursuing any deal, calling prospects even without being prompted. Even if they get rejected a hundred times, they still come again for more. These are the property brokers who will find consumers what they need eventually, and who would be the most successful in what they do. 4. Honesty and Integrity

This feature is suitable for you who need to get the tax deductions out of your PIC scheme to your property agency firm. It's endorsed that you visit the correct site for filling this tax return software. This utility must be submitted at the very least yearly to report your whole tax and tax return that you're going to receive in the current accounting 12 months. There may be an official website for this tax filling procedure. Filling this tax return software shouldn't be a tough thing to do for all business homeowners in Singapore.

A wholly owned subsidiary of SLP Worldwide, SLP Realty houses 900 associates to service SLP's fast rising portfolio of residential tasks. Real estate is a human-centric trade. Apart from offering comprehensive coaching applications for our associates, SLP Realty puts equal emphasis on creating human capabilities and creating sturdy teamwork throughout all ranges of our organisational hierarchy. Worldwide Presence At SLP International, our staff of execs is pushed to make sure our shoppers meet their enterprise and investment targets. Under is an inventory of some notable shoppers from completely different industries and markets, who've entrusted their real estate must the expertise of SLP Worldwide.

If you're looking for a real estate or Singapore property agent online, you merely need to belief your instinct. It is because you don't know which agent is sweet and which agent will not be. Carry out research on a number of brokers by looking out the internet. As soon as if you find yourself certain that a selected agent is dependable and trustworthy, you'll be able to choose to utilize his partnerise find you a house in Singapore. More often than not, a property agent is considered to be good if she or he places the contact data on his web site. This is able to imply that the agent does not thoughts you calling them and asking them any questions regarding properties in Singapore. After chatting with them you too can see them of their office after taking an appointment.

Another method by way of which you could find out whether the agent is sweet is by checking the feedback, of the shoppers, on the website. There are various individuals would publish their comments on the web site of the Singapore property agent. You can take a look at these feedback and the see whether it will be clever to hire that specific Singapore property agent. You may even get in contact with the developer immediately. Many Singapore property brokers know the developers and you may confirm the goodwill of the agent by asking the developer. samples
e(n)=d(n)ŷ(n)=d(n)𝐡̂H(n)𝐱(n)

Idea

The basic idea behind LMS filter is to approach the optimum filter weights (R1P), by updating the filter weights in a manner to converge to the optimum filter weight. The algorithm starts by assuming a small weights (zero in most cases), and at each step, by finding the gradient of the mean square error, the weights are updated. That is, if the MSE-gradient is positive, it implies, the error would keep increasing positively, if the same weight is used for further iterations, which means we need to reduce the weights. In the same way, if the gradient is negative, we need to increase the weights. So, the basic weight update equation is :

Wn+1=WnμΔε[n],

where ε represents the mean-square error. The negative sign indicates that, we need to change the weights in a direction opposite to that of the gradient slope.

The mean-square error, as a function of filter weights is a quadratic function which means it has only one extrema, that minimises the mean-square error, which is the optimal weight. The LMS thus, approaches towards this optimal weights by ascending/descending down the mean-square-error vs filter weight curve.

Derivation

The idea behind LMS filters is to use steepest descent to find filter weights 𝐡(n) which minimize a cost function. We start by defining the cost function as

C(n)=E{|e(n)|2}

where e(n) is the error at the current sample 'n' and E{.} denotes the expected value.

This cost function (C(n)) is the mean square error, and it is minimized by the LMS. This is where the LMS gets its name. Applying steepest descent means to take the partial derivatives with respect to the individual entries of the filter coefficient (weight) vector

𝐡̂HC(n)=𝐡̂HE{e(n)e(n)}=2E{𝐡̂H(e(n))e(n)}

where is the gradient operator.

𝐡̂H(e(n))=𝐡̂H(d(n)𝐡̂H𝐱(n))=𝐱(n)
C(n)=2E{𝐱(n)e(n)}

Now, C(n) is a vector which points towards the steepest ascent of the cost function. To find the minimum of the cost function we need to take a step in the opposite direction of C(n). To express that in mathematical terms

𝐡̂(n+1)=𝐡̂(n)μ2C(n)=𝐡̂(n)+μE{𝐱(n)e(n)}

where μ2 is the step size(adaptation constant). That means we have found a sequential update algorithm which minimizes the cost function. Unfortunately, this algorithm is not realizable until we know E{𝐱(n)e(n)}.

Generally, the expectation above is not computed. Instead, to run the LMS in an online (updating after each new sample is received) environment, we use an instantaneous estimate of that expectation. See below.

Simplifications

For most systems the expectation function E{𝐱(n)e(n)} must be approximated. This can be done with the following unbiased estimator

Ê{𝐱(n)e(n)}=1Ni=0N1𝐱(ni)e(ni)

where N indicates the number of samples we use for that estimate. The simplest case is N=1

Ê{𝐱(n)e(n)}=𝐱(n)e(n)

For that simple case the update algorithm follows as

𝐡̂(n+1)=𝐡̂(n)+μ𝐱(n)e(n)

Indeed this constitutes the update algorithm for the LMS filter.

LMS algorithm summary

The LMS algorithm for a pth order algorithm can be summarized as

Parameters: p= filter order
μ= step size
Initialisation: 𝐡̂(0)=zeros(p)
Computation: For n=0,1,2,...

𝐱(n)=[x(n),x(n1),,x(np+1)]T

e(n)=d(n)𝐡̂H(n)𝐱(n)
𝐡̂(n+1)=𝐡̂(n)+μe(n)𝐱(n)

Convergence and stability in the mean

As the LMS algorithm does not use the exact values of the expectations, the weights would never reach the optimal weights in the absolute sense, but a convergence is possible in mean. That is, even though the weights may change by small amounts, it changes about the optimal weights. However, if the variance with which the weights change, is large, convergence in mean would be misleading. This problem may occur, if the value of step-size μ is not chosen properly.

If μ is chosen to be large, the amount with which the weights change depends heavily on the gradient estimate, and so the weights may change by a large value so that gradient which was negative at the first instant may now become positive. And at the second instant, the weight may change in the opposite direction by a large amount because of the negative gradient and would thus keep oscillating with a large variance about the optimal weights. On the other hand if μ is chosen to be too small, time to converge to the optimal weights will be too large.

Thus, an upper bound on μ is needed which is given as 0<μ<2λmax

where λmax is the greatest eigenvalue of the autocorrelation matrix R=E{x(n)x(n)}. If this condition is not fulfilled, the algorithm becomes unstable and ĥ(n) diverges.

Maximum convergence speed is achieved when

μ=2λmax+λmin,

where λmin is the smallest eigenvalue of R. Given that μ is less than or equal to this optimum, the convergence speed is determined by λmin, with a larger value yielding faster convergence. This means that faster convergence can be achieved when λmax is close to λmin, that is, the maximum achievable convergence speed depends on the eigenvalue spread of R.

A white noise signal has autocorrelation matrix R=σ2I where σ2 is the variance of the signal. In this case all eigenvalues are equal, and the eigenvalue spread is the minimum over all possible matrices. The common interpretation of this result is therefore that the LMS converges quickly for white input signals, and slowly for colored input signals, such as processes with low-pass or high-pass characteristics.

It is important to note that the above upperbound on μ only enforces stability in the mean, but the coefficients of ĥ(n) can still grow infinitely large, i.e. divergence of the coefficients is still possible. A more practical bound is

0<μ<2tr[R],

where tr[R] denotes the trace of R. This bound guarantees that the coefficients of ĥ(n) do not diverge (in practice, the value of μ should not be chosen close to this upper bound, since it is somewhat optimistic due to approximations and assumptions made in the derivation of the bound).

Normalised least mean squares filter (NLMS)

The main drawback of the "pure" LMS algorithm is that it is sensitive to the scaling of its input x(n). This makes it very hard (if not impossible) to choose a learning rate μ that guarantees stability of the algorithm (Haykin 2002). The Normalised least mean squares filter (NLMS) is a variant of the LMS algorithm that solves this problem by normalising with the power of the input. The NLMS algorithm can be summarised as:

Parameters: p= filter order
μ= step size
Initialization: 𝐡̂(0)=zeros(p)
Computation: For n=0,1,2,...

𝐱(n)=[x(n),x(n1),,x(np+1)]T

e(n)=d(n)𝐡̂H(n)𝐱(n)
𝐡̂(n+1)=𝐡̂(n)+μe(n)𝐱(n)𝐱H(n)𝐱(n)

Optimal learning rate

It can be shown that if there is no interference (v(n)=0), then the optimal learning rate for the NLMS algorithm is

μopt=1

and is independent of the input x(n) and the real (unknown) impulse response 𝐡(n). In the general case with interference (v(n)0), the optimal learning rate is

μopt=E[|y(n)ŷ(n)|2]E[|e(n)|2]

The results above assume that the signals v(n) and x(n) are uncorrelated to each other, which is generally the case in practice.

Proof

Let the filter misalignment be defined as Λ(n)=|𝐡(n)𝐡̂(n)|2, we can derive the expected misalignment for the next sample as:

E[Λ(n+1)]=E[|𝐡̂(n)+μe(n)𝐱(n)𝐱H(n)𝐱(n)𝐡(n)|2]
E[Λ(n+1)]=E[|𝐡̂(n)+μ(v(n)+y(n)ŷ(n))𝐱(n)𝐱H(n)𝐱(n)𝐡(n)|2]

Let 𝜹=𝐡̂(n)𝐡(n) and r(n)=ŷ(n)y(n)

E[Λ(n+1)]=E[|𝜹(n)μ(v(n)+r(n))𝐱(n)𝐱H(n)𝐱(n)|2]
E[Λ(n+1)]=E[(𝜹(n)μ(v(n)+r(n))𝐱(n)𝐱H(n)𝐱(n))H(𝜹(n)μ(v(n)+r(n))𝐱(n)𝐱H(n)𝐱(n))]

Assuming independence, we have:

E[Λ(n+1)]=Λ(n)+E[(μ(v(n)r(n))𝐱(n)𝐱H(n)𝐱(n))H(μ(v(n)r(n))𝐱(n)𝐱H(n)𝐱(n))]2E[μ|r(n)|2𝐱H(n)𝐱(n)]
E[Λ(n+1)]=Λ(n)+μ2E[|e(n)|2]𝐱H(n)𝐱(n)2μE[|r(n)|2]𝐱H(n)𝐱(n)

The optimal learning rate is found at dE[Λ(n+1)]dμ=0, which leads to:

2μE[|e(n)|2]2E[|r(n)|2]=0
μ=E[|r(n)|2]E[|e(n)|2]

See also

References

  • Monson H. Hayes: Statistical Digital Signal Processing and Modeling, Wiley, 1996, ISBN 0-471-59431-8
  • Simon Haykin: Adaptive Filter Theory, Prentice Hall, 2002, ISBN 0-13-048434-2
  • Simon S. Haykin, Bernard Widrow (Editor): Least-Mean-Square Adaptive Filters, Wiley, 2003, ISBN 0-471-21570-8
  • Bernard Widrow, Samuel D. Stearns: Adaptive Signal Processing, Prentice Hall, 1985, ISBN 0-13-004029-0
  • Weifeng Liu, Jose Principe and Simon Haykin: Kernel Adaptive Filtering: A Comprehensive Introduction, John Wiley, 2010, ISBN 0-470-44753-2
  • Paulo S.R. Diniz: Adaptive Filtering: Algorithms and Practical Implementation, Kluwer Academic Publishers, 1997, ISBN 0-7923-9912-9