giovedì 29 ottobre 2009
Calibrare un Autocollimatore
Questo oggetto non è altro che un laser, che spara attraverso un collimatore un facio di luce. Uno specchio rimanda indietro la luce nel laser stesso, che tramite un sistema di beam splitter ci aiuta a vedera quando i due spot sono sovrapposti. In questo caso lo specchio è allineato, altrimenti si deve procedere, tramite regolazioni fini, all'allineamento.
Nella versione moderna , che poi è quella che usiamo noi, il telescopio che espande il laser e che riceve il fascio di ritorno è collegato ad un controller che restituisce l'angolo di tilt in arcoradianti o lo spostamento laterale sul piano focale in micron.
Il problema (una volta capito come funziona) è capire se i numeri che quella scatola ti dà sono veramente micron o arcoradianti o qualcosa altro...da qui il problema della calibrazione. Il procedimento è semplice: girare lo specchio o l'autocollimatore di un angolo noto, misurarlo e leggere il risultato sul display. Se il risultato non torna si calcola il coefficiente di conversione. Ora il problema è che l'autocollimatore è sensibile a tilt dell'ordine del microradiante (tanto poco)e che il suo campo di vista è di 4 mrad...in pratica non ci sono tanti modi per generare angoli così piccoli con precisione nota.
La soluzione è descritta nella presentazione.
Il Controllo dei Modi nei Laser a Semiconduttore
Il lavoro parte dalla definizione teorica dei modi fino alle tecniche generali di controllo dei modi. La seconda parte descrive il meccanismo di funzionamento dei laser a semiconduttore ed infine viene spiegato il controllo dei modi nei laser a semiconduttore.
I danni agli occhi provocati dalla radiazione laser
Come regola fondamentale non bisogna mai puntare il laser negli occhi della gente, sembra banale ma è dalle banalità che nascono gli incidenti...
Comunque per chi ci lavora è utile saperne di più. La relazione è solo una introduzione,alla fine si trovano i link per leggersi le normative internazionali più importanti.
Laboratorio di Circuiti Ottici
Il corso è culminato in una serie di esperienze di laboratorio di cui allego le relazioni. Le esperienze descritte sono:
- Caratterizzazione dei dispositivi passivi
- Misura della dispersione cromatica di una fibra
- Misura a larga banda delle perdite intrinseche di una fibra ottica
- Caratterizzazione di un collegamento mediante OTDR
- Caratterizzazione di un EDFA
- Giunzione di fibre e caratterizzazione del giunto mediante OTDR
lunedì 20 luglio 2009
I laser e le ceramiche come mezzo attivo
Il trucco sta nel fatto che per come vengono fabbricate le ceramiche riescono ad essere drogate maggiormente. Qeusto permette di ottimizzare l'uso di laser a 3 livelli piuttosto che a 4. Il vantaggio sta nel fatto che eliminando la transizione fononica (non radiativa) dal 4° livello 3° si una minore produzione di calore, ciò permette di andare su con la potenza. Inoltre le ceramiche sono materiali che disperdono maggiormente il calore e sono più compatte e resistenti agli stress meccanici (sempre se paragonate ai cristalli singoli tipo YAG). La controindicazione sta nel fatto che, per quanto la tecnologia abbia fato passi da gigante, le ceramiche non hanno ancora le qualità ottiche sopraffine dei cristalli singoli e quindi lo spot finale del raggio laser non risulta avere la stessa qualità. Quindi, per usi dove serve potenza bruta sono comunque migliori, per usi dove serve una particolare qualità del fascio non sono ancora utilizzabili.
A chi interessa può scaricare la presentazione che ho fatto, chi si vuole leggere l'articolo è qui.
sabato 2 maggio 2009
Esperienze di Laboratorio
La prima è l' esperienza di Abbe. Questa esperienza serve a rendersi conto di una cosa che rende la luce unica, in pratica un raggio luminoso che trasporta una immagine trasporta anche "le istruzioni per ricomporla". La questione è molto complessa a livello matemeatico e si tratta con una tecnica che si chiama trasformata di Fourier. In questa esperienza abbiamo visualizzato le "istruzioni". Da un altro punto di vista, la figura di diffrazione è il "grafico" della distribuzione spaziale di intensità dopo la fenditura.
La seconda esperienza è la misura dell'indice di rifrazione di un vetro. Abbiamo usato la famosa tecnica interferometrica di Michelson.
Scrivo di seguito le parti introduttive delle 2 esperienze le relazioni complete si trovano in questo sito
L'esperienza di Abbe
La diffrazione rappresenta la deviazione che il fronte d'onda subisce quando lungo il suo cammino ottico incontra un ostacolo. Quando la sorgente ed il piano di osservazione sono posti ad una distanza tale dall'ostacolo (fenditura di forma particolare) che i raggi incidenti possono essere considerati paralleli, si ha la diffrazione di Fraunhofer, o di campo lontano.
La teoria delle immagini di Abbe afferma che, poiché la diffrazione converte la distribuzione di intensitá luminosa incidente su un oggetto in frequenze spaziali, tale fenomeno puó essere considerato matematicamente come la trasformata di Fourier, nello spazio delle frequenze spaziali, dell'intensitá del campo elettrico incidente. Le frange di diffrazione (massimi e minimi di intensitá) possono essere visualizzati nel piano focale (o piano della trasformata) di una lente convergente posta dopo l'oggetto. Oltre il piano focale si forma l'antitrasformata di Fourier che riproduce l'immagine dell'oggetto.
Scopo dell'Esperienza
Allestire un banco ottico, osservare e descrivere le figure di diffrazione di Fraunhofer che vengono a formarsi sul piano della trasformata spaziale di Fourier.
...
Misura dell'indice di rifrazione
La misura dell'indice di rifrazione di un materiale tagliato con una geometria nota si puó ottenere, tramite metodi interferometrici. L'apparato usato nel nostro esperimento é l'interferometro di Michelson. Ponendo il campione di materiale in un braccio dell'interferometro si ottengono una serie di frange di interferenza. Al variare del cammino ottico, provocato spostando il materiale lungo una prefissata direzione, corrisponderá uno spostamento delle frange di interferenza. Misurando tale spostamento ricaveremo la misura dell'indice di rifrazione con precisione alla terza cifra decimale.
...
lunedì 27 aprile 2009
Prove con librerie php-gd
Qui sotto descrivo le idee che mi hanno aiutato nella scrittura del programma e potrebbero essere utili a chi si avvicina per la prima volta alle librerie gd.
Lo script si trova in questo sito . E' funzionante anche se poi non ci ho più lavorato...per inciso chi lo volesse provare deve crearsi un file di testo con un editor tipo "notepad" all'interno del quale deve aggiungere 2 o più colonne di numeri. Lo script sceglie la prima colonna come asse delle"x" e le altre colonne come serie per le "y". Ricordarsi di attivare le pop-up per vedere il grafico. Ops chiedo scusa ma le immagini citate ne testo sono andate perdute comunque si capisce lo stesso. Lo sistemerò quando avrò un po' di tempo...
Come prima difficolta' trovo il fatto che la funzione file() di PHP legge i file in righe. E' ovvio che io devo farglieli leggere in colonna...file() crea un vettore dove ogni elemento e' composto da tutti i caratteri della riga...sgradevole.
Uso la funzione explode() e separo ogni carattere dela stringa generando due vettori che contengono i caratteri delle due colonne.
Il codicllo di seguito fa questo lavoro e stampa le due colonne di dati dal file dati.dat
< ?php
$lines = file('dati.dat');
foreach($lines as $line_num => $line) {
$temp = explode(" ", $line);
$col1[$line_num] = $temp[0];
$col2[$line_num] = $temp[1];
}
//stampa gli output
foreach($col2 as $num => $line){
echo $line."\n";
}
foreach($col1 as $num => $line){
echo $line."\n";
}
?>
Il prossimo codice e'il codice fondamentale che prende i dati dalle 2 colonne del file dati.dat e disegna in una immagine 400X400 i punti corrispondenti.
< ?php
$lines = file('dati.dat');
foreach($lines as $line_num => $line) {
$temp = explode(" ", $line);
$colx[$line_num] = $temp[0];
$coly[$line_num] = $temp[1];
}
$dx=400;
$dy=400;
$image = imagecreate($dx, $dy);
$bg = imagecolorallocate($image, 0, 0, 0);
////questo e' il ciclo principale, quello che disegna l'immgine////
foreach($colx as $num => $line){
//cambio le coordinate il vertice di coor(0,0) diventa quello in basso a sx
$X=$line;
$Y=$dy-$coly[$num];
$col_ellipse = imagecolorallocate($image, 255, 255, 255);
imagefilledellipse($image, $X, $Y, 1, 1, $col_ellipse);
}
//////////////////////////////////////////////////////////
header("Content-type: image/png");
imagepng($image);
?>

