Objavljeno:

Sprejemanje SSTV signalov iz vesolja z RTL-SDR

Mednarodna vesoljska postaja ISS je v sodelovanju z Amateur Radio on the International Space Station (ARISS) letos med 4. in 8. oktobrom oddajala slike iz mednarodne vesoljske postaje. Gre za dogodek, ki se zgodi na vsakih nekaj mesecev, napovedan pša je na ARISS SSTV blogu.

Slike se prenašajo v SSTV načinu (angl. slow Scan television oz. ozkopasovna televizija), ki se je v preteklosti uporabljal za prenašanje slik iz vesolja. Prve slike iz vesolja smo tako preko SSTV dobili leta 1960. Danes pa se SSTV uporablja večinoma le še med radioamaterji.

Slike iz mednarodne vesoljske postaje lahko sprejemamo na frekvenci 145,8 MHz, v SSTV načinu PD 120. V nadaljevanju si bomo pogledali, kako je SSTV mogoče sprejemati s pomočjo RTL-SDR USB ključka na običajnem Ubuntu sistemu.

Priprava

Najprej namestimo potrebno programsko opremo: orodja za delo z RTL-SDR ter aplikacije Sox, QSSTV ter GPredict (slednja nam pove kje se gibljejo sateliti).

Odpremo ukazno vrstico in vpišemo naslednje ukaze:

sudo apt install rtl-sdr
sudo apt install sox
sudo apt install qsstv
sudo apt install gpredict

V naslednjem koraku naredimo navidezno zvočno napravo, ki jo bomo poimenovali Virtual0:

pacmd load-module module-null-sink sink_name=Virtual0
pacmd update-sink-proplist Virtual0 device.description=Virtual0
Navidezna zvočna naprava v Ubuntu sistemu

Navidezna zvočna naprava v Ubuntu sistemu

Mimogrede, ko navidezne zvočne naprave ne potrebujemo več, jo iz sistema odstranimo. Najprej izpišemo ID navidezne zvočne naprave:

pactl list short modules | grep Virtual0

Izpis nam razkrije, da je ID naše navidezne zvočne naprave 33:

33	module-null-sink	sink_name=Virtual0	

Napravo sedaj iz sistema odstranimo z ukazom:

pactl unload-module 33

Za začetek: poslušanje FM radia

Z RTL-SDR lahko poslušamo tudi FM radio, za test si oglejmo kako poslušati Val 202 na Ljubljanskem območju (na frekveci 93,5 MHz):

V ukazno vrstico vpišemo ukaz:

rtl_fm -M wbfm -f 93.5M | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

Iz zvočnikov bi se moral zaslišati radio. Če se slučajno ne sliši, v sistemskih nastavitvah poiščemo nastavitve zvoka in preverimo, da imamo kot napravo za izhod zvoka izbrane zvočnike (in ne virtualne zvočne naprave).

Konzolni radio

Konzolni radio

Nadaljevanje: sprejemanje SSTV

Zdaj lahko RTL-SDR napravo nastavimo za sprejem SSTV signala.

V ukazno vrstico vpišemo ukaz:

rtl_fm -M fm -f 145.8M -s 48k | play -r 48k -t raw -e s -b 16 -c 1 -V1 -

Kratka razlaga ukaza: pognali smo orodje RTL-SDR, ki posluša na frekvenci 145.8 MHz v FM modulaciji. Sprejeti signal pošljemo aplikaciji play, ki je del zbirke orodij sox (Sound eXchange), ki sprejete signale predvaja preko zvočnega sistema.

Sedaj bi na zvočniku morali zaznati šumenje (oz. piskanje, če sprejmemo oddajni signal).

Nato zaženemo QSSTV, kjer nastavimo način (angl. mode) PD120.

V zadnjem koraku zaženemo PulseAudio Volume control (aplikacija se imenuje pavucontrol). V zavihku Playback za aplikacijo ALSA plug-in (sox) nastavimo predvajanje preko navidezne zvočne naprave Virtual0, ki smo jo prej ustvarili. V zavihku Recording pa za aplikacijo QSSTV nastavimo zajem zvoka iz te virtualne zvočne naprave (capture from Monitor of Izhod null).

QSSTV zajema zvok iz navidezne zvočne naprave

QSSTV zajema zvok iz navidezne zvočne naprave

Zvok, ki smo ga zajeli z RTL-SDR se je sedaj preusmeril na aplikacijo QSSTV, ki poskrbi za dekodiranje SSTV signala v sliko. Mimogrede, QSSTV zajete slike samodejno shranjuje (v podmapo qsstv/rx_sstv/), nastavimo pa lahko kolikšen delež slike mora biti zajet, da se slika samodejno shrani.

