Protocolo de Comunicação FT8 - Como funciona

Olá, Habr.

Provavelmente todos os que estavam um pouco interessados ​​em comunicações de rádio e rádio amador ouviram falar do protocolo de comunicação digital FT8 . Esse tipo de conexão apareceu em 2017 e, desde então, sua popularidade só aumentou.


Fonte: www.qsl.net/w1dyj/FT8%20for%20web.pdf

Para aqueles que estão interessados ​​em como isso funciona e por que é necessário, continue sob o corte.

História


Para aqueles que estão longe de radiocomunicações amadoras, um breve histórico.

As primeiras estações de rádio amador, caseiras e depois adquiridas, apareceram cerca de 100 anos atrás. O único sinal que eles podiam receber e transmitir era um tom simples, e a transmissão estava usando o código Morse. Claro, primeiro você teve que aprender a tomar a CW de ouvido, pelo modo como essa habilidade era procurada há muito tempo não apenas entre amadores, mas também entre profissionais, a profissão de operador de rádio da Marinha aparentemente foi cancelada apenas nos anos 60. Certamente, houve um certo romance na recepção de sinais fracos contra o ruído do éter, e foi assim que um simples operador de rádio amador da região da região de Kostroma conseguiu, em 1928, receber o sinal SOS da equipe de dirigíveis angustiados Umberto Nobile .

O próximo passo foi a comunicação por voz - a transmissão de voz usando um microfone na modulação de banda única tornou a comunicação por rádio mais conveniente. Este método ainda é usado.

Finalmente, por volta dos anos 90, as comunicações digitais começaram a ganhar popularidade entre as operadoras de rádio amador. Nesse caso, o sinal (geralmente RTTY ou PSK) forma o computador, o operador se comunica com o correspondente usando um tipo de bate-papo por texto.



Deve-se dizer que protocolos tecnicamente semelhantes são muito simples e os caracteres digitados pelo usuário a partir do teclado foram enviados para a transmissão quase sem nenhum processamento complicado. E, estranhamente, isso tinha suas vantagens - o próprio operador precisava encontrar a frequência certa, avaliar a qualidade do sinal de ouvido, ver os caracteres decodificados na tela, digitar a resposta etc.

Mas as possibilidades de processamento digital cresceram e, finalmente, o herói de nossa análise apareceu - o padrão de comunicação FT8. O nome FT8 traduz como Franke e Taylor, modulação 8-FSK. O professor Steven Franke e o astrofísico e ganhador do Nobel Joseph Taylor criaram um protocolo realmente interessante e eficiente para a transferência de dados.

Recursos do FT8:

  • O comprimento da mensagem é de 15 s, as mensagens são transmitidas em intervalos de tempo fixos, o que facilita a decodificação.
  • O tamanho da mensagem é 77 ​​bits + 12 bits CRC.
  • Correção de erros FEC LDPC (174.87).
  • Modulação de frequência 8-FSK, a distância entre os tons 6.25Hz.
  • Largura de banda 50Hz. Com uma banda tão estreita, várias estações podem operar e decodificar simultaneamente.
  • Limite de decodificação -20dB.
  • A capacidade opcional de trabalhar automaticamente, enviar respostas automaticamente etc.

Em geral, os autores fizeram um bom trabalho ao criar um protocolo de comunicação quase completamente automatizado que poderia, por um lado, transmitir informações com mais eficiência e, por outro, matar o "espírito do rádio amador" pela raiz. Não há mais romance entre o barulho e o desbotamento do éter, recebendo um sinal correspondente fraco do outro lado do oceano, há apenas uma tela de PC e o restante é feito por algoritmos e matemática.

Uma captura de tela do programa WSJT-X que suporta o FT8 é mais ou menos assim:


Fonte: 3fs.net.au/ft8-digital-amateur-radio

Pessoalmente, eu realmente não entendo o prazer de radiocomunicações quase completamente automáticas, mas, como o FT8 é popular, esse alguém é alguém necessário. Vamos ver em mais detalhes como isso funciona.

Codificação de bits


Considere um exemplo prático - a transmissão da frase "CQ RA1ABC KO50". Aqui, CQ é o código de chamada geralmente aceito (mais detalhes aqui ), RA1ABC é o indicativo de chamada de rádio amador, KO50 é o chamado localizador de grade , que determina a região da qual o rádio amador é transmitido.

Na primeira etapa, as abreviações comuns são substituídas por códigos curtos, por exemplo, o CQ recebe um código de 2h. Os indicativos de rádio amadores possuem um formato estritamente definido de letras e números, o que também permite gravá-los de forma mais compacta.

