1
$\begingroup$

I have a periodic phase grating consisting of lenslets along the x-direction, invariant in y. I want to use python to calculate the far-field (Fraunhofer) diffraction pattern that one gets when shining a monochromatic light source at normal incidence (along z) through the grating. For this, I defined a complex amplitude transmission function and took the discrete Fourier transform (DFT) thereof.

However, I am not sure how to interpret this output (I know its supposed to be the spatial frequencies $k_x$ of my phase grating), and especially how to make the connection to the actual light intensity pattern on a screen a certain distance away from the grating (e.g., separation between maxima).

My code so far:

import numpy as np
import matplotlib.pyplot as plt

w = 43*10**-6 # width of a single lens
R = (140/3)*10**-6 # Radius of a single lens
lam = 532*10**-9 # wavelength
k0 = 2*np.pi/lam # wavenumber of free space
n = 1.5 # refractive index of the phase grating
a = (n-1)*k0/(2.*R)

delta_x = 0.5*10**-6 # spatial sampling
x = np.linspace((-w/2), w/2, np.round(w/delta_x)) # 1 grating element
N = 10 # number of considered grating period

def t_element(x): # amplitude transmission function for 1 grating element
    return np.exp(1j*a*x**2)

gratingtransmission = np.tile(t_element(x), N) # repeated transmission function

fftfreqs = np.fft.fftshift(np.fft.fftfreq(len(gratingtransmission), d = delta_x))

plt.plot(fftfreqs, np.abs(np.fft.fftshift(np.fft.fft(gratingtransmission))))
plt.show()

DFT spectrum of the grating's complex amplitude transmission function

Edit: I think I understand now that the intensity $I(x')$ at a point $x'$ will be proportional to $|\mathcal{F(t_g(x))}|$ evaluated at $k_x = x'/d\lambda$, where $d$ is the distance from the screen. Is this correct? However, this would still suggest that the highest intensity peaks are quite far from the center (c.f. attached DFT spectrum plot), which contradicts what I see in reality. So there must be some angle-dependent intensity-decreasing factor to be taken into account. What would be the proper way to account for this?

$\endgroup$
4
  • 1
    $\begingroup$ Good grief, why on earth are you using *10**-6? Just use scientific notation, e-6... $\endgroup$
    – Kyle Kanos
    Commented Jan 18, 2019 at 12:56
  • $\begingroup$ I appreciate the styling tipps, but could you also provide help beyond that? $\endgroup$
    – CDT
    Commented Jan 19, 2019 at 8:04
  • $\begingroup$ Have you tried increasing the number of points sent into the FFT, i.e., increase the spatial sampling resolution? Or decreasing it? I ask because sometimes the output of an FFT is misleading since the results arise not because of anything physical but because of poor sampling (e.g., aliasing or harmonics from discretization). $\endgroup$ Commented Jan 22, 2019 at 15:14
  • $\begingroup$ Yes, I did increase the spatial sampling resolution until it had no more effect on the FFT output. $\endgroup$
    – CDT
    Commented Jan 23, 2019 at 18:05

0