Create a Hologram with Matlab?

In summary: This is the principle behind digital holography.In summary, the conversation discusses using Matlab to create a hologram of an object by mathematically modeling its phase and amplitude. The process involves multiplying the object with a plane wave and propagating the wave using the Angular spectrum method. The result is a field that resembles Fresnel or Fraunhoffer diffraction patterns. To create a hologram, the object field is combined with a reference beam to produce interference. The interference is determined by finding the intensity of the superimposed fields and is recorded on photographic film. The resulting amplitude transmittance includes a term that reconstructs the object field, allowing for the creation of a hologram.
  • #1
jordanleeburg
1
0
Create a Hologram with Matlab??!

Hi,

I have been given a task to mathematically create a hologram of an object so that I can try various reconstruction procedures to obtain the objects field. For simplicity I am assuming the object is a 1*1 pixel in a 256*256 matrix (x,y plane) and it is assigned the value exp(-i*thi(x)) so that it is a 'phase' object and only alters the phase of the wavefront and not the amplitude (I am modelling this case as I am using a digital holographic microscope to measure refractive index distributions of biological cells).

I am then multiplying the 'object' with a plane wave and then propagate the wave a distance z along the z axis by using the Angular spectrum method from Fourier Optics. This is not necessarily needed for a plane wave but as ultimately I would like to model Gaussian waves (whiich have curved phase surfaces so by taking the F.T we end up with a superposition of plane waves which we can propagate easily) I thought this would be a good method. I take the Fourier Transform of the initial field on z=0 and then multiply the spectrum by the transfer function (F.T of impulse response) for steps of dz and then do an iterative loop over each step dz until the wave has propagated to distance z.

So I end up with a field at Z which either resembles Fresnel or Fraunhoffer diffraction patterns depending on my input. I now need to combine this 'object' field with a reference beam so that constructive/deconstructive interference occurs and I end up with a hologram of the object.

Firstly I am not even sure if the above propagtion method is correct for calculating a hologram? I also am struggling to grasp how I can 'interfere' with a reference beam. In my model the initial plane wave is modeled as Planewave=1 as on the z=0 plane there will be a constant phase and amplitude. So the hologram is given by

Hologram=Mod(O+R)=Mod(O +1) where O=the object field which has both amplitude and phase.

I can't see how simply adding 1 to every component of my object matrix could cause 'interference' to occur? Have I majorly misunderstood something??

Please can someone help me as I have spent so long on this and am getting no where. Ideally, I would like to interfere the object wave with a plane wave which is traveling at an angle theta to the z axis. This results in an off-axis hologram. Could I do this with my above method or would I have to try a different way?

Thanks!
 
Physics news on Phys.org
  • #2


It is not the superposition of the fields (the addition process [tex]O+R[/tex]) that results in interference, but the determination of the intensity of the superimposed fields (finding the modulus squared of the total field [tex]\lvert O+R \rvert^2[/tex]). Let

[tex]O(x,y) = o(x,y) \exp [i \phi(x,y)][/tex]

where [tex]o(x,y)[/tex] and [tex]\phi(x,y)[/tex] are real-valued functions describing the amplitude and phase of the object field and [tex]i = \sqrt{-1}[/tex]. Similarly, let

[tex]R(x,y) = r(x,y) \exp [i \psi(x,y)][/tex]

where [tex]r(x,y)[/tex] and [tex]\psi(x,y)[/tex] are the amplitude and phase of the reference field. Then the intensity of the superposition of the object and reference fields is given by

[tex]I(x,y) = \lvert O(x,y) + R(x,y) \rvert^2 = (O + R)(O + R)^*[/tex]

where the complex conjugate [tex]z^*[/tex] of a complex number [tex]z = a + b i = r \exp (i \psi)[/tex] is given by [tex]z^* = a - b i = r \exp (-i \psi)[/tex]. Then we have

[tex]I(x,y) = O O^* + O R^* + R O^* + R R^* = \lvert O \rvert^2 + \lvert R \rvert^2 + o r \exp [i (\phi - \psi)] + o r \exp[i (\psi - \phi)] = \lvert O \rvert^2 + \lvert R \rvert^2 + 2 o r \cos (\psi - \phi) [/tex]

Notice that the phase difference [tex]\psi - \phi[/tex] between the reference and object fields has been encoded as an intensity distribution [tex]2 o(x,y) r(x,y) \cos [\psi(x,y) - \phi(x,y)] [/tex]. This is the interference of the object and reference fields.

Now suppose the intensity distribution is recorded on photographic film. Then the amplitude transmittance of the developed film is

[tex]t_A (x,y) = I(x,y) = \lvert O \rvert^2 + \lvert R \rvert^2 + o r \exp [i (\phi - \psi)] + o r \exp[i (\psi - \phi)][/tex]

I leave it as an exercise for the reader to show that, if the reference wave [tex]R(x,y)[/tex] is used to illuminate the developed film, thereby producing a transmitted field [tex] t_A (x,y) R(x,y) [/tex], then the transmitted field has a term [tex]\lvert R \rvert^2 o(x,y) \exp [i \phi(x,y)] = \lvert R \rvert^2 O(x,y)[/tex], that is, the transmitted field includes a term that reconstructs the amplitude and phase of the object field.
 

What is a hologram?

A hologram is a three-dimensional image created through the interference of light waves. It appears to be a solid object, but it is actually a projection of light.

How can I create a hologram using Matlab?

To create a hologram using Matlab, you will need to use the built-in functions for manipulating images and matrices. These functions will allow you to generate the necessary interference patterns to create a hologram.

What equipment do I need to create a hologram with Matlab?

You will need a computer with Matlab installed, a digital camera, a laser, and a diffuser or holographic film. You may also need a tripod or other stabilizing equipment for the camera.

Can I use any image to create a hologram with Matlab?

Yes, you can use any image to create a hologram with Matlab. However, the quality of the hologram will depend on the resolution and contrast of the image. High-resolution, high-contrast images will produce better holograms.

What are some applications of holograms created with Matlab?

Holograms created with Matlab can be used for security purposes, such as creating holographic IDs or banknotes. They can also be used for artistic purposes, such as creating 3D art installations or holographic displays. Additionally, holograms can be used in medical imaging and virtual reality technologies.

Similar threads

  • Other Physics Topics
Replies
33
Views
6K
Replies
3
Views
972
Replies
7
Views
755
Replies
1
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
8
Views
1K
  • Mechanics
Replies
6
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
738
  • MATLAB, Maple, Mathematica, LaTeX
Replies
12
Views
3K
Back
Top