const char A0[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+-./?";
const char A1[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A2[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A3[] = "0123456789";

// Check for standard callsign
int i0, i1, i2, i3, i4, i5;
if ((i0 = char_index(A1, c6[0])) >= 0 && (i1 = char_index(A2, c6[1])) >= 0 &&
    (i2 = char_index(A3, c6[2])) >= 0 && (i3 = char_index(A4, c6[3])) >= 0 &&
    (i4 = char_index(A4, c6[4])) >= 0 && (i5 = char_index(A4, c6[5])) >= 0) {
        // This is a standard callsign
        int32_t n28 = i0;
        n28 = n28 * 36 + i1;
        n28 = n28 * 10 + i2;
        n28 = n28 * 27 + i3;
        n28 = n28 * 27 + i4;
        n28 = n28 * 27 + i5;
        printf("Pack28: n28=%d (%04xh)\n", n28, n28);
        return NTOKENS + MAX22 + n28;
}

A idéia de substituir caracteres por índices é importante aqui, o que é eficaz com um tamanho de dicionário pequeno. Como resultado, o indicativo "RA1ABC" será escrito como 0BF1C2C1h - gastamos 4 bytes em vez de 6.

Da mesma forma, o localizador de grade "KO50" é escrito como um número 4BFAh de 2 bytes. Tudo isso é necessário porque o tamanho máximo da mensagem é de 77 bits; Obviamente, texto arbitrário e até telemetria podem ser transmitidos, mas sujeitos a essas limitações. O tamanho da mensagem de 77 bits foi escolhido como um compromisso entre o tempo de transmissão (cerca de 13 segundos, o que não é tão rápido) e a capacidade de informação - a mensagem poderia ser mais longa, mas seria enviada por mais tempo.

Como resultado, toda a nossa mensagem “CQ RA1ABC KO50” será convertida no bloco de dados 00 00 00 26 28 9F D4 92 FE 88. Um CRC de 14 bits também é adicionado a ela.

O próximo passo é converter a mensagem de 91 bits no código LDPC (verificação de paridade de baixa densidade) com um comprimento de 174 bits - adiciona redundância usada para corrigir erros durante a recepção. Nesta etapa, a mensagem é convertida em 00 00 00 26 28 9F D4 92 FE 8A CA 0C F3 D1 34 33 88 D0 C2 9C 3D CC.

Codificação de frequência


Tudo aqui é bem simples. Nesta etapa, transformaremos a mensagem em uma sequência de tons de diferentes frequências. Como você sabe, podemos ter 8 tons (tipo de modulação FSK-8). Após a conversão, obtemos uma sequência do formato 31406520 00000001 15353274 61112745 36563140 65201575 76054515 70523040 61407642 3140652 em que cada dígito é um número de tom de 0 a 7.

O espaçamento de frequência entre os tons é de 6,25Hz, a duração de um tom é de 0,16 s. Com a sequência mostrada acima, você pode facilmente gerar um arquivo WAV ou controlar diretamente o sintetizador de frequência no caso de um sinalizador autônomo.

O espectro do sinal gerado da nossa mensagem é assim:



Claro, é melhor ouvir uma vez do que olhar para o espectro, infelizmente, Habr não permite anexar um arquivo wav, mas não conseguimos encontrar um vídeo normal no youtube com uma demonstração do som do FT8. Os amadores de rádio modernos não precisam mais ouvir a transmissão ; o computador faz isso por eles. Um exemplo do processo de rádio pode ser encontrado aqui:


Conclusão


Como você pode ver, matematicamente o FT8 é um protocolo bastante interessante. Os originais do código fonte WSJT-X estão escritos em Fortran, e eu ainda não consegui descobrir isso com eles. Uma versão separada do codificador em C ++ pode ser visualizada em github.com/kgoba/ft8_lib , os trechos de código acima foram retirados. Quem quiser também pode simplesmente baixar a versão WSJT-X , é grátis, você pode experimentá-la sem um transmissor, apenas uma placa de som. Você pode até sintonizar as frequências do FT8 usando http://websdr.ewi.utwente.nl:8901 e redirecionar o som através de um cabo de áudio virtual, para assistir ao programa em operação sem um transceptor e sem indicativo de chamada r / l.

Quanto à popularidade do FT8 nos círculos de rádio amador ... Bem, pessoalmente, isso não está totalmente claro para mim, na minha opinião, já não há romance em tais tipos de comunicação, é mais próximo do protocolo industrial do que hobby e criatividade. Mas a maioria parece ter uma opinião diferente, que é mostrada no gráfico no início do artigo. Milhões de fãs de rádio amador não podem estar errados? Bem, o próprio FT8, é claro, é tecnicamente interessante, e aqui, talvez, o processo de estudar o protocolo seja muito mais interessante do que seu uso. Embora, tentar o programa pelo menos uma vez também seja certamente interessante.

Todas as experiências bem sucedidas.

All Articles