Signal Processing Engineering
IoT systems are networks of devices supported by a cloud infrastructure. Users frequently interact with the system using smartphones or tablets, although in some cases the system operates autonomously once established. When the networked devices are sensors, the goal is to collect data, process it, and use the results to drive some process. In other applications the networked devices download data from the cloud infrastructure, thereby enhancing their functionality.
All IoT applications require data transfers of one form or another. Often the quantity of data is large and it requires significant processing and analysis to be useful. Signal processing is therefore essential to IoT systems.
For example, one commonly encountered sensor architecture is an A/D converter followed by a processor with a wireless connection. The overall system processing is distributed between the sensors and the cloud. Frequently the sensors exploit fundamental building blocks such as FIR/IIR filters, non-linear noise removal filters, FFTs, and so forth. Cardinal Peak has deep experience working on systems containing these blocks, and is adept at implementing them efficiently. Cardinal Peak is also skilled at developing special purpose algorithms to solve a customer’s unique data processing problems.
Examples of algorithms that we have implemented or enhanced include:
- Real-time spectrally adaptive audio noise reduction
- Audio spectrogram matching
- Radar processing to extract the range, velocity, and bearing of an incoming projectile, for a military application
A client needed the ability to determine what radio station a user was listening to from a short recording made with his cellphone. We quickly prototyped and then refined a system based on spectrogram matching. Finally we characterized the algorithm’s performance based on a representative set of broadcasts.