I am trying to do Noise cancellation using RLS algorithm at a software level, as part of my M.Tech Project work. Here, the error strength is continuously increasing, instead of decreasing as time grows. I need to get convergence after some time. Only thing i observed is that the correlation matrix values are increasing over time. Do I need to change parameters like forgetting factor, initialization of the correlation matrix or any other thing?

  • $\begingroup$ Could you share more on the model and the problem? $\endgroup$ – Royi Dec 11 '18 at 5:23
  • $\begingroup$ What happens if you feed it noiseless data i.e. perfect data? $\endgroup$ – Ben Dec 11 '18 at 22:31
  • $\begingroup$ @Royi: I am trying to do Noise cancellation in a room. Before doing that, I wanted to try it at a software level. In simple words, what i am trying to do is generating cosine signal (adaptive filter output) to cancel out the sine signal(desired signal: consider this as a noise). So for this, i need to choose an adaptive algorithm, which updates the weights of the adaptive filter in such a manner that error between them will be decreasing continuously as time goes on. In other words, the algorithm will be adapted to the input. $\endgroup$ – Ramakrishna Dec 12 '18 at 8:33
  • $\begingroup$ @Ben: I am passing 3rd and 5th harmonics of 1kHz sine wave as input. I am not adding any other noises to it. As i want to cancel this signal, i am treating this signal as noise.So i feel, this is perfect data. Is this what you are asking? Did i answered your question correctly? $\endgroup$ – Ramakrishna Dec 12 '18 at 8:38
  • $\begingroup$ You're trying to use a cosine to cancel a sine? Do you change the phase of your cosine in order to match the phase of the sine? Otherwise : ASin(wt) - ACos(wt) != 0 $\endgroup$ – Ben Dec 12 '18 at 21:55