Kombinirano poslušanje signala

Z zgornjimi nastavitvami signal, ki ga z RTL-SDR zajamemo iz satelita, preusmerimo v navidezno zvočno napravo Virtual0. Signal nato “posluša” aplikacija QSSTV. Če bi želeli signal poslušati hkrati še na zvočniku ali na slušalkah, pa lahko naredimo posebno, kombinirano zvočno napravo (tim. audio sink).

Najprej si pogledamo katere zvočne naprave imamo v sistemu:

pacmd list-sinks | grep name:

Dobimo izpis:

	name: alsa_output.pci-0000_00_1f.3.analog-stereo
	name: alsa_output.usb-Logitech_Logitech_USB_Headset_000000000000-00.analog-stereo
	name: Virtual0

Vidimo, da so v sistemu registrirane tri zvočne naprave. Prva je analogni stereo izhod, druga so Logitechove USB slušalke, tretja pa navidezna zvočna naprava.

Sedaj skombiniramo USB slušalke ter navidezno zvočno napravo. Kombinirani zvočni napravi damo ime combined oz. KombiniranZvok:

pacmd load-module module-combine-sink sink_name=combined sink_properties=device.description=KombiniranZvok slaves=alsa_output.usb-Logitech_Logitech_USB_Headset_000000000000-00.analog-stereo,Virtual0

Zvočni napravi, ki ju kombiniramo navedemo v parametru slaves, ločeni z vejico (brez presledka). Preverimo še, da se z RTL-SDR zajeti signali (naprava sox (Sound eXchange) pravilno predvajajo do aplikacije QSSTV.

Kombinirana zvočna naprava v Ubuntu sistemu

Kombinirana zvočna naprava v Ubuntu sistemu

Po končanem poslušanju kombinirano zvočno napravo odstranimo (z zgoraj navedenim ukazom pactl unload-module). V kolikor pa zvočni sistem PulseAudio v operacijskem sistemu Ubuntu iz kakršnegakoli razloga sesuje, pa ga lahko resetiramo z ukazom:

pulseaudio -k

Čakanje na satelit…

Sedaj zaženemo aplikacijo GPredict. Najprej posodobimo podatke. Iz menija Edit izberemo Update TLE from net ter nato še Update frequencies. Na koncu iz menija Edit - Preferences dodamo svojo lokacijo (Ground Station). V našem primeru smo dodali Ljubljano.

Spremljanje satelitov z GPredict

Spremljanje satelitov z GPredict

Želeni satelit (v našem primeru ISS) označimo in program nam bo prikazal kdaj bo viden nad našo lokacijo. Sedaj nam ostane še čakanje… in z nekaj sreče bomo z RTL-SDR uspeli zajeti sliko iz satelita.

Rezultati

Testiranje je pokazalo, da z RTL-SDR lahko ujamemo signal iz mednarodne vesojlske postaje, vendar pa je bila priložena antena precej slaba, zato QSSTV slike ni uspel dekodirati. Se pa na tim. “waterfall prikazu” lepo vidi kdaj je QSSTV sprejel signal.

Signal se v QSSTV lepo vidi

Signal se v QSSTV lepo vidi

Signal iz ISS je sicer z radioamatersko postajo zajel znanec (datoteka: SSTV_ISS.mp3; lahko si jo prenesete in jo predvajate aplikaciji QSSTV), QSSTV pa ga brez težav dekodira, ko mu ga predvajamo. Mimogrede, prenos ene slike v PD120 načinu traja okrog dve minuti.

Dekodiranje SSTV signala

Dekodiranje SSTV signala

Z malo boljšo anteno in računalnikom RaspberryPi bi bilo mogoče narediti sistem za kontinuirano poslušanje SSTV signalov, dekodirane slike pa bi aplikacija lahko samodejno odlagala v posebno deljeno mapo, do katere bi preko domačega omrežja ali VPN povezave imeli dostop z namiznim računalnikom. Kako to narediti, pa je naloga za bralce. :)

Mimogrede, eden izmed bralcev je na Twiterju opozoril, da ruski astronavti za komunikacijo med sprehodom po vesolju za komunikacijo med seboj in z ISS uporabljajo analogne radijske povezave. Analogna radijska komunikacija poteka na frekvenci 130,167 MHz in jo je mogoče sprejemati brez usmerjenih anten.

Kategorije: Informacijska tehnologija
Ključne besede: RTL-SDR