Nel corso degli ultimi anni ho presentato qualche progetto inerente il mondo del timekeeping. In particolare ho “messo insieme” un po’ di pezzi per dare una dignitosa “casa” ad un oscillatore Bulova (estratto da un vecchio strumento di misura) ed a due GPSDO che sono stati corredati di antenna esterna (sul tetto dell’ufficio). Il tutto è corredato da un counter HP 53131A e da tonnellate di bit letti sulla mailing list dei time-nuts e siti correlati.
Nell’ultimo mese à nata l’esigenza di tenere un breve seminario sul timekeeping, materia che ho un po’ abbandonato (nella pratica) perchè mi sono dedicato molto al networking. L’occasione è stata quindi ghiotta per rispolverare un po’ di apparati e per cercare di fare qualche misura (almeno di noise floor) da discutere in mailing list. Detto questo ho riavviato ed aggiornato la VM che ospita il “windows 10 delle misure” e che è collegata all’adattore GPIB/USB. Questo approccio garantisce che la macchina possa fare misure anche per giorni, senza essere disturbata da altri eventi, essendo ospitata su una WS piuttosto potente e protetta da UPS.
Vista la scarsità di tempo a disposizione ho riesumato TimeLab (arrivato alla versione 1.7F) ed ho cercato un modo per fare la misura i Noise Floor. Ovviamente, il punto di partenza è stata la mailing list ed i siti correlati, nei quali ho navigato in lungo ed in largo senza trovare una soluzione al mio problema: come fare?
Primo test – Nel tempo
Per effettuare questo test, che dovrebbe essere una valutazione del noise-floor dell’apparato, mi sono attrezzato in questo modo. Da un GPSDO ho prelevato l’uscita PPS e l’ho inviata ad uno splitter coassiale. Una uscita dello splitter (cavo corto) alimenta il canale 1, mentre l’altra uscita dello splitter (con cavo “lungo”), alimenta l’ingresso 2.
La prima misurazione importante la ho fatta con una configurazione degli ingressi che si è rivelata perfettibile. Parlandone su “time-nuts” è venuto fuori che era possibile lavorare un po’ sui trigger per ottimizzare le prestazioni, cosa che ho fatto dopo avere analizzato il segnale con l’oscilloscopio.
Il sistema è meglio se lavora con impedenza adattata, quindi ho terminato i canali dell’oscilloscopio a 50ohm e visto il segnale di uscita dal GPSDO. Il segnale è piuttosto “rapido” nel fronte di salita ed ha una ampiezza un po’ bassina: siamo poco sopra i 600mV su 50ohm.
Mettendo a confronto entrambi i canali, è possibile determinare il ritardo introdotto dalla linea coassiale:
Siamo circa a 20ns, valore molto superiore ai 500ps di jitter (dichiarati) dal counter.
Gli ingressi sono configurati con “auto trigger OFF” e livello 0.3V. Tutti gli altri parametri sono lasciati ai valori di default, tranne l’impedenza fissata a 50ohm. Il counter ‘ configurato in modalità “time interval” e “T1 to T2”. In questo modo il segnale sul canale 1 triggera uno start, mentre quello sul canale 2 uno stop. La lettura del counter è in microsecondi ed è coerente con quanto misurato dall’oscilloscopio (circa 20ns).
In questa configurazione il jitter della sorgente non influenza la misura in quanto interessa entrambi gli ingressi. Eventuali sorgenti di rumore devono essere interne allo strumento.
Ho eseguito una serie piuttosto lunga di misure, tutte in modalità “Time Interval” usando TimeLab ed un calcolatore (VM) collegato in GPIB al counter. Ad ogni misurazione (lunga 1000s) ho variato di 0.1 il valore del trigger. I risultati sono stati molto interessanti:
La figura mostra che, seppur minime, ci sono delle differenze nel comportamento dello strumento al variare della tensione di trigger.
sigma(tau)/trigger in V | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 |
1 secondo | 6.88E-10 | 7.05E-10 | 7.00E-10 | 7.14E-10 | 7.28E-10 |
10 secondi | 7.05E-11 | 7.07E-11 | 7.03E-11 | 6.89E-11 | 7.40E-11 |
100 secondi | 7.70E-12 | 7.95E-12 | 8.80E-12 | 7.59E-12 | 7.68E-12 |
I valori migliori (edited) si ottengono per valori di trigger bassi, visto che con 0.5V si ha 0.4E-10 in più. La pendenza della curva indica la presenza di rumore bianco o flicker (PM) (pendenza “-1”). La visualizzazione della MDEV, dovrebbe aiutare a discernere il “white PM noise”, solo che faccio un po’ fatica ad identificarlo. Devo lavorarci.
Qualche considerazione POST MISURA:
– serve un convertitore 10MHz -> PPS. TAPR ne vende di ottimi ma costano un sacco le spese di spedizione in Italia (oltre 80 dollari). Cercherò di acquistarlo quando e se andremo in USA ad anno nuovo;
– in prima battuta vorrei usare il picdiv di Tom Van Baak ed il picpet per imparare a fare qualche misura decente con TimeLab e Stable32. S’è anche un ottimo progettino su github che varrebbe la pena di approfondire.
– ci sono un sacco di picchi che sono dovuti al crosstalk. Occorre assolutamente investire in qualche cavetto “decente” a doppia schermatura. Altrimenti compaiono questi artefatti che non sono piacevoli.
Riferimenti:
Best counter setting for ADEV? – Time-nuts ML Oct 1 2012
Recommended parameters for Timelab ADEV analysis – Time-nuts ML Nov 15 2012
Measuring ADEV for a beginner – Time-nuts ML Nov 1 2014
TimeLab – Manuale uso