SDR IF Experiments

The R820T tuner IC is used in the popular Airspy software defined radio (SDR) as well as many of the inexpensive RTL SDR dongles. [TLeconte] did some experiments on intermediate frequency (IF) configuration of the chip, and you’ll find his results interesting.

Using 5 million samples per second and the device’s real mode, the tests look at a what comes out when the IC reads a noise source. There are two registers that set the IF parameters, but the tests show the effects these registers have in precise terms.

According to the post, there are three things you can set:

  • Coarse IF filter bandwidth : narrow/mid/large
  • Manual fine tuning IF filter bandwidth from 0 (large) to 15 (narrow)
  • High pass filter frequency from 0 (high) to 15 (low)

Some of the settings don’t make sense — at least at the 5 MHz sample rate — because of aliasing. However, it is instructive to see what each setting does. [TLeconte] uses Octave to visualize the data.

If you want to know more about SDR in general, we have something to get you started. If you want to do your own testing, consider using GNU Radio.

An SSB Transceiver Using Only One Device? Surely not!

There are a multiplicity of transmission modes both new and old at the disposal of a radio amateur, but the leader of the pack is still single-sideband or SSB. An SSB transmitter emits the barest minimum of RF spectrum required to reconstitute an audio signal, only half of the mixer product between the audio and the RF carrier, and with the carrier removed. This makes SSB the most efficient of the analog voice modes, but at the expense of a complex piece of circuitry to generate it by analog means. Nevertheless, radio amateurs have produced some elegant designs for SSB transmitters, and this one for the 80m band from [VK3AJG] is a rather nice example even if it isn’t up-to-the-minute. What makes it rather special is that it relies on only one type of device, every one of its transistors is a BC547.

In design terms, it follows the lead set by other simple amateur transmitters, in that it has a 6 MHz crystal filter with a mixer at either end of it that switch roles on transmit or receive. It doesn’t use the bidirectional amplifiers popularised by VU2ESE’s Bitx design, instead, it selects transmit or receive using a set of diode switches. The power amplifier stretches the single-device ethos to the limit, by having multiple BC547s in parallel to deliver about half a watt.

While this transmitter specifies BC547s, it’s fair to say that many other devices could be substituted for this rather aged one. Radio amateurs have a tendency to stick with what they know and cling to obsolete devices, but within the appropriate specs a given bipolar transistor is very similar to any other bipolar transistor. Whatever device you use though, this design is simple enough that you don’t need to be a genius to build one.

Via [G4USP]. Thanks [2ftg] for the tip.

Review: LimeSDR Mini Software Defined Radio Transceiver

It’s fair to say that software-defined radio represents the most significant advance in affordable radio equipment that we have seen over the last decade or so. Moving signal processing from purpose-built analogue hardware into the realm of software has opened up so many exciting possibilities in terms of what can be done both with more traditional modes of radio communication and with newer ones made possible only by the new technology.

It’s also fair to say that radio enthusiasts seeking a high-performance SDR would also have to be prepared with a hefty bank balance, as some of the components required to deliver software defined radios have been rather expensive. Thus the budget end of the market has been the preserve of radios using the limited baseband bandwidth of an existing analogue interface such as a computer sound card, or of happy accidents in driver hacking such as the discovery that the cheap and now-ubiquitous RTL2832 chipset digital TV receivers could function as an SDR receiver. Transmitting has been, and still is, more expensive.

The LimeSDR Mini's chunky USB stick form factor.
The LimeSDR Mini’s chunky USB stick form factor.

A new generation of budget SDRs, as typified by today’s subject the LimeSDR Mini, have brought down the price of transmitting. This is the latest addition to the LimeSDR range of products, an SDR transceiver and FPGA development board in a USB stick format that uses the same Lime Microsystems LMS7002M at its heart as the existing LimeSDR USB, but with a lower specification. Chief among the changes are that there is only one receive and one transmit channel to the USB’s two each, the bandwidth of 30.72 MHz is halved, and the lower-end frequency range jumps from 100 kHz to 10 MHz. The most interesting lower figure associated with the Mini though is its price, with the early birds snapping it up for $99 — half that of its predecessor. (It’s now available on Kickstarter for $139.)

We were lucky enough to be sent a pre-production LimeSDR Mini for review by the MyriadRF folks — in fact we were sent two of them, after the first one proved to have a hardware fault suspected to involve a solder joint issue. We feel their pain, after all who hasn’t had pre-production boards springing faults at inconvenient moments!

The laser cut case that will be available for your Mini.
The laser cut case that will be available for your Mini.

The board itself is a PCB about 33 mm x 70 mm (1,25 ” x 2.75 “), with a USB 3 plug at one end and a pair of SMA sockets at the other, one for receive and the other for transmit. The integrated circuits are all on the top of the board, and though they have included footprints screening cans, they are not populated. There is a single multicolor status LED between the SMA sockets. It’s worth mentioning that there will be a laser-cut plastic case for the board, which is probably worth getting as it feels somewhat vulnerable as it is. Along with as the board, they supplied a pair of little rubber duck antennas for the 870 MHz band.

A couple of little 870MHz antennas are supplied with the board.
A couple of little 870MHz antennas are supplied with the board.

It is evident that the LimeSDR Mini is an extremely capable board that in the hands of a real expert in SDR and FPGA programming could have the potential for great things. It is also evident that as your Hackaday scribe I am not an SDR extreme power user. Despite holding an amateur radio licence for over three decades I have been a relative late comer to the world of SDRs, and have not progressed beyond RTL-SDRs or simple devices using a PC soundcard for baseband. But it’s probable that while many SDR programming experts will indeed buy this board, the majority of its customers will be similarly newcomers to the art. Therefore this review will be biased towards the SDR non-guru, the long-time radio enthusiast considering the LimeSDR Mini as a first transceiver.

The first task with any SDR will always be to install whatever software is required on the host machine. Here that means a copy of the latest Ubuntu distribution, but Windows and MacOS machines are also supported. There is a handy page of instructions, which in the case of Ubuntu require you to add a PPA repository for the drivers, then install the Lime Suite software and the SoapySDR abstraction layer. It is this final package that makes the LimeSDR an interesting prospect, by offloading software compatibility onto the widely used abstraction layer they hope to avoid some of the pain seen with other products.

Testing it Out

A British DAB digital radio multiplex, as seen through a LimeSDR.
A British DAB digital radio multiplex, as seen through a LimeSDR.

Once the drivers have been installed, it is time to decide which software to run first. The Lime Suite GUI supplied with the driver packages will be the first port of call to test the board, but I am told that the version in the PPA at the time of writing with the Mini not having been released is written with the LimeSDR USB in mind and therefore I should use GQRX. In the case of Ubuntu this can be installed through the graphical software installer, but as luck would have it I already had it on my machine. Selecting “other” as my SDR and pasting driver=lime,soapy=0 as my device string soon had the familiar interface in front of me, and with a suitable antenna in no time I was listening to my local BBC Radio 4 FM transmitter.

A simple FM transmitter, derived from this example by [Gyaresu].
A simple FM transmitter, derived from this example by [Gyaresu].

Two things are immediately apparent to an owner of an RTL-SDR, gone are the huge number of spurious peaks, and the noise floor is much lower. Reading GQRX with different front ends is an inexact and even slightly meaningless way to take measurements, but with all-automatic AGC, the RTL has a -60 dB noise floor and the LimeSDR has one below -90 dB. Just looking at the FM band, there are stations poking out of the noise that simply don’t exist with the RTL. It’s unsurprising that a piece of dedicated SDR hardware would outperform a $10 TV stick running a hack to make it an SDR, but if you are an RTL-SDR user then you will be pleasantly surprised by the Mini when you see it in action.

Fortunately there is nothing too sensitive controlled by this 433MHz waveform that I have just revealed to the world.
Fortunately there is nothing too sensitive controlled by this 433MHz waveform that I have just revealed to the world.

To have a board like the Mini and simply use it for GQRX is to waste so much of its potential. We are promised a library of tailor-made applications via Snappy Ubuntu Core, but this isn’t yet available pre-release. Your next stop would then probably follow ours with GNU Radio, and in particular its drag-and-drop GUI application GNU Radio Companion. This is nuts-and-bolts homebrew radio for the SDR age, just as analogue radio amateur homebrewers would solder their own radios while others bought shiny transceivers, so the SDR homebrewer can build their own devices using GNU Radio. It’s a package that’s beyond the scope of this review, but as an example when playing with the Mini it was fairly easy to cobble together a little GNU Radio receiver to pull in and extract the signals from a 433 MHz remote control transmitter we have in the house, and then regurgitate them through a 433MHz Baofeng antenna for the satisfying sight of a table lamp at the other end of the bench turning itself on. The Mini itself doesn’t intrude into this process beyond simply doing what it’s told once its communication with GNU Radio has been achieved, so experimenting further into the mechanics of decoding the bitstream itself became a matter of working through a set of tutorials and burning the midnight oil. The steep learning curve is amply offset by the satisfaction of playing with the instant gratification of radio building blocks without the pain of reworking any intricate soldering.

In transmission terms the maximum 100 mW output power is fairly modest for anyone used to amateur radio. But given that many applications for this board will involve the likes of sniffing for and responding to more local devices rather than seeking contacts from other continents this is something likely only to trouble radio amateurs without the wherewithal for a power amplifier. The twin antenna connectors will be somewhat annoying if you are used to a single one on a simplex transceiver, unless you are transmitting and receiving on different frequencies, of course.

A review of an SDR over a short period can not hope to cover all its many capabilities, so this one has been an impression of the Mini as a platform for experimentation and learning about how to use an SDR transceiver. But in just the time that it has been on the bench here, the Mini has opened a significant new vista over an RTL-SDR, and given a few months in which to play with GNU Radio will I am sure provide both some useful radio applications and a seriously interesting learning process.

