Signal processing (Morse code decoding) using the Android application

I made a test application in Delphi that beeps using the sound function of the Windows API. Then he made an Android application that stores this Morse code in a WAV file. Now I want the Android application to decrypt Morse code. Are there any lessons for sound processing, or can someone post some simple code (for example, think about the simplicity here) for an example? Or maybe the steps I need to take to make it work?

I also downloaded the JTransforms and jfttw libraries, but I don’t know where to start.

Regards, evilone

+3
source share
2 answers

FFT is redundant for this - you can simply use a simple Goertzel filter to isolate the Morse code from background noise, and then decode the output from it.

+4
source

I think that older issues of QST magazine published an article on DSP for Morse / CW decoding several years ago. You might want to try to find their archives.

Basically, you need a DSP code to determine if a tone is present at any given time, and an estimate of the start and stop of each tone. Then scale the duration of each tone and the interval between tones for the expected code speed and compare with the timing table for each Morse code letter to assess the probability of the presence of each or any letter.

In the simplest case, you may have a decision tree with a dash. With strong noise and attenuation plus a highly personalized fist / chronometer, you may need some sophisticated statistical and / or adaptive methods for matching sound patterns for decent results.

+3
source

Source: https://habr.com/ru/post/1415314/


All Articles