Ilprimo difetto che salta all'occhio e' il fatto che il grafico e' troppo piccolo rispetto le dimensioni dell'immagine...questo e' dovuto chiaramente al fatto che la scala usata e' quella dei pixel ossia
1 punto = 1 pixel.
Il prossimo passo sara' quindi quello di introdurre una scala per rendere guardabile il grafico.
Provo ad introdurre un fattore di scala 20 su entrambi gli assi: in pratica l'immagine prende
1 punto = 20 pixel
il risultato e' che la risoluzione del grafico aumenta di 20 volte ed ora riusciamo a distinguere i punti...

Lo script di prima diventa questo:
< ?php
$lines = file('dati.dat');
foreach($lines as $line_num => $line) {
$temp = explode(" ", $line);
$colx[$line_num] = $temp[0];
$coly[$line_num] = $temp[1];
}
$dx=400;
$dy=400;
$image = imagecreate($dx, $dy);
$bg = imagecolorallocate($image, 0, 0, 0);
////introduco i fattori di scala////
$sx=20;
$sy=20;
/////////////questo e' il ciclo principale, quello che disegna l'immgine///////////////
foreach($colx as $num => $line){
//cambio le coordinate il vertice di coor(0,0) diventa quello in basso a sx
$X=($sx*$line);
$Y= $dy-($coly[$num]*$sy);
$col_ellipse = imagecolorallocate($image, 255, 255, 255);
imagefilledellipse($image, $X, $Y, 1, 1, $col_ellipse);
}
//////////////////////////////////////////////////////////////////////////////////////
header("Content-type: image/png");
imagepng($image);
?>
Mi sorge un altro prolema: se io introduco numeri troppo grandi tenendo una scala grande puo' succedere che il grafico vada fuori scala con grande disappunto...forse potrei rendere questo scriptino un po' piu' intelligente ossia fissata una dimensione dell'immagine esempio 400X400 lo script deve scegliere la risoluzione (la scala) adatta affinche' il grafico resti sempre dentro l'immagine...
Oops nel fare questa modifica ho scoperto che il comando file() legge le righe del file dati senza troncare la fine di ogni riga inserendo quindi spazi che mandano in confusione la funzione max(). Conviene inserire nel ciclo di lettura il comando rtrim() che tronca una stringa di tutti gli spazi presenti dopo il testo....fatto!
< ?php
$lines = file('dati.dat');
foreach($lines as $line_num => $line) {
$trimline = rtrim($line);
$temp = explode(" ", $trimline);
$colx[$line_num] = $temp[0];
$coly[$line_num] = $temp[1];
}
$dx=400;
$dy=400;
$image = imagecreate($dx, $dy);
$bg = imagecolorallocate($image, 0, 0, 0);
////introduco i fattori di scala////
$sx = $dx/(max($colx)- min($colx));
$sy = $dy/(max($coly)- min($coly));
//$sx=10;
//$sy=10;
/////////////questo e' il ciclo principale, quello che disegna l'immgine///////////////
foreach($colx as $num => $line){
//cambio le coordinate il vertice di coor(0,0) diventa quello in basso a sx
$X=($sx*$line);
$Y= $dy-($coly[$num]*$sy);
$col_ellipse = imagecolorallocate($image, 255, 255, 255);
imagefilledellipse($image, $X, $Y, 1, 1, $col_ellipse);
}
//////////////////////////////////////////////////////////////////////////////////////
header("Content-type: image/png");
imagepng($image);
?>
Il risultato e' questo:

