# Visual Analyser

Visual Analyser (VA) è un software per sistemi operativi Microsoft Windows rilasciato con licenza freeware. VA "virtualizza" la maggior parte dei moderni strumenti di misura elettronici usando esclusivamente l'hardware di un personal computer in configurazione standard (ma con possibilità di usare anche hardware aggiuntivi). I principali strumenti di misura implementati comprendono oscilloscopio, analizzatore di spettro, voltmetro, impedenzimetro (necessita di hardware esterno), distorsiometro, frequenzimetro, generatore di funzioni (senza Aliasing), filtri digitali (compreso un equalizzatore grafico a 15 bande) e molti altri. Nell'ultima release è possibile controllare online l'ultima versione disponibile e scaricarla automaticamente.
L'hardware di default per l'acquisizione e generazione dei segnali è la scheda audio del PC che può essere anche esterna (USB). Per la quasi totalità degli strumenti implementati è previsto il calcolo dell'incertezza di misura.
VA gira su sistemi operativi della famiglia LINUX tramite il software WINE.

## Storia

Scritto interamente in C++ (al 2020 supera il milione di linee di codice) è opera di una sola persona (v. pagina curriculum autore) e della collaborazione di tutto il mondo per la sua modifica e messa a punto.
Scritto a partire dal 2002, la versione 1.0 è stata rilasciata approssimativamente nel 2003 sino ad arrivare rapidamente alla versione 3.0. Il programma attira l'attenzione della rivista di elettronica Elettronica In che nel numero di dicembre 2003/gennaio 2004 pubblica un articolo scritto dallo stesso autore intitolato "Oscilloscopio ed analizzatore di Spettro su PC". Le versioni iniziano a susseguirsi a ritmo sostenuto, grazie ai numerosi suggerimenti degli utenti che sono dislocati un po' in tutto il mondo. Al tempo i programmi simili a VA erano pochissimi (VA è stato forse uno dei primi in assoluto); VA era (ed è) gratuito e molto potente; la sua diffusione è stata veloce in ambito amatoriale, professionale e accademico. In particolare in quest'ultimo si è diffuso come laboratorio didattico di misure a bassissimo costo.
Arrivati alla versione 8, nel 2006 il programma fu oggetto di una tesi di laurea dal titolo "Sviluppo di uno strumento virtuale Real-Time per la generazione, analisi e acquisizione dei segnali" per la laurea vecchio ordinamento in Ingegneria informatica presso l'Università di Roma "Tor Vergata" (Relatore prof. Salvatore Tucci e corelatore prof. Marcello Salmeri); nel mentre anche la rivista Nuova Elettronicasi interessa a VA (Nuova Elettronica ha ora interrotto le pubblicazioni); inizia una collaborazione con l’autore e nel corso degli anni sono stati pubblicati numerosi articoli, che illustrano le varie funzionalità di VA oltre alla presentazione di una serie di scatole di montaggio che estendono le possibilità del programma in maniera considerevole. In particolare sulla rivista n. 232 viene presentato il progetto di un hardware esterno (collegato tramite USB) intitolato “Oscilloscopio e Analizzatore di Spettro per PC” cui segui un secondo articolo nella rivista n. 233 (kit LX1690-1691-1691B). Successivamente sulla rivista n. 238 fu presentato il progetto di una nuova interfaccia hardware per misurare la distorsione di un amplificatore audio (kit LX1729) e sulla rivista n. 249 il progetto di un hardware (kit LX1746) con il quale si aggiunge a VA la possibilità di misurare l'Impedenza di un bipolo (di qualsiasi natura: per esempio l’impedenza d’ingresso di un amplificatore).
Quest’ultimo progetto ebbe origine nella tesi di Dottorato dal titolo “Strumentazione virtuale per la misura di grandezze elettriche e calcolo dell’incertezza” (Relatore prof. Marcello Salmeri) pubblicata nel 2010 presso l’Università degli studi di Roma “Tor Vergata”; nella tesi si discutono nuovi algoritmi per il calcolo dell'impedenza, si descrive l'hardware appositamente realizzato, e si aggiunge a tutti gli strumenti realizzati il calcolo dell'incertezza di misura.
In particolare con l'Università inizia una duratura collaborazione, anche per mezzo del GMEE (Gruppo Misure Elettriche ed Elettroniche) e presso il dipartimento di Ingegneria Elettronica e il prof. Marcello Salmeri, tuttora in corso d'opera.
Ancora, la rivista Fare Elettronicasi interessa a VA e pubblica vari articoli dell’autore (n. 22 nov. 2006 “Visual Analyser: un programma Windows per la simulazione di strumenti di misura e generazione di forme d’onda”, n. 23 Gen. 2007 “Visual Analyser: la misura della risposta in frequenza di un amplificatore audio”).
In ambito accademico Visual Analyser è stato presentato presso il congresso IMEKO in due occasioni (IMEKO 2008 e 2009) ed oggetto di una pubblicazione (“A real time FFT-based impedance meter with bias compensation," Measurement Elsevier, vol. 44, pp. 702-707, January 2011) che illustra dettagliatamente l'algoritmo innovativo utilizzato per la misura delle impedenze.
Articoli, tesi, pubblicazioni ed ogni tipo di materiale (compresi schemi di hardware aggiuntivo) sono liberamente scaricabili dal sito dell’autore così come la versione più recente del programma (sito sia in Italiano che in Inglese, cliccare sulla bandiera animata).

### Numerazione delle versioni

Le versioni del programma sono state numerate a partire dalla 1.0 sino alla versione 9.x.x del 2008; da quest'ultimo anno in poi le versioni si sono succedute assegnando come numero di versione l'anno di pubblicazione, e nel caso di più versioni rilasciate nello stesso anno è stato aggiunto qualche carattere suppletivo (esempio VA 2009 e poi VA 2009 HR). Dalla versione 2009 si sono avvicendati rilasci con cadenza approssimativamente annuale sino alla più recente versione 2020 che comprende eseguibili a 32 e 64 bit, esempi d'uso, oltre a esempi di file di configurazione e di help sensibile al contesto. L'ultima versione riprende la numerazione classica, e inizia da 25.
È in fase di stesura un completo manuale in italiano e inglese.

## Funzionalità

VA implementa i seguenti strumenti di misura e funzionalità:
1) Oscilloscopio, con rilevazione automatica dei principali parametri del segnale (frequenza con zero-crossing, valore medio, efficace, fattore di cresta, fattore di forma, vero valore efficace) e possibilità in tempo reale di ricostruzione del segnale su schermo (applicando il teorema del campionamento).
2) Analizzatore di spettro, con rappresentazione lineare, logaritmica, a ottave, calcolo correlazione e cross correlazione.
3) Analizzatore di spettro con frequenze completamente arbitrarie questa recentissima funzione è stata introdotta abbandonando l’analisi spettrale per mezzo dell’FFT ed utilizzando “batterie” di filtri di Goertzel rendendo così possibile la costruzione di un analizzatore di spettro le cui componenti sono completamente arbitrarie (con frequenze persino decimali). Ulteriore possibilità è data dalla possibilità di visualizzare lo spettro arbitrario così ottenuto in superfici 3D completamente in TEMPO REALE ed a colori differenziati.
4) Compensazione della risposta in frequenza, tramite applicazione di curva di risposta arbitraria, definita graficamente, e curve standard A,B,C applicabili anche in “parallelo” a quella customizzata.
5) Generatore di funzioni (senza aliasing) con possibilità di generazione di forme d’onda predefinite e personalizzate, queste ultime tramite un tool che accetta i coefficienti dello sviluppo in serie di Fourier oppure consente una costruzione “grafica” della forma d’onda stessa; possibilità di generazione “continua” ed in tempo reale della forma d’onda oppure in loop su buffer hardware interno della scheda sonora o di acquisizione in genere; generatore di impulsi, rumore rosa e bianco con possibilità di selezionare tra diverse distribuzioni (gauss, uniforme, t-student); generatore sinusoidale a sweep.
6) Frequenzimetro, con thread a bassa priorità per il calcolo con risoluzione predefinita e calcolo dell’incertezza.
7) Voltmetro AC/DC (DC per le sole schede di acquisizione accoppiate in continua) con rilevazione vero valore efficace (true RMS), picco, picco-picco, medio e livelli in dB.
8) Tarature degli strumenti in tensione (volt, millivolt) o decibel tramite procedura automatica e salvata su file. La taratura è “lineare” nel senso che verrà effettuata la lettura di un valore, di incertezza nota; lo strumento ipotizza che ci sia una relazione lineare per tutta la scala di misura. Essa verrà applicata al voltmetro, oscilloscopio ed analizzatore di spettro
9) Filtri digitali: è possibile inserire una serie canonica di filtri digitali (passa basso, alto, elimina banda, notch, notch inverso, “allpass”, diodo, rimozione componente continua) nel “percorso” del segnale per effettuare misure sui segnali filtrati; possibilità di inviare in uscita, in tempo reale, il segnale filtrato. Aggiunto dalla versione 25 un equalizzatore grafico a 15 bande che può essere inserito nel percorso del segnale acquisito e anche durante la visualizzazione/ascolto di file wave, flae ed mp3.
10) Cattura dei segnali nel dominio del tempo e frequenza con stampa e salvataggio; possibilità di cattura di schermate grafiche e salvataggio in clipboard di dati in formato testo e grafico.
11) Cattura dei segnali con threshold e pre-acquisizione, illimitata nel tempo.
12) Distorsiometro (THD, THD+noise) con cattura e algoritmo di compensazione della THD propria della scheda di acquisizione.
13) Rilevazione automatica della risposta in frequenza di dispositivi, tramite uso automatico di (1), (2) e (4) (esempio rilevazione della risposta in frequenza di un amplificatore oppure di un sistema cassa microfono.
14) ZRLC misura d’impedenza (resistenza, capacità, induttanza, parte reale e immaginaria, angolo di fase,) con possibilità di visualizzazione grafica dell’impedenza (vettorscopio), valutazione dell’incertezza delle misure, media infinita, calcolo incertezza con metodi statistici, procedura di auto taratura/calibrazione, sweep di misura nel dominio del tempo e della frequenza con acquisizione del grafico e possibilità di salvataggio, impostazione della resistenza di riferimento e tolleranza relativa, uso di modello serie e parallelo, calcolo di fattore di merito Q e D, azzeramento manuale, autodeterminazione dei livelli del segnale. Questo è uno dei pochi strumenti che non può funzionare senza una scheda hardware dedicata, il progetto completo si trova nella rivista Nuova Elettronica n. 249
15) Cepstrum di un segnale, ossia possibilità di calcolare in tempo reale il “cepstrum” di un segnale.
16) Nelle ultime versioni è possibile monitorare in tempo reale il segnale audio generato da altre applicazioni
17) Il controllo di nuove versioni è ora possibile direttamente da VA, con scaricamento e installazione automatica
18) Aggiunto Equalizzatore grafico a quindici bande, utilizzabile in tempo reale sul segnale in ingresso oppure sul segnale in uscita quando si usa il player. Inoltre si può usare quando VA legge in maniera diretta i campioni generati internamente dai generatori interni.