I'm working on a personal project, where I'm trying to make a touch screen that uses force sensors as the basis of the technology. The rig I've made has have three transducers underneath a square platform, with the goal of identifying touch events on the platform (with both the force and location) via triangulation.
I've got the simple "single event" case working fine, but I'm having trouble when there are two overlapping touch events. This would be the basis of a multi-touch function.
Below is a reference graph to help me explain what I'm trying to achieve:
We have three input signals (A, B & C) shown in green, with their summed signal in black. These signals contain two touch events, which overlap.
What I need to do is generate two "clean" 3-channel signals, each with only touch event inside.
The ideal output signals are shown with: - the first "touch" event signals (A-1, B-1 & C-1) coloured in blue - the second "touch" event signals (A-2, B-2 & C-2) coloured in red
I'm pretty sure this is possible, as I can at least identify when there are two overlapping signals; by using the algorithm below:
- identifying the activity period between settles
- scan over the activity period
- measure the ratio between each signals gradient and the gradient of the sum each signal
- If the ratio is off by more than a set threshold then there's more than one event
Does anyone have an idea on how to accomplish this or something similar?
Any advice or steers would be appreciated (especially in layman terms) as I'm self taught in this area.
Thanks a lot!