Prove di misura di rumore di fase di oscillatori a quarzo

RoV, 17/9/2009

 

Obiettivo è la misura del rumore di fase SSB di un oscillatore per il quale si dispone di due campioni identici e abbastanza stabili in frequenza da non richiedere un PLL per tenerli agganciati durante la misura classica con mixer (metodo “phase detector”). La misura è comunque fatta con un mixer, ma tollerando un battimento IF a bassa frequenza. La IF è acqiusita con una scheda audio di buona qualità.

 

Cominciamo con un po’ di foto... gli oscillatori sono componenti surplus.

 

oscillatore 1 (Driscoll a 124MHz + buffer e filtro)

 

 

oscillatore 1 schermato alla meno peggio e attenuatore variabile

 

oscillatore 2, mixer TFM-2 e si intravvede attenuatore 10dB da oscillatore 1

 

 

carico, filtri passa-basso e passa-alto da IF del mixer

 

il modulo audio USB

 

 

Passiamo ora allo schema di misura:

schema semplificato

 

 

Con 12.5V di alimentazione un oscillatore produce +7.3dBm e l’ho usato per pilotare il LO del mixer, l’altro qualcosa di meno. Ho misurato -4.5dBm sulla porta RF del mixer con l’attenuatore variabile impostato a 0dB e -14.5dBm con l’att. var. a 10dB.

Ho monitorato l’uscita (anzi, il nodo prima del C passa-alto da 470nF) con l’oscilloscopio, per poter aggiustare la differenza di frequenza degli oscillatori (agendo sul compensatore vicino al quarzo di uno dei due) prima di acquisire col modulo audio. Questa è stata un’operazione molto delicata, perché la frequenza degli oscillatori era un po’ troppo alta rispetto alle differenze di pochi Hz che cercavo di ottenere... però per fortuna la stabilità era buona. Indubbiamente con oscillatori da 10-30 MHz sarebbe stato tutto più facile.

 

vista all’oscilloscopio prima del passa-alto

 

 

Ho preso una serie di misure, ciascuna costituita da 1,000,000 di campioni a 192kHz/24bit e fatto l’analisi spettrale col metodo di Welch in Matlab. I parametri sono delicati, serve una finestra con lobi laterali estremamente bassi, altrimenti “l’ombra” della portante oscura il rumore da misurare: ho usato una Chebyshev di lunghezza 32768 e con 200dB di attenuazione dei lobi.

 

La prossima figura mostra i risultati dell’analisi spettrale.

 

analisi spettrale

 

Misura grigia: oscillatore 1 spento

Misura blu: attenuatore variabile a 10dB, oscillatori leggermente spostati in modo da vedere il battimento in banda passante e misurarlo (circa 250Hz). Modulo audio con guadagno al limite del clipping.

Misura verde: come la blu, però oscillatori portati più vicini possibile (battimento a qualche Hz).

Misura rossa: attenuatore variabile portato a 0dB, guadagno del modulo audio invariato. Il modulo non clippa, perchè il battimento è basso in frequenza e attenuato dal filtro.

 

Come si può notare, fino a circa 2kHz la misura rossa sta circa 10dB sopra alla verde, indicando che stiamo veramente misurando il rumore dell’oscillatore. La misura rossa è significativa fino a circa 5kHz. Oltre i 5kHz c’è solo il rumore di fondo del modulo audio (più o meno piatto). Naturalmente si potrebbe migliorare la misura portando il battimento più vicino a 0 Hz e aumentando il guadagno audio; nel mio caso non è facile, perché gli oscillatori sono alti di frequenza e per spostarsi di Hz basta avvicinare il cacciavite...

 

I livelli di rumore sono scalati correttamente in dB/Hz dal software, dove il riferimento è l’ampiezza numerica del segnale acquisito e l’analisi spettrale è unilaterale (somma i contributi di frequenze positive e negative). Ad esempio per una sequenza random di varianza 1 il livello tornato è circa -50dB, che derivano da -10*log10(96000), dove 96kHz è metà della frequenza di campionamento.

L’ampiezza del segnale invece non coincide con quella indicata. In questo caso basta prendere la varianza del segnale relativo alla misura blu, che appare come una sinusoide bella pulita:

 

segnale ref

 

σ(ref) = 0.0033 ovvero -24.85dB.

 

Questo valore è da usare come riferimento usando la curva spettrale verde. Volendo usare quella rossa che è valida fino a frequenze più alte, occorre assumere che il riferimento sia 10dB più alto, o -14.85dB.

 

Ci sono poi altri due termini correttivi

bullet

dobbiamo togliere 3dB al rumore per il fatto di aver usato due oscillatori che danno uguale contributo;

bullet

dobbiamo togliere 6dB al rumore per passare alla misura di rumore di fase SSB che è quella standard. Su questo 6 sono un po’ incerto, io avrei messo 3 pensando che il rumore su una banda laterale ha metà potenza. Secondo “Foundations of Oscillator Circuits Design” del Gonzalez (a pag. 90, in riferimento al metodo “phase detector” con PLL) le ampiezze relative alle due bande laterali si sommano linearmente all’uscita del mixer e producono l’aumento di 6dB. In ogni caso il risultato cambia relativamente poco.

 

Complessivamente occorre sommare 14.85dB e togliere 9dB alla curva rossa. Risulta:

 

SSB phase noise

 

Qui il grafico è in scala di frequenze logaritmica estesa fino a 10kHz, dove già prevale il rumore del modulo audio. La gobba sulle bassissime frequenze deriva invece dall’imperfetto filtraggio della portante.

 

Naturalmente così facendo non ho misurato solo il rumore di fase, ma anche quello di ampiezza, che però di solito è più basso del primo. Inoltre nel rumore di ampiezza compare solo il contributo dell’oscillatore che entra sull’ingresso RF, perché lato LO il mixer è abbastanza immune da piccole variazioni di ampiezza. Questo problema sparirebbe nel caso della misura classica col PLL che sfasa i due oscillatori di 90°, che però è più complessa da realizzare.

 

Avrò fatto i conti giusti? Mah!

 

Se ti interessano altre informazioni, puoi contattarmi all'indirizzo:

Torna alla mia home page