Heart Defined Radio

Nei prossimi tre anni la radio digitale in Europa dovrà dimostrare la validità della sua proposta o cedere il passo a Internet, al telefonino. La radio analogica avrà ancora molto da dire, nel frattempo


Radio Passioni

Ciao Renon, arrivederci altopiano della radio definita dal software. Ho presentato la mia relazione (niente registrazione audio, ho dimenticato di accendere l’MP3, ma tanto sapete già più o meno tutto se mi leggete). Il succo è che nei prossimi tre anni la radio digitale in Europa dovrà dimostrare la validità della sua proposta o cedere il passo a Internet, al telefonino. La radio analogica avrà ancora molto da dire, nel frattempo.

Ho lasciato la casa alpina che ospitava la conferenza con il simpatico trenino del Renon e la coincidenza con la corriera per il centro. Bolzano festeggia l’autunno dei colori ancora caldi con una fantasmagoria di zucche per la kürbisfest di piazza Walther, sotto i tendoni e al banco di un imbiss preso d’assalto per i suoi tortelli e la Kürbissuppe, i Weisswurst con senape mielata, Bretzen e boccali di Forst. Un po’ ti senti straniero in patria. Ma un tempo su questo sentimento – poco nobile per chi straniero non vorrebbe sentirsi mai per le strade del mondo – dominava, almeno per quanto mi riguarda, l’inferiority complex linguistico, l’impaccio nell’esprimersi in quel tedesco che pur non essendo obbligatorio da queste parti faceva spesso la differenza tra una fredda ma inappuntabile cortesia e la piena espressione del senso di complice ospitalità che i sudtirolesi riservano ad austriaci e tedeschi doc.
Oggi il mio tedesco impacciato e lacunosissimo nell’eloquio, mi pesa soprattutto perché Bolzano entra a pieno diritto nel novero di quei posti dove la qualità della vita compensa ampiamente le inevitabili ipocrisie della modernità e ti fa subito pensare come la casa che ritenevi tua, la Milano di Gadda e Buzzati, dei tram dipinti da Sironi sullo sfondo di quelle grige e nude pareti di casa in periferie… Ebbene, la Milano di cui porti, incancellabile ma un po’ logoro, l’imprinting, conserva intatte tutte le sue vecchie ipocrisie, ne ha aggiunte tante ancora peggiori e in più, se non bastasse, ti fa vivere da schifo.

Ho parlato di radio digitale in una regione che per prima in Italia ha sperimentato il DAB. Su a Renon avevo trovato una ventina di programmi DAB e un test DMB di RAS, l’ente regionale che ridistribuisce i canali RAI, quelli locali in tedesco, e un’ampia scelta di programmi austriaci, bavaresi e svizzeri. Scendendo a valle sulla mia corriera ho sintonizzato anche il bouquet che RAS trasmette in banda L con i tre canali svizzeri CH-POP, CH-Klassik e CH-Rete 2. Sul canale in banda III 9D opera il canale commerciale DABmedia. Un totale di 26 programmi. La codifica è tutta DAB, non DAB+, e con la musica classica si sente che qualcosa non va. Però rispetto a Milano, la scelta non manca tra Bayern 4 Klassik, CH-Klassik, Radio 3 e Oesterreich Eins – dove mentre scendevo in bus trasmettevano una bella messa di Haydn – ed è un bel sentire. Specie se fuori vedi un panorama da cartolina, fatto di prati, boschi e montagne già innevate.

