Daigo Tomono
January 22, 2003
Postscript version (sampling.ps.gz) and source tar ball (sampling.tar.gz) are also available.
With the following parameters:
Equation 3 has peaks at
for the
th
order of diffraction. Following the definition of
,
| (5) |
When the direction of the collimated light spreads from
to
,
Equation 3 has to be integrated from
to
and profile of the spectra can be assessed.
Figure 2 shows results from numerical integration of
Equation 16 for different
. For
smaller than
, width of the spectra is comparable with that
for
. On the other hand, for
, the profile
gets half of the center at
.
|
Here we define the critical angular half width of the entrance slit
corresponding to
as
For
larger than
, half width of the
slit image corresponds to
From Equation 17, change of
corresponds to change of
as
In the case, spectral resolution is estimated comparing half width of
the slit image (Equation 21) with dispersion of the
spectrograph. Following the definition of spectral resolution in Section
2.2, we define a spectral element of the spectrograph to
be the wavelength difference
corresponding to the full
width of the slit image
. From Equation 4,
spectral resolution of the spectrograph becomes
| (23) |
| (24) |
| (25) |
| (26) |
| (27) |
| (28) |
From Equation 7, central incident angle
and
central emergent angle
can be calculated. Selection of
and
from the solutions is rather arbitrary but
might affect performance of the spectrograph (Tomono, 2002).
| (29) |
| (30) |
| (31) |
| (32) |
Along the spatial direction, focal lengths of the collimator and the
camera can be defined independently. Nevertheless, it is practically
easier to make the focal length same for both of the directions. In this
case, spatial magnification
of the spectrograph is
| (33) |
| (34) |
From above parameters, Sizes of the collimated beam in the dispersion
direction
and the spatial direction
are
| (35) |
| (36) |
| (37) |
| (38) |
On the other direction, widths of the optics are
| (39) |
| Item | Parameter |
| Primary wavelength | 2.2 |
| Spectral resolution | 0.00055 |
| Slit width | 116.4 |
| Slit image width | 37.0 |
| Input focal ratio | 15.00 |
| Collimator focal length | 1145.8839 mm |
| Collimator beam width | 76.39 mm |
| Grating groove interval | 11.00 |
| Grating width | 77.57 mm |
| Primary incident angle | -9.9977 |
| Primary emergent angle | 35.0023 |
| Camera focal length | 303.0778 mm |
| Monochromatic camera focal ratio | 4.77 |
| Monochromatic cemera beam width | 63.54 mm |
| Spatial magnification | 0.2645 |
#!/usr/bin/ruby
=begin
= grating.rb
calculates geometries of a spectrograph as described in
tomono:~/Presen02/030120_Grating/sampling.tex
(C) 2003 Daigo Tomono <tomono at mpe.mpg.de>
Permission is granted for use, copying, modification, distribution,
and distribution of modified versions of this work as long as the
above copyright notice is included.
== Methods and Classes
=== Usefule functions
=end
=begin
--- Math.asin (x)
returns arcsin of x in radians
=end
module Math
def Math.asin (x)
Math.atan2 (x, Math.sqrt(1-x*x))
end
end
=begin
--- Numeric#to_rad
returns the receiver (in degrees) converted into radians
--- Numeric#to_deg
returns the receiver (in radians) converted into radians
=end
class Numeric
def to_rad
self*Math::PI/180.0
end
def to_deg
self*180.0/Math::PI
end
end
=begin
=== class GratingSpectrograph
GratingSpectrograph class is used to describe a spectrograph with a
collimator, a grating, and a camera.
--- GratingSpectrograph.new (delta, w, i, l0, dl, m, fratio_l, d = l0*5., flip = false)
spectrograph with the following parameters:
* delta: Difference of central incident angle and central emergent angle
(radians)
* w: Entrance slit width
* i: Slit image width on the detector
* l0: Primary wavelength
* dl: Width of a spectral element
* m: Diffraction order
* fratio_l: Focal ratio of the incident light in the dispersion direction
* d: Grating groove interval
When flip is false, |alpha_0| < |beta_0|, otherwise, |alpha_0| >
|beta_0|.
--- GratingSpectrograph#delta
the parameter delta, other parameters can also be read in the same
manner.
--- GratingSpectrograph#alpha_0
primary incident angle in radians
--- GratingSpectrograph#beta_0
primary emergent angle in radians
--- GratingSpectrograph#f_col
the collimator focal length in the dispersion direction.
--- GratingSpectrograph#f_cam
the camera focal length in the dispersion direction.
--- GratingSpectrograph#m_lambda
the magnification in the dispersion direction.
--- GratingSpectrograph#m_x
the magnification in the spatial direction assuming the focal
lengths in the spatial direction is the same as those for in the
spectral direction.
--- GratingSpectrograph#width
Beam width in the spatial direction assuming the focal length of
the collimator and the focal ratio of the incident light is the
same in the spectral direction.
--- GratingSpectrograph#width_col
Collimator beam width in the dispersion direction.
--- GratingSpectrograph#width_gra
Grating width in the dispersion direction.
--- GratingSpectrograph#width_cam
Camera beam width in the dispersion direction.
--- GratingSpectrograph#fratio_cam
Camera focal ratio in the dispersion direction.
--- GratingSpectrograph#to_s
Formats the input and derived parameters in a fancy way assuming
that the input length parameters are in microns.
=end
class GratingSpectrograph
attr_reader :delta, :w, :i, :l0, :dl, :m, :fratio_l, :d, :flip
attr_reader :alpha_0, :beta_0, :f_col, :f_cam, :m_lambda, :m_x
attr_reader :width, :width_col, :width_gra, :width_cam
def initialize (delta, w, i, l0, dl, m, fratio_l, d = nil, flip = false)
# input parameters
@delta = delta.to_f
@w = w.to_f
@i = i.to_f
@l0 = l0.to_f
@dl = dl.to_f
@m = m.to_f
@fratio_l = fratio_l.to_f
@d = d ? d.to_f : @l0 * 5.0
@flip = flip
# derivations
ab = alphabeta
unless flip then
@alpha_0, @beta_0 = ab
else
@alpha_0, @beta_0 = ab.reverse
end
@cos_alpha_0 = Math.cos (@alpha_0)
@cos_beta_0 = Math.cos (@beta_0)
@f_col = @w*@d*@cos_alpha_0 / (@m*@dl)
@f_cam = @i*@d*@cos_beta_0 / (@m*@dl)
@m_lambda = @i/@w
@m_x = @i*@cos_beta_0 / (@w*@cos_alpha_0)
@width = @f_col/@fratio_l # assuming f and F are same for both directions
@width_col = @w*@d*@cos_alpha_0 / (@fratio_l*@m*@dl)
@width_gra = @w*@d / (@fratio_l*@m*@dl)
@width_cam = @w*@d*@cos_beta_0 / (@fratio_l*@m*@dl)
@fratio_cam = @i*@fratio_l / @w
end
def to_s
"\
== Grating spectrograph for #{@l0} um with #{@dl} um resolution
: Entrance slit and Collimator
* #{'%.1f' % @w} um wide slit
* #{'%.2f' % @fratio_l} focal ratio
* #{'%.3f' % (@f_col/1000)} mm focal length
* #{'%.2f' % (@width_col/1000)} mm wide
: Grating
* #{'%.2f' % @d} um groove
* #{'%.2f' % (@width_gra/1000)} mm wide
* #{'%.3f' % @alpha_0.to_deg} deg primary incident angle
* #{'%.3f' % @beta_0.to_deg} deg primary emergent angle
: Camera
* #{'%.1f' % @i} um wide slit image
* #{'%.2f' % @fratio_cam} focal ratio
* #{'%.3f' % (@f_cam/1000)} mm focal length
* #{'%.2f' % (@width_cam/1000)} mm wide
* #{'%.3f' % (@m_x)} spatial magnification
* #{'%.3f' % (@m_lambda)} spectral magnification
"
end
def to_TeX
"\
\\begin{tabular}{cc}
\\hline
Item & Parameter \\\\
\\hline
\\hline
Primary wavelength & #{@l0} $\\mu$m \\\\
Spectral resolution & #{@dl} $\\mu$m \\\\
Slit width & #{'%.1f' % @w} $\\mu$m \\\\
Slit image width & #{'%.1f' % @i} $\\mu$m \\\\
Input focal ratio & #{'%.2f' % @fratio_l} \\\\
Collimator focal length & #{'%.4f' % (@f_col/1000)} mm \\\\
Collimator beam width & #{'%.2f' % (@width_col/1000)} mm \\\\
Grating groove interval & #{'%.2f' % @d} $\\mu$m \\\\
Grating width & #{'%.2f' % (@width_gra/1000)} mm \\\\
Primary incident angle & #{'%.4f' % @alpha_0.to_deg}$^{\\circ}$ \\\\
Primary emergent angle & #{'%.4f' % @beta_0.to_deg}$^{\\circ}$ \\\\
Camera focal length & #{'%.4f' % (@f_cam/1000)} mm \\\\
Monochromatic camera focal ratio & #{'%.2f' % @fratio_cam} \\\\
Monochromatic cemera beam width & #{'%.2f' % (@width_cam/1000)} mm \\\\
Spatial magnification & #{'%.4f' % (@m_x)} \\\\
\\hline
\\end{tabular}
"
end
private
=begin
==== Private methods
--- GratingSpectrograph#alphabeta
Returns an array [alpha_0, beta_0] calculated from Delta with
|alpha_0| always less than |beta_0|.
=end
def alphabeta
x = @m * @l0 / @d # \frac{m\lambda_0}{d}
c = 1.0 + Math.cos (delta)
k1 = x/2.0
k2 = Math.sin (delta) * Math.sqrt (2.0*c - x*x) / (2.0*c)
[Math.asin(k1+k2), Math.asin(k1-k2)].sort {|a, b| a.abs <=> b.abs }
end
end
=begin
== Assumptions
: Telescope
VLT Nasmyth
* Focal ratio of 15
* Entrance pupil diameter of 8 m
* Spatial element of 0.2 arcsec
: Spectrograph
* Incident and emergent angle difference of 45 degrees
* 2.2 um optimized
* R=4000 at 2.2 um, 2 pixel for each spectral resolution
* 5 times 2.2 um groove
* 18.5 um pixel
* diffraction order of 2
=end
spectrograph = GratingSpectrograph.new (
45.to_rad, # incident angle difference
(0.2/3600).to_rad * 15 * 8e6, # entrance slit width (um)
18.5*2, # slit image width (um)
2.2, # primary wavelength (um)
2.2/4000.0, # spectral element (um)
2, # diffraction order
15, # focal ratio
2.2*5, # groove interval (um)
false # alpha and beta flip
)
puts spectrograph.to_TeX
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.52)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -dir html -mkdir -image_type png -local_icons -split 0 -up_url .. -up_title 'Parent directry' sampling.tex
The translation was initiated by Daigo Tomono on 2003-01-22