Skip to main content

FT8 (Wsjt-x 2.0) protocol decoding in Cortex-M for experiment

FT8 (Wsjt-x 2.0) protocol decoding in Cortex-M for experiment

I implemented FT8 signal decoding on the STM32F746G-Disc board for Expermental.
I want to test whether Cortex-M based FT8 communication is possible. I used Wsjt-x 2.0 and some source code to enable FT8 decoding on the Cortex-M7 base.


I received the FT8 signal directly to the microphones (mems) on the STM32F746G-Disc board.

1.Implementation and experiment preparation
I have used web sdr for the experiment and can do real time testing.

The decoding comparison used Wsjt-x 2.05 (for FT4)

The red square in the picture below is the microphone for receiving the FT8 signal.

2.Experiment

First Decoding :
Compared to Wsjt-x 2.0, decoding is delayed about 2 seconds.

Second Decoding : Wsjt-x has already been decoded.

Cortex-M was decoded about 2 seconds later.


Test Video

3.conclusion
Several improvements have been made to the Cortex-M, but it is still difficult to use.
If 2 seconds are delayed, the next signal transmission has already begun.

The STM32F746 is 216Mhz and I have been successful in overclocking near 300Mhz a few years ago. (300Mhz is not accurate)

But I will not solve this problem with Overclock. I will keep the CPU speed below 216Mhz for stability.

The part that needs the most time to decode the FT8 protocol is the FFT processing part.


FT8 : Tone spacing = 6.25Hz * 8FSK = 50Hz

FFT Size : 3840 = 1920 * 2
             1920 = 12000(bitrate) / 6.25Hz (Tone spacing)
In this way, the FFT Bin unit will be 6.25 Hz.

I modified the Bitrate to slightly reduce the FFT Size while maintaining 6.25Hz. I also modified the Kiss-FFT library to work with Cortex-M.

I am going to make a few more improvements to fit Cortex-M. As a result of the improvement, if it is available in Cortex-M, I will make it public.

Thank you for reading

Comments

  1. Hello, I am charles hill, w5baa. After having tried decoding FT8 on an STM32F746 board myself I am quite interested in your experiment.

    I have authored several SDR projects using embedded processors including the SDR2GO and STM32_SDR projects. I also have an SDR radio running on the STM32f746.

    Will it be possible to get a copy of your firmware if I promise not to bug you with questions and suggestions?

    Regards,

    Charley

    ReplyDelete
  2. Dearest Esteems,

    We are Offering best Global Financial Service rendered to the general public with maximum satisfaction,maximum risk free. Do not miss this opportunity. Join the most trusted financial institution and secure a legitimate financial empowerment to add meaning to your life/business.

    Contact Dr. James Eric Firm via
    Email: fastloanoffer34@gmail.com
    https://urgentloanoffer22.blogspot.com/
    Whatsapp +918929509036
    Best Regards,
    Dr. James Eric.
    Executive Investment
    Consultant./Mediator/Facilitator

    ReplyDelete

Post a Comment

Popular posts from this blog

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction uBITX CEC Firmware supports various LCD since Version 1.08 (16x02 Parallel, 20x04 Parallel, 16x02  I2C, 20x04 I2C, 16x02 Dual LCD with I2C).
Supports Nextion LCD (Graphic LCD) from Version 1.09, Version 1.09x is primarily aimed at Nextion LCD support. Also 1.09x will continue to be Beta version. If you want a stable version, please use 1.08 or 1.1 version to be released in the future.

uBITX Firmware CEC Version 1.1 Release

uBITX Firmware CEC Version 1.1 Release
Version 1.1 is the first major release since 1.097, I will release it after a 50-day beta test.


Version 1.1 includes all additions or improvements from 1.08 to 1.09, 1.093, 1.095, 1.097 

How to upgrade uBITX Firmware

uBITX is based on Arduino Nano. So uBITX's firmware upgrade method is the same as Arduino.
There are two ways to upgrade the firmware of uBITX.

The first is to compile the source from the Arduino IDE, and the second is to upload the compiled hex file using the Firmware Upgrade Tool.

I'll show you how to upload a compiled hex file as a second method.

1.Connect the uBITX's USB cable to the computer.


2.Run Device Manager on your computer.
  The way to open the Device Manager for each OS Version differs slightly.
  In most Windows, you can easily launch the Device Manager by running.

  On your computer, press the Windows key + R.



 Type devmgmt.msc and press OK Button.




On most operating systems, there will be a serial port named Ports with CH340. If so, the next step is skipped.

If the serial port is not installed as below, you need to install the driver.



Included in uBITX is the Adonano, which uses the CH340 USB To UART part.

Download the latest CH340 driver from the Internet.