Previous SDRs at the budget end of the market such as the HackRF have all remained somewhat expensive purchases, ones a typical radio amateur might have had difficulty concealing from their partner in the family accounts. With a price point that is almost edging into the realm of an impulse purchase, the Mini has the potential to become an SDR transceiver for everyone. If you have been holding back because of the price, maybe it’s time you gave it a look.

Why is Donald Duck on the radio?

AM, or amplitude modulation, was the earliest way of sending voice over radio waves. That makes sense because it is easy to modulate a signal and easy to demodulate it, as well. A carbon microphone is sufficient to crudely modulate an AM signal and diode — even a piece of natural crystal — will suffice to demodulate it. Outside of broadcast radio, most AM users migrated to single side band or SSB. On an AM receiver that sounds like Donald Duck, but with a little work, it will sound almost as good as AM, and in many cases better. If you want a better understanding of how SSB carries audio, have a look at [Radio Physics and Electronics] video on the subject.

The video covers the math of what you probably already know: AM has a carrier and two identical side bands. SSB suppresses the carrier and one redundant side band. But the math behind it is elegant, although you probably ought to know some trigonometry. Don’t worry though. At the end of the video, there’s a practical demonstration that will help even if you are math challenged.

Dealing with signals as math equations are a staple if you seriously study electrical engineering. For example, you can model a pure sine wave with the equation: S(t) = A sin(2*pi*F*t) where A is amplitude, F is the frequency in Hertz, and t is time. Try it. In that example, the frequency is 1 kHz and the amplitude is 20, but you can tweak the values and see what happens. If you add something to the argument to the sin function, you’ll change the phase of the wave. If you followed that, you should have no problem with the video.

This math isn’t just good for working homework problems. It is the same math you need to do synthesis with a computer or digital signal processor. If you want to dig in, we talked about phase angle mathematics, earlier.

But wait, what’s with that screwy title? Have you ever heard an SSB signal on an AM radio? Most people describe it as sounding like Donald Duck. Listen at about the 20 second mark of this mp3 file and just after that, too where it is Upper Side Band (the other kind of USB) but off frequency and you’ll hear that famous voice. If all of this is unfamiliar, you need to explore the speech transmission origins of AM.

Measuring HF signal speeds in a DIY coaxial collinear antenna

Air Traffic Controllers use Automatic Dependent Surveillance-Broadcast (ADS-B) as an alternative to secondary radar to track aircraft. The ADS-B is transmitted by the aircraft and contains information such as GPS position, pressure, altitude, and callsign among other things at a 1090 MHz frequency, which can be decoded using any of a number of software tools.

[Mike Field] lives near an airport, and decided he wanted to peek into the tracking signals for fun. He turned to an RTL-based TV Dongle. Since the stock antenna was not cutting it, he decided to make one specifically for the 1090 MHz signal. His design is based on Coaxial Collinear Antenna for ADS-B Receiver by [Dusan Balara] which uses pieces of the coaxial cable cut to the right length. There are a number of calculations involved in determining the size of the cable, however, the hack in this design is the way he uses a USB based oscilloscope to measure the speed of RF waves inside the line in question.

We reached out to [Mike], and this is what he had to say. The idea is to use a cable of half the size of the wavelength which is calculated as

lambda = c/f

For the best reception, the sections of coax need to be half a wavelength long – but the wavelength of the signal inside the coax, which is shorter than the wavelength in free space. As this was a generic cable he had no idea of the dielectric that separates the core from the shield, so the ‘velocity factor’ could be anything depending on the exact composition.

To determine the speed of the signal in the cable, his approach omits the more expensive equipment. A length of coax acts as a stub – any energy that is sent into the cable reaches the far end of the transmission line and is then reflected back to the source. When the cable is 1/4th of the wavelength long, the reflected signal arrives back at the start of the signal 180 degrees out of phase – in a perfect world it would completely null out the input signal.

[Mike] starts his experiment with a 10m cable as he needs a test signal with a wavelength of 40m. In order to get the test signal into the cable, just two resistors at the back of a connector are all that was needed. The diagram shows the 330 ohms and 100 ohms in series with the center point at around 75 ohm which is a match for the cable.

Using the Digilent Analog Discovery 2’s Network Analyzer the connector is swept from 1kHz to 10Mhz without the cable attached, and then with the cable attached. The dip at 5.666 MHz, caused by the reflected signal down the coax is very clearly seen. From there it is simple math – 40m/cycle * 5,666,000 cycles per second = 226,640,000 meters per second or 75.6% of the speed of light.

So the wavelength of the ADS-B signal is (226,640,000 m/s) / (1090,000,000 Hz) = 0.208m, and the desired length to cut is 104mm 1/2 wave elements and 52mm 1/4 wave elements and get soldering!

This is a great example of how a little bit of math and human ingenuity can be better than expensive test equipment and if you looking to get into software defined radios from scratch, start with Scratch.