dijous, 2 de febrer del 2012

GPSDO (IV) : Filtres, bucles i oscil·lador

Continuant amb aquest projecte us he de comunicar que finalment l'oscil·lador principal no serà un cristall de quars OCXO com havia indicat en un principi sinò un oscil·lador atòmic de rubidi que he trobat a Internet.

Aquest tipus d'oscil·ladors es basen en la ressonància dels àtoms de rubidi-87 en excitar-los aplicant una freqüència adequada. Concretament la freqüència de transició entre dos nivells hiperfins d'aquests àtoms és d'aproximadament 6 834 682 610,9 Hz, i la llum emesa varia segons l'excitació, de manera que és possible extraure una referència amb moltíssima precisió gràcies a un bucle que manté la freqüència d'excitació igual a la de ressonància dels àtoms.

Externament, l'oscil·lador atòmic de rubidi té aquest aspecte (125 x 88 x 25 mm):


El connector que es mostra (DB9 mascle) permet extraure el senyal a 10 MHz, així com les comunicacions amb un processador intern per a controlar la freqüència d'eixida i l'alimentació del mòdul. Internament aquest mòdul disposa d'un forn per mantenir la temperatura constant al mecanisme de ressonància i de l'electrònica necessària per al condicionament dels senyals de rellotge. En aquest cas el mòdul s'alimenta amb +5 i +15 V en corrent continua.

L'estabilitat a curt termini d'aquest oscil·lador és de l'ordre de 10^-11, el que significa que la freqüència real mesurada entre dos segons successius pot abarcar des de 9,999 999 999 9 a 10,000 000 000 1 MHz, i la desviació diària màxima és de 20 parts per bilió (pot guanyar/perdre fins uns 2 microsegons cada dia).

La tasca d'aquest oscil·lador és mantenir la freqüència estable a curt termini, ja que l'estabilitat a llarg termini vindrà fixada per l'acció de sincronització amb els rellotges atòmics del sistema GPS, que són lleugerament més estables en utilitzar múltiples oscil·ladors de cesi i rubidi (fins a dècimes de part per bilió, 10^-13).

A hores d'ara estic desenvolupant el codi que em permetrà filtrar el senyal de 1 PPS, ja que les variacions a curt termini del sistema GPS fan que aquest senyal no tinga una freqüència exacta, sinò que patix desviacions de l'ordre de 10^-8 (és a dir, fluctua aleatòriament entre 0,999 999 99 i 1,000 000 01 Hz):

La figura anterior representa les desviacions descrites, cada punt representa la mesura del desfase entre el senyal del GPS i un oscil·lador de rubidi estable amb un període de 30 segons entre mesures, i la línia correspon a la mitjana (exponencial) d'aquestes mesures durant 15 minuts. Com major siga el temps de càlcul de la mitjana més estable serà el resultat, i segons les referències trobades a Internet aquests poden variar entre mitja hora i un dia, aproximadament, en funció de la qualitat de l'oscil·lador principal utilitzat.

Aquest mètode és vàlid només si entre correccions successives de la freqüència de l'oscil·lador principal aquesta roman estable. Vistes les característiques del filtre a utilitzar es poden descartar totes les implementacions analògiques, ja que la constant de temps necessària és massa llarga per poder arribar-hi amb els valors usuals de capacitat i resistència, el que obligarà a realitzar un filtrat en digital.

El filtrat digital té molts avantatges amb respecte a l'analògic, ja que es poden implementar filtres d'ordre molt elevat, que no serien viables amb una estructura analògica. Així mateix, es poden modificar a voluntat per adaptar-los als requeriments del projecte simplement canviant el codi i reprogramant el processador.

Començaré creant un filtre passa-baixos de segon ordre amb una constant de temps de 1800 segons. La topologia del filtre serà de Butterworth, i el comportament en freqüència serà el següent:


Com podeu veure, a baixa freqüència el filtre deixa passar el senyal sense pràcticament atenuació, mentre que a altes freqüències el senyal patix una atenuació molt gran, que s'incrementa a raó de 40dB/dècada (20 dB/dècada per cada ordre del filtre). El punt de tall a -3 dB, aquell que deixa passar el 70% del senyal, és el que correspon a la constant de temps de 1800 segons.

L'idea bàsica és fer passar el senyal del GPS a través d'aquest filtre implementat sobre el PIC, i anar augmentant la constant de temps del filtre al llarg del temps per atenuar d'una manera creixent les desviacions i així obtenir una millor precisió.

Si tot el que us he comentat funciona correctament el sistema hauria d'oscil·lar a una freqüència de 10 MHz amb una precisió d'unes 10 parts per bilió (10^-11), i en tractar-se d'un sistema en bucle tancat la fase de l'oscil·lador principal hauria d'estar en una posició constant en relació amb el senyal de GPS filtrat. A més, com el mòdul GPS permet l'ajust de la posició del senyal 1 PPS amb una resolució de nanosegons teòricament es podria sincronitzar quasi exactament la fase de l'oscil·lador principal amb la dels rellotges atòmics.

Pròxim pas: escriure el codi per implementar el filtre digital amb constant de temps variable al PIC mentre espere l'arribada de l'oscil·lador de rubidi i les rutines per tal de control·lar la sincronització entre els oscil·ladors.


2 comentaris:

Unknown ha dit...

Quina es la probabilitat màxima teòrica a la qual es podria arribar amb un flitrat analògic? La G(s) del filtre de Butterworth es molt complexa? M'agrada aquesta barreja de coneixements de sistemes electrònics i automàtics.

Axel ha dit...

El problema del filtrat analògic del senyal de 1 Hz és que la constant de temps necessària és totalment inassolible amb els components comercials estàndard, hauries d'utilitzar condensadors enormes amb resistències d'un valor grandíssim, i tindries problemes amb les corrents de fuga i el soroll electrònic, que està present en tot moment i en qualsevol muntatge.

Pel que fa a la funció de transferència d'un filtre de Butterworth, aquesta és bastant senzilla, concretament:

G^2(s)= G0^2 / (1+(w/wtall)^2n)

on G0 és el guany en la banda passant, w és la pulsació (2*pi*freqüència), wtall és el punt on el filtre elimina 3 dB del senyal entrant, i n és l'ordre del filtre.

Com més elevat siga n, més selectiu és el filtre (si n és infinit, la resposta en freqüència és un rectangle). En el cas pràctic que ens ocupa, l'ordre triat a priori és 2, però segurament s'haurà de canviar en funció del comportament global del sistema.