Transferring data without error when there is a lot of background noise is a challenge. Dr. Claude E. Shannon in 1948 provided guidance with his theory addressing the capacity of a communications channel in the presence of noise. His work quickly spread beyond communications into other fields. Even other aspects of computer use were impacted. An example is the transfer of data from a storage medium, like a hard drive or CD-ROM. These media and their sensors are not 100% reliable so errors occur. Just as Shannon’s work defines communication channel capacity it defines the transfer rate from a media surface to the read head.
Shannon told us how much could be passed through a channel but didn’t say how. Since 1948 a lot of research effort went into accurately detecting errors and correcting them. Error correction codes (ECC) add extra bits to messages, but their cost pays off in their ability to work around errors. For instance, without ECC the two Voyager spacecraft, now leaving our solar system, would be unable to phone home with the information they’ve gathered because noise would overwhelm their signals. Typically in hardware, like memory, error correction is referred to as ECC. In communications, the term forward error correction (FEC) is used.
Robust communication, or data transfer, is a combination of fancy software and tricky signal processing. I’m going to focus on the software side in this article. You may find some of these techniques useful in communicating data among your devices. While I’ll be using the term communications keep in mind this is applicable to transferring data in general.
Continue reading “Error Detection and Correction: Reed-Solomon, Convolution and Trellis Diagrams”
How radios send and receive information can seem magical to the uninformed. For some people, this week’s Retrotechtacular video, “Frequency Modulation – Part 1 Basic Principles”, from the US Army Department of Defense 1964 will be a great refresher, and for others it will be their first introduction into the wonderful world of radio communications.
The stated objective is to teach why FM radio communication reduces interference which normally afflicts AM radio communications. Fundamentals of AM and FM is a better description, however, because the first part of the video nicely teaches the principles of AM and FM radio communications. It isn’t until later in the clip that it delves into interference, advantages of FM modulation, and detailed functioning of FM radio. The delivery is slow at times and admittedly long, yet the pace is perfect for a young ham to follow along with plenty of time to soak in the knowledge. If you’re still on the fence about becoming a ham here’s some words or encouragement.
Though the video isn’t aimed at ham radio users it does address core knowledge needed by amateur radio hobbyists. Amateur radio is full of many exciting communication technologies and you should have a clear understanding of AM and FM communication methodologies before getting on Grandpa’s information super highway. Once you have your ham license (aka ticket) you have privileges to create and test amazing ham related hacks, like [Lior] implementing full programmable control of a Baofeng UV5R ham radio using an Arduino.
Join us after the break to watch the video.
Continue reading “Retrotechtacular: Fundamentals of AM and FM Radio Communication”
[Diego Spinola] wrote in to tell us about a node communication system he’s been working on called HsNet. The aim is to build a system of nodes that can be made up of small and inexpensive microcontrollers. The problem is that the least expensive controllers often don’t have a hardware UART. HsNet implements the RS485 protocol using a software UART along with a slim and sleek addressing scheme.
The first module developed, seen in the image above and video after the break, is a single channel pulse-width-modulation node using a PIC 12F683. It can be sent commands in the payload of the HsNet packet format. The PWM modules accept three different commands; one is a desired PWM value, another is a delay between steps for the PWM, and the last toggles a blink function.
He has also developed an analog sensor module and an Arduino-based TCP/IC gateway module. Now that the packet communications have been established, it will be rather simple to add nodes based on that groundwork. [Diego] brought these components together to build an interactive wall which can also be seen after the break.
Continue reading “HsNet: Node communications for feature-limited microcontrollers”