Publications:

From my photos:

A Software defined radio (SDR) is a radio communication system where the signal processing is done in the digital domain unlike conventional radios; which are based in a series of analog filter, mixer, modulator and demodulator circuits. This type of systems are very attractive because they can be extremely flexible. For instance, the diversity of standards and regulations in cellular networks around the world carries with it many incompatibilities. An architecture based on SDR will allow future cellphones to switch the signal processing scheme to work on different parts of the world by merely making software adjustments.
This project aims at creating a simple, but functional, software defined radio receiver. This is the final project for the Complimentary Electronics course I took from October to December, 2010. The idea is to be able to receive standard radio (AM) broadcast signals with a desktop computer running LabView and equipped with a data acquisition card.


Implementation
Since I only have access to a 200ksps data acquisition card (the DaqBoard 1000 from IoTech) I will be extremely limited in the bandwidth of the received signal. For this reason, I stripped a commercial traditional radio receiver which turned out to be based on the CXA1019 chip from Sony. The CXA1019 is "a one-chip FM/AM radio IC". It has an RF amplifier, mixer and oscillator, also features an IF amplifier and the rest of the sections a normal radio usually has. My idea is to take the IF signal at the IF amplifier output, amplify it even further and feed it to the acquisition board to be digitized. Once the signal is in the digital domain, I can implement filtering and demodulation algorithms so I can play the demodulated signal through the computer's speakers.
The IF in the CXA1019 is the usual 455kHz and because the maximum sampling rate of the DaqBoard 1000 is 200kHz I had to recur to the undersampling technique. Undersampling the 455kHz IF signal at 200kHz I get an alias at 55kHz which is actually very good for my purposes. Since I had never tried this technique before I had no idea of how it would turn out.


IF Amplifier
I built an amplifier based on the MAX4489 dual op-amp. This is a dual low-noise, low-distortion, wide-band operational amplifier. You can download the eagle design project for the amplifier here. The amplifier was built in two phases because the GBWP does not allow for the needed gain in a single phase. By recommendation of Claro Noda, and with his help, I also made the amplifier work as a Variable Gain Amplifier (VGA). By doing this I also had the possibility of controlling the gain of the amplifier from the software through one of the DAC ports of the data acquisition board affectively turning it into an Automatic Gain Control (AGC) system. Thus the dynamic range of the receiver is highly extended while, at the same time, I have the possibility of estimating the strength of the received signal (RSSI) by looking at the gain needed to achieve a given signal level.


Signal processing
Once digitized, I proceed to try to improve the signal a little by applying a digital band-pass filter. This filter is important because the undersampling may introduce a lot of noise by aliasing. I three different demodulation algorithms for AM signals, namely: An envelope detector, a synchronous detector and a quadrature synchronous detector. Download the whole LabView project here.
While the quality of the sound is not nearly impressive, I was thrilled when I could hear the sound of the standard radio stations coming out from the speakers. Here is a sample of the audio.

Perspectives
In the future I would like to implement a way to tune the radio from the computer. For this I would have to replace the oscillating tanks in the commercial radio with two VCOs. One way I have found to do this is by simply replacing the tunnable capacitors in C1 and C4, each, by two varactors placed back to back. So far I have not managed to get varactors with the right range of capacity.
This would allow me to do several neat stuff, like auto tunning.


more...
If you want to know a little more about this project you can download the slideshow (Spanish).