Guida per l’astronomo
In questa sezione viene descritto come interagire con il DewarPositioner
tramite la sua console di operator input. Per avviare tale console, si esegua
il comando operatorIpunt
specificando come target
RECEIVERS/DewarPositioner
:
$ operatorInput RECEIVERS/DewarPositioner
Esecuzione del setup
Il DewarPositioner
gestisce tutti i derotatori alla stessa maniera,
per cui in fase di setup è necessario indicare il codice del derotatore
che si intende utilizzare. Il setup viene eseguito con il comando
derotatorSetup
:
> derotatorSetup=CODE
I codici sono i medesimi che vengono utilizzati per effettuare il setup dell’antenna. Ad esempio, se si vuole utilizzare il derotatore del ricevitore in banda K di SRT:
> derotatorSetup=KKG
Al termine del setup il derotatore sarà pronto per essere utilizzato. Il
comando derotatorGetActualSetup
restituisce il setup attuale, mentre il
comando derotatorIsReady
ci dice se il derotatore è pronto per essere
movimentato:
> derotatorGetActualSetup
KKG
> derotatorIsReady
True
Durante il setup al derotatore viene comandata la posizione 0
, che è
quella scelta per l’allineamento iniziale. Ad esempio, per il il derotatore del
ricevitore in banda K di SRT, la posizione iniziale è quella in cui i tre feed
3, 0, 6 sono paralleli all’orizzonte, con il feed 3 a est.
Possiamo verificare la posizione con il comando derotatorGetPosition
:
> derotatorGetPosition
0.0084d
La d
sta ad indicare che il valore numerico rappresenta un angolo
espresso in gradi decimali.
Note
Il valore restituito potrebbe essere diverso da zero, per qualche cifra decimale, come nell’esempio appena mostrato. Questo è normale, ed è dovuto al fatto che il movimento del motore avviene a step, per cui i valori di posizionamento sono discreti.
Il setup infine imposta i valori di default per la configurazione e la modalità di riavvolgimento:
> derotatorGetConfiguration
FIXED
> derotatorGetRewindingMode
AUTO
Parleremo delle configurazioni e del riavvolgimento nelle prossime sezioni.
Configurazione
Il DewarPositioner
ha sette configurazioni:
fixed,
best space coverage, bsc optimized,
custom, custom optimized, aligned
e aligned optimized.
Il comando derotatorSetConfiguration
consente all’utente di impostare
la configurazione desiderata, mentre il comando derotatorGetConfiguration
di leggerla:
> derotatorSetConfiguration=FIXED
> derotatorGetConfiguration
FIXED
> derotatorSetConfiguration=CUSTOM
> derotatorGetConfiguration
CUSTOM
Le configurazioni aligned e aligned_opt non sono al momento disponibili:
> derotatorSetConfiguration=ALIGNED
Error - configuration ALIGNED not available
Vediamo ora nel dettaglio le varie configurazioni, suddividendole in statiche e dinamiche.
Configurazioni statiche
Nelle configurazioni statiche la posizione del derotatore non cambia al variare della posizione dell’antenna o dell’asse di scansione.
Configurazione fixed
In questa configurazione, che è quella che viene impostata per default dal
setup, la posizione del derotatore viene mantenuta
fissa al variare della posizione dell’antenna, e questo è il motivo
per cui le è stato assegnato il codice identificativo FIXED
.
Nella configurazione FIXED
è possibile impostare la posizione del
derotatore utilizzando il comando derotatorSetPosition
:
> derotatorSetConfiguration=FIXED
> derotatorSetPosition=30d
> derotatorGetPosition
30d
Se il derotatore si trova in una certa posizione \(P_x\) e viene impostata
la modalità FIXED
, viene tenuta la posizione \(P_x\). Il derotatore quindi
non viene riportato in posizione di zero:
> derotatorGetPosition
50d
> derotatorSetConfiguration=FIXED
> derotatorGetConfiguration
FIXED
> derotatorGetPosition
50d
> derotatorSetPosition=10d
> derotatorGetPosition
10d
Configurazioni dinamiche
Nelle configurazioni dinamiche, a differenza di quelle statiche,
il DewarPositioner
aggiorna la posizione del derotatore in funzione
della posizione dell’antenna, al fine di compensare l’angolo parallatico
(più un eventuale contributo del galactic parallactic angle,
a seconda dell’asse di scansione).
Nelle configurazioni dinamiche la posizione del derotatore è data dalla seguente equazione:
dove az
ed el
sono rispettivamente l’azimuth e l’elevazione
dell’antenna, mentre:
\(P_{is}\) è la initial static position, ovvero una posizione (letta dal Configuration Data Base, CDB) che non dipende dall’azimuth ed elevazione dell’antenna ma solamente dall’asse di scansione
\(P_{ip}\) è la initial parallactic position, ovvero il valore dell’angolo parallatico ad inizio scansione: questo dipende sia dall’asse di scansione (vale 0 per gli assi
HOR_LON
eHOR_LAT
) sia dal dal puntamento (azimuth, elevazione e settore)\(P_{dp}\) è il delta di angolo parallatico rispetto a \(P_{ip}\)
Nelle configurazioni ottimizzate (BSC_OPT
e CUSTOM_OPT
)
si ha \(P_{ip} = 0\). Queste configurazioni sono utili quando si
utilizza un derotatore con un limitato range di escursione (ad esempio,
quello del ricevitore S-Band di SRT).
Oltre al fatto che sia ottimizzata o meno, ciò che differenzia una
configurazione dinamica dall’altra è il valore della posizione iniziale
\(P_{ip}\), perchè la funzione di compensazione dell’angolo parallatico
non cambia, e vale 0 quando l’asse di scansione è HOR_LAT
o HOR_LON
,
è il risultato della funzione getParallacticAngle()
quando
l’asse di scansione è TRACK
, EQ_LON
, EQ_LAT
o GCIRCLE
:
def getParallacticAngle(latitude, az, el):
p = atan2(-sin(az), tan(latitude)*cos(el) - sin(el)*cos(az))
return degrees(p)
mentre è dato dalla funzione getGalacticParallacticAngle()
quando l’asse è
GAL_LON
o GAL_LAT
:
def getGalacticParallacticAngle(latitude, az, el, ra, dec):
p = PosGenerator.getParallacticAngle(latitude, az, el)
g = PosGenerator.getGalacticAngle(ra, dec)
return p + g
def getGalacticAngle(ra, dec):
# North celestial pole coordinates - (j2000)
# ncp = ('12 51 26.28', '27 07 41.7')
ra0 = 3.3660332687500043
dec0 = 0.47347728280415174
g = atan2(sin(ra-ra0), cos(dec)*tan(dec0) - sin(dec)*cos(ra-ra0))
return degrees(g)
Quando viene impostata una configurazione, la posizione del derotatore non viene aggiornata, visto che non è ancora noto l’asse di scansione. L’aggiornamento viene comandato nel momento in cui DISCOS avvia lo scan.
Configurazione best space coverage
Il codice associatò a questa configurazione è BSC
:
> derotatorSetConfiguration=BSC
> derotatorGetConfiguration
BSC
In questa configurazione il valore della posizione iniziale \(P_{ip}\) viene letto da un database di configurazione ed è tale da garantire che i feed vengano disposti in modo da avere la miglior copertura spaziale della sorgente durante la scansione.
Note
Tipicamente la miglior copertura viene ottenuta equispaziando, quando possibile, i beam nella direzione ortogonale a quella di scansione (se si sta facendo una scansione in azimuth i feed vengono equispaziati in elevazione, in modo da ottimizzare la scansione dell’area osservata).
Quando è impostata la modalità BSC
, all’utente non è consentito il
posizionamento del derotatore:
> derotatorSetConfiguration=BSC
> derotatorSetPosition=50d
Error - setPosition() not allowed in BSC configuration
In questa modalità l’insieme dei feed posizionati in modo da garantire la massima copertura spaziale sono stabiliti a priori (ad esempio per il banda K sono i feed 3, 0 e 6, con il 3 a est).
Configurazione BSC optimized
Questa configurazione è analoga alla best space coverage ma a
differenza di quest’ultima, come abbiamo detto nella sezione Configurazioni dinamiche,
il valore dell’angolo parallatico iniziale \(P_{ip}\) non viene preso in
considerazione. Questa configurazione è identificata dal codice BSC_OPT
:
> derotatorSetConfiguration=BSC_OPT
> derotatorGetConfiguration
BSC_OPT
Analogamente alla BSC
, all’utente non è consentito il posizionamento
del derotatore:
> derotatorSetConfiguration=BSC_OPT
> derotatorSetPosition=50d
Error - setPosition() not allowed in BSC_OPT configuration
Configurazione custom
In questa configurazione la posizione iniziale statica \(P_{is}\)
viene impostata dall’utente, e per tale motivo a questa configurazione è
stato assegnato il codice identificativo CUSTOM
.
Configurazione custom optimized
Analogamente a quanto abbiamo visto per la configurazione BSC_OPT
, anche
in questo caso ciò che differezia la CUSTOM_OPT
dalla CUSTOM
è la
mancanza del contributo dell’angolo parallattico iniziale \(P_{ip}\).
Interrompere l’aggiornamento
Se si vuole interrompere l’aggiornamento della posizione, si deve impostare la configurazione fixed. In questo caso il derotatore si fermerà all’ultima posizione comandata.
Riavvolgimento
Il derotatore ha una corsa limitata, per cui la sua posizione ha un limite massimo e uno minimo. Ad esempio, per il derotatore del ricevitore in banda K di SRT la massima posizione raggiungibile è 125.23 gradi, mentre la minima è di -85.77 gradi:
> derotatorSetup=KKG
> derotatorGetMaxLimit
125.2300d
> derotatorGetMinLimit
-85.7700d
Quando il derotatore sta aggiornado la sua posizione per tener conto dell’angolo parallattico, è quindi possibile che si arrivi a fine corsa. In questo caso, per default il derotatore viene riavvolto in modo automatico, e l’effetto del riavvolgimento è che il feed più vicino al fine corsa viene rimpiazzato da un altro, in modo da garantire che il derotatore abbia (durante il proseguo dello scan) la massima corsa.
Durante il riavvolgimento, la console dei ricevitori indicherà che il derotatore è in fase di riavvolgimento, e il campo rewindingOffset della medesima console riporterà l’offset che avrà la posizione al termine del riavvolgimento.