I am building a sensor and I am trying to understand how to process the signal that it generates. The sensor has a library of reference signals. When 'event a' occurs, it produces signal A, when 'event B' occurs it produces signal B. EX:
It is possible for multiple (but few) events to occur, and their signals would add together linearly. I am looking for an algorithm for signal decomposition which takes advantage of the fact that the decomposition is discrete (It can give integer multiples of the library signals only). I also need some measure of the reliability of the identification.
Ex:
Example Output:
A + 2 B - 95% confidence
A + B - 3% confidence
A - 1% confidence
None of the Above - 1% confidence
I've noticed that I can compare two different possibilities by taking an inner product of the normalized proposed solution and input signals. For instance:
Input Signal . (A + 2 B) = 0.999
but
Input Signal . (A + B) = 0.985
So the first solution is a closer match to the input signal. I thought about using a Newton-Raphson to maximize this inner product, but when the actual sensor is in use it could have 1000s of signals in it's library and that would not be realistic.
k
andm
in that expression, butk
andm
are discrete. Also, there would be many other possibilities, C, D, E, etc. The x-axis in the plots is actually not time, the sensor has an integration time like a CCD and includes all events that occur within that integration time. $\endgroup$B'
which is orthogonal toA
, then I calculatedInput . A/|A|^2
andInput . B'/|B'|^2
and got numbers close to 1 and 2 respectively. I have a couple questions though: 1. Does this mean that the number of points on the x-axis must be greater than or equal to the number of signals in the library? 2. What is the measure of reliability of identification? How can I get an answer like "None of the above"? $\endgroup$