Progress On My Software-Defined Radio

I’ll confess, I’ve kept some secrets from you. The fancy software radio baseband digitizer I mentioned back in November? I got it working not long after, and I’ve had some fun with it (see demo video, below). Here it is, connected to my ADRF6850 front-end board:

I wrote a quick-and-dirty capture program, starting with a libftdi (“master” branch) example program, stream_test.c. With it, I can sustain approximately 32MBytes/second. It appears my hard drive write speed is the bottleneck, as I get drop-outs periodically, but only if capturing to disk, not RAM.

I haven’t incorporated any low-pass filtering, or finished implementing proper digital downsampling of the raw baseband sample stream, so to test the system, I chose the most powerful signals available: FM broadcast. I captured about 8MHz of the local FM spectrum, centered around 101.9MHz, and was able to play it back and demodulate several channels using GNU Radio.

Up next, proper filtering, and some more interesting wideband signals! And maybe I should clean up my office before I make my next video…

6 thoughts on “Progress On My Software-Defined Radio”

  1. Nice receiver. I’m starting to design my own hobby receiver mainly for the UAT aviation band at 978 MHz. I’ve looked at the ADRF6850 and MAX2120. I would also like to be able to receive 1030 and 1090 MHz if possible. Some of the charts in the datasheet for the ADRF6850 go to approximately 1050 MHz. Do you think the frequency could be pushed to 1090 MHz?

    Also, how did you solder the QFN package to your PCB?

  2. @Allan: I think the ADRF6850 LO is limited to < = 1GHz by the register map. It may be possible to fool it by fiddling with the reference or PFD frequency. I haven't tried this. If you don't want to push the LO, you may also be able to rely on the high bandwidth available through the IF port -- tune to 1GHz and digitize the signal at 90MHz (as a low IF). The IF output has a bandwidth of up to 250MHz. However, you'll need to deal with a 90MHz signal, which is still relatively expensive to digitize and process... The QFN was soldered using my mailing label technique. Lately, I’m rather frustrated with this technique, as paper mailing labels aren’t very dimensionally stable and are therefore hard to align on bigger boards (>10cm across). They are also somewhat capricious, peeling off cleanly one time, and staying stuck another time. Having to clean off bits of adhesive paper between your freshly-applied solder paste can be very frustrating. I need to get some Kapton and experiment with laser-cutting better stencils.

    I’d very much like to build a UAT/Mode-S 978/1030/1090MHz receiver, and also a GPS receiver, just for the challenge. But I’m thinking of making something more purpose-built — a SAW filter or two and tuned LNA(s), and a VCO/PLL and mixer selected and designed expressly for the 970 – 1100MHz band. The sensitivity gained from a proper input section is wonderful. Using a borrowed Ettus USRP1 with NO real input filtering, I can only receive aircraft that fly directly over my house at low altitude.

    We should stay in touch!

  3. That’s a clever way to make a paste mask, but I’m afraid I don’t have a laser cutter. Also, I’ve never done reflow soldering, but I’m pretty good at soldering fine-pitch SMD parts with a micro-tip soldering iron. My problem is soldering the large pad on the bottom of the QFN package. I was thinking of just making the PCB with a small hole under the pad, so I would have access to it with my soldering iron. It shouldn’t affect the ground plane very much. What do you think?

    Anyway, I have a couple of MAX2120’s and I just ordered five 978 MHz SAW filters from Golledge, so I’m going to start laying out a board tonight. It may take me a while to get it finished because my time is a bit limited right now. I’m planning to use a 2-layer board, because the Maxim eval kit is 2-layer. I’ll probably just do the RF section, and leave the ADCs and FPGA for later. I have a nice little Spartan3 proto board that I got on eBay, and a couple of THS1030 ADC’s in SOIC packages that are a bit clunky-looking, but at least they should be easy to solder :-).

    By the way, if your website software has a way to notify me when/if you reply to this, I’d appreciate it so I won’t have to keep checking back on the site.

    This will be my first RF design, so thanks for your help,

  4. @Allan: I’m lucky to know a few people/organizations with laser cutters. Perhaps somebody in your community has one and isn’t admitting to it? :-)

    As for reflow, many of my DorkbotPDX friends use a hotplate, like a college student might cook a bowl of ramen in their dorm room. It’s not ideal if you’re going to manufacture hundreds or thousands of something and want absolute reliability, but it’s an approach that has worked great for many people. Some people have gone so far as to build PID controllers for their hotplates, with an infrared non-contact thermometer reporting the temperature at the surface of the PCB. I don’t do anything that fancy, I just use leaded, relatively low-temperature solder, and try to avoid any smoke that isn’t just flux burning away…

    I was shopping around for 1030 and 1090 SAWs and “BAW”s today. They’re hard to get, and expensive, too. I’ll check out Golledge.

    Are you aware of Laen’s PCB order, now known as “OSH Park“? It’s a great way to order just a few two-layer or four-layer boards at a very reasonable price. I use Laen’s four-layer service exclusively, and have had nothing but good results.

    If you want someone to review your schematic or PCB, just drop me an e-mail — I’m not sure my site will notify you when I post this, so hopefully, you’ll check back. Or maybe I’ll just cc: this message to the e-mail you gave in your comment…

  5. There’s a guy on eBay selling 1090 MHz SAWs. My 978 MHz SAWs from Golledge should be arriving in about a week. They cost $32 for 5, including shipping from England. I could sell you a couple if you can’t find them elsewhere.

    Regarding the OSH_Park 4-layer PCBs, the stackup is given as:
    1 Cu Foil 1 oz.
    1 Prepreg 7629 (.0078)
    1 Core .039 H/H
    1 Prepreg 7629 (.0078)
    1 Cu Foil 1 oz.

    The inner copper foils aren’t mentioned, for some reason. Do you know the thicknesses of all the copper foils?

  6. @Allan: Laen says the inner layers are 0.5 oz. They’re on his “Pricing” page, which seems like a peculiar place to put it…

    Thanks for the offer on the SAWs. I may take you up on it, though I’d love to find an easier way to source SAWs, so I can publish my project and the BOM and have some hope that others can build it.

Comments are closed.