SDR

Software Defined Radio

Note: This page has formatting issues and links must be fixed. burnt_board

 

ARM Radio        arm_radio_europe1

Alberto de Bene , I2PHD created ARM radio as an entry to the ARM MCU design contest.  It is a direct sampling receiver using the 12-bit A/D converters operating at ~1.8 MHz allowing reception of VLF-LF-MW and includes AM, USB/LSB and CW demodulation.  The hardware consists of just a STM32F429 DIscovery board and passive input/out Nyquist filters.   The digital down conversion, filtering, decimation and demodulation is all handled by the ARM 32-bit Cortex-M4 processor core with DSP FPU onboard the Discovery board.

Red Pitaya SDR

The Red Pitaya started out as a Kickstarter project as an open source general purpose electronic instrument intended to replace a number of expensive lab tools.  It is a credit sized circuit board that contains:

– Xilinx Zinq 7010 System On Chip  (SOC), (FPGA & two dual core cortex A9 ARM processors)
– 2 each 125 MS/s, 14 bit ADC and DACs
– Gigabit Ethernet
– 4 Gb RAM
– USB 2.0 On The Go (OTG) port
– MicroSD card slot
– Daisy chain synchronization ports
– 16 digital I/Os, 4 low speed analog inputs and outputs
Red Pitaya runs linux and includes a set of applications including:
– 2 channel waveform generator and oscilloscope
– Spectrum analyzer
The user community have contributed other apps LCR meter, Bode analyzer, Teslameter and SDR.
 Based on this application note – Designing Efficient Digital Up and Down Converteres for Narrowband  Systems, Pavel Demin created the VHDL and C code for the Zynq SOC to create a 0 – 30 MHz SDR.  He also wrote a Windows Ext_io.dll so that the receiver can be run with the popular SDR# and HDSDR.  Pavel describes his work here.

Pavel has continued his work to create a 2 channel transceiver with TCP server and a gnuradio source and sync block.  He later added a version that is compatible with HPSDR and a number of software packages.  His notes are here.

On Nov 17, 2015 Martin W6MRR made his first Red Pitaya QSO on 20 m via JT-65A using a  “naked” Red Pitaya with a simple T/R relay and BPF.  The 600 mile transmissions were made with just the 9 mW Red Pitaya output.

Terry N4TLF has begun performance testing of the Red Pitaya in accordance to recommendations established  by the ARRL.  This will include:
  •  4.1 Output power test
  •  4.2 Transmit frequency range test
  •  4.4 Spectral purity test
  •  4.5 Two-tone transmit IMD test
  •  4.6 SSB carrier and unwanted sideband suppression
  •  5.1 Noise floor test
  •  5.2 AM receive sensitivity test
  •  5.7 Blocking gain compression
  •  5.7a Reciprocal mixing
  •  5.8 Two-tone 2nd and 3rd order dynamic range test

The Red Pitaya is still a work in progress.   It could be a poor man’s Flex radio.   It needs a front end, output filters, a power supply, a power amp and a metal case to house it all.  We have put together a email list specifically for working on this project.  Please join us at https://groups.google.com/d/forum/sdr-net

GNU Radio

 WikiStart – for now

RTL-SDR

Being thrifty, AMRAD members were quick to embrace the re-purposed USB DVB-T TV dongles know as RTL-SDR because of the Realtek receiver chip they are based on.   They are very wide band – typically 24 to 1766 MHz and are very inexpensive, about $25.   They can be used with either a PC or an Android device to host the SDR software.  Popular PC applications include SDR# or HDSDR.  There are Android applications, SDR Touch and RF Anaylyzer that work with the RTL-SDRs.  RTL-SDR.com is the definitive source that opens up a world of possibilities for these cheap radios.  In addition to listening in to  AM, FM, WFM, USB and LSB, applications have been developed to decode a variety of radio data such as aircraft ADS-B and ACARS position and data, marine data over AIS, NOAA weather satellite images and many more.

20150512_191111[1]

Android tablet demodulating 2 m FM with SDRTouch using a USB-to-go cable to connect the RTL-SDR.wideareamap

This time lap trace of aircraft traffic was created from 1090 MHz ADS-B data captured with a RTL-SDR from NW Washington, DC.

CHARLESTON SDR RECEIVER #1

Charleston pix

Welcome to the AMRAD Charleston SDR Project. This project springs from the work of Dr. John Schwacke and Terry Fox, N4TLF(was WB4JFI), both in Charleston SC in early 2010. Dr. Schwacke started the receiver design as part of a project to track multiple dolphins simultaneously when their attached transmitters only come above the ocean surface for short periods. The receiver can process and detect across the bandwidth of all the transmitters as a single receive rather than a bank of individual receivers, each tuned to one dolphin’s frequency.

