Thursday, March 31, 2016

Sample rates and the Internet of Things



In college, most engineers learn about the Nyquist-Shannon sampling theorem. Basically, it says that capturing an analog signal in the digital world requires samples to be frequent enough to capture the changes in that analog signal. Most remember the theorem says the minimum sample rate is twice the signal’s frequency.  Some will recall the in class demonstration offered as a warning – if sine wave signal is sampled at twice the frequency, exactly at the zero cross point, the digital representation is a constant. Epic fail.

Internet of Things (IOT) developers need to be aware of Nyquist because they need to ensure that they schedule sampling frequently enough to capture signals in real time (that is, fast enough to sense a change and react to it, see my discussion of real time), but not so fast as to use all the bandwidth or to miss a signal toggle. They also need to be aware of the non-deterministic nature of the network; Internet packets do not arrive on schedule and may arrive out of sequence.

So what’s a poor IoT developer to do? First, realize that the internet is great for monitoring, but may not be appropriate for control.  Second, realize that not just any <fill in the name of your favorite language> developer is qualified to do IoT development.  Working in the real time embedded software field requires special training and experience. Third, and perhaps most important, there are plenty of us out here who have been through it before. Most are willing to help if you ask.

No comments:

Post a Comment