Tagged: FPGA

Building a 1-Bit Oversampling SDR with not much more than a low cost FPGA

Thank you to Alberto Garlassi for submitting information about his super low parts home made FPGA software defined radio which is capable of medium wave and shortwave AM reception. What makes this design interesting is that is is created with nothing more than 3 resistors, 1 capacitor, and a low cost 30€ Lattice MachXO2 FPGA dev board.

The design makes use of the FPGA's LVDS buffer input to implement a direct sampling 1-bit ADC to which a wire antenna is directly connected to. This 1-bit resolution is increased by using an SDR trick that involves superimposing random RF noise onto the desired signal, and oversampling at 80 MHz then decimating down to a 6 kHz bandwidth. This results in an effective ADC resolution of 6-bits, from 1-bit hardware.

Synthesized on the FPGA is the ADC, Mixer, two CIC filters, an AM demodulator and a PWM circuit for audio output. The synthesis allows for medium wave and shortwave AM reception where the frequency can be tuned via PC control.

The FPGA Verilog synthesis files are available on the projects' GitHub page, and a more in depth explanation of the SDRs operation is available on its hackaday.io page. Alberto has also created a short demonstration video which is shown below.

FPGA + 3 R + 1 C = Medium and Long Wave SDR Receiver.

Building an IcoBoard FPGA based Software Defined Radio

The IcoBoard is an FPGA IO board that is compatible with the Raspberry Pi. An FPGA (Field Programmable Gate Array) is a silicon chip that can implement custom digital circuits (such as DSP processors) and be reconfigured with different circuits many times. Other silicon chips are ASICs (application specific integrated circuit) which have circuits that are set in stone.

Over on YouTube OpenTechLab has been trying to create a software defined radio with his IcoBoard FPGA. To do this he's combined it with an audio A2D/D2A (analog-to-digital/digital-to-analog) converter board and a Raspberry Pi. The video goes through the entire design process, including A2D/D2A selection and purchasing, PCB adapter design in KiCad, soldering the PCB, as well as 3D printing a frame.

In the last part of the video he does a simple test where a signal is input into the A2D converter, converted to digital and processed by the FPGA. The circuitry programmed into the FPGA then simply outputs the received data to the D2A which converts it back into an analog signal. In the next steps of the project OpenTechLab hopes to work on the software and turn it into a full SDR. Show notes for the video are available here.

[014] IcoBoard Software Defined Radio Project - Hardware

Building an SDR Transmitter using GPIO Pins on an FPGA

Recently an RTL-SDR.com reader named Jon wrote in and wanted to share his project called FPGA-TX. FPGA-TX is software that provides low-cost SDR transmit capabilities on an FPGA. It works in a similar way to RPiTX which is by simply turning the GPIO pins on and off very quickly in such as way that it generates any desired AM/FM/SSB transmission. These methods are crude and require external analog filtering, but can be used for creating almost any sort of RF transmission at a wide range of frequencies extremely cheaply. These sorts of cheap transmitters are great companions to low cost SDR dongles like the RTL-SDR.

Jon’s project runs on FPGA boards and currently supports the Digilent Nexys 4 and Digilent CMOD A7 ($75) FPGA boards. An FPGA is an integrated circuit that can be easily reconfigured to implement various different digital circuits.

FPGA-TX can transmit at frequencies of up to 400 MHz and current supports AM, FM, LSB, USB, Wideband FM and Wideband FM Stereo transmission modes. It runs on Linux. The FPGA transmitter has been tested combined together with an amplifier and filter. It can also interface with a GPS unit for clock calibration.

An FPGA Based Transmitter. In the photo: FPGA, Amplifier, Filter, Attenuator, TX/RX Switch.
An FPGA Based Transmitter. In the photo: FPGA, Amplifier, Filter, Attenuator, TX/RX Switch.
The FPGA-TX Ubuntu Interface.
The FPGA-TX Ubuntu Interface.