Indice |
Abstract
Qualcuno ha scritto: "Tutto quello che non c'è non si guasta", ma aggiungerei anche: "non si consuma, non modifica le sue prestazioni nel tempo, non costa e non inquina" (Nota 1)
I PC facilitano operazioni che in passato richiedevano dispositivi elettronici complessi e conoscenze specialistiche. Questa democratizzazione delle conoscenze si sta estendendo in ogni campo, dalla musica, alle immagini, al video, fino alle simulazioni della realtà fisica e dei circuiti elettronici.
Misurazioni, esperimenti, calcoli e simulazioni, che erano possibili solo con attrezzature e conoscenze non comuni, ora sono alla portata di tutti. Naturalmente chi fonda il suo potere sui diritti d'autore, sui brevetti e su know-how gelosamente custoditi, non ne è molto contento. Ma le conoscenze e la libertà di esprimerle sono un patrimonio di tutti gli esseri viventi e non dovrebbero mai venire nascoste, vendute o soppresse.
Siamo a un passo dal poter estendere il "Personal" Computing anche all'Input Output, ma resta lo scoglio dell'hardware, del suo legame con particolari software e dei suoi costi. Per superare queste difficoltà abbiamo progettato il Theremino System con alcune regole di base:
- Eliminare tutto il possibile dall'hardware e semplificarlo al massimo.
- Spostare nel software gran parte delle funzioni tradizionalmente legate al firmware.
- Implementare nel firmware tutti gli In-Out di base, che quindi non dovranno più essere programmati ma solo configurati.
- Eliminare il legame stretto tra hardware e software per mezzo di una applicazione HAL (Hardware Abstraction Layer) che fa da interprete e traduce le complicazioni dell'hardware in un formato semplice e normalizzato.
In mancanza di queste facilitazioni la gran parte dei ragazzi (potenziali Archimede Pitagorici) finisce per considerare l'elettronica come una magia che solo ditte come Intel e HP possono maneggiare. Alcuni vanno alla partita o si sbronzano, altri diventano grassi e stupidi a forza di tronisti, veline e real TV e i fortunati superstiti ripiegano in un allucinante mondo tutto software (Facebook, Second Life e giochi sparatutto multiutente).
Arduino risolve il problema solo parzialmente. Programmare firmware e software in modo efficace richiede una notevole esperienza e per acquisirla ci vogliono anni se non decenni. Non è pensabile che tutti debbano diventare bravi programmatori per poter realizzare le proprie idee. Esistono anche gli artisti, i chimici, i musicisti, i coltivatori, e mille altre categorie che troverebbero utile poter utilizzare sensori e attuatori, ma che quando ci provano scoprono che imparare a programmare richiede troppo tempo. Per cui Arduino finisce nel cassetto insieme ai loro sogni non realizzati.
Tutto questo è ben riassunto nella mission del sistema theremino: "Ricongiungere il mondo digitale col mondo reale e concreto. Con tecnologie semplici e facilmente riproducibili. E con il massimo rispetto per l’ambiente e per tutti gli esseri viventi“ (Nota 2)
Note
(Nota 1) La quantità di inquinamento è approssimativamente correlata con il costo. Per alcuni oggetti questa regola potrebbe apparire sbagliata, ma si deve considerare che l'inquinamento, oltre alle sostanze di cui sono composti gli oggetti, proviene anche da tutta la filiera industriale che li ha prodotti. Prendiamo ad esempio un orologio da polso costosissimo. Se lo tritiamo e lo buttiamo nell'orto sotto ai pomodori l'inquinamento sarà praticamente zero. I diamanti, i rubini, l'oro, l'acciaio inossidabile e il vetro minerale sono praticamente inerti e non inquinano... Però per estrarli sono stati utilizzati grandi quantità di esplosivo e camion enormi che hanno consumato molto gasolio, il quale a sua volta è stato estratto con trivelle e stazioni petrolifere, che sono composte da metalli, bulloni, tubi... a loro volta prodotti da acciaierie che consumano elettricità e acqua e poi trasportati con enormi navi... Impossibile tener conto di tutto ma esiste un meccanismo che lo fa per noi, il prezzo dell'oggetto. E il prezzo è a sua volta la somma di tutti i singoli costi e quindi anche dei singoli inquinamenti. Non è un calcolo perfetto ma è comodo per i fini che ci proponiamo, cioè una grossolana valutazione di cosa comprare e cosa non comprare per inquinare di meno. Da tutto questo deriva anche un corollario: Nell'ottica di aumentare il benessere e diminuire l'inquinamento, il PIL e "la crescita" vanno ridotti, non aumentati.
(Nota 2) Una delle prime regole del sistema Theremino è minimizzare i costi e quindi l'inquinamento, come si può leggere anche in questa pagina.
Un esempio di migrazione dall'hardware al software
Molti dei progetti del sistema Theremino sarebbero buoni esempi per mostrare come si sposta tutto il possibile dall'hardware verso il firmware e dal firmware verso il software. Ma uno degli esempi migliori è senz'altro la applicazione Theremino SDR, che è legata alla radio e quindi anche ai radioamatori e alle gloriose origini della elettronica e di tutta la passione che ci anima.
Gli apparecchi di radiocomunicazione, nati come semplici bobine e diodi, si sono evoluti con le valvole e poi con i transistor, ma anche con configurazioni circuitali via via sempre più complesse. Dai semplici circuiti oscillanti, ai moltiplicatori di Q, alla reazione, alla super-reazione, alla eterodina, alla supereterodina. Dalla singola conversione, alla doppia e tripla conversione, dai quarzi ai filtri a traliccio, ai filtri a onda superficiale e ceramici... Una evoluzione che è durata più di centoventi anni ed ha prodotto apparecchi con grandi prestazioni, ma estremamente complessi e molto costosi (migliaia di Euro).
Negli ultimi decenni l'evoluzione dei computer ha reso possibile un drastico spostamento di prospettiva che permette di eliminare quai completamente l'hardware. Al limite sarebbe possibile collegare direttamente un ADC alla antenna e da li in poi fare tutto in software. Con queste tecniche si possono abbattere i costi quasi a zero.
In questa immagine si vede un segnale vocale emesso da un radioamatore russo nella banda dei 40 metri. Il segnale era codificato in LSB (banda laterale inferiore) ed è stato decodificato completamente in software, con sovra-campionamento, decimazione del segnale, finestra di campionamento (in questo caso si era scelta una una Hann-Poisson), analisi di spettro (trasformata discreta di Fourier), algoritmo di decodificazione per segnali SSB (con banda passante regolata a 3 kHz), un algoritmo di riduzione del rumore basato sulla trasformata inversa di Fourier seguita da un filtro digitale, e infine da un compressore e limitatore digitale che mantiene il segnale audio in uscita a livelli costanti anche con segnali deboli e elimina le distorsioni con segnali forti. Una serie di operazioni che sarebbe praticamente impossibile eseguire totalmente in hardware e comunque non con la qualità dei filtri digitali. Il segnale finale è un audio pulito anche con segnali deboli e anche in presenza di forti rumori atmosferici istantanei o disturbi ripetitivi (ronzii).
Nel seguente file si può ascoltare la qualità dell'audio durante un "contest", che è una gara tra radioamatori a chi fa più collegamenti lontani (e quindi più chilometri totali) in un tempo limitato. Durante i contest le bande dei radioamatori sono molto affollate e i filtri digitali costituiscono un grande vantaggio per cogliere le parole di radioamatori lontani in mezzo al rumore. http://www.theremino.com/files/ThereminoSDR_SSB_Signals_1.mp3
Nel video seguente si vede una "spazzolata" manuale della banda dei 40 metri. Cominciando con le frequenze basse, destinate ai collegamenti in alfabeto morse. Continuando con le telescriventi e i segnali codificati. E infine con la zona destinata ai segnali vocali in LSB.
https://www.youtube.com/watch?v=5wSgLJk9NHI&feature=youtu.be
E questo è il collegamento alla pagina della applicazione Theremino SDR
http://www.theremino.com/downloads/automation#sdr
Quello che resta dell'hardware
Nella pratica non si utilizza un semplice ADC ma una configurazione leggermente più complessa, per migliorare la dinamica e il rapporto segnale rumore.
Questo è uno dei tanti modelli di adattatore SDR. Sono dispositivi progettati per ricevere la televisione ma li si può adattare alle nostre esigenze modificando il software che li guida (driver). Come si può vedere oltre all'ADC c'è ben poco, appena quel che serve per collegarsi alla porta USB e stabilizzare i 5 volt.
Alcuni di questi adattatori costano dai 5 ai 7 Euro, spedizione compresa. Altri costano un po' di più e hanno il quarzo più stabile con la temperatura. Probabilmente il migliore è lo "RTL-SDR V3" che si compra per meno di 20 dollari da qui: http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles
E qui c'è la guida con le sue caratteristiche: http://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide
La versione 3 ha il quarzo TXC0 da 1 ppm e la possibilità di ricevere da 500 kHz (e anche meno) fino a 1.8 GHz. La sua sensibilità, nelle onde lunghe e corte, è peggiore di quella che si ottiene costruendo il "Theremino UpConverter", ma permette di iniziare a ricevere subito (lo Up-Converter lo si può aggiungere in seguito per migliorare le prestazioni).
Per abilitare la ricezione delle onde corte con il solo "RTL-SDR V3" si deve scegliere "Sampling mode = Direct sampling Q" che sarà disponibile dalla versione 4.6 di Theremino SDR (pubblicheremo questa versione entro fine febbraio 2017). Senza questa opzione o con adattatori RTL-SDR precedenti alla versione 3, per ricevere le onde lunghe e corte si deve per forza costruire il Theremino UpConverter.
Chi fosse realmente interessato a mettere insieme un ricevitore farebbe bene a leggere il file di documentazione di Theremino SDR.
La applicazione Theremino SDR
Theremino SDR è un ricevitore digitale utilizzabile anche come analizzatore di spettro da pochi kHz fino a quasi 2 GHz. La analisi di spettro consente di tenere sott'occhio decine di emissioni contemporaneamente e di selezionare le più interessanti con un click. Un analizzatore di spettro è anche utile in laboratorio per fare misure e riparazioni.
Un ricevitore digitale non ha decine di manopole e pulsanti come gli apparecchi commerciali. Ma ha ugualmente tutti i controlli necessari.
A differenza di un ricevitore hardware dove ogni funzione porta con sé componenti da cablare, complessità e costi aggiuntivi, aumentare le prestazioni di un ricevitore software richiede solo che qualcuno ci perda un po' di tempo. Il tempo impegnato sarà poi di beneficio per tutti tramite la copiatura del software. Si ottiene quindi una efficiente moltiplicazione delle ore di lavoro, un beneficio globale per tutti gli esseri viventi e una riduzione dell'inquinamento.
Non solo una radio
La applicazione Theremino SDR fa parte di un sistema hardware-software per cui può comunicare con tutte le altre applicazioni e i moduli hardware del sistema. La comunicazione, semplice ma efficace, avviene tramite lo scambio di valori numerici attraverso gli Slot.
Un esempio tra i mille possibili:
- Trasmettere un segnale codificato a 433 MHz con uno dei soliti pulsanti per apricancello o serrature.
- Ricevere il segnale con Theremino SDR.
- Decodificare i bit ricevuti con Theremino SignalDecoder.
- Inviare il segnale decodificato agli Slot.
- Leggere dagli Slot con Theremino HAL e inviare comandi via USB a uno o più Theremino Master.
- Collegare attuatori ai Master (ad esempio servocomandi o motori stepper) e farli muovere in posizioni prestabilite quando si premono diversi pulsanti del trasmettitore.
Tutto questo senza scrivere una sola riga di software o firmware.
E sempre senza scrivere software si possono combinare sensori, attuatori e applicazioni in ogni modo possibile, per la gran parte nemmeno previsti o immaginati dagli stessi progettisti del sistema. Nella immagine seguente si vede la applicazione Theremino SignalDecoder che decodifica un segnale in codice morse ricevuto da Theremino SDR.
Le facilitazioni del calcolo numerico
Come abbiamo visto delegare compiti al software può portare vantaggi, ma può anche portare preoccupazioni. Non è mia intenzione provocare discussioni per cui premetto che quanto scriverò in questo capitolo sono solo miei pensieri personali e che avete tutto il diritto di non condividerli.
Però, per chi pensa diversamente da me, la via democratica di esprimere la propria opinione non è prendermi a pesci in faccia o impedirmi di scrivere con la forza, e nemmeno usare parole offensive o scaldarsi tanto.
La via democratica (parola abusata ma vi invito a coglierne il significato profondo) è scrivere educatamente la propria opinione, come io sto scrivendo educatamente la mia. E lasciare ai posteri il compito di decidere cosa conservare e cosa eliminare.
- - - - - - -
Nella mia lunga vita ho visto più volte discussioni su argomenti delicati. Una delle più significative è avvenuta negli anni sessanta. Allora non c'era internet e quindi gli scambi di opinioni avvenivano con ritmo più lento, tramite articoli su riviste come "Le scienze" e "Costruire Diverte" (poi "CQ" dalla fine degli anni 60). Ma ugualmente i toni accesi e lo scaldarsi per alcune idee erano del tutto simili a quelli attuali. In quei tempi il calcolo numerico "personale" era impraticabile e i "computer" utilizzati nei "centri di calcolo" delle aziende erano grandi stanze con decine di persone, ciascuna con la sua scrivania e la sua calcolatrice meccanica "divisumma olivetti".
Con queste premesse viene da pensare ai computer. Ma non parleremo di loro, bensì delle semplici calcolatrici di plastica che ti regalano anche nell'uovo di pasqua e a cui nessuno fa più caso. Negli anni sessanta pochi le avevano prese tra le mani e pochi potevano permettersi le prime versioni che per fare quattro moltiplicazioni facevano fuori un set di batterie. Ma c'era comunque in vista lo spettro di una futura diffusione di questi giocattoli e delle "terribili" menomazioni derivanti dal loro uso.
Oggi può sembrare incredibile ma su queste calcolatrici sono state scritte parole di fuoco. Qualcuno ha anche predetto che saremmo diventati tutti ignoranti e che avremmo dimenticato le tabelline. Non potendo distruggerle, cosa che molti professori avrebbero fatto volentieri, sono state inventate argomentazioni di ogni genere. Ad esempio che le future generazioni di studenti sarebbero diventate pigre e svogliate. E c'è anche chi si è spinto a proporre idee assurde come vietarne l'acquisto ai minorenni.
Oggi, a cinquanta anni di distanza, è evidente che le predizioni non si sono avverate. Nessuno ha dimenticato le tabelline, tutti usano le calcolatrici come si usano le forbici e i cacciaviti, e chi proponesse di vietarle verrebbe preso per matto.
Io non credo proprio, e non lo credevo nemmeno allora, che l'avere sempre una calcolatrice a portata di mano possa "rovinare generazioni di studenti". Anzi sono convinto che sia un bene che nessuno più riempia mezza pagina per una sola radice quadrata. E credo anche che le calcolatrici siano benefiche, non solo perché riducono il numero di errori a una frazione insignificante, ma anche e soprattutto, per il tempo che fanno risparmiare. Tempo che può essere destinato alla esplorazione delle proprietà matematiche dei numeri e allo studio di algoritmi sempre più raffinati.
Secondo la mia esperienza non è vero che le "facilitazioni del calcolo numerico" portino a diventare pigri e che facciano passare la voglia di imparare. Ma anzi queste nuove possibilità ampliano il territorio esplorabile nel breve tempo consentito dalla vita umana e permettono di capire i comportamenti e le interazioni molto meglio che la penna e le formule. Io stesso, lungi dal diventare pigro, sono stato invogliato a scrivere numerosi algoritmi per esplorare le proprietà dei numeri, algoritmi super-veloci per i frattali e per i numeri primi, calcoli matriciali per la deconvoluzione gaussiana delle righe spettrali dei raggi gamma, programmi per confrontare, riordinare e validare modelli "Spice" di transistor e diodi, decine di diverse versioni di analizzatori di spettro, ognuna con successivi affinamenti delle trasformate di Fourier, Fast-FFT, Discrete-FFT, algoritmi derivati dalle trasformate di Hartley che sono attualmente le più veloci implementazioni disponibili sul web, calcoli matriciali "robusti", funzioni statistiche, sistemi genetici per ottimizzare antenne... potrei continuare per pagine ma sarebbe noioso.
Senza il calcolo numerico esplorare questi algoritmi e le loro conseguenze sarebbe impossibile. Ma come al solito la storia si ripete, e anche oggi, in questo stesso sito, appena spunta la parola "Spice" gli animi si scaldano, le opinioni diventano discussioni e puntualmente rispuntano frasi come: "L'uso dei simulatori dovrebbe essere vietato ai minori di sessanta anni".
Io sarei esentato comunque perché mi sono conquistato la licenza di uccidere già negli anni ottanta, scrivendo simulatori su ben tre diversi sistemi operativi. Ma anche perché di anni ne ho sessantaquattro e, voglio rassicurarvi, la vita è breve. Per cui mi dovrete sopportare ancora per poco, cioè, per male che vi vada, altri trentacinque anni o poco più.
- - - - - - - -
Vi lascio con una frase di Heisenberg "La fisica non è una rappresentazione della realtà, ma del nostro modo di pensare ad essa". Questo concetto, se capito appieno, porta con se implicazioni psicologiche e metafisiche ben al di là della fisica.