## Measuring Wavelengths With the Phasmatron Spectroscope

### Version 1.0 of 6/3/2004-8:10 a.m.

The following calculations assume you have read the analysis on Calculating the Deviation Angle For a Prism.

Suppose we can measure a1=N, and ä2=M. Then if the incidence angle at A is a1 then the emergence angle at B will be such that:

ä1=arcsin{sin(A)*sqrt(në2-sin2(a1))-cos(A)*sin(a1)} (1)

Similarly, tracing the ray backwards, if the incidence angle at D is ä2 then we have an emergence angle á2 at C, for which:

á2=arcsin{sin(A)*sqrt(në2-sin22))-cos(A)sin(ä2)} (2)

We also have: ä12=120° (3)

=>sin(ä1)=sin(120°-á2)

=>sin(ä1)=sin(120°)*cos(á2)-cos(120°)*sin(á2), and upon evaluating,

=>sin(ä1)=sqrt(3/2)*sqrt(1-sin22))+1/2*sin(á2), and upon substitution of (1) and (2) =>

sqrt(3/2)*sqrt(në2-sin22))-sin(ä2)/2=sqrt(3/2)*sqrt{1-(sqrt(3/2)*sqrt(në2-sin22))-sin(ä2)/2)2}+1/2{sqrt(3/2)*sqrt(në2-sin22))-sin(ä2)/2}.

Now consider f(n,N,M) defined as above. Namely: f(n,N,M) = sqrt(3/2)*sqrt(n-sin2(N))-sin(N)/2-sqrt(3/2)*sqrt{1-(sqrt(3/2)*sqrt(n-sin2(M))-sin(M)/2)2}-1/2{sqrt(3/2)*sqrt(n-sin2(M))-sin(M)/2}

This can be solved for n given the angles N, and M, using Newton's iteration as n(k+1)=nk-f(nk,N,M)/f'(nk,N,M), where f' is the function's derivative at nk.

Then having a convergence value n, we can interpolate as follows:

y=(n-në1){(ë1-ë2)/(në1-në2)}+ä1, where në1<n<në2 are the nearest refraction index bounds from the table for the SF10 crystal.

A Pascal program which calculates the wavelength given N and M follows:

program SolveEqu;
const
epsilon = 1e-5;
firstguess = 1.8;
var
i: integer;
xn, N, M, ac, x, x1, x2, y1, y2: real;
function f (x: real): real;
var
a, b, c: real;
begin
a := ac * Sqrt(Sqr(x) - Sqr(Sin(M))) - Sin(M) /2;
b := ac * Sqrt(1 - Sqr(ac * Sqrt(Sqr(x) - Sqr(Sin(N))) - sin(N) /2));
c := 0.5 * (ac * Sqrt(Sqr(x) - Sqr(Sin(N))) - sin(N) /2);
f := a - b - c;
end;
function df (x: real;
epsilon: real): real; {the function's derivative}
begin
df := (f(x + epsilon) - f(x)) /epsilon;
end;
begin
write('Enter entrance Angle:');
write('Enter exit Angle:');
xn := firstguess;
ac := Sqrt(3) /2;
N := pi * N /180;
M := pi * M /180;
for i := 1 to 5 do   {Newton iteration}
xn := xn - f(xn) /df(xn, epsilon);
write('After ', i - 1 : 1, ' iterations, the equation converges to:');
writeln(xn : 3 : 8);
if (1.70889 < xn) and (xn <= 1.71682) then
begin
x1 := 7067.217;
y1 := 1.71682;
x2 := 8521.1;
y2 := 1.70889;
end
else if (1.71682 < xn) and (xn <= 1.72085) then
begin
x1 := 6562.8;
y1 := 1.72085;
x2 := 7067.217;
y2 := 1.71682;
end
else if (1.72085 < xn) and (xn <= 1.72200) then
begin
x1 := 6438.4696;
y1 := 1.72200;
x2 := 6562.8;
y2 := 1.72085;
end
else if (1.72200 < xn) and (xn <= 1.72309) then
begin
x1 := 6328;
y1 := 1.72309;
x2 := 6438.4696;
y2 := 1.72200;
end
else if (1.72309 < xn) and (xn <= 1.72803) then
begin
x1 := 5892.938;
y1 := 1.72803;
x2 := 6328;
y2 := 1.72309;
end
else if (1.72803 < xn) and (xn <= 1.72825) then
begin
x1 := 5875.618;
y1 := 1.72825;
x2 := 5892.938;
y2 := 1.72803;
end
else if (1.72825 < xn) and (xn <= 1.73430) then
begin
x1 := 5460.74;
y1 := 1.73430;
x2 := 5875.618;
y2 := 1.72825;
end
else if (1.73430 < xn) and (xn <= 1.74648) then
begin
x1 := 4861.327;
y1 := 1.74648;
x2 := 5460.74;
y2 := 1.73430;
end
else if (1.74648 < xn) and (xn <= 1.74805) then
begin
x1 := 4799.9107;
y1 := 1.74805;
x2 := 4861.327;
y2 := 1.74648;
end
else if (1.74805 < xn) and (xn <= 1.76197) then
begin
x1 := 4358.35;
y1 := 1.76197;
x2 := 4799.9107;
y2 := 1.74805;
end
else if (1.76197 < xn) and (xn <= 1.77578) then
begin
x1 := 4046.561;
y1 := 1.77578;
x2 := 4358.35;
y2 := 1.76197;
end
else
writeln('refraction index out of bounds.');
if (1.70889 <= xn) and (xn <= 1.77578) then
begin
x := (xn - y1) * (x1 - x2) /(y1 - y2) + x1;
writeln('Estimated wavelength:', x : 3 : 8);
end;
end.

Using the Phasmatron spectroscope,

1. Rotate the viewing telescope until the line desired is centered in your field of view.