Different experiences with the reception and transmission of radio signals in the FPGA
Because today, the 7th of may we celebrate Radio Day, let me introduce to your attention a series of projects on FPGA boards, which were performed by me at different times, but somehow connected with radio. In this video above is a demonstration of a small miracle — the radio session on the table. Two identical boards with FPGAs serve one transmitter and another receiver.
Further explain how I did it.
Radio transmitter with amplitude modulation is very simple: it's just a multiplier of two frequencies.
Carrier frequency as a sinusoidal oscillation, are given in the table in the FPGA, the audio file is transferred to the charge from the laptop via the serial port speed 230400 baud, which roughly corresponds to the usual sound track 22050 samples/sec, 8 bit, mono. Two signals, the carrier frequency and the audio signal are multiplied and the spectrum shift in the area of high frequencies, plus the carrier. Then this digital signal is sent to analog-to-digital Converter, in our case it's a simple R2R DAC and then to the antenna. The antenna is a few turns of wire and a capacitor. They matched approximately to the resonant frequency of this resonant circuit was around the carrier frequency. The ordinary domestic receiver can receive a radio signal at a distance of several meters. The carrier frequency of the original project 1.5 MHz, but it is better to take a little higher — 7MHz.
A full description of the project and the source text of all programs and project for the Altera Cyclone III FPGA Board for Марсоход2 you can take here: marsohod.org/projects/marsohod2/298-am-radio-transmitter
Radio is much more complicated.
I did it just based on fees Марсоход2, but I took the basis of another project "a Simple SDR receiver on FPGA" author iliasam. Big thanks to him for this wonderful article.
The project was implemented in here's the block diagram:
My FPGA project has some differences from the original:
the
-
the
- to communicate with a PC using ethernet and serial port 12Мбод, it's easier; the
- is used ADC Board Марсоход2 20MSamples/sec, 8bit only, that is, the bit in the calculations and the capacity of filters in the project work;
the - FIR correction filter is allocated to a smaller number of taps (21), as not a lot of multipliers in Cyclone III FPGAs; the
- uses 32-bit (instead of 16-bit) sample of channels I/Q, which is transferred to the program HDSDR — this significantly improves the properties of the receiver.
Read more about the project, written by here.
The source code you can take on github github.com/marsohod4you/FPGA_SDR.
There is another my project: FM radio transmitter from the same Board Марсоход2.
This is one of my favorite projects!
FM band is located on frequencies above 80МГц, so that even for the FPGA to manipulate data at these frequencies it is not very easy.
To simulate the FM modulated signal in the FPGA was realized that such a modulator:
5 is connected in series triggers, but having feedback back to 5 or 4 steps. After a reset scheme in the triggers moves in a large circle to the unit impulse. At the circuit output is obtained, the frequency is 5 times less than a clock. If the clock of around 450MHz, then the output of the circuit is 90 MHz.
Sometimes the circuit can apply control pulses of short and then unity will move the triggers in a small circle, and the frequency at the output will increase significantly and will 450/4~112МГц. Thus, it is possible to achieve a deviation of average frequency, by inserting short periods among the several long. For example, 4 long period and one short — division ratio will work for 4.8, that is, when the clock 450MHz output will 93,73 MHz.
Then the FM transmitter turns out like this:
Accepted a stream of bytes WAV files (8bit, mono) is passed through a pre-compiled table that says how many long periods to make short paste. So it is possible to achieve high-frequency deviation, for example, in the band 50 kHz.
The entire project is described here in our blog: marsohod.org/projects/marsohod2/246-fmradio
Well, it turns out, one Board Марсоход2 allows you to feel such different topics related to the radio: AM transmission, the SDR receiving FM broadcast.
Well, again: with Radio Day!
Комментарии
Отправить комментарий