There are several key building blocks that combine to make SDR possible. The first is some input device (a source) that is sampled at some sampling rate. For an audio device, the samples will be real numbers. However, radio devices will more likely provide complex numbers with an I and Q component.
I had the opportunity to observe a display stuck in the middle of its bootup sequence, displaying a version string. This revealed that the system is called IBus and it’s made by the Swedish company Axentia. Sure enough, their website talks about DARC and how it requires no return channel, making it possible to use battery-powered displays in remote areas.
Not much else is said about the system, though; there are no specs for the proprietary protocol. So I implemented the five-layer DARC protocol stack in Perl and was left with a stream of fully error-corrected packets on top of Layer 5, separated into hundreds of subchannels. Some of these contained human-readable strings with names of terminal stations. They seemed like an easy starting point for reverse engineering.
So far, two USB sticks have been tested and the unit with the largest frequency range (64 – 1700 MHz) is available direct from China for $20.
These cards demodulate the frequency and send all the data to the computer and is decoded via software. If you have one of these capture cards lying around, you can grab the software and load it up on your *nix box. Right now, the software only writes directly to a file, and may drop a few samples if writing to a hard disk instead of ram. Small problems, but we’re sure this project will pick up steam in the very near future.
rtl-sdr is a commandline tool that can initialize the RTL2832, tune to a given frequency, and record the I/Q-samples to a file.
The code can be checked out with:
git clone git://git.osmocom.org/rtl-sdr.git
via rtl-sdr – OsmoSDR.
Software Defined Radio