The receiving system consists of the Charleston RX1 board, a Digilent Nexys2 FPGA development board and a PC running Quisk or similar software.  The Charleston board amplifies and filters signals and delivers them to a AFEDRI8201 chip.  The AFEDRI8201 chip digitizes, digitally down-converts and decimates the input signal.  The decimated data is transferred to the Nexys2 FPGA board to buffer and transfer data to a PC over a USB connection.  The Quisk software  demodulates the software, playing the demodulated audio through the PC speakers and presenting a real time spectrum and waterfall display .

AMRAD designed and ordered a bactch of  PCBs and starting with an inaugural build of ten boards and has constructed many more at several group builds.  The radios work great and are enjoyed by many.  The following documents and provides theory,  details, and additional information on the receiver.

Information about Quisk
Information about the TI AFEDRI8201
Information about the Digilent Nexsys 2 FPGA board

AMRAD members are always chewing on the next SDR project.  Be part of the conversation or get involved and help build the next generation SDR project.


Theory

Download and Follow the Read Me First File ReadMe1stV2

Block Diagram

blockdiag

To understand the receiver, first go to ti.com and search on the part number AFEDRI8201 and get the data sheet.

Information on the Cascaded-Integrator Comb Filter cic1CIC Understanding
Information on digital down conversion (DDC) Xilinx App Note, Xilinx DSP Primer

 


 

Documentation

fpga.zip – Contains Verilog source files and other design files:
Charleston.zip – Contains schematics, CAM files, filter responses curves, reflow oven details and pictures  of people having fun putting it all together.
Nexys 2 FPGA .bit files  – You will need to change of these  to add the .bit file extension.  Download the Digalent Adept programming tool to program your board.
sdrif500kIQ  – for the xc3s500 board
sdrif  – for the xcs1200 board


Blog

QUISK IS AVAILABLE AS A PACKAGE FOR UBUNTU (MAY 2015) 

A version of Quisk that includes a configuration file for the Charleston RX1 receiver hardware can be installed easily.

From a terminal type: sudo apt-get install quisk
Copy /usr/share/doc/quisk/quisk_config_charleston.py to your home
directory
Rename quisk_config_charleston.py to .quisk_conf.py
Run Quisk by typing quisk from a terminal.  If quisk runs but you can’t hear anything you may have to change your sound card setting in .quisk_config.py.   Quisk has a Config button, with Sound choice.  This will show the device names for the available hardware.  You may need to edit  .quisk_config.py to change name_of_sound_play to one of these values

NEW MASTER OSCILLATOR FIXES PHASE NOISE (JAN.2011)

Terry WB4JFI replaced the original program-once 76.8MHz master oscillator with a custom Silicon Laboratories SI570, programmed for 76.8MHz. The new oscillator dramatically reduced the phase-noise related artifacts when stronger signals hit the Charleston Receiver board. This SI570 can be ordered directly from SI Labs, at a cost of about $13 each, but I recommend group buys. The SI Labs part number is: 570CAC000729DG. In order to have access to the extra I2C program pins (not absolutely required), I placed my SI570 on top of four zero-ohm SMT resistors, that act as spacers between the board and the SI570 itself.

LIVE-DVD OF UBUNTU AND QUISK FOR CHARLESTON (DEC.2010)

Rob Bowers and Frank Gentges have built a Live-DVD that allows a computer to boot right into Ubuntu 10.04 and X. One of the two icons on the X desktop will load and execute Quisk for the Charleston SDR Receiver. This greatly simplifies demos and quick tests of computers for compatibility.

CHARLESTON SDR RECEIVER (UPDATED July 2010):

screen

AMRAD is working with the Charleston SDR board, developed by Dr. John Schwacke. An article describing this board was in the Jul-Aug 2009 AMRAD Newsletter. Also, see the Charleston SDR page for more information, including the newly-added Quisk for Linux as modified for the Charleston Receiver. This info is in the MIDDLE of the page.

OCTOBER 2010:

I have added the text file for building the Charleston SDR version of Quisk 3.4.8 on Ubuntu 10.04.1. It is modified to add instructions to fix the broken wx-gtk link caused by a change in the latest Ubuntu. The file is:charleston build.txt

USE THIS FILE FOR NEW INSTALLS. IT ALREADY INCLUDES THE CHARLESTON CODE!

