25 marzo 2012

Come trasformare una chiavetta DVB-T da 20 dollari in una SDR a larga banda


E' bastato un post sul sito di hacking elettronico "Hack-a-day" (ma la cosa è stata ripresa anche dal blog di open source hardware Dangerous Prototypes) per scatenare la frenesia dei patiti del software defined radio.
La notizia ha origine dalla segnalazione di un progetto SDR basato sulla chiavetta USB cinese "EzCap" che riceve segnali radiotelevisivi DVB-T, FM e DAB+ ed è basata su un tuner wide band Elonics 4000 e un demodulatore COFDM Realtek RTL2832U. Una "chiavetta Funcube" dei poveri che si può ordinare per 15 euro in Corea (con spedizione gratuita, io ci ho provato: vediamo che succede).
La chiavetta è stata segnalata in un ambito un po' particolare, quello del progetto OsmoComRTL, che studia implementazioni SDR open source per decodifiche di segnali digitali a banda larga (un progetto collegato è OsmocomBB, dove BB designa la banda-base della telefonia GSM). L'attenzione di sperimentatori come Antti Palosaari e Steve Markgraf si è focalizzata sugli hardware da pochi dollari che utilizzano il demodulatore Realtek perché "sniffando" una di queste chiavette si è scoperto che il chip può essere "convinto" a riprodurre il segnale I/Q del tuner Elonics con una risoluzione sufficiente ad acquisire le bande-base di diverse modulazioni in modo che su questi dati si possano fare rielaborazioni ulteriori, in pratica aggirando i normali driver e le applicazioni di queste chiavette, normalmente destinate alla ricezione della tv o della radio FM e digitale.
Come front-end la chiavetta funziona proprio come il Funcube Dongle, ma c'è una differenza sostanziale. Mentre il Funcube ha una larghezza di banda di 96 kHz, appena sufficienti per fare dell'FM wideband piuttosto strettino, qui abbiamo a che fare con bande-base di parecchi MHz e quindi è possibile pensare di realizzare cose come un decoder open source per il DAB+ e tanti altri progetti SDR che oggi richiederebbero front end molto più evoluti e costosi. Ci sono però parecchi limiti con la demodulazione del Realtek: il primo e più importante è una dinamica a soli 8 bit, veramente pochi; l'altro è la sensibilità, anche se curiosando su Reddit, dove è stato creato l'apposito tag RTL-SDR, ho visto la segnalazione di piccole schedine di pre-amplificazione a larga banda che potrebbero rendere molto più efficiente la chiavetta in presenza di segnali molto deboli.
OsmoCom nasce in ambito GNURadio, quindi su piattaforme Linux, ma seguendo la discussione su Reddit leggo che si sta già pensando al controllo anche con Mac OS X e persino con iOS, vista la disponibilità sulle due piattaforme di versioni specifiche delle librerie LibUSB (per esempio - ma dovete essere parecchio esperti - qui per Mac OS X fino al 10.6, qui per Lion 10.7 e qui per iOS), fondamentali per dialogare attraverso la porta USB del Mac o di iPad con hardware di questo tipo. L'idea che sta prendendo piede è quella di utilizzare un frontend come la chiavetta EzCap per trasformare l'iPad in un analizzatore di spettro ad alta portabilità. Sicuramente è un progetto da seguire con attenzione, anche se c'è da chiedersi perché uno dovrebbe scardinare una chiavetta che riceve la radio digitale DAB+ solo per implementare un software di decodifica DAB alternativo. Ma questo è il bello dell'hacking estremo, no?

2 commenti:

Anonimo ha detto...

E' arrivato già il supporto su HDSDR/Winrad:
http://thenewtech.tv/community/dongular-deviation
La lista delle chiavette compatibili si sta ampliando, ma ora la disponibilità in generale è diminuita.

Leo

Hosso ha detto...

Ho comprato tempo fa la EzCap sul noto sito di aste: inizialmente funzionava abbastanza bene (a parte una leggera incompatibilità, per la sola parte DAB, con windows XP).
Poi da un giorno all'altro ha perso completamente di sensibilità ricevendo solo i segnali più forti:
L'ho aperta pensando a qualche falso contatto, ma connettori/saldature erano tutte ok. Penso che qualche stadio d'ingresso RF sia andato.. Non ci ho speso molto, ma non credo che la circuiteria sia particolarmente "solida".