nibtehaz / PPG2ABP

MIT License
124 stars 46 forks source link

How should I preprocess my PPG signal? #20

Open jungyin opened 2 weeks ago

jungyin commented 2 weeks ago

I am trying to preprocess my PPG signal, which seems to have negative and positive values due to being filtered by a bandpass filter. I am trying to add abs (minvalue) to this PPG signal and divide it by the maximum value. When I put the value into the 0-1 range, the model output blood pressure deviates from the real blood pressure, with high pressure being too high (140, real 117) and low pressure being too low (model output 60, real 80). However, if I add 3 to all PPG signal values, the resulting values are very close, with high pressure (model output 110, actual 117) and low pressure (model output 75, actual 80), I am confused about signal preprocessing. Can you give me some guidance? The sentence is:?

Maximum and minimum values before preprocessing: image

Maximum and minimum values after preprocessing image

nibtehaz commented 5 days ago

Hi, thank you for your interest in our project. Since the model was trained on the MIMIC data preprocessed by Kachuee et al, the model expects to see signals of similar style.

As you can see that if you add 3 to the signals, probably it matches with the training signals and then the model performs comparatively better.

Ideally, what you should do is finetune the model with few PPG signals from your database. This would be better than adding a constant like 3, as the model would learn to adjust itself rather than us providing handcrafted information.

I hope this helps, feel free to ask me if you need any other suggestion.