# Signal Processing for Discrete Events

This is less a specific question, and more... "what is this called" and "where can I read more about it"?

Several times in my career, I've had to work with datasets with "discrete events". Lets say customers passing an infrared sensor at a store front.

Normally, signal processing would be concerned with a continuous time signal, like the voltage on the IR receiver... but my question pertains to the event of someone walking through the door. The "signal" (in this case) is more a list of times when someone walked through the gate.

For example:


# Unix Timestamps
entry_times = [1490648032, 1490648102, 1490648591, ..., ...]


The "crude" way to treat this signal is to bin the entry times to hours of the day and interpolate that dataset for a rough idea of customers vs time. However, I think that there's more to this problem.

• Entry and exit are the same type of signal, but could DSP help differentiate? (I think not, but I don't know!)
• Perhaps we want to count a mother and her two children as a single "customer". Assuming we get three events in a five second window, can we somehow group that together?

If we count the number of entries and exit per hour, this gets us a rough graph of customer throughput, and we can interpolate that to get more resolution... but how could we create that on the fly?

What is the name of this type of signal? Are there any signal processing algorithms or techniques that would help answer my questions?

• Without the dependencies, this is a "Poisson process". Could be a useful keyword. Mar 27 '17 at 22:09
• "Normally, signal processing would be concerned with a continuous time signal" -- not quite. Signals can be analog or digital. May 14 '18 at 16:33

To do something about the "Mother with kids"-Problem, you could implement an algorithm that sets a value to 1 or 0 based on whether the sensor was activated in a timeframe of ~5 seconds. Saving this value every 5 seconds leads to equidistant samples in time domain.

The coming in/going out-problem could be solved using two IR sensors that customers have to pass one after another to enter or leave. By checking whether the activation time difference is positive or negative, you can find out if they were coming or leaving.

I would not recommend interpolation as customer appearance is not necessary bound to any pattern or formula but somewhat random since it depends on a lot of things not easy to predict. In this case, consider using histograms for fixed time intervals (15/30/60 minutes) to visualize customer spread (rush hours ...) .

Assuming you take aforementioned samples every 5 seconds, you are working with value- and time discrete signals which may or may not be deterministic/periodic (predictable) but will be random/stochastic to some extend.

These are called counting processes, and the Poisson process has a lot of theory associated with it.

Given the Statistical Model, there is a Maximum Likelihood Estimate for the rate parameter $\lambda$, or in the non-homogeneous case $\lambda(t)\; \lambda(x,y,z)$ as well as Bayesian Estimators.

This is one of those, Fire Hose of Knowledge topics.

If you want to focus more on Signal Processing, maybe look at,

Streit, Roy (2010). Poisson Point Processes: Imaging, Tracking, and Sensing. Springer Science& Business Media. ISBN 1441969225.