Holografía

De luz-wiki

La holografía fue propuesta por Dennis Gabor en 1948, esta idea consiste en obtener imágenes en solo dos etapas, sin la necesidad de utilizar lentes ópticos. Gabor denomino a esta técnica reconstrucción del frente de onda

Figura 1. Dennis Gabor (1900 - 1979)[1]

"Gabor reconoció que cuando una onda de referencia coherente adecuada está presente simultáneamente con la luz difractada o dispersada por un objeto, entonces la información sobre la amplitud y la fase de las ondas difractadas o dispersadas puede ser registrada, a pesar del hecho de que los medios de grabación responden sólo a la intensidad de la luz."[2] Gabor acuño el termino de Holograma al patrón de interferencia registrado, a partir del cual se puede obtener una imagen del objeto original.

En 1971, Gabor recibió el premio Nobel de Física por su invento.

Historia

Al hacer este descubrimiento, Gabor se motivo a conocer todas las posibles aplicaciones de su invento por lo que en 1949 y 1951 ya había publicado dos trabajos en donde habla de la posible aplicación de la holografía en la microscopía, pero por razones practicas no pudo realizar dichas aplicaciones.

Para 1950 diversos autores como G.L Rogers, H.M.A El-Sum y A.W Lohmann ampliaron la teoría y la comprensión de la holografía. "En la década de 1960 de nuevo fueron los trabajadores del Laboratorio de Radar de la Universidad de Michigan, en particular E.N. Leith y J. Upatnieks [203], quienes reconocieron la similitud del proceso de obtención de imágenes sin lente de Gabor con el problema del radar de apertura sintética y sugirieron una modificación de su técnica original que mejoró considerablemente el proceso."[2]

Actualmente se pueden encontrar en museos y galerías que se dedican especialmente en holografía, aunque cada una trabaja independiente y separada a la capacidad de obtener estas imágenes tridimensionales.

Reconstrucción del frente de onda

La reconstrucción de un frente de onda se divide en dos etapas:

  • Una etapa de detección
  • Una etapa de reconstrucción

Etapa de detección

En esta etapa se detecta la información codificada en la amplitud y la fase de las ondas. Dado que los medios de grabación solamente pueden registrar la intensidad de la luz (debido a que la información de fase de la onda colapsa), la fase se reconstruye midiendo las variaciones de intensidad en el campo a reconstruir con respecto a una onda de referencia, a esta técnica se les conoce como interferometría. En esencia, la interferometría consiste en hacer interactuar el frente de onda que resulta de la difracción de la luz por el objeto de interés y un segundo frente de onda que desempeña el papel de onda de referencia, el cual es coherente al primero y cuya amplitud y fase son bien conocidas

Entonces si el frente de onda que se detecta y que se quiere reconstruir esta dado por

y la onda de referencia con la que interfiere $R(x,y)$ esta descrita como:

en donde $|\Psi(x,y)|$ y $|R(x,y)|$ son las normas de las funciones $\Psi(x,y)$ y $R(x,y)$ respectivamente, y $r(x,y)=-\frac{kx_0}{f}X$.

Para construir la onda de referencia se necesitan una serie de condiciones iniciales, para realizar algunos ejemplos usamos las siguientes

  1. $x_0$: Orden de difracción de la onda.
  2. $f$: La mitad de la distancia a partir del holograma a donde se vera la reconstrucción del frente de onda (Para este ejemplo es $f=0.2 \: \mathrm{cm}$)
  3. $\lambda$: Longitud de onda de la onda de referencia (En este caso $\lambda=500\times 10^{-9} \: \mathrm{cm}$)
  4. $f_0$: Distancia focal de la onda y esta dada por $x_0/\lambda f$
  5. $k$: El numero de onda que se describe como $2\pi/\lambda$
  6. $X$: La distancia de donde comienza la onda a donde se quiere construir el holograma (Para este ejemplo es $X=2 \: \mathrm{cm})$

Si $f_0=x_0/\lambda f$ entonces $x_0=f_0\lambda f$ por tanto la onda de referencia, con estas condiciones es $r(x,y)=-2\pi f_0X$ por tanto

A continuación se muestra como se vería la onda de referencia (onda plana y graficada en Matlab)

Figura 2. Onda de referencia

A continuación vamos a observar los hologramas obtenidos a partir de distintos objetos con forma regular.

