Convenient way to filter sinusoidal noise from decay data?
조회 수: 9 (최근 30일)
이전 댓글 표시
Hi,
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?
Thanks
댓글 수: 2
Bruno Luong
2023년 1월 31일
편집: Bruno Luong
2023년 1월 31일
Just redo your experiment again. It is not clear how you can be sure the fitting could possibly give meaningful result back with such corrupted data.
답변 (2개)
Image Analyst
2023년 1월 31일
Why not just leave the data as they are and fit an exponential decay to the whole thing? See attached demo.
댓글 수: 3
Image Analyst
2023년 1월 31일
I don't know how you are collecting your signal with periodic noise on it, but maybe you should consider a lock-in amplifier. https://en.wikipedia.org/wiki/Lock-in_amplifier
If you take the FFT, you might see a spike right at the frequency of the noise that is being injected into your time domain signal. Then set those frequencies to zero and inverse transform. A 2-D image version is in the attached demo.
Star Strider
2023년 1월 31일
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.)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Single-Rate Filters에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!