Il metodo che ho usato e' abbastanza banale ma a quanto pare efficace. In pratica controllo il valore massimo e il minimo all'interno di ogni serie di dati e cosi' vedo il range di valori. Alla fine basta chiedersi quante volte ci stanno tutti questi numeri nella dimensione immagine che ho prefissato?? Semplice per esempio se i valori min e max della serie sono 1 e 21 e la dimensine dell' immagine e' 400X400 basta fare questo conto:
400/(21-1)=20
in pratica ingrandisco di venti volte la serie e riesco a riempire cosi' facendo tutta l'immagine senza avere nessun valore fuori immagine...e' piu' facile farlo che spiegarlo. Un fattore da considerare e' quello del bordo per esempio nel caso precedente il numero piu' grande risulta visualizzato sul bordo per evitare questo introduco una costante che riduce la scala in modo prefissato. Un coefficente ragionevole sembra essere 0,2 tornero' su questo argomento in seguito.
Un'altra cosa che mi fa incazzare e' che se metto un "a capo" allafine dell'ultima riga di dati lo script mi va in confusione...penso che sia ancora una volta colpa del comando file()...in realta' basta mettere una condizione is_numeric() sugli elementi dei vettori, cosi' facendo risolvo anche eventuali problemi di sicurezza ed eventuali header prsenti nel file nonche' il nome dei campi.
Il prossimo passo per completare il motore di questo programmino e' di insegnarli a trattare i numeri negativi poiche' in realta', per il momento, sa disegnare solo serie di dati positivi...la cosa sgradevole e' che la libreria gd accettana solo numeri positivi n quanto il sistema di riferimento che usa parte dal vertice in alto a sx di coordinate (0,0). Gia' dai primi script si nota che ho spostato (come e' piu' usato nei sistemi di riferimento caresiani) il vertice nel punto in basso a sx dell'immagine nera. Uso un cambio di coordinate nel quale il vertice e' traslato nel punto di coordinate piu' piccole.
Ovviamente ci sono problemi di "bordo " in quanto il punto di vertice non vinene visualizzato. Risolvero' il problema del bordo piu' avanti...
Il codice diventa questo scrivo solo il ciclo principale
...
foreach($colx as $num => $line){
//cambio le coordinate il vertice di coor(0,0) diventa quello in basso a sx
$vx = min($colx);
$vy = min($coly);
$X=($sx*($line-$vx));
$Y= ($dy)-(($coly[$num]-$vy)*$sy);
$col_ellipse = imagecolorallocate($image, 255, 255, 255);
imagefilledellipse($image, $X, $Y, 1, 1, $col_ellipse);
}
...