Considerando las ondas, entonces definimos el cuadrado de la suma de las ondas como la intensidad de propagación:

Desarrollando tenemos que

Donde $\overline{\Psi}(x,y)$ y $\overline{R}(x,y)$ es el conjugado de $\Psi(x,y)$ y $R(x,y)$ respectivamente por tanto reescribimos $I$ como

Mientras que las dos primeras formas de esta expresión dependen de las intensidades de las ondas individuales, la tercera depende de sus fases relativas [2]

Durante la etapa de detección, tanto la detección de la luz como la modulación del frente de onda se realizan mediante una película o placa fotográfica a lo que se le conoce como $Holograma$ y matemáticamente corresponde a la función $I$.

  • Holograma a partir de un objeto circular

Tenemos un objeto circular que nos describirá el frente de onda que se quiere detectar y reconstruir, este frente de onda se puede describir con la función $\: \mathrm{circ}(r)$, entonces:

$ \Psi(x,y)=\: \mathrm{circ}(r_c/R_c) $

donde $r_c$ es la ecuación de la circunferencia ($r_c=\: \mathrm{\sqrt{x^2+y^2}}$), $R_c$ el radio de mi objeto y la funcion $\: \mathrm{circ}(r)$ se escribe como \[\: \mathrm{circ}(r)=\left\{ \begin{array}{rcl} 1 & \mbox{si} & r_c\leq 1\\ & & \\ 0 & \mbox{si} & r_c\geq 1 \\ \end{array} \right. \] (Para este ejemplo quise usar un radio de $R_c=3\times 10^{-4} \: \mathrm{cm}$ para el objeto circular). Entonces la construcción del holograma $I$ del objeto circular es

Figura 3. Objeto circular
Figura 4. Construcción del holograma


Si $|R(x,y)|=1$ y $|\Psi(x,y)|=1$ ademas que $\Psi(x,y)=\overline{\Psi}(x,y)$ entonces para el holograma I del circulo es: $I=2+(e^{-2i\pi f_0X})(\: \mathrm{circ}(r_c/R_c))+(e^{2i\pi f_0X})(\: \mathrm{circ}(r_c/R_c) )$

Factorizando la función $\: \mathrm{circ}(r_c/R_c)$ se tiene que $I$ es

$ I=2+\: \mathrm{circ}(r_c/R_c)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$
  • Holograma a partir de un objeto cuadrado

Ahora el frente de onda que se quiere detectar lo describirá un objeto cuadrado. La función asociada $\Psi(x,y)$ es: $\Psi(x,y)=\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2by)$ donde $ax$ y $ay$ son las medidas de los lados y la funcion $\: \mathrm{rect}(x)$ esta dada por \[\: \mathrm{rect}(x)=\left\{ \begin{array}{rcl} 1 & \mbox{si} & x\leq 0.5\\ & & \\ 0 & \mbox{si} & x\geq 0.5\\ \end{array} \right. \]

(En este caso se usó un cuadrado de $ax=by=5\times 10^{-4} \: \mathrm{cm}$ de lado) Por tanto el holograma $I$ para el objeto cuadrado es

Figura 5. Objeto cuadrado
Figura 6. Construcción del holograma


Se menciono que la normas de $|R(x,y)|=1$ y $|\Psi(x,y)|=1$, ademas que el conjugado de $\Psi(x,y)$ es el mismo, entonces matemáticamente el holograma se puede escribir como:

$ I=2+(e^{-2i\pi f_0X})(\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx))+(e^{2i\pi f_0X})(\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx))$

Factorizando los terminos $\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)$ se tiene:

$ I=2+\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$

  • Holograma a partir de un objeto en forma de un anillo

Tenemos ahora un frente de onda para detectar que el objeto que la describe es un anillo, la funciones que se utilizaron fueron:

$ \Psi_1(x,y)=\: \mathrm{disk}(r_c/r_e) $ $\Psi_2(x,y)=\: \mathrm{disk}(r_c/r_i)$

Por tanto podemos escribir el frente de onda total como:

$\Psi(x,y)=\Psi_1(x,y)-\Psi_2(x,y)=\: \mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i)$

