0
$\begingroup$

This wikipedia page https://en.wikipedia.org/wiki/Recursive_least_squares_filter (and in fact other sources) do not explain the apparent paradox of the cost function that computes the MSE of the output and the "desired" (or "ideal") signal.

For someone who tries, like me, to understand this RLS algorithm, it seems a priori absurd to compute a cost function w.r.t. a signal that we do not know, and that we are looking for : this "desired" signal !

I have trained neural nets in a supervised learning manner, i.e. with a "ground truth" so this is the only scenario that I can imagine where we have access to a "desired" signal... but for the adaptive filter, there is no "training" mentioned and as I understand it should continuously adapt its parameters in real time as the input signal (to be filtered) arrives (so training would not really make any sense anyway ?)... So can anyone please explain clearly what this desired signal means ? Especially in the context of filtering a signal corrupted by e.g. noise or other perturbations, for example the wiki example of the ECG corrupted by AC noise. They never explain what this "ideal signal" is... it seems absurd because we DO NOT KNOW the clean ECG signal, this IS what we try to obtain with the filter ... how could we compute any cost function then?

Also, this wiki page should clearly be modified to explain this apparent absurdity. I really don't see how someone who tries to learn about these filters could understand anything about this without this basic explanation.

$\endgroup$

2 Answers 2

2
$\begingroup$

A good example of an adaptive filter is an Acoustic Echo Canceller as shown in this picture (source)

The problem here is that the sound emitted by the loudspeaker will be picked up from the microphone and needs to be removed to get the "clean" speech signal. Ignoring the noise ($w$ in the picture) the signal at the microphone, $m(t)$ is

$$m(t) = v(t) + x(t)*h(t) \tag{1}$$

where $v(t)$ is the speech signal, $x(t)$ is the input signal to the loudspeaker, $h(t)$ is the room impulse response (RIR), and $*$ the convolution operator. We DO know the input to the loudspeaker but we don't know the RIR and often it's time variant as speaker and/or microphone move around.

We want the adaptive filter to estimate the RIR: we give it $x(t)$ as the input and $m(t)$ as the desired signal. An adaptive filter minimizes the error, $E$, between the input and the desired signal which we can write as:

$$E = <(x(t)*\hat{h}(t) - m(t))^2> \tag{2}$$

The error is clearly minimized if the response, $\hat{h}(t)$, of the adaptive filter is identical to the RIR, i.e. $\hat{h}(t) = h(t)$ and that's what the adaptive filter will try to converge to.

In other words: we use the adaptive filter to estimate the RIR so we can remove as much of the filtered loudspeaker signal as possible. The best estimate of the speech signal is simply the residual error:

$$v(t) \approx m(t) - x(t)*\hat{h}(t) \tag{3}$$

signal that we do not know, and that we are looking for : this "desired" signal !

You misunderstand "desired" here. It doesn't mean "it's the thing we want to calculate". It just means "it's the target for the adaptive filter". In most cases we use adaptive filters to identify impulse responses we don't know using signals we do know, which includes the "desired" signal. You can argue the naming convention, but it's the established name for it.

Also, this wiki page should clearly be modified to explain this apparent absurdity

There is no need for this type of language. I understand you are frustrated, but the page works just fine for many other people. The page has been created and maintained at considerable effort by many contributors that share their knowledge freely and without compensation. Personally, I am very grateful that such a resource exists.

$\endgroup$
7
  • $\begingroup$ ok thanks for the answer, but please can you clarify: from the diagram x is the input to the loudspeaker and not y which for me is x = y * h ? I guess what we could in theory measure y=x*h with a mic if there was only the loudspeaker in the room but how can you say that y is the input to the loudspeaker ? Also you mis-interpreted my comment about wiki: I think they do great work but if something is not clear it is the role of the community to improve it, that's what i meant and i dont think you read the article: en.wikipedia.org/wiki/Recursive_least_squares_filter -> what they $\endgroup$
    – AlanTuring
    Commented Jun 13 at 13:21
  • $\begingroup$ call "desired" signal is clearly like your voice signal and the diagram is not understandable as it is currently because the error is computed from a signal we don't know. Maybe you should yourself contribute to it to make it clearer if you have time. I think your example is helpful if you can clarify this problem with y=x*h $\endgroup$
    – AlanTuring
    Commented Jun 13 at 13:23
  • $\begingroup$ My bad. I mixed up x(t) and y(t). Should be fixed now. $\endgroup$
    – Hilmar
    Commented Jun 13 at 16:53
  • $\begingroup$ ok thanks but do you agree with me that the wiki page is not clear as is?I showed ot to another person (reasercher like me, much more experienced I might add: he agrees as is their description and usage of "d" (desired sig.) does not make sense for him either) $\endgroup$
    – AlanTuring
    Commented Jun 13 at 20:23
  • $\begingroup$ criticism is good if it is constructive! $\endgroup$
    – AlanTuring
    Commented Jun 13 at 20:24
0
$\begingroup$

I think you are mistaken on the nature of the desired signal. It would seem quite absurd to design a filter for a signal that we don't know what it is. Often times, though, we do know what the desired signal is, e.g. in channel estimation we attempt to estimate the effects of a channel on a known signal. Or in active noise cancellation, such as the ECG example, we attempt to filter out the noise where we have the corrupted signal and an estimate of the noise. This is why the wiki page says "The adaptive filter would take input both from the patient and from the mains and would thus be able to track the actual frequency of the noise as it fluctuates and subtract the noise from the recording".

There are certain cases where a desired signal is not required, for example, in blind equalization. However, these blind algorithms come with other assumptions so that we can say if the assumptions are met, we've achieved our estimate of the desired signal.

$\endgroup$
4
  • $\begingroup$ thanks for trying to answer but this does not clarify my problem. For example please look at scholar.google.com/… $\endgroup$
    – AlanTuring
    Commented Jun 12 at 18:14
  • $\begingroup$ in this paper an adaptive (Kalman) filter is used to remove motion artifacts on eeg using motion sensor info (a piezo sensor) . I understand the idea that the sensor data is correlated to the induced artefacts on the eeg but we do not have the clean eeg obviously so how to compute a cost function?! they don't explain that! $\endgroup$
    – AlanTuring
    Commented Jun 12 at 18:16
  • $\begingroup$ the above is a concrete example of the problem i m facing (and for the ECG it is still not clear: what is in clear terms the desired signal that we can subtract from the estimated signal?! ) $\endgroup$
    – AlanTuring
    Commented Jun 12 at 18:18
  • $\begingroup$ @AlanTuring look at section 10.1.4 of "Statistical and Adaptive Signal Processing" by Manolakis for active noise cancellation. For the paper you reference, as far as I can tell, it uses info from the piezo sensor as an input into a Kalman filter. That Kalman filter estimates the motion error, which is then subtracted via active noise cancellation from the EEG by the Kalman filter. $\endgroup$
    – Baddioes
    Commented Jun 13 at 3:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.