L'immagine rappresenta 40 numeri casuali compresi tra -10 e 10 generati con la funzione rand().
Il prossimo passo e' quello di aggiungere i gli assi cartesiani possibilmente dotati di scala e numeri...per aggiungere gli asi bisogna prima trovare l'origine relativamente al sistem di riferimento che rappresenta i dati chiaramente il cambio di coordinate da' 0,0 per xc = abs($sx*$vx) e yc = abs(($dy) - abs($vy*$sy)) i valori assoluti sono necessari per evitare coordinate negative che la lib GD non accetta. $sx ed $sy rappresentano i fattori di scala $vx e $vy il cambio di coordinate $dy la dimensione y dell-immagine. Trvato il centro diventa poca cosa tracciare 2 linee con la funzione imageline() .
Il grafico qui sotto traccia la funzione coseno da -2pi a 2pi essendo una funzione perfettamente simetrica gli assi vengo tracciati al centro dell'immagine

al contrario con una serie di dati assimmetrica si vede come lo script scelga il sistema di coordinate piu' adatto alla corretta visualizzazione dei dati

Ora veniamo al problema del bordo...penso di risolverlo creando una regione interna all'immagine di circa il 90% delle dimensioni dell'immagine entro la quale verra creato il grafico. Cosi' facendo avanzo bordo per un box con la scala e i nomi degli assi...
lunedì 20 aprile 2009
Zemax Telescopio Cassegrain
Un vecchio post del corso di ottica che mi ero dimenticato di pubblicare...
Esercizio
Apertura
|
10
| ||
FoV
|
30
|
0,008727
|
rad
|
M
|
4
| ||
X CCD
|
1024
|
25,6
|
mm
|
Y CCD
|
1024
|
25,6
|
mm
|
Pixel
|
25
|
μm
| |
b.f.l.
|
700
|
mm
|


f =2933,425 mm







Zemax il Doppietto Acromatico
Esercizio
Disegno di un doppietto acromatico
Un doppietto è una lente formata dall’unione di due lenti costituite di due diversi vetri. Il doppietto è in genere cementato, per cui il raggio di curvatura della seconda superficie della prima lente è uguale al raggio di curvatura della prima superficie della seconda lente. Usando due vetri con caratteristiche di dispersione diversa, si riesce a correggere l’aberrazione cromatica al primo ordine. Come si vedrà ciò significa che nel grafico che mostra la posizione focale in funzione della lunghezza d’onda (cromatic focal shift) si passa da una situazione non corretta in cui il grafico è una retta ad una situazione corretta in cui il grafico ha una forma parabolica. È possibile anche vedere che le aberrazioni sono minori di quelle di una lente singola della stessa focale e apertura.
Dati di progetto
Apertura: f/4
Focale: 100
Lunghezza d’onda: F,d,C (0.468 0.588 0.656 micron)
Vetri da utilizzare il BK7 e il SF1
(è possibile vedere il valore e l’andamento dell’indice di rifrazione dei due vetri nel range di lunghezze d’onda selezionato tramite il grafico Dispersion Diagram (vedi menù -> Analysis->Glassand Gradient Index)).
I valori del numero di Abbe per i due vetri sono VBK7= 64.17, VSF1=29.51
La prima lente BK7 è biconvessa (in partenza prendere R2=R1)
La seconda lente in SF1 è un menisco
Il disegno deve essere ottimizzato per una sorgente all’infinito in asse.
- A partire da una configurazione ‘plausibile’, ottimizzare il sistema in modo di avere uno spot che per le varie lunghezze d’onda sia dell’ordine di 20-40 micron di diametro massimo.
- Verificare il cromatic focal shift e confrontarlo con quello di una lente semplice da 100 mm di focale.
- Confrontare tramite il ray fan l’entità delle aberrazioni presenti nei due casi
- Verificare l’andamento dello spot fuori fuoco
- Sia dal ray fan che dal through focus che tipo di aberrazioni si vedono?
- Inserendo alcuni campi di vista fuori asse 2°, 5°, 10°, osservare i ray fan e vedere che aberrazioni sono presenti. Guardare il diagramma field curv/dist
Prendo la lente biconvessa con apertura aperture stop di 25 mm e raggi 100 e -100 mm.
Pongo la sorgente a infinito e considero i raggi in asse. Considero le lambda (C, d, F). Pongo inizialmente il fuoco a 100 mm. Vedo subito zoommando sul fuoco che il sistema è affetto a aberrazione cromatica longitudinale ossia i raggi vanno a fuoco in punti diversi: i blu più a sx i rossi più a dx i verdi in mezzo.
Cerco allora il fuoco fd per la lunghezza d’onda “verde” utilizzando la formula
è la differenza di lunghezza d’onda tra F e C e Vd è il numero di Abbe per il vetro BK7.
Ottengo fd = 95,73413211.
Apro la merit function, imposto la riga EFFL con target fd e peso 1, lancio l’ottimizzazione del sistema ponendo il fuoco variabile e ottengo uno spot dell’ordine di 500 μm di diametro ed una Chromatic Focal Shift scorretta in quanto assomiglia più ad una retta che a una parabola.
Il doppietto
Ora provo ad aggiungere il menisco sulla faccia negativa della lente biconvessa. Inserisco una nuova superficie ad una distanza di 5 mm dalla precedente e con R = -100. Pongo il fuoco di questa nuova superficie a fd e imposto il vetro sulla superficie di separazione fra le 2 lenti a SF1. Ora aggiungo la variabilità sui 3 raggi di curvatura e sul fuoco, aggiorno la M.F. e lancio l’ottimizzazione.
Il risultato del layout 3d è il disegno qui a fianco.
I 3 raggi di curvatura sono
R1 = 59,394449 mm
R2 = -47,053907 mm
R3 = -116,790628 mm
Il fuoco acromatico del sistema è
f = 91,577374 mm

Lo spot finale ha un diametro di circa 26 μm entro i limiti richiesi 20 – 40.
2.C.F.S.
Il Chromatic Focal Shift ha la forma di una parabola quindi siamo nella situazione corretta rispetto al grafico generato in precedenza che aveva una forma più simile a quella di una retta. Praticamente la curva diventa una parabola perché così facendo gli estremi in lunghezza d’onda arrivano ad avere (quasi) la stessa focale correggendo l’aberrazione cromatica.
3. Ray Fan



4. Through Focus