donde de igual manera que la circulo, se usó la ecuación de la circunferencia descrita por $r_c=\: \mathrm{\sqrt{x^2+y^2}}$ pero ahora usando dos radios que son $r_i$ el radio interior, $r_e$ el radio exterior y la función $\: \mathrm{disk}(r_c)$ se escribe como \[\: \mathrm{disk}(r_c)=\left\{ \begin{array}{rcl} 0 & \mbox{si} & x\leq 1\\ & & \\ 0.5 & \mbox{si} & x=1\\ \end{array} \right. \] (en este caso se utilizó un radio interior de $r_i=3\times 10^{-4} \: \mathrm{cm}$ y un radio exterior de $r_e=5\times 10^{-4} \: \mathrm{cm}$) entonces la construcción del holograma $I$ es

Figura 7. Objeto en forma de anillo
Figura 8. Construcción del holograma


De igual forma, se considera que las normas de las funciones de las ondas es 1 y que el conjugado de la función $\Psi(x,y)$ es el mismo, entonces podemos expresar el holograma como:

$ I=2+(e^{-2i\pi f_0X})(\mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i))+(e^{2i\pi f_0X})(\mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i))$

factorizando queda como:

$ I=2+(\mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i))(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$

Etapa de reconstrucción

La etapa de reconstrucción incluye varios procesos e incorpora la aplicación de la Transformada de Fourier. A partir de esta transformación, el holograma se describe en el espacio de frecuencias, con el fin de grabar y reconstruir el frente de onda de interés. Consideremos que el grabado de la onda se escribe como

Si desarrollamos tenemos que

De aqui podemos llamar a $I_{\Sigma}(x,y)=|R(x,y)|^2+|\Psi(x,y)|^2$ entonces

Pero por la propiedad de que la Transformada de Fourier de un producto de funciones es la convolución de la Transformada de Fourier de las funciones, es decir, entonces

Para no escribir todas las transformadas de Fourier podemos llamar a cada uno de los términos de $\Psi_f$

  1. $\mathcal{F}\{I_{\Sigma}(x,y)\}=\widetilde{I}_{\Sigma}(f_x,f_y)$. Es la transformada de Fourier de la suma de los cuadrados de las normas de las funciones.
  2. $\mathcal{F}\{R(x,y)\}=\widetilde{R}(f_x,f_y)$. Es la transformada de Fourier de la función del frente de onda.
  3. $\mathcal{F}\{\overline{R}(x,y)\}=\widetilde{\overline{R}}(f_x,f_y)$. Es la transformada de Fourier del conjugado de la función del frente de onda.
  4. $\mathcal{F}\{\Psi(x,y)\}=\widetilde{\Psi}(f_x,f_y)$. Es la transformada de Fourier de la función que describe la onda que se quiere reconstruir.
  5. $\mathcal{F}\{\overline{\Psi}(x,y)\}=\widetilde{\overline{\Psi}}(f_x,f_y)$. Es la transformada de Fourier del conjugado de la función que describe la onda que se quiere reconstruir.

entonces podemos escribir el campo final como

Nota que toda la función $\Psi_f$ dependen de $f_x$ y $f_y$ que representan el espacio de frecuencias, entonces se va a omitir en cada una de las funciones la dependencia, ademas recordando "$\otimes$" es la convolución de las funciones, entonces se reescribe la función $\Psi_f$ como

La ecuación anterior se puede determinar numéricamente para cada uno de los ejemplos anteriores, ya teniendo las funciones $I$ de cada objeto entonces matemáticamente se puede expresar:

  • Para el circulo, tenemos que $I=2+\: \mathrm{circ}(r_c/R_c)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$ entonces para obtener el grabado de la onda aplicamos transformada de Fourier por tanto tenemos que:

Sustituyendo $I$ queda:

$\Psi_f=\mathcal{F}\{2+\: \mathrm{circ}(r_c/R_c)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})\}$ Como la transformada de Fourier es lineal, ademas de ya haber mencionado algunas propiedades se tiene $\Psi_f=\mathcal{F}\{2\}+\mathcal{F}\{\: \mathrm{circ}(r_c/R_c)\}\otimes[\mathcal{F}\{e^{-2i\pi f_0X}\}+\mathcal{F}\{e^{2i\pi f_0X})\}]$ Sabiendo que:

  1. $\mathcal{F}\{2\}=2\delta(f_x,f_y)$; donde $\delta(f_x,f_y)$ es la delta de Dirac en un espacio de frecuencias.
  2. $\mathcal{F}\{\: \mathrm{circ}(r_c/R_c)\}=\frac{J_1(2\pi\rho_c)}{\rho_c}$ donde $J_1$ es una función Bessel de primer tipo de orden 1 y $\rho_c=\: \mathrm{\sqrt{(\frac{f_x}{R_c})^2+(\frac{f_y}{R_c})^2}}$
  3. $\mathcal{F}\{e^{-2i\pi f_0X}\}+\mathcal{F}\{e^{2i\pi f_0X})\}=\delta(f_x+f_0)\delta(f_y)+\delta(f_x-f_0)\delta(f_y)$

