RTL-SDR & GNU Radio


#1

Danas sam se bas prvi put poigrao s svojim novim SDRom pa od ushicenja nemogu docekat podijeliti s vama.

O cemu se radi, zapravo?

#SDR = Software defined radio
je opceniti naziv za radio prijemnike i odasiljace s minimalno hardwarea. Znaci sve one uzasno kompleksne stvari dogadjau se ispod koze (mjesanje, filtriranje, dithering, demodulacija…) i programer ima mogucnost svaku od njih kontrolirati kako zeli. Kad slusate radio na mobitelu, tada koristite i SDR. Pod radio nemojte misliti samo na Otvoreni, Antena Zagreb ili sto vec slusate doma - radio komunikacija obuhvaca beskonacno vise svega od ovog obicnog FM pojasa.

#GNU radio

je cijela jedna platforma za razvoj i rad sa SDRom. Omogucava signal processing na milijun razina i relativno je user friendly. Tko voli graficko programiranje i blok-sheme svidjet ce mu se. Ono zbog cega sam zapoceo ovu temu u Python kategoriji je - GNU Radio je u cijelosti napisan u Pythonu! Svaki blok iz GUI sucelja je nista vise i nista manje doli obicna Python skripta! Nadam se da ste svjesni moci koje ovo cudo ima. Evo mali intro.

#RTL-SDR
gore sam negdje napisao da SDR sadrzi minimalno hardwarea. Ono malo sto ga ima je uglavnom, antena, pojacala i AD pretvornik i u pravilu kosta od 150 do 600$.
Medjutim, prije par godina jedna je ekipa hakera skuzila da jedan obicni USB stick za digitalnu TV moguce hakirati i direktno izvuci I i Q signale. Drugim rijecima, iz jeftinog USB sticka za prijem digitalne TV signala uspili su pristupit svim mogucim signalima koji plivaju eterom.
Na temelju tog USB sticka napravili su jeftini SDR prijemnik koji je toliko stasao i postao popularan i danas broji stotine tisuca followera i korisnika koji na formumima rade nevjerojatne stvari s tim uredjajem. Da nabrojim par stvari,

  • slusanje radia i gledanje TVa (obvsly),
  • prisluskivanje policije, hitne sluzbe i zracnog prometa,
  • sniffanje mobilne komunikacije,
  • triangulacija baznih stanica,
  • radio astronomija,
  • slusanje amaterskog HAM radija,
    i masu drugih stvari. Vise info je tu.

Ja sam danas uspio nac vremena za sastaviti svoj mali RTL-SDR dongle i poigrat se s GNU Radiom. BIlo je zabavno uspjeti poslusati radio Wien preko ovoga malog cuda, al jedva cekam naucit malo vise o GNU radiju i bavit se necim kul, poput radio astronomije ili neceg slicnog.



#3

Hvala na linku. Da, to zblija nije preskupo. Koliki je domet tako neke antene od 2W?


#4

Prije nego nastavimo, samo da u startu razjasnimo nešto da ne bi bilo zabune kasnije: RTL-SDR je samo prijemnik i s njim nije moguće emitirati radio-signale. Slušanje radije, prisluškivanje susjeda, prijem amaterskih radio stanica, GPS su primjeri stvari koje se mogu izvesti.

“Antena od 2W” nije baš sretan naziv, al ako te zanima koliko daleko mogu biti izvori signala koje bi ti eventualno želio slušati, odgovor je malo kompleksan: teoretski na drugom kraju svijeta, pošto RTL-SDR pokriva raspon i short-wavea. Međutim, to ponajviše ovisi o snazi izvora i kvaliteti tvog prijemnika, u prvom redu antene. Dok sa običnom žicom zabijenom u konektor možeš bez problema slušati lokalni radio, za specifične pojaseve se koriste specifične antene. Za početak bi najbolje bilo uzeti ovu preporučenu monopolnu antenu koja se prodaje sa uređajem i prilično je širokopojasna.


#5

A, kužim. Znači nema odašiljanja s takvih uređaja. A što bi trebao za odašiljanje, tj. dvosmjernu komunikaciju? Postoje li neke antene koje se mogu priključiti na ovaj GNU radio framework za tu svrhu? Samo pitam, nije da pokrećem piratsku radio stanicu balkan.fm… Još :wink:


#6

Za odašiljanje bi ti trebao sasvim novi uređaj koji je znatno skuplji od ovog, kao i licenca za boravak u radio prostoru. Jedan jako popularan u hakerskim krugovimaj je Hack RF i dođe 200, 300€.


#7

##ADS-B ili kako pratiti avione

Mali update. Evo ovih sam praznika uhvatio malo vremena i igrao se sa svojim SDR-om. Odlučih se isprobat jednu zanimljivu aplikaciju: praćenje aviona putem ADS-Ba. Srećom, postoji dosta dobrih tutorijala pa nije bilo previše problema. Još više sreće je što živim blizu aerodroma pa nije bilo teško uhvatiti kakve signale bez puno skupog hardwarea i antena.

###ADS šta?

ADS-B je tehnologija nadzora letjelica u kojem avion odašilje podatke o svom položaju brzini i visini prvenstveno kontrolon tornju a onda i svima koji ih znaju skupiti. Podaci se šalju na 1090 MHz i jeftini RTL-SDR je savršeno u stanju pokupiti ih.

Dekoder

ADS-B koristi poseban sistem kodiranja informacije, srećom javno dostupan i par programa je napravljeno upravo u svrhu dekodiranja. Ja koristim RTL1090 (dolje) koji prima podatke sa SDR-donglea, dekodira ih, otvara lokalni server i šalje na port. Ovo me dosta namučilo jer nisam imao pojma prije šta znači “localhost” i kojeg on vraga radi ovdje gdje se jednostavno podaci mogu ispisati na zaslon. Ako netko ima kakvu zgodnu referencu na tutoriale o localhostovima, bio bih od srca zahvalan.

Prikaz

Dekodirane poruke same po sebi su dosadne i ne zanimaju me puno. Puno zabavnije je imat neki grafički pregled aviona iznad geografskog područja. I za to postoji više programa. Prvi koji sam probao je ADSBScope i daje zadovoljavajuće rezultate. Mapa izgleda malo šugavo, i vidi se da je lik odustavo od daljnjeg razvoja tamo negdje 2007e.

Drugi program, puno zabavniji je Virtual Radar, koji koristi Google mape i prikazuje položaj letjelica direktno u browseru. Ne samo to nego i pretražuje internet za dodatne informacije o praćenom letu pa tako znamo odkud avion leti i kuda, a ponekad imamo i fotke samog aviona.

Ukratko, za uspješan prikaz potreban je: antena -> SDR USB prijemnik -> Program za dekodiranje -> program za grafički prikaz. Zabavno je gledati avione kako se samo pojavljuju iznad tvoje glave i čitat kuda idu i odkud su došli. I to sve putem radio veze, internet-free.

Također sam zadovoljan performansama moje antene - inače ljudi za ADS-B koriste specijalizirane super pametne antene, a ja sam koristio obični dipol iz GSM modula. Nisam mogao vjerovat kad je uspio uhvatiti signal od aviona koji dolazi sa Visa i Lastova!