So far we looked at the interference of two waves, which was a simplification as I mentioned already earlier. Commonly there will be a multitude of partial waves contribute to the oberved intereference. This is what we would like to have a look at now. We will do that in a quite general fashion, as the resulting formulas will appear several times again for different problems.
Nevertheless we will make a difference between
multiwave interference of waves with the constant amplitude
multiwave interference of waves with decreasing amplitude
Especially the latter is often occuring, if we have multiple reflections and each reflection is only a fraction of the incident amplitude.
Multiple Wave Interference with Constant Amplitude
In the case of constant amplitude (for example realized by a grating, which we talk about later), the total wave amplitude is given according to the picture below by
where we sum the amplitude over partial waves. Between the neighboring waves (e.g. and ), we will assume a phase difference (because of a path length difference for example), which we denote as .
The amplitude of the p-th wave is then given by
with the index being an interger , and as the amplitude of each individual wave. The total amplitude can be then expressed as
which is a geometric sum. We can apply the sum formula for geometric sums to obtain
We now have to calculate the intensity of the total amplitude
which we can further simplify to give
Code
# ParametersM =6# number of phasorsphi = np.pi/8# example phase difference between successive phasorsdef plot_angle(ax, pos, angle, length=0.95, acol="C0", **kwargs): vec2 = np.array([np.cos(np.deg2rad(angle)), np.sin(np.deg2rad(angle))]) xy = np.c_[[length, 0], [0, 0], vec2*length].T + np.array(pos) ax.plot(*xy.T, color=acol)return AngleAnnotation(pos, xy[0], xy[2], ax=ax, **kwargs)# Calculate phasor positionsdef calculate_phasors(phi, M):# Initialize arrays for arrow start and end points x_start = np.zeros(M) y_start = np.zeros(M) x_end = np.zeros(M) y_end = np.zeros(M)# Running sum of phasors x_sum =0 y_sum =0for i inrange(M):# Current phasor x = np.cos(i * phi) y = np.sin(i * phi)# Store start point (end of previous phasor) x_start[i] = x_sum y_start[i] = y_sum# Add current phasor x_sum += x y_sum += y# Store end point x_end[i] = x_sum y_end[i] = y_sumreturn x_start, y_start, x_end, y_endx_start, y_start, x_end, y_end = calculate_phasors(phi, M)plt.figure(figsize=get_size(6, 6))ax = plt.gca()for i inrange(M): plt.arrow(x_start[i], y_start[i], x_end[i]-x_start[i], y_end[i]-y_start[i], head_width=0.15, head_length=0.2, fc='k', ec='k', length_includes_head=True, label=f'E{i+1}'if i ==0else"")plt.arrow(0, 0, x_end[-1], y_end[-1], head_width=0.15, head_length=0.2, fc='r', ec='r', length_includes_head=True, label='Resultant')ax.set_aspect('equal')xx = np.linspace(-1, 3, 100)ax.plot(xx,(xx-1)*np.tan(phi),'k--',lw=0.5)ax.plot([1,3],[0,0],'k--',lw=0.5)kw =dict(size=195, unit="points", text=r"$\Delta \phi$")plot_angle(ax, (1.0, 0), phi*180/np.pi, textposition="inside", **kw)plt.axis('off')max_range =max(abs(x_end[-1]), abs(y_end[-1])) *1.2plt.xlim(-0, max_range/1.5)plt.ylim(-0.1, max_range/1.)plt.show()# ParametersM =6phi = np.linspace(-4*np.pi, 4*np.pi, 10000) # increased resolutionI0 =1def multiple_beam_pattern(phi, M): numerator = np.sin(M * phi/2)**2 denominator = np.sin(phi/2)**2 I = np.where(denominator !=0, numerator/denominator, M**2)return II = I0 * multiple_beam_pattern(phi, M)first_min =2*np.pi/M # theoretical valuedef find_nearest(array, value): array = np.asarray(array) idx = (np.abs(array - value)).argmin()return array[idx], idxhalf_max = M**2/2phi_positive = phi[phi >=0] # only positive valuesI_positive = I[phi >=0]_, idx_half = find_nearest(I_positive, half_max)half_width = phi_positive[idx_half]# Create plotplt.figure(figsize=get_size(10, 6))plt.plot(phi/np.pi, I, 'b-', label=f'M={M}')#plt.plot(first_min/np.pi, multiple_beam_pattern(first_min, M), 'ro')#plt.annotate(f'First minimum\nφ = 2π/M = {first_min/np.pi:.2f}π',plt.axvline(x=first_min/np.pi, color='r', linestyle='--', label=f'φ = 2π/M = {first_min/np.pi:.2f}π')#plt.plot(half_width/np.pi, half_max, 'go')plt.xlabel(r'phase $\Delta \phi/\pi$')plt.ylabel('intensity I/I₀')plt.title(f'Multiple Beam Interference Pattern (M={M})')plt.ylim(0, M**2+15)plt.legend()plt.show()
Multiple wave interference of waves with a phase difference of . The black arrows represent the individual waves, the red arrow the sum of all waves.
Figure 1— Multiple beam interference pattern for M=6 beams. The intensity distribution is shown as a function of the phase shift . The first minimum is at . The intensity distribution is symmetric around .
The result is therefore an oscillating function. The numerator shows and oscillation frequency, which is by a factor of higher than the one in the denominator . Therefore the intensity pattern is oscillating rapidly and creating a first minimum at
This is an important result, since it shows that the number of sources determines the position of the first minimum and the interference peak gets narrower with increasing . Since the phase difference between neighboring sources is the same as for the double slit experiment, i.e. , we can also determine the angular position of the first minimum. This is given by
This again has the common feature that it scales as . A special situation occurs, whenever the numerator and the denominator become zero. This will happen whenever
where is an integer and denotes the interference order, i.e. the number of wavelength that neighboring partial waves have as path length difference. In this case, the intensity distributiion will give us
and we have to determine the limit with the help of l’Hospitals rule. The outcome of this calculation is, that
which can be also realized when using the small angle approximation for the sine functions.
Wavevector Representation
We would like to introduce a different representation of the multiple wave interference of the grating, which is quite insightful. The first order () constructive interference condition is given by
which also means that
This can be written as
where is the magnitude of the wavevector of the light and is the wavevector magnitude that corresponds to the grating period . As the magnitude of the wavevector of the light is conserved, the wavevectors of the incident light and the light traveling along the direction of the first interence peak form the sides of an equilateral triangle. This is shown in the following figure.
Wavevector summation for the diffraction grating. The wavevector of the incident light and the wavevector of the light traveling along the direction of the first interference peak form an equilateral triangle.
This means that the diffraction grating is providing a wavevector to alter the direction of the incident light. This is again a common feature reappearing in many situations as for example in the X-ray diffraction of crystals.
Multiple Wave Interference with Decreasing Amplitude
We will turn our attention now to a slight modification of the previous multiwave interference. We will introduce a decreasing amplitude of the individual waves. The first wave shall have an amplitude . The next wave, however, will not only be phase shifted but also have a smaller amplitude.
where with . can be regarded as a reflection coefficient, which deminishes the amplitude of the incident wave. According to that the intensity is reduced by
The intensity of the incident wave is multiplied by a factor , while the amplitude is multiplied by . Note that the phase factor is removed when taking the square of this complex number.
Intensity at Boundaries
The amplitude of the reflected wave is diminished by a factor , which is called the reflection coefficient. The intensity is diminished by a factor , which is the reflectance.
In the absence of absorption, reflectance and transmittance add to one due to energy conservation.
Consequently, the third wave would be now . The total amplitude is thus
Code
M =18# number of phasorsphi = np.pi/6# example phase difference between successive phasorsr =0.95# reduction factor for each subsequent phasordef plot_angle(ax, pos, angle, length=0.95, acol="C0", **kwargs): vec2 = np.array([np.cos(np.deg2rad(angle)), np.sin(np.deg2rad(angle))]) xy = np.c_[[length, 0], [0, 0], vec2*length].T + np.array(pos) ax.plot(*xy.T, color=acol)return AngleAnnotation(pos, xy[0], xy[2], ax=ax, **kwargs)def calculate_phasors(phi, M, r): x_start = np.zeros(M) y_start = np.zeros(M) x_end = np.zeros(M) y_end = np.zeros(M) x_sum =0 y_sum =0for i inrange(M): amplitude = r**i # exponential decrease x = amplitude * np.cos(i * phi) y = amplitude * np.sin(i * phi) x_start[i] = x_sum y_start[i] = y_sum x_sum += x y_sum += y x_end[i] = x_sum y_end[i] = y_sumreturn x_start, y_start, x_end, y_endx_start, y_start, x_end, y_end = calculate_phasors(phi, M, r)plt.figure(figsize=get_size(6, 6),dpi=150)ax = plt.gca()for i inrange(M): plt.arrow(x_start[i], y_start[i], x_end[i]-x_start[i], y_end[i]-y_start[i], head_width=0.15, head_length=0.2, fc='k', ec='k', length_includes_head=True, label=f'E{i+1}'if i ==0else"")plt.arrow(0, 0, x_end[-1], y_end[-1], head_width=0.15, head_length=0.2, fc='r', ec='r', length_includes_head=True, label='Resultant')ax.set_aspect('equal')xx = np.linspace(-1, 3, 100)ax.plot(xx,(xx-1)*np.tan(phi),'k--',lw=0.5)ax.plot([1,3],[0,0],'k--',lw=0.5)kw =dict(size=195, unit="points", text=r"$\phi$")plot_angle(ax, (1.0, 0), phi*180/np.pi, textposition="inside", **kw)plt.axis('off')max_range =max(abs(x_end[-1]), abs(y_end[-1])) *1.2plt.xlim(-max_range/1.8, max_range/0.8)plt.ylim(-0.1, max_range/0.9)plt.show()import numpy as npimport matplotlib.pyplot as plt# Create phase array from -2π to 2πphi = np.linspace(-2*np.pi, 2*np.pi, 1000)def calculate_intensity(phi, F):return1/(1+4*(F/np.pi)**2* np.sin(phi/2)**2)plt.figure(figsize=get_size(10, 6))finesse_values = [1, 4, 20]styles = ['-', '--', ':']for F, style inzip(finesse_values, styles): I = calculate_intensity(phi, F) plt.plot(phi/np.pi, I, style, label=f'$\\mathcal{{F}}={F}$')plt.xlabel('Phase $\\phi/\\pi$')plt.ylabel('$I/I_{\\mathrm{max}}$')plt.grid(True, alpha=0.3)plt.legend()plt.ylim(0, 1.1)plt.show()
Phase construction of a multiwave intereference with M waves with decreasing amplitude due to a reflection coefficient .
Multiple wave interference with decreasing amplitude. The graph shows the intensity distribution over the phase angle for different values of the Finesse .
This yields again
Calculating the intensity of the waves is giving
which is also known as the Airy function. This function can be further simplified by the following abbrevations
and
where the latter is called the Finesse. With those abbrevations, we obtain
for the interference of multiple waves with decreasing amplitude.
This intensity distribution has a different shape than the one we obtained for multiple waves with the same amplitude.
We clearly observe that with increasing Finesse the intensity maxima, which occur at multiples fo get much narrower. In addition the regions between the maxima show better contrast and fopr higher Finesse we get complete destructive interference.