entonces el grabado se escribe como

Recordando que $(f_x,f_y)$ es el espacio de frecuencias, por tanto gráficamente es

Figura 9. Grabación del objeto circular


  • De igual forma, al tener para el cuadrado que $I=2+\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$ entonces el grabado es

$\Psi_f=\mathcal{F}\{2+\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)(e^{-2i\pi f_0X}+e^{2i\pi f_0X})\}$ Recordando que la Transformada de Fourier es lineal y las propiedades, entonces se tiene $\Psi_f=\mathcal{F}\{2\}+\mathcal{F}\{\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)\}\otimes\mathcal{F}\{(e^{-2i\pi f_0X}+e^{2i\pi f_0X})\}$ Sabiendo por lo anterior que:

  1. $\mathcal{F}\{2\}=2\delta(f_x,f_y)$
  2. $\mathcal{F}\{\: \mathrm{rect}(X/2ax)\: \mathrm{rect}(Y/2bx)\}=\frac{1}{|4ab|}\: \mathrm{sinc}(\frac{f_x}{2a})\: \mathrm{sinc}(\frac{f_y}{2b})$
  3. $\mathcal{F}\{e^{-2i\pi f_0X}\}+\mathcal{F}\{e^{2i\pi f_0X})\}=\delta(f_x+f_0)\delta(f_y)+\delta(f_x-f_0)\delta(f_y)$

Entonces para el grabado del objeto cuadrado se escribe como $\Psi_f=2\delta(f_x,f_y)+[\frac{1}{|4ab|}\: \mathrm{sinc}(\frac{f_x}{2a})\: \mathrm{sinc}(\frac{f_y}{2b})]\otimes[\delta(f_x+f_0)\delta(f_y)+\delta(f_x-f_0)\delta(f_y)]$ entonces gráficamente es

Figura 10. Grabación del objeto cuadrado


  • Para el anillo se obtuvo que $I=2+(\mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i))(e^{-2i\pi f_0X}+e^{2i\pi f_0X})$, por tanto el grabado es

$\Psi_f=\mathcal{F}\{2+(\mathrm{disk}(r_c/r_e)-\: \mathrm{disk}(r_c/r_i))(e^{-2i\pi f_0X}+e^{2i\pi f_0X})\}$ gracias a la linealidad de la transformada de Fourier y a sus propiedades podemos escribir:

$\Psi_f=\mathcal{F}\{2\}+[\mathcal{F}\{\mathrm{disk}(r_c/r_e)\}-\mathcal{F}\{\: \mathrm{disk}(r_c/r_i)\}]\otimes[\mathcal{F}\{e^{-2i\pi f_0X}\}+\mathcal{F}\{e^{2i\pi f_0X}\}]$ Como el disco es finalmente dos circunferencias entonces las transformadas de Fourier son:

  1. $\mathcal{F}\{2\}=2\delta(f_x,f_y)$ recordando que la $\delta(f_x,f_y)$ es la delta de Dirac en un espacio de frecuencias.
  2. $\mathcal{F}\{\mathrm{disk}(r_c/r_e)\}=\frac{J_1(2\pi\rho_e)}{\rho_e}$ donde $J_1$ es una función Bessel de primer tipo de orden 1 y $\rho_e=\: \mathrm{\sqrt{(\frac{f_x}{r_e})^2+(\frac{f_y}{r_e})^2}}$
  3. $\mathcal{F}\{\: \mathrm{disk}(r_c/r_i)\}=\frac{J_1(2\pi\rho_i)}{\rho_i}$ donde $J_1$ es una función Bessel de primer tipo de orden 1 y $\rho_i=\: \mathrm{\sqrt{(\frac{f_x}{r_i})^2+(\frac{f_y}{r_i})^2}}$
  4. $\mathcal{F}\{e^{-2i\pi f_0X}\}+\mathcal{F}\{e^{2i\pi f_0X})\}=\delta(f_x+f_0)\delta(f_y)+\delta(f_x-f_0)\delta(f_y)$

