<< Chapter < Page | Chapter >> Page > |
In our system, the music that is being played by the computer is a known output that is being fed into the room, which has an unknown response, and picked up by the microphone. Since we have the signal both before and after the influence of the room, this is a candidate for an adaptive filter. The adaptive filter can be used to try to estimate the room’s response based on the music being outputted and the input to the microphone. Once an estimate is available, we can use it to remove the interference of the music from the input to the microphone.
One of the most popular adaptive algorithms used today is the Least Mean Squares (LMS) algorithm. Essentially, this algorithm attempts to minimize the error that occurs between the detected (or desired signal), d[n], and the estimated value of the signal, y[n]. This estimated signal is created by taking the original input, x[n] , and running it through an approximation of the unknown channel. Basically:
$y[n]=x[n]\ast \stackrel{\u02c6}{h}[0]+x[n-1]\ast \stackrel{\u02c6}{h}[1]+\dots +x[n-N]\ast \stackrel{\u02c6}{h}[N]$
or
$y[n]={x}_{N}^{T}[n]\ast \stackrel{\u02c6}{h}[n]$
where N is the order to which you are approximating the unknown system, ${x}_{N}$ is a vector of the last N value of x, and each h[n] is a weight.
Once the signal and its approximation are found, the error is just the difference between the two signals at the current point in time.
$e[n]=d[n]-y[n]$
Using the error, we can approximate the next set of weights as follows:
$\stackrel{\u02c6}{h}[n+1]=h[n]+\mu \ast e[n]\ast {x}_{N}[n]$
whereµis a constant.
The choice ofµis an important one as it greatly affects how the system will perform. Small values allow for greater precision in convergence, but slow down the response time of the system. If the value is too small, then the adaptive filter will not adapt fast enough. If it is too large, the system will not converge at all, and the value weights will actually diverge. Experimentation with different systems and environments is necessary to choose the ideal value forµ.
It can be shown that the error value will converge on a minimum point. This theoretical minimum will likely not be at zero error, since there is outside noise and interference, but it represents the original signal’s effect on d[n] being completely removed. In the case of our signal detection system, the whistle that we are trying to detect will still be in the e[n]and therefore we will use e[n] as the input to the rest of our system. Once the adaptive filter has settled down, this signal will be the input to the microphone minus the estimated value of the music when it reaches the microphone.
Notification Switch
Would you like to follow the 'Elec 301 projects fall 2007' conversation and receive update notifications?