Nelle figure è rappresentato l’andamento dei punti fuori fuoco per le 3 lunghezze d’onda prese in considerazione. Ho impostato il delta focus a 100 μm e la scala è la stessa.
Dalla curva di aberrazione posso supporre la presenza di aberrazione sferica diversa per il “blu” rispetto agli altri colori. Infatti mentre nel “verde” e nel “rosso” siamo prossimi al caso c) della figura in fianco (tratta da Introduction to lens Design - Joseph. M. Geary), nel “blu” siamo vicini al caso b) anche se la forma della curva alle estremità non corrisponde.
Per quanto riguarda gli spot invece il “rosso” e il “verde” hanno uno spot simile a quello provocato da aberrazione sferica mentre nel “blu” lo spot assomiglia a quello della aberrazione fuori fuoco.
Posso dire quindi che il sistema è affetto da aberrazione sferica e fuori fuoco in maniera diversa per le varie lunghezze d’onda.
6. Aberrazioni fuori asse


Il grafico Field Curvature conferma la presenza di astigmatismo e indica anche la presenza di distorsione. Le aberrazioni fuori asse presenti nel sistema sono quindi Astigmatismo e Distorsione. In questo caso non faccio considerazioni in merito alla differenza delle aberrazioni per lunghezza d’onda in quanto la scala che sto usando non me lo consente.
Zemax la Lente Biconvessa
(Io lo vedo in 1280X1024 sul mio pc. a risoluzioni più basse le immagini vanno fuori posto...)
La differenza tra il caso ideale e la realtà sono le aberrazioni.
f = 100 mm per la legge dei costruttori di lenti ho f = R
f# = 5 = f/D con D = 20 mm
OBJ = oggetto
STO = Aperture stop (apertura)
IMG = immagine
Le superfici sono considerati piani.
Schiaccio subito il tasto GEN vado ad impostare l’apertura:
Aperture Type -> Entrance Pupil Diameter
Aperture Value -> 20 mm (nel sootmenù Units posso cambiare unità di misura)
Surf:Type: è il tipo di superficie, per il momento va bene la standard
Comment: serve a scrivere commenti
Rdius: è il raggio di curvatura della superficie se un piano -> Infinity
Thickness: è la distanza dalla superficie successiva
Glass: è il tipo di vetro
Semi-diameter: va lasciato in autmatic
Conic: serve se voglio provare superfici delle lenti non sferiche ma più in generale coniche e va impostato con k che definisce la forma della conica dall’equazione generale
k=0 Cerchio
k=-1 Parabola
k<-1 Iperbole
-1
k>0 Elossoide Oblato
dalla lente. Per farlo modifico il parametro Thickness a 100 e lascio invariati gli altri è un truccheto per visualizzare meglio i raggi che arrivano dall’infinto.
Fuori fuoco e Aberrazione Sferica

Fa lo spot dell’immagine (o di qualunque piano sull’asse) in pratica funziona come se mettessi un foglio opaco bucherellato davanti al raggio. Questa funzione genera il grafico in figura. In alto a dx vedo la lunghezza d’onda dei raggi considerati, al centro vedo l’immagine sul piano (x,y) perpendicolare all’asse del sistema (z). Con settigs posso cambiare vari parametri come la forma della figura, le unità di misura, la scala, il punto sull’asse deve fare l’immagine, ecc…


