Pakespec: software livre para o analisador de espectro LTDZ 35M-4400M, no Linux e no Windows

A placa LTDZ 35M-4400M, que recebi para review em 2019.

Em 2019 eu mostrei aqui uma placa de analisador de espectro que varre de 35 MHz a 4,4 GHz e ainda tem uma fonte de tracking, um gerador que acompanha a frequência da varredura e serve para medir a resposta de filtros. Era barata e funcionava. Só que os comentários do post, anos depois, ainda giravam em torno da mesma coisa: o software.

"Amigo, você ainda tem o software dela? É que não estou mais encontrando para download..."

Outro leitor instalou tudo, o LED vermelho ficou piscando e o programa respondeu "Can't receive data from NWT". Em outra resposta, alguém lembra que o instalador do NWT4.11.09 só funciona se estiver na pasta certa. A placa era boa, e o programa que acompanha era o que atrapalhava. Ele só roda no Windows.

O dono do programa avisa: não serve para a sua placa

Fui atrás do autor. O WinNWT4 vem da família de programas NWT, escritos pelo Andreas, o DL4JAL, e a página dele continua no ar. Ele ainda oferece versões para Windows e para Linux, com o código-fonte. Só que há um aviso, em alemão e em inglês, na página do NWT4000: o programa não serve para as placas baratas como a LTDZ, e o firmware delas é defeituoso.

Faz sentido. Ele escreveu o programa para o hardware original, e a LTDZ é outra placa, mais barata. Para quem comprou uma LTDZ, então, não sobrava nada para Linux. Decidi fazer um.

Uma placa que não respondia nada

A primeira tentativa foi um silêncio total. A placa aparece no computador como uma porta serial (um CH340), mas o protocolo não está publicado em lugar nenhum. Com a ajuda do Claude (a IA), comecei a mandar comandos pela porta para ver se algum fazia sentido. Nada. Tentei 11 velocidades diferentes, quatro combinações dos sinais DTR e RTS e oito formatos de varredura. A placa continuava muda, com os LEDs apagados e depois acesos, e muda do mesmo jeito.

Resolveu quando desconectei o cabo USB e conectei de novo. Na primeira tentativa depois disso, ela respondeu. A varredura vinha em 4 bytes por ponto, dois canais de 16 bits.

Aí veio o segundo mistério. A placa ignorava um comando de varredura sim e outro não, sempre alternando. Passei horas achando que era um defeito de firmware. Era meu: o comando tem um campo de 3 dígitos com o atraso no final, e eu não estava mandando. Sem ele, a placa usava o começo do comando seguinte para completar o anterior. Com os três dígitos, 32 varreduras seguidas responderam sem falhar.

Ainda faltava o último detalhe: a placa multiplica por 10 toda frequência que recebe. Quem manda 100 MHz sem saber disso recebe outra frequência, até aprender a dividir por 10.

Com tudo isso resolvido, uma varredura de 1001 pontos, de 35 MHz a 4,4 GHz, leva 1,24 segundo.

O Pakespec

O programa que fiz se chama Pakespec, de Pakequis mais o começo de "spectrum". É feito em Rust e roda no Linux e no Windows. A tela tem quatro estilos (Bench, Classic, Instrument e Modern), tema escuro, claro e de fósforo, teclas e botão de painel de bancada, marcadores com busca de pico, média de varreduras, max hold e min hold, e interface em português e inglês. Tem uma tela para o gerador e uma linha de comando que imprime a varredura em CSV ou JSON.

Varredura de 2 a 2,6 GHz com uma antena dipolo de 10 cm. O pico perto de 2,42 GHz é o Wi-Fi.

Para testar a recepção usei só esse dipolo. Aparecem as rajadas de Wi-Fi em 2,42 GHz e as de celular perto de 1,93 GHz, o que também confirmou que a escala de frequência está certa.

A mesma varredura no estilo Classic, com o tema de fósforo.

O que ainda falta

Falta a calibração em dBm. Os níveis na tela seguem uma escala de referência, então servem para comparar um sinal com outro, não como medida absoluta. Para calibrar de verdade preciso de atenuadores SMA, que ainda não tenho. A placa também tem limites que o programa não muda: resolução de banda fixa (5 a 120 kHz), nenhum amplificador na entrada e no máximo +5 dBm de entrada. Com qualquer fonte forte, use um atenuador.

Baixar

O código está no GitHub do Pakespec, com licença MIT. Na página de lançamentos tem um arquivo pronto para Linux e outro para Windows, sem precisar compilar. Testei nos dois com a placa real.

Se você tem uma LTDZ, baixe, ligue a placa e me conta se funcionou. Se não funcionar com a sua, me diga o que ela respondeu que eu olho. Quem ainda não tem a placa pode ver ela no AliExpress (link de afiliado: não custa nada a mais para você e eu posso ganhar uma pequena comissão).

Nenhum comentário:

Postar um comentário

1. Alguns comentários são moderados automaticamente. Caso isso ocorra pode levar algum tempo até que eu veja e o libere.
2. Comentários fora do assunto do post podem ser apagados.
3. Não, eu não posso consertar os seus aparelhos!