entonces escribimos la función de grabación como

Esto graficamente es

Figura 11. Grabación del objeto en forma de anillo


Note que cada imagen contiene copias de una misma estructura, a esto se le denomina ordenes de difracción. Estos ordenes son visibles numéricamente si se coloca un filtro en el centro del campo final. Para reconstruir el objeto de interés, se aísla cualquiera de los órdenes de difracción a partir de un filtro oscuro que podemos definir con la función $G(f_x,f_y)=G$ de manera que el campo final filtrado en forma general queda descrito por:

Con este se tiene el campo final de cada objeto filtrado:

Figura 12. Grabación del objeto circular filtrado
Figura 14. Grabación del objeto en forma de anillo filtrado
Figura 13. Grabación del objeto cuadrado filtrado

Ya teniendo esta grabación con un filtro, $\Psi_{f-filtrado}$, podemos llamar a la Transformada de Fourier del grabado filtrado como la reconstruccion del frente de onda a la que le denominaremos $I_{Reconstruido}$ entonces

sustituyendo $\Psi_{f-filtrado}$ entonces el frente de onda reconstruido es

Por las propiedades de y entonces

Por tanto todo este resultado nos da como solución la reconstrucción del frente de onda, aquí se muestran la reconstrucción de cada uno de los objetos que se plantearon

Figura 15. Reconstrucción del frente de onda del objeto circular
Figura 17. Reconstrucción del frente de onda del objeto en forma de anillo
Figura 16. Reconstrucción del frente de onda del objeto cuadrado

Programación en Matlab

Los gráficos que se presentaron para la reconstrucción del frente de onda, fueron programados en la versión gratuita de Matlab que es Octave, pero funciona de igual manera.

Programar en Matlab suele ser difícil, ya que tiene la cualidad de funcionar vectorialmente, pero es una gran forma de graficar fenómenos físicos que algunas veces no son perceptibles ante el ojo humano. A continuación se explicara como obtener los gráficos anteriormente mostrados para la reconstrucción del frente de onda de los objetos seleccionados.

Antes de pasar a las funciones primero debemos establecer las dimensiones en las que se desean trabajar $(x,y)$, la cantidad de resultados que se desean mostrar $(N)$ y como van a estar distribuidas (Matrices de $N\times N$).

Para este caso se utilizo una $N=1024$, y para establecer la distribución de estos números se puede tomar el valor de la mínima escala de lo que su utiliza para medir, en este caso se utilizan los $\: \mathrm{cm}$ entonces su mínima escala es $W=0.01 \: \mathrm{cm}$, además se debe indicar como debe de estar divido todo el espacio, y eso se obtiene solo dividiendo la minima escala entre la cantidad de datos a mostrar, es decir, $Dx=W/N$ entonces el eje $x$ va a ir de $-W/2$ a $W/2-Dx$ en trozos de $Dx$ y el eje $y$ tambien se distribuye igual por tanto con estas distribuciones se colocan en una matriz en donde $x$ y $y$ son los vectores que componen esa matriz. Por tanto toda esta explicación en Matlab se escribe

       W=0.01; N=1024; Dx=W/N;
       x = -W/2:Dx:W/2-Dx; y=x;
       [X Y] = meshgrid(x,y);

en donde "la funcion meshgrid devuelve coordenadas de cuadrícula 2-D basadas en las coordenadas contenidas en los vectores $x$ y $y$. $X$ es una matriz en la que cada fila es una copia de $x$, y $Y$ es una matriz en la que cada columna es una copia de $y$. La cuadrícula representada por las coordenadas $X$ y $Y$ tiene length(y) filas y length(x) columnas."[3]

Construcción de la onda de referencia $R(x,y)$

Para la construcción de esta onda se necesitaron ciertas condiciones iniciales las cuales se habían mencionado en en la Etapa de detección por tanto esas condiciones se escriben tal cual en el editor como se muestra a continuación

      %Condiciones iniciales
      x0=2; %orden de difracción 
      f=0.2; %distancia del holograma al medio de grabación 
      lambda=500e-9; %longitud de onda0
      f0=x0./(lambda*f); %Distancia focal de la onda 
      k=2*pi/lambda; %numero de onda
      X0=x0*(ones(N,N)); 