Mi dà una idea di che tipo di aberrazione sto trattando o meglio qual è l’aberrazione domiante sul piano che stiamo considerando. Il grafico rappresenta l’aberrazione in funzione dei raggi sulla pupilla di ingresso (PX, PY). Prendendo come riferimento il Raggio Principale. Se non ho aberrazioni il grafico è una retta coincidente con l’asse delle ascisse. Se sposto il piano focale parallelamente a se tesso sull’asse (z) la curva di aberrazione rimane una retta ruotata attorno il centro degli assi. In questo caso significa che non sono a fuoco o che ho una aberrazione di fuorfuoco. In realtà il grafico non rappresenta proprio una retta quindi significa che sono presenti anche altre aberrazioni ma su questo piano quella dominante è quella di fuori fuoco.
Il diagramma qua in fianco fa proprio vedere quello che ci interessa: noi ci troviamo in questo momento nella situazione d) : le curve di aberrazione coincidono e risulterebbe valida la mia ipotesi di dovere spostare il fuoco verso sx.
Scoperta la aberrazione che affligge il mio sistema provo a toglierla. Ora per il momento il modo più facile sarebbe spostre avanti e indietro il piano immagine sull’asse fino ache non trovo ill fuoco migliore.
Nono ci resta che vedere la curva di aberrazione che non sembra una retta parallela all’asse delle ascisse, anzi sembra una curva polinomiale tipo una cubica. Dal disegno in fianco noto che l’aberrazione potrebbe essere il caso d) ossia una aberrazione sferica a dx del fuoco parassiale. In pratica qusto significa che i raggi fuori asse vanno a fuoco su un piano diverso dal piano focale e il piano focale stesso non è più piano ma è curvo.Per sicurezza vediamo cosa succede aggiungendo un raggio che proviene da un punto fuori asse.
Schiaccio il bottone Fie appare un foglio con varie righe. Ogni riga è un punto con cui posso descrivere oggetto/immagine. Ne posso generare al massimo 12. Spunto 2 righe e scrivo sulla colonna y-field 15° per il raggio 2 e -15° per il raggio 3. In pratica sembra che risolvendo il fuoco parassiale ho introdotto “la stessa aberrazione” per i punti fuori asse ossia questi non vanno a fuoco sul piano ma un po’ prima lungo la direzione (z). Zemax cura questa aberrazione in maniera molto pratica ossia tenta di valutare la distanza sull’asse in cui porre il p.f. tale da minimizzare l’rms (scarto quadratico medio) delle distanze dei punti dello spot del raggio principale sul p.f.. In pratica utilizza la tecnica statistica dei minimi quadrati sui punti dello spot e trova la (z) per cui questi punti sono più vicini (o lo spot è più piccolo). Entra in scena la merit function! Dal menu Editors -> Merit Function . Dalla finestra che si apre clikko Tools->Default Merit Function. Si apre una finestrella e dai menu a tendina e seleziono come abbiamo detto RMS, Spot Radius, Chief Ray Schiaccio OK e ritorno all’editor inserisco una riga Type->effl (effective focal length) , Target->100, Weight->1. In pratica gli ho detto di trovare il fuoco non aberrato attorno a 100 mm, usando come peso 1. Se aumento il per lui cercherà di restare sempre più vicino al fuoco che ho dichiarato.
Ora mi pongo la domanda: “ma se modifico i raggi di curvatura della lente posso miglirare ancora il mio sistema ottico?” Ora basta usare la Merit Function mettendo variabili anche i raggi della lente. Devo ricordare di aggiornare la M.F. ogni volta che cambio le variabili. In realtà la M.F. è uno strumento potentissimo praticamente basta mettere come variabili i parametri del sistema che ritengo utili e ottimizzare il sistema su quelle variabili. Nel nostro caso il programma ha pensato di modificare i raggi di curvatura riducendo il raggio di curvatura della superficie positiva e aumentando quello della superficie negativa. Il risultato è che lo spot si è ridotto a 100 micron con un rms di circa 22 micron.
Astigmatismo
Ora tolgo in raggi in asse e aggiungo raggi fuori asse per esempio a 15° e riplotto il sistema. Produco i grafico T.F.S.D. e le curve di aberrazione. La situazione è diversa dalle precedenti. Dal grafico degli spot vedo lo spot sul piano focale parassiale allungato lungo la drezione verticale (tangenziale) e gli spot precedenti allungati lungo la direzione orizzontale (sagittale).
Confronto le curve di aberrazione con il disegno in fianco e vedo che sono esattamente nel caso e). Siamo in presenza di astigmatismo. Questa aberrazione affligge raggi fuori asse poiché il cono incide asimmetricamente sul sistema ottico. Così le porzioni di raggio sono diverse sui due piani, causando una focale diversa per i piani tangenziale e sagittale. Un modo per tenteare di risolvere questa aberrazione è risolvere la M.F. ottimizzandola su un asse per esempio l’asse (x). In questo modo una delle aberrazioni sparisce.
Coma
Ora provo ad invertire i raggi di curvatura della lente. Per farlo seleziono le 2 superfici e clicco su Tools->Moscellaneous->Reverse Elements.
Ora la situazione è cambiata ancora. Lo spot ha la forma allungata di una “cometa” ed è ancora presente astigmatismo almeno sull’asse tengenziale. Confrontando le curve di aberrazione con quelle nella figura a fianco vedo che sono afflito da coma.