WikiProject Electrical engineering (Rated Start-class, Mid-importance)
 .mw-parser-output .portal{border:solid #aaa 1px;padding:0}.mw-parser-output .portal.tleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portal.tright{margin:0.5em 0 0.5em 1em}.mw-parser-output .portal>ul{display:table;box-sizing:border-box;padding:0.1em;max-width:175px;background:#f9f9f9;font-size:85%;line-height:110%;font-style:italic;font-weight:bold}.mw-parser-output .portal>ul>li{display:table-row}.mw-parser-output .portal>ul>li>span:first-child{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portal>ul>li>span:last-child{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}This article is within the scope of WikiProject Electrical engineering, a collaborative effort to improve the coverage of Electrical engineering on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks. Start This article has been rated as Start-Class on the project's quality scale. Mid This article has been rated as Mid-importance on the project's importance scale.

Not just a DSP thing

Adaptive filtering isn't just a DSP thing. There's a big beautiful body of mathematical literature put together by guys like Wiener and Kalman on the art of detection, estimation, and optimal and adaptive filtering. It's probably fairer to call it a "linear algebra" thing than a "DSP" thing.

Current implementations are done in DSP because computers are fast enough and cheap enough that it's the only reasonable way to do it. But Wiener did a lot of work on analog mechanisms that drew upon the same body of mathematics.

Applications

I've added Echo cancellation and linked to Linear prediction. There is no hint as to what Channel equalization and Channel identification should refer to so I've boldly removed those. Feel free to restore them if you can explain to us what they're about. --Kvng (talk) 20:01, 2 September 2008 (UTC)

Someone could add http://www.eee.strath.ac.uk/r.w.stewart/adaptivejava/begin.htm in external links. Good examples with figures. —Preceding unsigned comment added by 210.212.160.101 (talk) 17:28, 10 November 2008 (UTC)

Too technical?

What specifically is too technical about this article? It seems clear and simple to me. Only the block diagram section even has any equations (which seems fine, since it's obviously for more advanced readers), and they're all nicely explained. —Keenan Pepper 18:06, 24 June 2010 (UTC)

I have reworked the lead to improve accessibility - Discussion of coefficients in the lead was unnecessary, for instance. I think that's enough for me to remove the Technical tag. It would be nive to increase the word to formula ratio in the Block Diagram section. --Kvng (talk) 16:25, 25 January 2011 (UTC)

What use is the adaptive filter shown in the block diagram?

In the example diagram the right side input to the system is the desired signal. If you already have the desired signal, d(t); why use the filter to predict it??

It would make more sense to me if a signal that correlates with v (in the EKG medical example above it would be the line voltage) is the input on the left side of the system and the corrupted signal, x(t)=d(t)+v(t), is the input on the right. Then the filter would output an estimate of v(t) and the result of the sum would be an estimate of d(t).

I could be way off since this isn't my field of expertise. Please set me straight if I'm off in left field somewhere. I'm not sure if my proposed circuit would work, but it sure seems to me like something is wrong since d(t) is needed to estimate d(t). Hangingman (talk) 03:49, 25 January 2011 (UTC)

You are confused because the example and equations do not correlate well with the block diagram. In the medical example, x(n) is line noise + heartbeat, d(n) is line noise only. The useful signal is e(n) which, once the adaptive filter has done it's magic, should be just the heartbeat. --Kvng (talk) 16:25, 25 January 2011 (UTC)

Shouldn't the example be revised to to correct this? I don't feel fully qualified to do it. — Preceding unsigned comment added by Hangingman (talkcontribs) 01:01, 26 January 2011 (UTC)

Block Diagram explanation unlikely

The case described in the block diagram section is unlikely. If x(n) = d(n) + other, then you would not need a filter because you already have d(n). Generally x(n) and d(n) share some correlated signals. One may be a filtered version of the other or they may contained the same signals applied to different filters. What an adaptive filter does in general is to minimize e(n) by filtering the part of x(n) that is correlated to d(n) into an estimate of d(n) that is then subtracted from d(n). I will attempt to fix the explanation without needing to change the figure.Constant314 (talk) 14:45, 21 March 2014 (UTC)

Normalization of symbols

This page uses a mixture of n as a subscript (i.e. Wn) and (n) (i.e. x(n)). I will be fixing that. It will require a new figure. The new figure will be language neutral (no words in the figure). The notation is almost the same as Widrow and Stearns so I am going to change it all over to their notation. This means that I will mostly be changing my own additions. This should not take more than a few hours. I will be saving intermediate results so readers may catch it with a blend of notation. The changes will be: d-hat to y, e to ε, k to j, n to k, j to n and p to L. Constant314 (talk) 23:15, 24 March 2014 (UTC)

It is done.Constant314 (talk) 00:21, 25 March 2014 (UTC)

Recent 02/20/2017 changes

I've moved this recent work to the talk page for discussion. It is good work worth preserving, but I had to revert back a few steps because symbols were changed that no longer match the figures. In the figures, upper case Wk refers to the entire parameter vector at the k'th instant.

Let’s define ${\displaystyle \mathbf {w} _{k}=\left[w_{0,k}\ w_{1,k}\ ...\ w_{L,k}\right]^{T}}$ the vector of the adaptive filter's free parameters, ${\displaystyle \mathbf {x} _{k}=\left[x_{0,k}\ x_{1,k-1}\ ...\ x_{L,k-L}\right]^{T}}$ the vector that contains a ${\displaystyle (L+1)}$-length window of the input signal and ${\displaystyle k}$ the time index, in more formal terms an adaptive filter can be defined as a computational device, that attempts to model the relationship between two signals in real time in an iterative manner, and characterized by the presence of two blocks:

1. a block that process the input signal and produce the filter output by the relation  ${\displaystyle y_{k}=\mathbf {w} _{k}^{T}\mathbf {x} _{k}}$;
2. a block of the type  ${\displaystyle \mathbf {w} _{k}=\mathbf {w} _{k-1}+\Delta \mathbf {w} _{k}}$, denoted as adaptation or learning rule, that computes the weights variation according to a predetermined criterion.

Let's define ${\displaystyle J(\mathbf {w} )}$ the cost function that define the criterion and ${\displaystyle \nabla J(\mathbf {w} _{k})}$ its estimated gradient around the point ${\displaystyle \mathbf {w} _{k}}$, the most simple adaptation rule can be defined as ${\displaystyle \Delta \mathbf {w} _{k}=-\mu \nabla J(\mathbf {w} _{k})}$, where ${\displaystyle \mu }$ is the step-size or learning-rate parameter. In other words, the weights variation tend to minimize the cost function.

With regard to this new material, it doesn't belong in the lede, but could be the beginning of a theory section, which the article needs. But specifically it is too mathematical and abstract for the lede. It assumes a particular filter implementation where as "adaptive filter" also includes adaptive lattice filters and adaptive IIR filters. Also, it introduces symbols not used in the rest of the article or the diagrams. That would not be a problem in a stand alone section in the body of the article. Finally, it is textbook style instead of encyclopedia style, which is easily remedied. Constant314 (talk) 18:55, 20 February 2017 (UTC)

RMS value

What is RMS value? The are LMS=Least Mean Squares, RLS=Recursive Least Square, but no explanation for RMS Jumpow (talk) 20:33, 27 October 2018 (UTC)

RMS = Root-Mean-Square = square root of average squared error. Constant314 (talk) 21:06, 27 October 2018 (UTC)
I made a wiki-link the the first occurrence of RMS.Constant314 (talk) 21:12, 27 October 2018 (UTC)