Since I ‘discovered’ Sense, I’ve been curious about the mechanics of actual device detection. This is not meant to reverse engineer all the smarts that go into the AI/ML, but still, one (I) is very curious about the math/mechanics behind the detection algorithms. I do a lot of DSP (Signal Processing) in my line of work, and the application is primarily the detection of faults in mechanical machinery. There the signatures are often frequency-based. A hydraulic pump generates different frequencies than a 6-Cylinder-engine than a fan or gear pair. In electrical circuits however, the task is a bit more ‘complicated’ as all devices run at 60 Hz (at least, west of the Atlantic). Thus, what features of the signal does one need to detect various electrical devices? I came up with the following so far:
- Transient(s) when a specific device is powered. Hence the high sampling rate (4 MHz) Sense uses (and the high bandwidth it requires).
- Phase information (Cos Phi) between voltage and current. For any given/single device, the task would be easy. For electrical motors, the current and voltage have a phase difference (coils in the motor) whereas for a heater, it is primarily a resistive load and thus, the current and voltage are in-phase.
I’m guessing different devices (dish washer, fridges, micro-waves, …) would have very different transient signatures (#1) and that is how they are identified. Their signatures are compared to all the info out there that Sense harvests from similar devices across the whole user base.
What else? What specific attributes of the electrical signals (voltage and current traces) would Sense uses for detection?
I can think of a live/real-time computation of the instantaneous impedance (ratio voltage to current) and then using its three components (or maybe only two) to infer info about the (various) devices.
Any thoughts ?