I was in a lab and recorded some data from 2 pressure sensors. One worked perfectly (red line), the other one would send random data occasionally (blue line.) All of my values are supposed to be between 20 and 50 in my csv file, but i have random spikes on the bad sensor to -200, +1000, etc. I can write a simple algorithm to limit the change from the previous value to X%, but sometimes I have normal, expected changes in pressure that are larger than the random spikes (for example I have a legitimate jump from 26.337 to 49.6068 in successive data points at about x=1400.) I am trying to filter this data in Matlab. Here's the best I can get at a simple filter, but anything with a tighter limit (1% change from previous data point on any data outside my absolute limits of 20 and 50) and I lose real data.

data from sensors

  • 1
    $\begingroup$ Sorry, but that data seems beyond salvage. More than half the data is either utter garbage or severely corrupted (offset) in a non obvious way. The corruptions also persist for long continuous periods of time. $\endgroup$
    – Hilmar
    Mar 9, 2022 at 7:42
  • $\begingroup$ and some of the corruptions also look like very reasonable for the red line, the scaling between these two for seemingly the same phenomena vary with time, these seems to be a slight, but varying, time-offset between these curves... yeah, no way to know what is real or not, unless you have a much much much more detailed model of the physical system that you tell us! $\endgroup$ Mar 9, 2022 at 8:40


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.