Remove periodic noise in Raman spectra by FFT

7 views (last 30 days)
I am having a problem using the FFT function for a dataset that includes 50 Raman spectra. I am trying to remove a periodic noise from the spectra. Can anyone help?

Answers (1)

Star Strider
Star Strider on 13 Sep 2022
I have no idea what your spectra look like, however removing truly periodic noise would likely be appropriate for a digital filter, specific a bandstop filter (for best results, specify the name-value pair 'ImpulseResponse','iir' in your bandstop call). The independent variable has to have regular intervals between the elements, however if it does not, first use the resample function to correct that, since the filters require it. After resampling (if necessary) use the fft function to determine the frequency of the periodic signal with enough precision to design the filter.
This is actually much more straightforward than it sounds. For a relatively recent exposition on all of this (although using a command-line filter design), see this Comment.
Star Strider
Star Strider on 13 Sep 2022
My pleasure!
That has a severely wandering baseline as well, and that could make it difficult to analyse the information you want from it. Do the fft on it (and the others individually) first. It will need a highpass filter to remove the wandering baseline, and then some sort of filter (probably bandstop, although the fft will determine the filter type you will need) to remove the periodic noise.
The example I linked to should give you all the information you need to do the fft, since it will be necessary to subtract the mean of the signal before calculating the fft in order to see the peaks. As it exists, the offset from zero will hide all the other details.

Sign in to comment.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!