Recursive Least Squares Filter
[e,w]=RLSFilterIt(n,x,fs) is an implementation of the RLS filter for noise reduction. Argument n is the interference signal, while x is the desired signal corrupted by the noise interference. Argument fs is the sampling frequency of the inputs, n and x. Additionally, parameters e and w are the filtered signal and filter coefficients, respectively. The program follows the notation used in Haykin's 'Adaptive Filter Theory' from 2002.
The function includes a simple example that removes additive white noise from a sine tone, and the SNR of the tone to the noise can be adjusted to examine the performance of the filter. Input signals can also be provided.
The code is well commented, and I would appreciate any feedback and constructive criticism. Thanks