Su Bayern 4 ho sentito una cosa simpatica, la trasmissione di brani scelti dal pubblico: tre codici numerici per decidere, votando via sms, quale brano ascoltare tra una canzone napoletana cantata da Beniamino Gigli, un’aria dalla Donna del lago e uno di quei magnifici quartetti vocali schubertiani accompagnati dal pianoforte. Non avevo mai incontrato questa formula di interattività con gli ascoltatori di un canale culturale. Sentito così il DAB sembra molto promettente, ma se poi si finisce col ritrasmettere le stesse hit parade e gli stessi spiritosissimi diggei, mi chiedo quanto ne valga la pena.
Al termine della mia relazione sulla radiodiffusione digitale l’amico Beppe Fontana, il distributore ufficiale del ricevitore SDR Perseus, si è avvicinato per dirmi che quello che avevo appena detto lo aveva ancora più convinto. Secondo Beppe avremo ancora per anni a che fare con la radio analogica, anche sulle onde medie. Forse è vero, la radio è pur sempre un mezzo molto vitale, spesso più di quanto immaginino gli stessi tecnici addetti alla pianificazione degli impianti. Ieri sera con Beppe, Nico e gli altri abbiamo ancora tirato le due passate, questa volta cercando di capire i trucchi implementativi degli algoritmi di trattamento escogitati da Nico per il Perseus. Un po’ di quella matematica l’ho conservata dagli anni universitari e ho potuto apprezzare parecchie delle sue eleganti scorciatoie, il modo di ottimizzare l’uso della logica programmabile nel calcolo dei filtri e dei metodi di conversione dei segnali analogici campionati in ingresso. Affascinante, soprattutto quando Nico ha cominciato a parlarci delle sue idee sulla discriminazione di due o più portanti modulate in ampiezza su una stessa frequenza. L’idea è arrivare a un software SDR che consenta di “selezionare” magicamente il segnale più debole tra i due generati da due stazioni sullo stesso canale. Un trucco che potrebbe essere affrontato con il calcolo matriciale, il quale tuttavia sarebbe pesantissimo in logica programmabile. Nico al suo posto ha tirato fuori dal suo cappello di mago del DSP un discorso di iperspazi ortoganali, di spazi nulli, che dovrebbe consentirgli di aggirare l’ostacolo… Ma qui ho davvero smesso di seguirlo. Un software che sopprime un segnale dominante e fa saltare fuori quello più debole è un sogno per chi ascolta le onde medie locali. Ma il miracolo rischia di arrivare tardi, il numero di stazioni è in netto calo. Pazienza, almeno abbiamo la fortuna di far parte di una realtà in grande fermento, in compagnia di cervelli che sanno come pochi il fatto loro in materia di matematica applicata (ma ho sentito anche parecchia solida teoria da parte di Nico e Alberto Di Bene, il programmatore di Winrad).
L’altro giorno ho trovato in un newsgroup di appassionati di SDR un’idea che mi ha fatto davvero pensare a Fahrenheit 451. Se le onde medie un giorno spariranno, perché non sfruttiamo la capacità di Perseus di registrare l’intero spettro di frequenze da 300 a 1900 kHz per creare e archiviare verie e proprie fotografie dello spettro attuale? Riversando tutto su disco un giorno sarà possibile accendere Perseus e risintonizzarsi su quelle frequenze, anche tra dieci o cento anni (se i dischi reggeranno ancora). A chi è abituato da sempre a registrare i programmi dalla radio può sembrare un evento scontato. Ma provate a pensarci meglio. Qui si tratta di congelare l’intero spettro delle onde medie, di tuffarsi dentro cento e più canali per riascoltarli tutti, come se fosse dato di rivivere tutto quello che abbiamo trascurato alla sera.. Dieci ore di registrazione equivalgono a oltre mille ore di programmazione, di stazioni che emergono dal silenzio e cedono il posto ad altre. E’ come filmare una scena e poterla rivedere anche nei punti nascosti, riprendere l’angolo di una strada e riviverlo potendo cambiare tragitto, entrare in una casa, ascoltare la gente che parla due isolati più in là. L’equivalente archivistico-radiofonico delle fotografie di Harry Potter, capaci di congelare una scena lasciandola popolata per sempre da persone amate e ancora vivissime, che sventolano la mano e continuano a ridere felici, anche se se ne sono andate per sempre e non ritorneranno più. C’è qualcosa di infinitamente nostalgico e delicato in questa versione high-tech della vecchia registrazione, l’ennesimo regalo che i cultori del software come Nico e Alberto hanno fatto alla comunità dei radioappassionati. E poterlo raccontare e discuterne, qui tra voi, è un privilegio.

***

Questo post nasce da una serie di precisazioni formulate dall’amico Gianfranco a margine del mio precedente post dedicato, tra l’altro, alla lezione sulle FPGA tenuta da Nico Palermo al decimo convegno sulla radio digitale di Renon, il 4 e 5 ottobre 2008.
Gianfranco ha rilevato alcune imprecisioni di natura terminologica che questo nuovo intervento cerca di risolvere. Sentitevi liberi di scrivermi o di commentare direttamente per segnalare eventuali nuove imprecisioni.

