Un divisor de haz es un componente óptico que divide un haz de luz incidente en un haz reflejado y un haz transmitido, o bien, acopla dos haces hacia la misma salida, cuando un haz es insertado en la faceta de reflexión y otro en la faceta de transmisión. Es en este último sentido en el que se usará en el experimento.
La caracterización del divisor de haz se dividió en dos partes. La primera parte consistió en determinar las pérdidas que produce el dispositivo sobre una señal
óptica que se propaga en transmisión o en reflexión. La segunda parte consistió en observar el efecto del dispositivo sobre las polarizaciones lineales de las señales entrantes.
La caracterización completa se hizo de acuerdo al esquema experimental mostrado en la figura 47.
Figura 47: Esquema experimental para la caracterización del divisor de haz.
Los haces de control y de prueba se alinean con las facetas correspondientes. A continuación se coloca una fibra óptica con lentilla de GRIN a la salida del controlador de polarización con el propósito de medir el estado de polarización en ese punto por medio del analizador de polarización HP8509B. Para llevar a cabo esta tarea es necesario tomar en cuenta la birrefringencia inducida por la fibra en la trayectoria al analizador. Con ello el propósito es trasladar el punto de medición del analizador de espectros hasta el punto de interés. Este procedimiento se denomina comúnmente como marco de referencia de polarización y es en este sentido en el que se usará en el escrito. Ahora bien, con el marco de referencia a la salida del controlador de polarización, se ajusta una polarización circular con el
propósito de tener una potencia constante a la salida del polarizador. Se retira la lentilla de GRIN y se coloca un medidor de potencia en espacio libre a la salida del polarizador. El polarizador es rotado 360º registrándose las mediciones en el medidor de potencia. Se confirmaron potencias iguales para todas las polarizaciones lineales.
Ahora el medidor de potencia se coloca después del divisor de haz y se realiza la misma operación con el polarizador. Los resultados mostraron que el dispositivo no presenta pérdidas dependientes a la polarización.
Todo el procedimiento descrito se repite para la trayectoria en reflexión, encontrando el mismo resultado.
Para la medición de las pérdidas en transmisión directa, el láser de prueba permanece apagado y para la medición de pérdidas en reflexión, el láser de control es el que permanece apagado.
Para la segunda parte de la caracterización se genera un marco de referencia en la trayectoria de salida del divisor de haz. A continuación se insertaron polarizaciones lineales de 0º a 360º en la entrada del divisor, haciendo uso del polarizador correspondiente. Posteriormente, se midieron las polarizaciones de salida por medio del analizador de polarización.
De igual manera, para la medición en transmisión directa el láser de prueba permanece apagado, y para la medición en reflexión, el láser de control es el que se apaga.
La figura 48 muestra las polarizaciones medidas en su representación en la esfera de Poincaré, a la salida del divisor de haz.
(a) (b)
Figura 48: Efectos del divisor de haz sobre las polarizaciones lineales de entrada, cuando se utiliza la transmisión directa (a) o la transmisión por reflexión (b).
B
Programas para la búsqueda de
soluciones de los coeficientes de
acoplamiento κ1 y κ2
En este apéndice se presentan los programas necesarios para la obtención de soluciones para los coeficientes de acoplamiento κ1 y κ2 mediante Mathematica v.
5.1, utilizando la información experimental. Para ello, las mediciones experimentales son tratadas mediante MATLAB v. 6.5 para generar los parámetros de entrada al sistema de ecuaciones cuyas soluciones se buscan. Después los parámetros se introducen y se procesan en Mathematica v. 5.1 para encontrar las soluciones numéricas.
Así, primero se presenta el programa en AxAyOut.m que recibe y trata las mediciones experimentales para ser procesadas en Mathematica v. 5.1. Posteriormente se presenta el programa en Kappas.nb que busca las soluciones numéricas de los coeficientes de acoplamiento.
AxAyOut.m
%%%% PROGRAMA PARA GENERAR LAS CONSTANTES NECESARIAS PARA %%%% EL CALCULO DE K1 Y K2 EN MATHEMATICA
%%%% Se generan también los archivos de texto con los resultados para ser procesados %%%% en Mathematica
tic; clear; clc;
% Polarizaciones de la sonda I y III
son = [0,10,20,30,40,45,50,60,70,80,180,190,200,210,220,225,230,240,250,260,360]; % Polarizaciones de la sonda II y IV
% son = [100,110,120,130,135,140,150,160,170,280,290,300,310,315,320,330,340,350]; % son = [90,270];
% Polarizaciones del control
ctrl = [0,10,20,30,40,45,50,60,70,80,90,100,110,120,130,135,140,150,160,170,180 ... 190,200,210,220,225,230,240,250,260,270,280,290,300,310,315,320,330,340,350,360];
for s = 1:length(son) for j = 1:length(ctrl) clear Ax Ay
%lambda = 1556; % Longitud de onda [nm] lambda = 1562; % Longitud de onda [nm] long =['PB ' num2str(lambda)];
sonda = [num2str(son(s)) 'PB']; polsonda = son(s);
directorio_e = ['D:\TESIS\Programas para la adquisicion de datos del AE\ ... Archivos de texto\Lambda' long '\' sonda];
cd(directorio_e);
z = [sonda int2str(ctrl(j)) '.txt'] %% Se genera el nombre de archivo que se va a leer
%%%% LECTURA DEL ARCHIVO DE TEXTO ban1=0;
cont=0;
nombre=fopen(z); %se abre el archivo
while ban1~=1 lin=fgets(nombre); if isstr(lin) cont=cont+1; if cont==1 ban1=1; end end end %*******************************************************************%
[paras,cuenta]=fscanf(nombre,'%g, %g, %g, %g, %g'); ca_so=size(paras);%observa si existen espacios en blanco
if ca_so(1)<=0 %y en caso afirmativo recorre los renglones necesarios. lin=fgets(nombre); else ban1=0; end fclose(nombre); np1=cuenta/5; for nq=1:1:np1 for r=1:1:5 k=5*(nq-1)+r; ps(nq,r)=paras(k,1); end end numero_de_muestras=np1; S=ps;
S0s=S(:,1); % Parametros de Stokes originales S1s=S(:,2);
S2s=S(:,3); S3s=S(:,4); DOP=S(:,5);
Sn1=S1s./S0s; % Parametros de Stokes originales normalizados Sn2=S2s./S0s;
Sn3=S3s./S0s;
S0dB = 10.*log10(S0s)+8.7068; % Se suman las perdidas por captura S0 = (10.^(S0dB./10));
S1 = Sn1.*S0; % Parametros de Stokes desnormalizados S2 = Sn2.*S0; % al S0 que considera las perdidas
S3 = Sn3.*S0; % por captura
%%%% Calculo del desfasamiento
s2r=str2num(sprintf('%9.3f',S2))'; % Redondear a 3 digitos significativos s3r=str2num(sprintf('%9.3f',S3))'; % Redondear a 3 digitos significativos delta1=rad2deg(atan(s3r./(s2r+eps)));
delta = zeros(size(delta1)); % Se obtiene el valor adecuado de delta segun los signos de S3 y S2 for d=1:length(delta1) if s2r(d)>=0 delta(d) = delta1(d); else delta(d) = 180 + delta1(d); end end
%%%% Calculo de Ax y Ay
for m=1:length(delta);
q1=cos(deg2rad(delta(m))); q = str2num(sprintf('%9.3f',q1)); if abs(q) == 0;
Ax(m)=sqrt((S0(m) + S1(m))./2); % Calculo de componentes cuando Ay(m)=sqrt((S0(m) - S1(m))./2); % delta es 90 0 270
else
C0=-(S2(m)).^2./(4.*(cos(deg2rad(delta(m)))).^2);
Pol_Ay=[1 0 S1(m) 0 C0]; % Polinomio para determinar Ay en otro caso r=(roots(Pol_Ay))'; if isreal(r(1,:))==1 Ay(m)=r(1,find(real(r(1,:)) > 0)); elseif find(r(1,:) == 0) Ay(m) = 0; else
Ay(m)=r(1,(find(imag(r(1,:)) == 0 & real(r(1,:)) >= 0))); end if Ay(m)==0 % Calculo de Ax Ax(m)=sqrt(S1(m)+Ay(m).^2); else Ax(m)=(S2(m))./(2.*Ay(m).*cos(deg2rad(delta(m)))); end end end
Ax=Ax'; % Vector de la componente Ax Ay=Ay'; % Vector de la componente Ay
%%%% Desfasamiento de acuerdo al cuadrante de la sonda
L = 1.5e-3; % Longitud del AOS [m] if delta(1)<0
delta0 = delta;
delta(find(delta>0)) = delta(find(delta>0))-360; delta = delta + 360; % para 90 y 270
%delta = delta+180; % para 1556 nm, para cuadrantes I y III else
delta0 =delta;
%delta = delta-180; % para 1562 nm, para sonda en
% cuadrantes II y IV, en el resto delta = delta
delta =delta; % para los cuadrantes I y III de 1562 nm y II y IV de 1556 end
dfi = deg2rad(delta); % Desfasamiento fi_x - fi_y [rad] (debe ser -delta y lo cambie a delta)
dBeta = dfi./L; % Constante de propagacion diferencial [1/m]
%%%% Determinacion de las constantes a, b, c if lambda == 1556
Gte=13.3812; % Ganancia TE de simple paso en dB para 1556nm Gtm=13.0518; % Ganancia TM de simple paso en dB para 1556nm elseif lambda == 1562
Gte = 13.4071; % Ganancia TE de simple paso en dB para 1562nm Gtm = 14.1583; % Ganancia TM de simple paso en dB para 1562nm end
alfa=5000; % Valor tipico de perdidas por metro fTE=0.43; fTM=0.37; % Factores de confinamiento TE y TM gte=(alfa*L + log(Gte))/(fTE*L); % Ganancia material TE
gtm=(alfa*L + log(Gtm))/(fTM*L); % Ganancia material TM dg=(-gte+gtm)/2; c1=(dBeta./2) + (dg./2)*i; a1=Ax./(exp(-i.*L.*dBeta./2).*exp((gte+gtm).*L./4)); b1=Ay./(exp(i*L.*dBeta./2).*exp((gte+gtm).*L./4)); ar=real(a1)'; ai=imag(a1)'; br=real(b1)'; bi=imag(b1)'; cr=real(c1)'; ci=imag(c1)';
%%%% Potencia de entrada al AOS considerando perdidas por insersion
Ax0=[0.63606,0.6293,0.60881,0.57397,0.5237,0.4923,0.45641,0.37015,0.26355,0.1379,0.0007 0092];
Ay0=[0.0000069621,0.069588,0.13896,0.20782,0.27559,0.30874,0.34111,0.40207,0.4541,0.49 045,0.50371];
%%%% Generacion de la matriz con los datos a exportar
% De acuerdo al estado de polarizacion de entrada de la sonda se % define la potencia de entrada
mp = [0,180,360,0; 10,170,190,350; 20, 160, 200, 340; 30, 150, 210, 330; 40, 140, 220, 320; ... 45, 135, 225, 315; 50, 130, 230, 310; 60, 120, 240, 300; 70, 110, 250, 290; 80, 100, 260, 280; 90,270,90,90]; for ip = 1:11; n1 = find(polsonda==mp(ip,:)); if n1 ~= 0 n =ip; end end AX0=Ax0(n)*ones(size(ar));
AY0=Ay0(n)*ones(size(ar)); M=[ar; ai; br; bi; cr; ci; AX0; AY0];
z1 = ['D:\TESIS\Parametros de Stokes\Progs Mathematica\Texto a importar\KLambda' long '\K' sonda '\K' sonda int2str(ctrl(j)) '.txt'] ;
save(z1,'M','-ascii') end
end toc;
Kappas.nb
f@k1_, k2_, c_, Ax_, Ay_, A_D:= 1
"#####################c2+k1 k2
JAx"#####################c2+k1 k2 CosB"#####################c2+k1 k2 0.0015F- Â H-Ax c+Ayk1LSinB"#####################c2+k1 k2 0.0015FN-A
g@k1_, k2_, c_, Ax_, Ay_, B_D:= 1
"#####################c2+k1 k2
JAy"#####################c2+k1 k2 CosB"#####################c2+k1 k2 0.0015F+ Â H-Ayc-Ax k2LSinB"#####################c2+k1 k2 0.0015FN-B
ctrl=80, 10, 20, 30, 40, 45, 50, 60, 70, 80, 90, 100, 110, 120, 130, 135, 140, 150, 160, 170, 180, 190, 200, 210, 220, 225, 230, 240, 250, 260, 270, 280, 290, 300, 310, 315, 320, 330, 340, 350, 360<;
Clear@raices, data,A,B, w, x, y, sim, solf, solgD
raices@n_, S_D:=
Module@8data,A,B, w, x, y, sim, solf, solg<, data=
Import@
"D:\\TESIS\\Parametros de Stokes\\Progs Mathematica\\Texto a importar \\KLambdaPB 1562\\K"<>ToString@SD<>"PB\\K"<>ToString@SD<> "PB"<>ToString@nD<>".txt", "List"D;
A =Table@dataPiT+dataPi+72T Â,8i, 1, 72<D;
B =Table@dataPiT+dataPi+72T Â,8i, 145, 216<D;
w=Table@dataPiT+dataPi+72T Â,8i, 289, 360<D; x=Table@dataPiT,8i, 433, 504<D; y=Table@dataPiT,8i, 505, 576<D; sim=8k1, k2< ê. Table@ FindRoot@8f@k1, k2, wPiT, xPiT, yPiT, APiTDã0, g@k1, k2, wPiT, xPiT, yPiT,BPiTDã0<, 88k1,-10-40 Â<,8k2, 10-40 Â<<, MaxIterationsØ10000000, AccuracyGoalØ50D, 8i, 1, 72<D; solf=
Chop@Table@8f@k1, k2, wPiT, xPiT, yPiT,APiTD ê. k1ØsimPi,1Tê. k2ØsimPi,2T<,8i, 1, 72<DD; solg=
Chop@Table@8g@k1, k2, wPiT, xPiT, yPiT,BPiTD ê. k1ØsimPi,1Tê. k2ØsimPi,2T<,8i, 1, 72<DD; Return@88Re@#P1TD, Im@#P1TD, Re@#P2TD, Im@#P2TD<&êüsim, Flatten@solfD, Flatten@solgD<D D;
Clear@grabar, resultadoD
grabar@n_, S_D:= Module@8resultado<,
Print@"Polarización Control: ", n, "\t Polarización Sonda: ", SD; resultado=raices@n, SD;
Export@
"D:\\TESIS\\Parametros de Stokes\\Progs2 Matlab\\Texto a importar\\ RLambdaPB 1562\\R"<>ToString@SD<>"PB\\R"<>ToString@SD<>"PB"<> ToString@nD<>".dat", resultadoP1TD;
Export@
"D:\\TESIS\\Parametros de Stokes\\Progs2 Matlab\\Texto a importar\\ RLambdaPB 1562\\R"<>ToString@SD<>"PB\\RF"<>ToString@SD<> "PB"<>ToString@nD<>".dat", resultadoP2TD;
Export@
"D:\\TESIS\\Parametros de Stokes\\Progs2 Matlab\\Texto a importar\\ RLambdaPB 1562\\R"<>ToString@SD<>"PB\\RG"<>ToString@SD<> "PB"<>ToString@nD<>".dat", resultadoP3TD;
Return@D;
D;
C
Programas para la generación de los
parámetros de Stokes teóricos del haz
de sonda a la salida del AOS
perturbado por el haz de control
El propósito de este apéndice es presentar los dos programas utilizados para la generación de los parámetros de Stokes teóricos del haz de sonda saliente del AOS perturbado por la XPolM. El primer programa (stokesmath.m) fue generado en MATLAB v. 6.5 y proporciona las condiciones iniciales a las ecuaciones (41) y (42). El segundo programa (generastokes.nb), creado en Mathematica v. 5.1, usa el modelo empírico de la XPolM para la generación de los parámetros de Stokes teóricos bajo las condiciones iniciales propuestas.
stokesmath.m
%%%% PROGRAMA PARA GENERAR LOS PARAMETROS DE ENTRADA %%%% PARA LA GENERACION DE LOS PARAMETROS DE STOKES %%%% TEORICOS EN MATHEMATICA
lambda =1562; %Sonda = %[0,10,20,30,40,45,50,60,70,80,90,180,190,200,210,220,225,230,240,250,260,270,360]; Sonda = [100,110,120,130,135,140,150,160,170,280,290,300,310,315,320,330,340,350]; bomba = [360]; L = 1.5e-3; if lambda == 1556
Gte=13.3812; % Ganancia TE de simple paso en dB para 1556nm Gtm=13.0518; % Ganancia TM de simple paso en dB para 1556nm elseif lambda == 1562
Gte = 13.4071; % Ganancia TE de simple paso en dB para 1562nm Gtm = 14.1583; % Ganancia TM de simple paso en dB para 1562nm end
alfa=5000; % Valor tipico de perdidas por metro
fTE=0.43; fTM=0.37; % Factores de confinamiento TE y TM gte=(alfa*L + log(Gte))/(fTE*L); % Ganancia material TE
gtm=(alfa*L + log(Gtm))/(fTM*L); % Ganancia material TM
% Polarizacion real de la sonda y control en radianes
pol = deg2rad([0, 6.3102, 12.858, 19.904, 27.755, 32.093, 36.774, 47.367, 59.87, 74.296, 89.95]'); polrealI = [0, 6.3102, 12.858, 19.904, 27.755, 32.093, 36.774, 47.367, 59.87, 74.296, 90]'; polrealII = flipud(180-polrealI(1:10)); polrealIII = 180+polrealI(2:11); polrealIV = flipud(360-polrealI(1:10)); polc = cat(1,polrealI,polrealII,polrealIII,polrealIV); polcr = deg2rad(polc);
% Matriz de conversion de polarizaciones
polideal = [0,10,20,30,40,45,50,60,70,80,90,100,110,120,130,135,140,150,160,170,180 ... 190,200,210,220,225,230,240,250,260,270,280,290,300,310,315,320,330,340,350,360]';
mat_pol = [polideal polcr];
% Determinaremos las componentes de polarizacion segun la senal de sonda % asi como su estado de polarizacion
for s=1:length(Sonda)
% Estado de polarizacion real de la sonda
sondareal(s)=mat_pol((find(Sonda(s)==mat_pol(:,1))),2); % Componentes de polarizacion de la sonda
mp = [0,180,360,0; 10,170,190,350; 20, 160, 200, 340; 30, 150, 210, 330; 40, 140, 220, 320; 45, 135, 225, 315; 50, 130, 230, 310; 60, 120, 240, 300; 70, 110, 250, 290; 80, … 100, 260, 280; 90,270,90,90]; for ip = 1:11; n1 = find(Sonda(s)==mp(ip,:)); if n1 ~= 0 n(s) =ip; end end
end
Ax0=[0.63606,0.6293,0.60881,0.57397,0.5237,0.4923,0.45641,0.37015,0.26355,0.1379,0.0007009 2];
Ay0=[0.0000069621,0.069588,0.13896,0.20782,0.27559,0.30874,0.34111,0.40207,0.4541,0.49045 ,0.50371];
AX0=Ax0(n); %Componentes de polarizacion de sonda AY0=Ay0(n); % a la entrada del AOS
% Estado de polarizacion real del control for i=1:length(bomba) ctrlreal(i)=mat_pol((find(bomba(i)==mat_pol(:,1))),2); end thetag = [0; 10; 20; 30; 40; 45; 50; 60; 70; 80; 90]; mc = [0,180,360,0; 10,170,190,350; 20, 160, 200, 340; 30, 150, 210, 330; 40, 140, 220, 320; 45, 135, 225, 315; 50, 130, 230, 310; 60, 120, 240, 300; 70, 110, 250, 290; 80 … 100, 260, 280; 90,270,90,90]; for ic = 1:11; n1 = find(bomba(1)==mc(ic,:)); if n1 ~= 0 n =ic; end end ind = find(thetag==mc(n,1)); mdB = [-31.4; -31.44; -31.56; -31.757; -32.027; -32.185; -32.356; -32.718; -33.066; -33.328; -33.426]; MdB = [4.1; 4.0599; 3.9401; 3.7428; 3.4734; 3.3151; 3.1443; 2.7819; 2.4338; 2.1723; 2.0736]; mW = 10.^(mdB./10); MW = 10.^(MdB./10);
pot = linspace(mW(ind),MW(ind),72); % Potencia de la senal de control
% Generacion de la matriz con los datos de entrada para obtener los % parametros de Stokes teoricos
datosin=[sondareal AX0 AY0 gte gtm ctrlreal pot];
d=['D:\TESIS\Parametros de Stokes\Progs Mathematica\Texto a importar \coefsonda62\ctrl' num2str(bomba) 'cuad2,4.txt']
generastokes.nb
ctrl=0;
Clear@fexp, fexp2, fexp3, pol9, pol10D
fexp@a_, b_, x_D:=a‰bx;
fexp2@a_, b_, c_, d_, e_, x_D:=a+b‰c x+d‰ex; fexp3@a_, b_, c_, x_D:=a+b‰c x;
pol9@p1_, p2_, p3_, p4_, p5_, p6_, p7_, p8_, p9_, p10_, x_D:=
p1 x9+p2 x8+p3 x7+p4 x6+p5 x5+p6 x4+p7 x3+p8 x2+p9 x+p10; pol10@p1_, p2_, p3_, p4_, p5_, p6_, p7_, p8_, p9_, p10_, p11_, x_D:=
p1 x10+p2 x9+p3 x8+p4 x7+p5 x6+p6 x5+p7 x4+p8 x3+p9 x2+p10 x+p11; Clear@data, Am1r, Bm1r, Ad1r, Bd1r,k1r, Am1i, Bm1i, Ad1i, Bd1i, k1i, Am2r,
Bm2r, Ad2r, Bd2r,k2r, Am2i, Bm2i, Ad2i, Bd2i, k2i, Amin, Bmin,DfD
data= Import@
"D:\\TESIS\\Parametros de Stokes\\Progs Mathematica\\Texto a
importar\\coefsonda62\\ctrl"<>ToString@ctrlD<>"cuad1,3.txt", "List"D; num=23;
qs=Table@dataPiT,8i, 1, num<D; qc=dataP3 num+3T;
pot=Table@dataPiT,8i, 3 num+4, Length@dataD<D; Acm1r=651.104654920484`;
Adm1r= -1174.9046840304031`; Aem1r= -1.2835328145735843`; Afm1r= -1174.904636221538`; Agm1r= -1.2835328059417248`;
Am1r=Table@fexp2@Acm1r, Adm1r, Aem1r, Afm1r, Agm1r, Abs@Sin@qsPiTDDD,
8i, 1, num<D; Bcm1r= -1.5528188704707044`*^8; Bdm1r=1.5528245983161446`*^8; Bem1r= -3.2468626545727697`*^-6; Bfm1r=2203.337637242244`; Bgm1r= -43.061382182838884`;
Bm1r=TableAfexp2ABcm1r, Bdm1r, Bem1r, Bfm1r, Bgm1r, Sin@qsPiTD2E,8i, 1, num<E; k1rmin=TableAAm1rPiT+Bm1rPiTSin@qcD2,8i, 1, num<E;
Acd1r=-389.1697875214063`; Add1r=2507.6851992485754`;
Aed1r= -1.8476755253114112`;
Ad1r=Table@fexp3@Acd1r, Add1r, Aed1r, Abs@Sin@qsPiTDDD,8i, 1, num<D; Bcd1r= -2.7593338057328606`*^8;
Bdd1r=2.7593394440569824`*^8; Bed1r= -1.8887239118497448`*^-6; Bfd1r=9553.787814420439`; Bgd1r= -75.74107925378313`;
Bd1r=TableAfexp2ABcd1r, Bdd1r, Bed1r, Bfd1r, Bgd1r, Sin@qsPiTD2E,8i, 1, num<E; k1rdif =TableAAd1rPiT+Bd1rPiTCos@qcD2,8i, 1, num<E;
b1r=1.262+0.702 Cos@qcD2; c1r=9.873+1.388 Sin@qcD2; k1r=TableBTableB 1
1+JpotPiT b1r N
c1r k1rdifPjT+ k1rminPjT,8i, 1, 72<F,8j, 1, num<F;
Acm1i=2371.5402551072566`; Adm1i= -27318.174460209422`; Aem1i= -2.0342335163327827`; Afm1i= -73190.20581655017`; Agm1i= -36.98199607428694`;
Am1i=TableAfexp2AAcm1i, Adm1i, Aem1i, Afm1i, Agm1i, Sin@qsPiTD2E,8i, 1, num<E; Bcm1i= -3.3831819428242314`*^8;
Bdm1i=7406.849626537668`; Bem1i= -64.91784134643376`; Bfm1i=3.383188255518352`*^8; Bgm1i= -1.863814698037162`*^-6;
Bm1i=TableAfexp2ABcm1i, Bdm1i, Bem1i, Bfm1i, Bgm1i, Sin@qsPiTD2E,8i, 1, num<E; k1imin =TableAAm1iPiT+Bm1iPiTSin@qcD2,8i, 1, num<E;
Acd1i= -4.799168925659093`*^7; Add1i=4.7992009970243365`*^7; Aed1i= -5.924987995235281`*^-6; Afd1i=4616.105499099093`; Agd1i= -5.317472479686378`;
Ad1i=Table@fexp2@Acd1i, Add1i, Aed1i, Afd1i, Agd1i, Abs@Sin@qsPiTDDD,8i, 1, num<D; Bcd1i= -3.288919285701151`*^8;
Bdd1i=3.288928614365864`*^8; Bed1i= -2.597421364781449`*^-6;
Bfd1i=9683.280963928168`; Bgd1i= -18.69524349908647`;
Bd1i=Table@fexp2@Bcd1i, Bdd1i, Bed1i, Bfd1i, Bgd1i, Abs@Sin@qsPiTDDD,8i, 1, num<D; k1idif =TableAAd1iPiT+Bd1iPiTCos@qcD2,8i, 1, num<E;
b1i=1.325+0.6845 Cos@qcD2; c1i=10.7+4.98 Sin@qcD2; k1i=TableBTableB 1
1+JpotPiT b1i N
c1i k1idifPjT+ k1iminPjT,8i, 1, 72<F, 8j, 1, num<F;
k1= k1r+ Â k1i;
Acm2r=35.66123693533316`; Adm2r= -811.9681132349757`; Aem2r= -4.174663912869502`;
Am2r=TableAfexp3AAcm2r, Adm2r, Aem2r, Cos@qsPiTD2E,8i, 1, num<E; Bcm2r= -3.65577246328532`*^6;
Bdm2r=3.656283149275199`*^6; Bem2r= -0.00014174319422188662`; Bfm2r=1216.541443876409`;
Bgm2r= -5.084497227903914`;
Bm2r=TableAfexp2ABcm2r, Bdm2r, Bem2r, Bfm2r, Bgm2r, Cos@qsPiTD2E,8i, 1, num<E; k2rmax =TableAAm2rPiT+Bm2rPiTCos@qcD2,8i, 1, num<E;
Acd2r= -1.528477458395782`*^8; Add2r=413158.93795798`; Aed2r= -104.60542599858282`; Afd2r=1.5284866183833894`*^8; Agd2r= -5.9928597367229954`*^-6;
Ad2r=TableAfexp2AAcd2r, Add2r, Aed2r, Afd2r, Agd2r, Cos@qsPiTD2E,8i, 1, num<E; Bcd2r= -3.566407625848041`*^6;
Bdd2r=1327.9884936432506`; Bed2r= -5.576271351111335`; Bfd2r=3.5669812373149176`*^6; Bgd2r= -0.0001383794057291121`;
Bd2r=TableAfexp2ABcd2r, Bdd2r, Bed2r, Bfd2r, Bgd2r, Cos@qsPiTD2E,8i, 1, num<E; k2rdif =TableAAd2rPiT+Bd2rPiTCos@qcD2,8i, 1, num<E;
b2r=1.262+0.702 Cos@qcD2; c2r=9.873+1.388 Sin@qcD2;
k2r=TableBTableB -1
1+JpotPiT
b2r N
c2r k2rdifPjT+ k2rmaxPjT,8i, 1, 72<F, 8j, 1, num<F;
Acm2i=5.011314317678181`*^7; Adm2i= -5.0131064344360776`*^7; Aem2i= -0.0003414436417413482`; Afm2i= -37057.31154695415`; Agm2i= -11.23125668323897`;
Am2i=TableAfexp2AAcm2i, Adm2i, Aem2i, Afm2i, Agm2i, Cos@qsPiTD2E,8i, 1, num<E; Bcm2i= -3.956826604717465`*^6;
Bdm2i=1786.9354343987188`; Bem2i= -7.604654900990376`; Bfm2i=3.9574391889682366`*^6; Bgm2i= -0.00014908501944560122`;
Bm2i=TableAfexp2ABcm2i, Bdm2i, Bem2i, Bfm2i, Bgm2i, Cos@qsPiTD2E,8i, 1, num<E; k2imin =TableAAm2iPiT+Bm2iPiTSin@qcD2,8i, 1, num<E;
Acd2i= -3.465633715202974`*^7; Add2i=485499.73856969894`; Aed2i= -101.00846884686091`; Afd2i=3.4656937413460076`*^7; Agd2i= -0.000016553880609852486`;
Ad2i=TableAfexp2AAcd2i, Add2i, Aed2i, Afd2i, Agd2i, Cos@qsPiTD2E,8i, 1, num<E; Bcd2i= -4.580487938345253`*^6;
Bdd2i=4.58107428443122`*^6; Bed2i= -0.00012414450541285824`; Bfd2i=1764.7984419743218`; Bgd2i= -7.6503560197252956`;
Bd2i=TableAfexp2ABcd2i, Bdd2i, Bed2i, Bfd2i, Bgd2i, Cos@qsPiTD2E,8i, 1, num<E; k2idif =TableAAd2iPiT+Bd2iPiTCos@qcD2,8i, 1, num<E;
b2i=1.325+0.6845 Cos@qcD2; c2i=10.7+4.98 Sin@qcD2; k2i=TableBTableB 1
1+JpotPiT
b2i N
c2i k2idifPjT+ k2iminPjT,8i, 1, 72<F, 8j, 1, num<F;
k2= k2r+ Â k2i;
pot=Table@dataPiT,8i, 3 num+4, Length@dataD<D; Ap1m=24071.43248403159`;
Ap2m= -106843.60811755694`; Ap3m=199329.40065395745`; Ap4m= -203056.1272951995`; Ap5m=122748.20384577522`; Ap6m= -44703.73776355406`; Ap7m=9439.710217911716`; Ap8m= -1022.2933915728389`; Ap9m=39.00312293233087`; Ap10m= -0.7540535402228442`; Amin=
Table@pol9@Ap1m, Ap2m, Ap3m, Ap4m, Ap5m, Ap6m, Ap7m, Ap8m, Ap9m, Ap10m, xaminD ê. xaminØAbs@Sin@qsPiTDD,8i, 1, num<D; Bp1m= -1018.718033257889`; Bp2m=11618.3205114388`; Bp3m= -34075.12715704135`; Bp4m=44989.06092454655`; Bp5m= -30544.81393705074`; Bp6m=10528.790934628681`; Bp7m= -1504.7010913331114`; Bp8m=2.184803458601152`; Bp9m=5.750035083246575`; Bp10m=1.8679966751369497`; Bmin= Table@pol9@Bp1m, Bp2m, Bp3m, Bp4m, Bp5m, Bp6m, Bp7m, Bp8m, Bp9m, Bp10m, xbminD ê. xbminØAbs@Sin@qsPiTDD,8i, 1, num<D;
Dfmin=TableAAminPiT+BminPiTSin@qcD2,8i, 1, num<E; Ap1d=96063.99722445906`; Ap2d= -519340.73847348575`; Ap3d=1.2040371140511937`*^6; Ap4d= -1.5644726638152173`*^6; Ap5d=1.2499694326867615`*^6; Ap6d= -634021.9639051553`; Ap7d=203257.81316619704`; Ap8d= -39484.16596044621`; Ap9d=4165.780867671704`; Ap10d= -173.44512953428196`;
Ap11d=0.19131253384023564`; Adif=
Table@pol10@Ap1d, Ap2d, Ap3d, Ap4d, Ap5d, Ap6d, Ap7d, Ap8d, Ap9d, Ap10d, Ap11d, xadifD ê. xadifØAbs@Sin@qsPiTDD,8i, 1, num<D;
Bp1d= -1018.718033257889`; Bp2d=11618.3205114388`; Bp3d= -34075.12715704135`; Bp4d=44989.06092454655`; Bp5d= -30544.81393705074`; Bp6d=10528.790934628681`; Bp7d= -1504.7010913331114`; Bp8d=2.184803458601152`; Bp9d=5.750035083246575`; Bp10d=1.8679966751369497`; Bdif=
Table@pol9@Bp1d, Bp2d, Bp3d, Bp4d, Bp5d, Bp6d, Bp7d, Bp8d, Bp9d, Bp10d, xbdifD ê. xbdifØAbs@Sin@qsPiTDD,8i, 1, num<D;
Dfdif =TableAAdifPiT+BdifPiTCos@qcD2,8i, 1, num<E; bdfi=1.272+0.7003 Cos@qcD2;
cdfi=10.1+2.577 Sin@qcD2;
Para I y III cuadrante de polarización del haz de sonda en 1562 nm:
Df =TableBTableB 1
1+JpotPiT bdfi N
cdfi DfdifPjT+ DfminPjT,8i, 1, 72<F,8j, 1, num<F; Para II y IV cuadrante de polarización del haz de sonda en 1562 nm:
Df =TableBTableB 1
1+JpotPiT
bdfi N
cdfi DfdifPjT+ DfminPjT+3.14159,8i, 1, 72<F,8j, 1, num<F;
Clear@f, gD f@k1_, k2_, c_, Ax_, Ay_D:= i k jjj jjjAx CosB"#####################c2+k1 k2 0.0015F- Â H-Ax c+Ayk1L 1 "#####################c2+k1 k2 SinB"#####################c 2+k1 k2 0.0015Fy { zzz zzz g@k1_, k2_, c_, Ax_, Ay_D:= i k jjj jjjAyCosB"#####################c2+k1 k2 0.0015F+ Â H-Ayc-Ax k2L 1 "#####################c2+k1 k2 SinB"#####################c2+k1 k2 0.0015F y { zzz zzz
Clear@stokes, data, Axout, Ayout, S0, S1, S2, S3, dopD
stokes@s_, bomba_D:=
ModuleB8data, num, AX0, AY0, gte, gtm, pot,DG, factorA, factorB, c, Axout, Ayout, S0, S1, S2, S3, dop<,
data= Import@
"D:\\TESIS\\Parametros de Stokes\\Progs Mathematica\\Texto a importar \\coefsonda62\\ctrl"<>ToString@bombaD<>"cuad1,3.txt", "List"D; num=23;
qs=Table@dataPiT,8i, 1, num<D;
AX0=Table@dataPiT,8i, num+1, 2 num<D; AY0=Table@dataPiT,8i, 2 num+1, 3 num<D; gte=dataP3 num+1T;
gtm=dataP3 num+2T;
qc=dataP3 num+3T;
pot=Table@dataPiT,8i, 3 num+4, Length@dataD<D; DG=Hgtm-gteLê2; factorA= ‰0.0015 Hgte +gtmL 4 ; factorB= ‰0.0015 Hgte +gtmL 4 ; Db = DfPsT 0.0015; c= Db + Â DG 2 ; Axout=TableForm@
Table@8factorA Abs@f@k1Ps,iT, k2Ps,iT, cPiT, AX0PsT, AY0PsTDD<,8i, 1, 72<DD;
Ayout=TableForm@Table@8factorB Abs@g@k1Ps,iT,k2Ps,iT, cPiT, AX0PsT, AY0PsTDD<,8i, 1, 72<DD; S0=TableAAxoutP1,iT2+AyoutP1,iT2,8i, 1, 72<E;
S1=TableAAxoutP1,iT2-AyoutP1,iT2,8i, 1, 72<E;
S2=TableA2 AxoutP1,iTAyoutP1,iTCos@DfPs,iTD,8i, 1, 72<E; S3=TableA2 AxoutP1,iTAyoutP1,iTSin@DfPs,iTD,8i, 1, 72<E; dop=100 TableB "#################################################S1PiT2+S2PiT2+S3PiT2
S0PiT ,8i, 1, 72<F; Return@
sonda=80, 10, 20, 30, 40, 45, 50, 60, 70, 80, 90, 180, 190, 200, 210, 220, 225, 230, 240, 250, 260, 270, 360<;
indice=81, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23<; Clear@grabar, resultadoD
grabar@s_, bomba_D:= Module@8resultado<,
Print@"Sonda: ", sondaPsT, "\t Control: ", bombaD;
resultado=Transpose@PadLeft@stokes@s, bombaD, 85, 73<,80, 0, 0, 0, 0<DD; Export@
"D:\\TESIS\\Programas para la adquisicion de datos del AE\\Archivos de texto\\TLambdaPB 1562\\ctrl"<>ToString@bombaD<>"\\T"<> ToString@sondaPsTD<>"PB"<>ToString@bombaD<>".txt", resultado, "CSV"D; Return@D;
D;