Direwolf AX.25 + FEC = FX.25

Nesta data o projecto direwolf vai na sua versão 1.6 D e suporta FX.25

Trata-se do protocolo AX.25 perfeitamente compatível com compressão de erros, útil sobretudo em comunicações de packet em HF.

Para dispormos desta característica devemos instalar esta versão de desenvolvimento. Siga os passos seguintes,

Após instalada a nova versão, chamo o direwolf com a seguinte linha,

As opções a seguir dizem respeito a,

-X - número de check bytes
-d - as opções de debug, optei por x
-t 0 - evita que ao chamar o direwolf o ecrã cintile
-c - local onde se encontra o ficheiro de configuração para esta placa de som, bauds, PTT entre outras definições
-l (L minúsculo) - onde será guardo o log

Quadro com opções de debug

Um exemplo do output com a função de debug -d x

FX.25: Matched correlation tag 0x05 with 6 bit errors.  Expecting 223 data & 32 check bytes.
FX.25: Matched correlation tag 0x05 with 0 bit errors.  Expecting 223 data & 32 check bytes.
FX.25: Matched correlation tag 0x05 with 0 bit errors.  Expecting 223 data & 32 check bytes.
FX.25: FEC complete with no errors.
FX.25: FEC complete with no errors.
FX.25: FEC complete, fixed 13 errors in byte positions: 11 19 65 73 74 92 116 117 132 138 143 144 192

FX.25: Matched correlation tag 0x06 with 1 bit errors.  Expecting 128 data & 32 check bytes.
FX.25: Matched correlation tag 0x06 with 1 bit errors.  Expecting 128 data & 32 check bytes.
FX.25: Matched correlation tag 0x06 with 1 bit errors.  Expecting 128 data & 32 check bytes.
FX.25: Matched correlation tag 0x06 with 1 bit errors.  Expecting 128 data & 32 check bytes.
FX.25: FEC complete with no errors.
FX.25: FEC complete with no errors.
FX.25: FEC complete with no errors.
FX.25: FEC complete, fixed  1 errors in byte positions: 97

O modo de FX.25 é automático e utilizado pela aplicação quando detecta erros na recepção.

Este modo é mais lento do que o protocolo AX.25 mas com melhor rendimento em comunicações a grande distância onde existe ruído, como as bandas de HF.

A estação que transmite define o número de check bytes a utilizar.

Melhorias do FX.25 em APRS

Um exemplo no envio de 1000 pacotes de APRS onde se introduz uma taxa de erro, controlada, e no final da transmissão contam-se os pacotes recebidos correctamente,

Melhorias do FX.25 em packet radio

O modo de ligação utiliza os mesmos pacotes de AX.25, mas de uma maneira diferente.
Em vez de transmitir broadcasting, isto é para todos como o APRS, é utilizado na comunicação entre duas estações específicas. O TNC que escuta atribui números de sequência aos pacotes recebidos.
O receptor reconhece o que foi recebido e solicita o preenchimento de pacotes ausentes, isto é, com erro.

Este teste utiliza 100 pacotes, cada um com 128 bytes de informação.
A quantidade total de dados da transferência, dividida pelo tempo decorrido, fornecerá uma taxa de transferência efectiva, medida em bytes por segundo neste exemplo.
À medida que a taxa de erro aumenta, são necessárias mais tentativas e a taxa de transferência diminui. Nalgum momento, o receptor simplesmente desiste antes de chegar ao fim. Damos aqui uma pontuação de 0.

Referências:
https://packet-radio.net/direwolf-1-6-d-mar-1-2020-fx-25/
https://packet-radio.net/direwolf-ax-25-fec-fx-25/
https://github.com/wb2osz/direwolf/blob/dev/doc/AX25_plus_FEC_equals_FX25.pdf