Convenient way to filter sinusoidal noise from decay data?
4 views (last 30 days)
Show older comments
Commented: Gregory Manoukian on 6 Feb 2023
I have decay data (approximated by exp decay) from my spectrometer which is corrupted by sinusoidal noise, presumably from the moving components in scans.
I'd like to filter out the frequency of the noise, leaving behind the decay only (image, all data before time zero is zero)
I've tried multiple ways with no success, FFT->frequency spectrum-> remove noise frequencies ->iFFT, or fitting data to exponential*sine->deconv(data,sine)/ perhaps something went wrong with those methods? for example my deconv command only returned one point from 2 even arrays.
Could someone suggest a method to remove sinusoidal noise from my decay curve?
Image Analyst on 31 Jan 2023
Why not just leave the data as they are and fit an exponential decay to the whole thing? See attached demo.
Star Strider on 31 Jan 2023
If you want to use a frequency-selective filter, first do a fft of the data to determine the frequency components, then use the lowpass filter (with the 'ImpulseResponse','iir' name-value pair for best results) to eliminate the high-frequency (sinusoidal) noise. (The lowpass filter function requires the Signal Processing Toolbox.)
Find more on Digital Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!