Ho ricevuto dall’amico Gianfranco una serie di precisazioni terminologiche che mi sento in dovere di riportare perché in queste cose la terminologia è tutto e io mi rendo conto di averla utilizzata un po’ a vanvera in un mio post recente. Spero questa volta di riuscire a interpretare bene le osservazioni di Gianfranco, che giustamente rileva come la “logica programmata” è quella dei processori che programmiamo attraverso un linguaggio. Un processore è un circuito logico molto complesso che il programmatore governa attraverso un set di istruzioni di livello molto evoluto. A livelli molto inferiori troviamo sì delle funzioni implementate con “porte logiche” , ma per certi versi quando programmiamo non ce ne accorgiamo neppure, o comunque non dobbiamo pensarci troppo, avendo come strumenti di base delle istruzioni predefinite. Quando si ha a che fare con un componente come le FPGA, si finisce invece per lavorare direttamente con dei circuiti elettrici, le porte logiche; anzi con una lavagna vergine di celle tutte uguali che permettono di implementare le operazioni dell’aritmentica binaria. La lavagna ci dà in più la possibilità di effettuare delle connessioni tra queste celle. Quando “programmiamo” una FPGA in realtà programmiamo le connessioni (dentro le FPGA moderne in realtà ci sono anche altre cose che ci aiutano a ottimizzare il numero di porte impegnate e a facilitare operazioni binarie di un certo tipo). L’alternativa alla FPGA, la cui logica, dice giustamente Gianfranco, è “cablata” *non* “programmata” (la logica programmata è quella del firmware eseguito da un microcontrollore) è un circuito specializzato che dobbiamo progettare ex novo con le porte logiche che vogliamo.
Perché ce bisogno di questa logica dedicata? Perché ci sono operazioni di trattamento numerico del segnale che i processori o i controllori programmabili – con il loro set di istruzioni predeterminato – non potrebbero eseguire o che riuscirebbero a eseguire in tempi troppo lunghi. Da cui la necessità di mettere insieme, con l’elettronica, dei circuiti molto mirati e ottimizzati, con dentro solo le operazioni necessarie. In un certo senso è come se dovessimo implementare i nostri algoritmi con un set di istruzioni che dobbiamo definire noi, non il chi ha progettato il microprocessore. E qui cominciano i problemi, perché se dovessimo implementare le stesse operazioni con dei singoli circuiti integrati non la finiremmo più e occuperemmo un mare di spazio; e se dovessimo progettare un unico circuito integrato complesso e specializzato (“application specific”) ci costerebbe troppo: la FPGA è una straordinaria scorciatoia perché la sua matrice di porte (“gate array”) vergine può diventare – attraverso un tipo di “programmazione” basato su linguaggi dichiarativi molto particolari – un circuito di porte logiche capace di eseguire esattamente le operazioni che vogliamo eseguire e solo quelle (la bravura di chi “programma” la logica cablata sta nell’ottimizzare l’uso delle celle, cioè nel realizzare con dieci o cento celle ciò che una programmazione meno intelligente realizzerebbe con mille o diecimila celle. Se poi riuscissi a individuare un potenziale di mercato sufficiente potrei anche tentare di investire un sacco di soldi per passare dalla FPGA a un integrato specifico, ma questo a livello amatoriale non può succedere così facilmente.
La distinzione tra hardware e software, come vedete, diventa molto sottile. Una software defined radio è “software” perché la demodulazione, l’estrazione delle informazioni di un segnale viene eseguita dal microprocessore del computer. Ma la FPGA che effettua la downconversion del segnale analogico acquisito numericamente, è a tutti gli effetti un circuito elettrico, un hardware molto specializzato che opera in regime non lineare (a differenza di un transistor che amplifica un segnale analogico) ed esegue operazioni in aritmetica binaria. E’ vero che per programmare la FPGA, per trasformare la lavagna vergine della FPGA in una serie di operazioni svolte su operandi binari, vengono utilizzati dei linguaggi ma una volta “cablata” la nostra logica, il lavoro di fatto viene svolto da circuiti elettrici, non da un computer che esegue un programma. L’algoritmo è fisicamente rappresentato dai circuiti. Sono questioni di natura anche epistemologica che rendono ancora più affascinanti certi discorsi. Chiunque voglia contribuire, anche correggendo questa mia correzione, è caldamente invitato a farlo.

printfriendly pdf button - Heart Defined Radio