Trying to use LMS adaptive filtering to remove noise with a reference signal

Click For Summary
SUMMARY

The discussion centers on using LMS (Least Mean Square) adaptive filtering to mitigate noise in fNIRS signals. The user is attempting to implement an LMS filter found online due to budget constraints preventing access to a Matlab toolbox. They express confusion regarding the application of LMS filters, particularly in relation to phase shifts and the unexpected behavior of the output signal towards the end of the processing. Key insights include the necessity of clearly defining noise versus signal for effective filtering and the importance of understanding filter coefficients in adaptive filtering.

PREREQUISITES
  • Understanding of LMS (Least Mean Square) adaptive filtering
  • Familiarity with signal processing concepts
  • Knowledge of fNIRS (functional Near-Infrared Spectroscopy) technology
  • Basic programming skills to implement filtering algorithms
NEXT STEPS
  • Research the implementation of LMS filters in Python or R
  • Explore techniques for handling phase shifts in signal processing
  • Study the effects of scalar changes in adaptive filtering
  • Investigate alternative filtering methods for noisy signal environments
USEFUL FOR

Researchers and engineers working with fNIRS technology, signal processing specialists, and anyone involved in developing adaptive filtering solutions for noisy data environments.

softwareguy
Messages
1
Reaction score
0
I have a device (fNIRS, though knowledge of fNIRS probably isn't necessary to help) which produces very noisy signals and a noise reference. The noisy signal consists of a combination of a desired signal, and a noise signal, which is a scalar and phase shift of the noise reference. However, I'm pretty sure the scalar and phase shift change slightly over time.

Similar research all suggests adaptive filtering. Colleagues in another lab have been using an LMS (Least Mean Square adaptive filtering) subroutine, but its in a Matlab toolbox which we can't afford. I found an LMS filter online. After problems getting the filter to work properly, I looked at the literature, and I believe I understand how they work. However, I have some questions.

All of the explanations of LMS filters involve solving for the filter coefficients over time which will produce a desired signal from a noisy one, if you already know the desired signal. This appears to be useful to find unknown filter coefficients, but is not useful for my purposes. The filter I found appears to somewhat work if I treat the noisy signal as the desired signal, and the noise as the input, and then take out the output signal (which is theoretically modified to be as close to the desired/noisy signal as possible). This doesn't make any sense, and I feel like it must be wrong.

In addition, none of the literature seems to account for handling a phase shift. Am I missing something?

also, the output signal goes haywire towards the end of the file. I can't understand why this would be occurring.
 
Engineering news on Phys.org
softwareguy said:
will produce a desired signal from a noisy one, if you already know the desired signal.
Of course! What else. If you can't define the difference between noise and signal, then you can't design a filter. I'm sure you know that, so your question is ill formed.

As for going haywire at the end, you don't give enough info for us to guess.
 

Similar threads

Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 4 ·
Replies
4
Views
4K
Replies
1
Views
2K
Replies
26
Views
7K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K