Optical sensor Signal compensation using Deep Learning

Guys I was tacklig a new project and need your advice.

I have some data of an optical sensor that has a hysterisis problem meaning that there is a phase and amplitude change from real data (voltage signal).
I have tried many methods and while a combination of convlouton layers and LSTM help minimise the phase shift, the amplitude doesnt get corrected proberly.

Do you guys have any suggestions for new approaches or anything to keep note of?

Thanks in advance :slight_smile:

@Mohamed_Shaheen1 I am not an expert, but have known to have played, a little. This sounds much more like a DSP problem than an ML/DNN one. I guess you could do it that way, but you are bringing in tons of latency and overhead to an issue that could be solved so much more simply.

I would also just add, based on your description… It doesn’t even sound like your sensor is putting out digital outputs at all. I mean you can get away with a lot with an analog front end, before you even have to process it. But that is a different subject matter entirely than we are dealing with here.


It is true that hysteresis can be addressed using many methods. However, my goal extends beyond the hysteresis problem.

The main objective of my project is to compensate for the recovery period of piezoelectric material when a voltage spike occurs. This spike leads to polarization of the material, causing a drastic change in the optical signal.

The reason the topic is focused on hysteresis compensation is that hysteresis greatly confuses the model during training, preventing it from properly addressing the other effect. I thought I might be able to develop an end-to-end solution for both hysteresis and the other effect, known as ‘aging.’

I wanted to start by creating a component to tackle hysteresis, even if it’s not perfectly executed. I appreciate your input on the problem.

Below is a small example of the problem i am trying to tackle

Out of curiosity, what sort of optical element are you using that possibly uses a piezo ? I mean I have worked with them in the context of digital printheads.

Also Electronics 101 is you deal with signal bounce, even with a simple mechanical switch. You either analog filter smooth it, or digitally you apply a delay and ignore it…

So, I’m not sure what your application is here.

Are you saying the occurrence (and the magnitude) of the spikes represent some ‘important information’ ?

The main objective of my project is to compensate for the recovery period of piezoelectric material when a voltage spike occurs. These spikes, although rare, cause polarization of the piezo stack, leading to prolonged errors in sensor readings. My goal is to address these errors until the material recovers.

This is crucial for accurate voltage measurement in power grids, where a piezoelectric stack is attached to an FBG. Even though the system automatically unplugs current flow during spikes, the sensor readings remain altered for days.

the thing is depending on the duration of the spike, the magnitude of the spike and even what phase the spike starts in produces diffrent sensor alteration so my project is to try to automate it without too much anlog filtering