I am working on a temperature time-series data which is very noisy. I am trying to measure true low and high temperature but because of noise, I can not apply peak detection directly. I need to do some filtering. Since sampling frequency Fs is not known for this data, I have applied two types of filter

  1. Kalman filter

enter image description here

  1. Median filter enter image description here

orange lines are the original signal and blue lines are filtered signal. The median filter seems good in this example which is preserving edges.

I want to know what are other types of filters which I can apply to get rid of noise without affecting the sharp edges of the signal.

  • $\begingroup$ I do not understand what do you mean by true low and high temperature. For the given time-series plots, which value you will prefer to call a true low or high? $\endgroup$ – hari Jan 25 '20 at 15:58
  • $\begingroup$ I mean to say, I want to preserve edges and want to remove noise from signal. Thereafter, peak detection would work properly. $\endgroup$ – Rheatey Bash Jan 25 '20 at 16:23
  • $\begingroup$ How about if you first take numerical differentiation of your signal and then smooth the resultant signal? $\endgroup$ – hari Jan 25 '20 at 16:32
  • $\begingroup$ Amplitude would be lost in this case. $\endgroup$ – Rheatey Bash Jan 25 '20 at 16:37
  • $\begingroup$ You are looking for the location of a peak and amplitude of the signal at that location. You may obtain location from a differentiation scheme which can be used later to gather signal amplitude from the original signal. $\endgroup$ – hari Jan 25 '20 at 16:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.