Convenient way to filter sinusoidal noise from decay data?

조회 수: 27 (최근 30일)
Gregory Manoukian
Gregory Manoukian 2023년 1월 31일
댓글: Gregory Manoukian 2023년 2월 6일
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
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.
Gregory Manoukian
Gregory Manoukian 2023년 1월 31일
The experiment is consistent, my signal is quite small, and the lower the signal the more clear this sinusoidal trend is. It is the same problem with all of the data for this sample set.
Is it possible to remove the noise? If the filtered data is unusable, I will show that, I just need to try.

댓글을 달려면 로그인하십시오.

답변 (2개)

Image Analyst
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
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.
Gregory Manoukian
Gregory Manoukian 2023년 2월 6일
This data is taken through a SR580 lock-in amplifier. the noise presumably comes from the moving components (a screw motor pushing a mirror), and so for the lock-in, looks like more or less signal coming through at each full rotation of the motor.
When I follow this approach, my issue comes in reconstituing the complex array which to ifft. I had identified the peaks and set them to zero in both, but was unable to ifft the data.

댓글을 달려면 로그인하십시오.


Star Strider
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.)

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by