AltSql Wave Keeps Raw Vibration Bursts on the Device, Lossless, and Sends Only Their Features
When a pump’s bearing starts to fail, an analyst wants two things. A quick figure to spot it, and the raw signal to understand it. Devices usually keep one or the other. They send summary figures and throw the signal away, or they send the signal and pay for every byte of it.
AltSql Wave keeps both. A sensor records a short burst of vibration, compresses it without losing a bit and stores it on the device, where the bursts stay for as long as its flash holds them. While the samples arrive, it works out the figures an analyst looks at first, such as RMS, peak and kurtosis, and the level in a few frequency bands. Only those figures go to the gateway, where SQL can search them. When a row looks interesting, the gateway fetches the raw burst behind it, checked against its CRC-32.
What the Alpha Found
On 94 channels of a public bearing data set, Wave’s bursts came out 2.3% larger than FLAC at its default level, and 23% smaller than xz at its strongest. In the demo a pump’s motor records a 1.6-second burst four times a day for eight weeks, 224 bursts in all: 1,835,008 bytes as they came off the sensor, 1,091,780 bytes packed with every bit kept, and 19,558 bytes of features for the gateway.
Try It
Open the AltSql Wave demo and record the eight weeks. The bearing starts to fail after three. Search the features with SQL to find when the ringing band doubled, then fetch that burst from the device and look at the signal itself. You can also pull the plug in the middle of a burst and see what the device kept.
Where It Stands
AltSql Wave is one C file of 1,550 lines, built on AltSql Core. It works and is tested in simulation and on recorded vibration, on a PC. It has not yet run on a microcontroller. The motor, the fault and the sensor in the demo are simulated, and the engines are real, compiled to WebAssembly.