entonces como ya se habia mencionado que $R(x,y)=e^{-2i\pi f_0X}$ entonces en el editor después de las condiciones iniciales se escribe

      %Reference Wave
      NR=1; %Norma del numero complejo R
      R=NR*exp(-1i*2*pi*f0*X); 
      RC=NR*exp(1i*2*pi*f0*X); %Conjugado de R

Ya con esto se puede proceder a trabajar con las funciones.

Funciones

Antes de empezar a graficar debemos comenzar con las funciones que describen las ondas de los objetos, para eso ya habíamos descrito cada una de ellas durante la etapa de detección. Cada una de estas funciones se deben escribir en distintas hojas de editor y se les colocara el nombre de las funciones.

  • Para el círculo se mencionó que la función es:

\[\: \mathrm{circ}(r_c)=\left\{ \begin{array}{rcl} 1 & \mbox{si} & r_c\leq 1\\ & & \\ 0 & \mbox{si} & r_c\geq 1 \\ \end{array} \right. \] entonces en Matlab se debe escribir lo siguiente en el editor del programa

   function f=circ(x)
            f=zeros(size(x));
            f(abs(x)<1)=1;
            f(abs(x)==1)=0.5;
   end

En la función, la parte f=zeros(size(x)) indica la parte oscura y f(abs(x)<1)=1 la apertura dependiendo el radio de la circunferencia de la Figura 3.

  • Para el cuadrado se mencionó que la función esta dada por:

\[\: \mathrm{rect}(x)=\left\{ \begin{array}{rcl} 1 & \mbox{si} & x\leq 0.5\\ & & \\ 0 & \mbox{si} & x\geq 0.5\\ \end{array} \right. \] por tanto en el editor de Matlab se escribe

   function f=rect(x)
            f=zeros(size(x));
            f(abs(x)<0.5)=1;
            f(abs(x)==0.5)=0.0;
   end

donde de igual forma f=zeros(size(x)) indica la parte oscura y f(abs(x)<0.5)=1 la parte blanca del cuadrado de la Figura 5.

  • Por ultimo el anillo, esta función se escribe

\[\: \mathrm{disk}(r_c)=\left\{ \begin{array}{rcl} 0 & \mbox{si} & x\leq 1\\ & & \\ 0.5 & \mbox{si} & x=1\\ \end{array} \right. \] entonces si se quiere escribir en el editor de Matlab, tenemos que

   function f=disk(x)
            f=ones(size(x));
            f(abs(x)<1)=0;
            f(abs(x)==1)=0.5;
   end

de tal manera que f=ones(size(x)) y f(abs(x)==1)=0.5 indica la parte blanca y f(abs(x)<1)=0 la parte oscura de la Figura 7.

Por tanto, ya teniendo estas funciones podemos empezar a colocar todas las condiciones iniciales enlistadas en la etapa de detección.

Función del frente de onda a detectar $\Psi(x,y)$

Para la programación de la función $\Psi(x,y)$ primero se deben establecer ciertas condiciones y que para cada figura tiene sus respectivas medidas.

  • Para el círculo se había mencionado que se utilizo un radio $R_c=3\times 10^{-4} \: \mathrm{cm}$. Si $r_c=\: \mathrm{\sqrt{x^2+y^2}}$ es la ecuación de la circunferencia entonces para obtener la Figura 3 en Matlab, después de establecer el "área de trabajo", colocamos lo siguiente
    rc = sqrt(X.^2 + Y.^2);
    Rc = 3e-4; %Radio del circulo
    Psi=circ(rc/Rc);
    figure
    imagesc(abs(Psi)) %Indica la representación de Psi
    pbaspect([1 1 1]) %Indica donde se quiere centrar
    title('Initial Opening') %Titulo del grafico
    colormap hot %Color en el que se quiere presentar

En la ecuación de la circunferencia se coloca "$.^$" porque como se había mencionado que $X$ y $Y$ son vectores, entonces esto indica que la multiplicación de vectores sea termino a termino, por tanto $\Psi(x,y)=\: \mathrm{circ}(r_c/R_c)$.

  • Para el cuadrado se utilizo una medida de $5\times 10^{-4}\: \mathrm{cm}$ de lado, recordando que para obtener el área del cuadrado es lado por lado entonces evaluamos en la función $\: \mathrm{rect}(x)$ en cada lado, entonces para obtener la Figura 5 en Matlab colocamos lo siguiente después del área trabajo
    ax = 5e-4;
    by = 5e-4;
    Psi= rect(X/(2*ax)).*rect(Y/(2*by));  %Objeto
    figure;
    imagesc(abs(Psi).^2) %Indica la representación de Psi
    pbaspect([1 1 1]) %Indica donde se quiere centrar
    title('Initial Opening') %Titulo del grafico
    colormap hot  %Color en el que se quiere presentar

Y de igual manera la multiplicación de vectores es de termino a termino por tanto la función $\Psi(x,y)=\: \mathrm{rect}(X/2ax): \mathrm{rect}(Y/2by)$

  • Para el anillo se utilizaron dos radios que uno indica el radio interno $r_i$ y otro el radio externo $r_e$, para cada uno se le dio un valor, para el radio interno de $r_i=3\times 10^{-4}\: \mathrm{cm}$ y para el radio externo $r_e=5\times 10^{-4}\: \mathrm{cm}$ entonces para que se tenga la Figura 7 introducimos lo siguiente en el editor después de establecer el área de trabajo
    r = sqrt(X.^2 + Y.^2);
    R = 5e-4; %Radio externo
    rm=3e-4; %Radio interno
    Psi1=disk(r/R);
    Psi2=disk(r/rm);
    Psi=Psi1-Psi2
    figure
    imagesc(abs(Psi))  %Indica la representación de Psi
    pbaspect([1 1 1]) %Indica donde se quiere centrar
    title('Initial Opening') %Titulo del grafico
    colormap hot  %Color en el que se quiere presentar

Construcción del holograma $I$

Para la construcción del holograma solo basto colocar la expresión que representa $I$, se menciono que

donde $|R(x,y)|$ y $|\Psi(x,y)|$ representan el valor de las normas de $R(x,y)$ y $\Psi(x,y)$ respectivamente y $\overline{R}(x,y)$ y $\overline{\Psi}(x,y)$ representan el conjugado de las mismas, por tanto en Matlab se escribe y se grafica con las siguientes líneas de código

    %Holograma
    I=abs(R).^2+abs(Psi).^2+(R.*Psi)+(RC.*Psi);
    figure
    imagesc(abs(I)) %Indica la representación de I
    pbaspect([1 1 1]) %Indica donde se quiere centrar
    title('Hologram') %Titulo del grafico
    colormap hot  %Color en el que se quiere presentar

donde la función abs(x) también se le considera como obtener la norma de x función y se mencionó que R es la onda de referencia y RC es el conjugado de la misma.

Propagación de ondas

Para la realización de las figuras mostradas en este proceso se utilizo un método que es la propagación de ondas, este método hace la utilización de dos funciones para poder construir las figuras mostradas anteriormente.

  1. . Se le conoce como función respuesta
  2. . Es la función de transferencia de una lente, por lo tanto teniendo estas funciones podemos proceder a propagar las ondas.

De aquí se tiene que $z=f$ es decir, es la mitad de la distancia a partir del holograma a donde se vera la reconstrucción del frente de onda, por lo tanto teniendo estas funciones podemos proceder a propagar las ondas.

Sea $U_1$ el resultado de propagar las ondas a la la mitad de la distancia a partir del holograma a donde se vera la reconstrucción del frente de onda, y que se describe como

como en Matlab no es muy conveniente usar la convolución, como se había mencionado que el programa es de sistema vectorial entonces es mejor aprovechar las propiedades de la Transformada de Fourier por tanto aplicamos transformada de Fourier y tenemos que queda como una multiplicación de transformadas

en Matlab usamos el comando fftshift(fft2(x)) para las transformada de Fourier entonces escribimos en Matlab las transformadas y el campo resultante de la siguiente manera

    F_h=fftshift(fft2((1/(1i*lambda*z))*exp(1i*k*z)*exp(1i*(k/(2*z))*(X.^2 + Y.^2)))); %Transformada de Fourier de h
    F_I=fftshift(fft2(I)); %Transformada de Fourier de I
    F_U1=F_I.*F_h; %Multiplicación de las transformadas 

Por consiguiente, para regresar al resultado de propagar las ondas a la mitad de la distancia, aplicamos transforma inversa de Fourier usando el comando fftshift(ifft2(f_x)), entonces se escribe después de lo anterior

    U1=fftshift(ifft2(F_U1)); %Onda antes de la lente 1
    figure
    imagesc(abs(U1)) %Indica la representación de U1
    pbaspect([1 1 1]) %Indica donde se quiere centrar
    title('Field before lens 1') %Titulo del grafico
    colormap hot  %Color en el que se quiere presentar

Ahora se va a obtener $U_2$, esta es solo cuando pasa la función de transferencia de la lente y se obtiene solo haciendo la multiplicación de $U_1$ con $t_L$, es decir

entonces esto en el programa se escribe como

   %Hacemos el producto del campo U1 con la función de transferencia de la lente 1
   tl = exp(-1i*(k/(2*z))*(X.^2 + Y.^2)); 
   U2 = U1.*tl;
   figure
   imagesc(abs(U2))  %Indica la representación de U2
   pbaspect([1 1 1]) %Indica donde se quiere centrar
   title('Field after lens 1') %Titulo del grafico
   colormap hot  %Color en el que se quiere presentar

Esto quiere decir que ya paso la función de transferencia de la lente, entonces si volvemos a propagar la onda la otra mitad de la distancia total tendremos el grabado del frente de onda en este caso

pero usando la transformada de Fourier tenemos que

entonces en el editor se escribe

   % Propagamos el campo resultante una distancia f
   F_U2 = fftshift(fft2(U2)); %Transformada de Fourier de U2
   F_Psi_f = F_U2.*F_h;  %Multiplicación de las transformadas 

teniendo esto aplicamos transformada inversa de Fourier y se grafica

  Psi_f = ifft2(fftshift(F_Psi_f)); 
  figure
  imagesc(abs(Psi_f))
  pbaspect([1 1 1])
  title('Final Field')
  colormap hot

hasta aqui con estas líneas de código se puede llegar a lo que corresponden las figuras 9, 10 y 11.

Ya solo falta la parte de reconstrucción, forzosamente se tenia que seguir este procedimiento ya que tal vez matemáticamente solo se tenia que hacer una o dos transformadas de Fourier, pero estamos hablando del comportamiento de una onda, entonces solo para la realización de las simulaciones se necesita utilizar el método de propagación.

Simulación de la reconstrucción del frente de onda

Ya que tenemos el grabado del frente de onda solo falta la reconstrucción, anteriormente se menciono que se había notado que cada imagen contiene copias de una misma estructura y a esto se le denominó ordenes de difracción y que la unica forma de de hacerlos visibles se tenia que colocar un filtro oscuro al que lo denomine $G$ y que pertence al espacio de frecuencias, para hacer este filtro en Matlab solo hizo una matriz de $N\times N$ de "1" en sus entradas en el que cubriera la mayor parte del espacio al que se le denomino filter y se programó de la siguiente forma:

   %Filtro
   filter=ones(N,N);
   filter(:,1:700)=0;

Entonces la grabación filtrada, que es $\Psi_{f-filtrado}$, se escribe como

  Psi_f_filtered=Phi_f.*filter; %Grabación filtrada
  figure
  imagesc(abs(Psi_f_filtered))
  pbaspect([1 1 1])
  title('Campo Filtrado')
  colormap hot

Hasta estas líneas de código se pueden obtener los que corresponden las figuras 12, 13 y 14.

Entonces por ultimo se vuelve a aplicar transformada de Fourier y esto es a lo que se le conoce como $I_{Reconstruido}$

   RF=fft2(fftshift(Phi_f_filtered)); %Reconstrucción del frente de onda
   figure
   imagesc(abs(RF))
   pbaspect([1 1 1])
   title('Rebuilt Field')
   colormap hot

y este ultimo son lo que corresponden a las figuras 15, 16 y 17

Referencias


Aportacion de: Alma (discusión) 00:47 2 jun 2021 (CDT)


  1. [1], Fotografia de Gabor
  2. 2,0 2,1 2,2 Introduction to Fourier Optics,W. Goodman Joseph, Third Edition, pag. 297-299
  3. [2], Ayuda de Matlab.