Multiband FT8 transceiver
This is a work in progress…
This project implements a standalone multiband FT8 transceiver with all the FT8 signal processing done by Red Pitaya in the following way:
- simultaneously record FT8 signals from eight bands
- use FPGA for all the conversions needed to produce .c2 files (complex 32-bit floating-point data at 4000 samples per second)
- use on-board CPU to process the .c2 files with the FT8 decoder
With this configuration, it is enough to connect Red Pitaya to an antenna and to a network. After switching Red Pitaya on, it will automatically start operating as a FT8 receiver.
The FPGA configuration consists of eight identical digital down-converters (DDC). Their structure is shown on the following diagram:
The DDC output contains complex 32-bit floating-point data at 4000 samples per second.
The write-c2-files.c program accumulates 236000 samples at 4000 samples per second for each of the eight bands and saves the samples to eight .c2 files.
The recorded .c2 files are processed with the FT8 decoder.
A GPS module can be used for the time synchronization and for the automatic measurement and correction of the frequency deviation.
The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in ft8.cron:
Configuring FT8 receiver
All the configuration files and scripts can be found in the
apps/sdr_transceiver_ft8 directory on the SD card.
To enable uploads, the
GRID variables should be specified in decode-ft8.sh. These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator.
The frequency correction ppm value can be adjusted by editing the corr parameter in write-c2-files.cfg.
The bands list in write-c2-files.cfg contains all the FT8 frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines.
Building from source
The installation of the development machine is described at this link.
The structure of the source code and of the development chain is described at this link.
Setting up the Vivado environment:
Cloning the source code repository:
Building SD card image zip file: