sábado, 14 de outubro de 2017

1090 Filter

I getting an hard time to decode some ADS-B signals, my antenna is not ideal (using a J-Pole for 2 M 70 CM) and only aeroplanes right on top of my location wore decoded, so time for a filter. I got an ADS-B filter for 1090 MHz and now I can pick up ADS-B signals in a 150 Km radius, the next pictures show why:
No filter


1090MHz filter
With the filter the main difference is obvious, no more FM stations an less GSM.
These pictures wore made using qspectrum, and the filter is this one.

quinta-feira, 5 de outubro de 2017

433.92Mhz ASK/OOK Decoding

I have an old 433MHz remote temperature sensor laying around and decide to do some testing. I've used my Hackrf One to probe the frequency and the modulation type using the osmocom_fft and the insepctrum application.
First run on a terminal osmocom_fft -a hackrf -v -f 433e6 -s 8e6 -g 0
If you are using an rlt-sdr use osmocom_fft -a rtl=0 -v -f 433e6 -s 2048e3 -g 0 . Notice that on the right lower corner there is a rec button just record some transitions from the sensor and notice the frequency.
osmocom_fft
 Using the REC button record the sensor activity and use inspectrum to analyse it by open the recorded file.
inspectrum
Now we can clearly see what is append. This is much better than use audacity to look at the demodulated signal. The ASK/OOK signal is clear now, we can demodulate and "time travel" our signal at will, you can even try several types of modulations at the same time and figure which apply.

There is also rtl_433 application that will decode the temperature sensor, or your car tire pressure sensor or many things from an rtl-sdr, on your terminal just use rtl_433 -G
rtl_433 in action using an DXPatrol MK4





 

sexta-feira, 29 de setembro de 2017

Spectrum Analyzer using DXPatrol MK4

The 2MHz maximum display from an RTL dongle sometimes is not enough, one way to deal with it and explore the spectrum is using QSpectrumAnalyser.
Using QSpectrumAnalyser with DXPatrol MK4 from 87 MHz to 1,5GHz
Just follow the instructions on AD-Vega/rtl-power-fftw

quinta-feira, 21 de setembro de 2017

DXPatrol MK4 SDR

There is a new DXPatrol SDR, the Ultra Wide-band Coverage SDR Receiver DXpatrol Mk4. Some new features:

    Direct Sample Mode *
    Very High performance Pre-amplifier +33dBm IP3*
    Font-end input antennas protection *
    Shielded Aluminum box *
    *New

quarta-feira, 2 de agosto de 2017

Dispositivos série remotos

servidor

Na máquina onde temos o radio ou o winkeyer e até mesmo a TNC, gps etc. Instalar o ser2net sudo apt-get update&&sudo apt-get install ser2net
Editar /etc/ser2net.conf
BANNER:banner:Serial-USB Proxy Server: 38400 baud, 8, none, 1 (Kenwood TS-590S)
4001:raw:0:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT
3001:raw:0:/dev/ttyS0:1200 8DATABITS NONE 2STOPBITS
 
A configuração anterior disponibiliza a porta sério do rádio em 192.168.1.25:4001 e em 192.168.1.25:3001 como se fosse uma bridge serial to ethernet.
 

cliente

Se for aberta uma sessão de telnet para os portos configurados podemos  comandar o rádio ou gerar morse no winkeyer pela consola. Porem, normalmente o desejável é usar o nosso software que poderá não ter ligação a portos TCP para isso basta instalar o socat sudo apt-get update&&sudo apt-get install socat
Correr o seguinte comando: sudo socat -v -d -d -d PTY,link=/dev/ttyS1,rawer,wait-slave,user=pmc,group=dialout TCP4:192.168.1.25:4001
A partir daqui o porto série virtual /dev/ttyS1 está ligado ao porto série no servidor e disponível para ser usado por qualquer programa como se o equipamento estivesse ligado na máquina cliente
No FLRig configurar o rádio e no separador TCPIP configurar o TCP IP address, TCPIP Port, e "Use tcpip".
 O fldigi na versão 4 já tem um modem com o winkeyer, esta configuração complementada com o pulseaudio permite operação remota completa e totalmente integrada. O custo de largura de banda é simpático, pulseaudio + serial2net e socat cerca de 4  MBytes no máximo. A resposta é muito melhor do que soluções com o VNC ou remote desktop afinal temos o software a correr na nossa máquina.

terça-feira, 14 de fevereiro de 2017

Áudio remoto no linux (revisitado)

Usando arecord e aplay

Existem muitos softwares para capturar e distribuir áudio remoto para SO Microsoft, nomeadamente os dedicados a esta tarefa e outros mais genéricos que podem ser usados para o efeito como o Skype. No GNU/Linux o panorama é um pouco diferente, aparentemente não há soluções "chave na mão". Porem com alguma imaginação isto é muito fácil de obter: basta instalar o 'alsamixer' e 'libogg' 'libvorbis' 'vorbis-tools' e finalmente 'mplayer' no par servidor/cliente. Não se admire que alguns destes já façam parte da sua distribuição.
Assim para obter áudio remoto:
ssh user@192.168.1.25 'arecord -f cd -t wav -vv | oggenc - -r' | mplayer -
Versão com menos lag e BW de cerca de 400k, a novidade está aqui.
ssh -C pmc@192.168.1.25 'arecord -f cd -D hw:2,0 -t wav -M | oggenc - -r -q 10' | mplayer -
Assim tem o áudio da entrada de áudio "default" da sua máquina remota. Para setups mais complexos o programa 'arecord' permite a escolha da entrada, por ex: ...arecord -f cd -D hw:0,0... uma vista de olhos pela man page revela outras facilidades. Esta pode ser usada numa máquina remota com vários rádios ligados a várias placas. Rádios com o o TS-590 com placa de som interna podem ser usados com muita facilidade não precisando de adaptadores ou cabos especiais, apenas o cabo USB.
Para enviar áudio para o rádio remoto é assim:
arecord -f cd -t raw | oggenc - -r | ssh user@192.168.1.25 'mpalyer -'
Um "&" no fim de cada comando liberta a shell para receber outros comandos e temos uma ligação full-duplex para o nosso rádio remoto.
https://ct7aez.blogspot.pt/2016/09/audio-remoto-no-linux.html

Usando portaudio Audio Server

A novidade aqui é podemos usar uma placa de som remota no fldigi. 

Servidor

sudo apt-get install pulseaudio pulseaudio-module-zeroconf alsa-utils avahi
Adicionar o utilizador aos grupos audio pulse e pulse-access
sudo usermod -a -G audio user sudo usermod -a -G pulse user sudo usermod -a -G pulse-access user
Ver os grupos a que pertence o utilizador sudo groups user
Fazer PulseAudio iniciar no arranque
Editar /etc/default/pulseaudio
Change PULSEAUDIO_SYSTEM_START to 1
Editar /etc/pulse/daemon.conf
exit-idle-time = -1 para evitar "timeout"
Editar /etc/pulse/default.pa
load-module module-alsa-sink device=hw:2,0
load-module module-alsa-source device=hw:2,0
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24
load-module module-zeroconf-publish
Comentar o seguinte:
### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif
pulseaudio -vvv para fazer o debug se necessário.

Cliente

Instalar o psprefs sudo apt-get install paprefs
Correr o paprefs e configurar o seguinte:
  • Make discoverable PulseAudio network sound devices available locally
  • Enable network access to local sound devices
  • Allow other machines on the LAN to discover local sound devices
  • Don’t require authentication
A monitorização do sinal pode ser feita assim:
pactl load-module module-loopback
No pauvcontrol selecionar o separador A Gravar selecionar "Show All Streams" e selecionar a fonte para o monitor "PCM2903BAudio CODEC on XXXXX".

fldigi

No fldigi na configuração da placa de som selecionar "PortAudio" e colocar o servidor local.
Com este setup a latência é quase 0 (menos de 1 segundo garantidamente).