If you prefer, James Ahlstrom has given us permission to make available a single tarball of his Quisk 3.4.8 code, along with the Charleston modifications. It is: quisk-3.4.8 chas.tar.gz, and was added here on August 21, 2010 (and updated October 2010 to fix it with Ubuntu 10.04.1). To use this, simply download the tarball (probably to your home directory), uncompress it, change to the quisk-3.4.8 directory, and run “make”. It should automatically compile the Charleston stuff as well as Quisk. You can then view/print the file charleston_build.txt file (in the quisk-3.4.8/charleston directory) for notes on dependencies and the rest of the requirements necessary to get Quisk for Charleston running.

CHARLESTON SDR RECEIVER AND QUISK (UPDATED October 2010):

James Ahlstrom has released a new version of Quisk (3.4.8), which has a number of improvements, including adjustable decimation rate (on the config menu). Jim’s source (for Linux) is available at: pypi.python.org, then do a search for “quisk”.

Terry has modified the Charleston SDR Receiver support code to take advantage of Jim’s additions. A tarball if the charleston directory is here:charleston-1.0.tar.gz . Once you download the tarball and unzip it, move all the files into a directory called charleston, inside your quisk-3.4.8 directory. You will then need to compile the quisk directory (type “make” while in that directory), then cd to the ./charleston directory, and run “make” again. NOTE: The file charleston-1.0.tar.gz was updated on Aug. 10, 2010 to correct a typo in the install instructions. Discard any previous versions.

Inside the /charleston directory are a couple of (hopefully) helpful files on how to get the proper libraries and build Charleston support, and a folder with mods to the quisk.py file to add an audio filter shadow to the display.

March 2010 SDR Exciter news:

Terry has designed a companion exciter to the Charleston SDR Receiver. The design uses the Analog Devices AD9744 D/A converter, similar to both the openHPSDR Penelope board, and the James Ahlstrom exciter. An article describing the exciter appeared in the Sep-Oct 2009 AMRAD Newsletter.

GROUP BUILD

We assembled a group of AMRAD members on a Saturday and we built Charleston receivers. We started by putting solder paste on the PCB using the stencil. Each builder built one or more PCBs by placing the parts on the boards. We left off the connectors, the LPF and transformer.

The boards were placed in a toaster oven. We tried to use visual inspection to tell when the solder paste was melted and while this worked, we ended up using the techFX reflow controller from http://www.thesiliconhorizon.com/cms/ which makes a professional reflow oven out of a simple toaster oven.

Then the connectors, LPF and transformer were added using a small tip soldering iron and the board was tested for power draw. It was not at all unusual to find pins on the fine pitch parts with a solder bridge to clean out. Sometimes one or more pins were not soldered down to the PCB. With a power check the final bridges fixed, most boards came up and worked. We want to pass on our knowledge to others on the group build. For one thing, it sure is more efficient than building just one receiver. We find we have fun and make acquaintances who will be working with their receiver.

Frank Gentges has organized one “run” of 20 Charleston SDR Receiver boards, all of which are running. A second run has been done. We have accumulated a lot of experience and it is presented in the Group Build page.


 

We checked new boards with our Power Test Fixture made out of an old floppy disk cable.

PwrFixture

AMRAD has been interested in Software Defined Radio (SDR) since it became of practical application within amateur radio. We were fortunate to have a talk by “the Godfather of the Software Radio”, Joseph Mitola III. He authored and co-authored several classic books on the subject.

Related Resources In Print

Software Radio Architecture”  by Joseph Mitola III.  I believe he is credited with coining the phrase “SDR”.  It is a little older now, but has some useful information.  It would probably not be my first purchase.  Interestingly, he gave a presentation to AMRAD on software radios several years ago, when he worked at Mitre.  It’s expensive now, with only the occasional nugget.
Digital Signal Processing with Field Programmable Gate Arrays, Third Edition”,by U. Meyer-Baese.  This book is a winner to me.  Not only does he show the various concepts of many DSP functions, he also provides HDL coded examples in both VHDL and Verilog.  I believe he uses early Xilinx parts for some examples.  Also very expensive, but probably worth it, especially used – if the CD is enclosed.
An Introduction to HF Software Defined Radio”, by Andrew Barron ZL3DW.  This is a fairly thin paperback book that describes the HPSDR firmware/software and protocols.  It is mostly a collection of HPSDR-related material that could be found elsewhere on the Internet.  It is nice that all the material is in one place, however.  Not very expensive ($18).
 (Reviewed by Terry N4TLF 6/7/15)

 

Leave a Reply