$35
AST 325/6 (20192020) LAB#2
Lab #2 “Introduction to Spectroscopy”
Lab report due: Wednesday, 2019 November 6
th 11:59pm
(e-submission to astrolab@astro.utoronto.ca)
Of all objects, the planets are those which appear to us under the least varied aspect. We see how we may
determine their forms, their distances, their bulk, and their motions, but we can never known anything of
their chemical or mineralogical structure; and, much less, that of organized beings living on their surface...
Auguste Comte, The Positive Philosophy, Book II, Chapter 1 (1842)
1 Overview
Spectroscopy is a fundamental tool used by all physical sciences. For astrophysicists,
spectroscopy is essential for characterizing the physical nature of celestial objects and the
universe. Astronomical spectroscopy has been used to measure the chemical composition and
physical conditions (temperature, pressure, and magnetic field strength) in planets, stars, and
galaxies. Characterizing a spectrograph’s instrumental parameters is a key for deriving the
intrinsic spectra from a source. In this lab you will use a spectrograph to collect data from
common light sources (room lights and gas discharge lamps), establish a wavelength scale,
investigate the noise properties of the detector, and (hopefully) measure astronomical spectra of
stars and planets. In class we will explore the fundamentals of diffraction, dispersion elements,
2D detectors (e.g, CCDs), telescopes, and review the celestial coordinate systems.
2 Schedule
This is a four-week lab between October 7 (Monday) and November 6 (Wednesday). There will
be no class on October 14 and November 4 because of Thanksgiving and Reading Week,
respectively. Group-led discussions will happen on October 21 and 28. Starting the week of
October 21, we will attempt to obtain astronomical spectra using the campus telescope. The
details of the Campus Telescope Sessions will be announced later in the class and on its web
page.
3 Goals
Use a simple, visible light (350−700 nm) spectrometer to explore the spectra of laboratory
and astrophysical sources. We will conduct wavelength calibration of the Ocean Optics
spectrometer, which will introduce the concept of spectroscopy and linear least square fitting.
We will then learn how to acquire data from a telescope and acquire spectra of astronomical
sources. In the process, we will learn the basic steps of astronomical data reduction
(e.g., dark subtraction, flat fielding, wavelength solution) using the SBIG spectrograph on the
MP telescope.
3.1 Reading assignments
● USB 2000 spectrometer handout (class web page)
● Lecture/notes on statistics and error analysis and least square fitting (class web page)
● Notes on CCDs and their noise properties (class web page)
AST 325/6 (20192020) LAB#2
2
● Reference: Chapters 1−4 “Handbook of CCD Astronomy,” S. B. Howell, Cambridge
University Press. There are two copies in Gerstein and more copies may be available in
AB 105. Pay special attention to §§3.4−3.8 and §§4.2−4.3, & 4.5.
● Reference: “To Measure the Sky,” F. R. Chromey, Cambridge University Press. In
particular, Chapters 6 on Astronomical Telescopes, Chapter 8 on Detectors, and Chapter
11 on Spectrometers.
4 Key Steps
1. Learn to operate the USB 2000 spectrometer using the Spectral Suite software in one of
the lab tutorials during the first week of the lab.
2. Save spectra and read them into Python for plotting and analysis.
3. Observe and compare spectra of common sources—incandescent lamp, fluorescent strip
light, gas discharge lamps, and sunlight.
4. Determine the wavelength calibration of the spectrometer, i.e., the mapping between
pixel number and wavelength. Do this by measuring the centroids (i.e., pixel positions) of
bright Neon (and Hydrogen, if available) lines with respect to their known wavelength.
Then use the method of linear least squares to determine a polynomial fit to these data to
derive the wavelength solution.
5. Attend one of the telescope sessions and use the SBIG spectrometer at the campus
observatory to collect spectra of the moon, Arcturus, Vega, and/or Jupiter and other
bright stars.
6. Reduce the SBIC spectra of the astronomical sources and compare and contrast these
spectra.
7. Write up your report.
5 Linear Least Squares Fitting
One of the primary skills we will learn in this lab is the use of linear least squares fitting. Often
observations and experimental measurements are undetermined, which means that they are
limited by the number of observations or sampling to calculate an undetermined parameter space.
To correct for this, we use an equation to model a set of data, and compare the difference
between the observed values to the fitted values from the model. This difference is referred to as
residuals. The term “least-squares” refers to minimizing the square of the residuals to determine
the best-fit model to the observed data set.
In this lab, we will first focus on linear-least squares where the model is a straight line, but we
will generalize the least squares method to other non-linear functions. It is important that in this
lab you do not use a canned least-squares routine and you write your own least-square
routine.
5.1 A Straight Line Fit
Suppose that we have a set of N observations (xi, yi) where we believe that the measured value, y,
depends linearly on x, i.e.,
AST 325/6 (20192020) LAB#2
3
For example, suppose a body is moving with constant velocity, what is the speed (m) and initial
(c) position of the object?
Given our data, what is the best estimate of m and c? Assume that the independent variable, xi, is
known exactly, and the dependent variable, yi, is drawn from a Gaussian probability distribution
function with constant standard deviation i = const. Under these circumstances the most likely
values of m and c are those corresponding to the straight line with the total minimum square
deviation, i.e., the quantity
is minimized when m and c have their most likely values. Figure 1 shows a typical deviation.
The best values of m and c are found by solving the simultaneous equations,
Evaluating the derivatives yields
This set of equations can conveniently be expressed compactly in matrix form,
and then solved by multiplying both sides by the inverse,
The inverse can be computed analytically, or in Python it is trivial to compute the inverse
numerically, as follows.
AST 325/6 (20192020) LAB#2
4
Figure 1: Example data with a least squares fit to a straight line. A typical deviation from the straight line is
illustrated.
5.2 Example Python Script
# Test least squares fitting by simulating some data.
import numpy as np
import matplotlib.pyplot as plt
nx = 20 # Number of data points
m = 1.0 # Gradient
c = 0.0 # Intercept
x = np.arange(nx,dtype=float) # Independent variable
y = m * x + c # dependent variable
# Generate Gaussian errors
sigma = 1.0 # Measurement error
np.random.seed(1) # init random no. generator
errors = sigma*np.random.randn(nx) # Gaussian distributed errors
ye = y + errors # Add the noise
plt.plot(x,ye,'o',label='data')
plt.xlabel('x')
plt.ylabel('y')
# Construct the matrices
ma = np.array([ [np.sum(x**2), np.sum(x)],[np.sum(x), nx ] ] )
mc = np.array([ [np.sum(x*ye)],[np.sum(ye)]])
# Compute the gradient and intercept
AST 325/6 (20192020) LAB#2
5
mai = np.linalg.inv(ma)
print 'Test matrix inversion gives identity',np.dot(mai,ma)
md = np.dot(mai,mc) # matrix multiply is dot
# Overplot the best fit
mfit = md[0,0]
cfit = md[1,0]
plt.plot(x, mfit*x + cfit)
plt.axis('scaled')
plt.text(5,15,'m = {:.3f}\nc = {:.3f}'.format(mfit,cfit))
plt.savefig('lsq1.png')
See Figure 2 for the output of this program.
Figure 2—Least squares straight line fit. The true values are m = 1 and c = 0.
5.3 Error Propagation
What are the uncertainties in the slope and the intercept? To begin the process of error
propagation we need the inverse matrix
so that we can compute analytic expressions for m and c,
AST 325/6 (20192020) LAB#2
6
.
The analysis of error propagation shows that if z = z(x1, x2, .. xN) and the individual
measurements xi are uncorrelated (they have zero covariance) then the standard deviation of the
quantity z is
.
If the data points were correlated then we would have a covariance matrix. The diagonal
elements of this matrix are the standard deviations σii2 and of the off diagonal elements σij2 =
‹xixj›-‹xi›‹xj›.
Thus, ignoring any possible covariance
The expression for the derivative of the gradient, m, is
because ., where δ is the Kroneker If we assume that the measurement error is the
same for each measurement then
AST 325/6 (20192020) LAB#2
7
Similarly, for the intercept, c,
and hence
If we do not know standard deviation, a priori, the best estimate is derived from the
deviations from the fit, i.e.,
Previously, when we compute the standard deviation the mean is unknown and we have to
estimate it from the data themselves; hence, the Bessel correction factor of 1/(N-1), because there
are N-1 degrees of freedom. In the case of the straight line fit there are two unknowns and there
are N-2 degrees of freedom.
6 Night time observing
For nighttime astronomy, we will use a spectrograph that is located on the 16-inch telescope on
the 16th floor of the McLennan Physics tower. Michael Williams (williams@astro.utoronto.ca),
who is in charge of the lab equipment and telescope operation, will be there to set up the
telescope and help you collect your data. Separate documents describing this spectrograph and
the observing procedure are available on the class web page.
Example spectra taken with the SBIG spectrograph attached to the 16-inch telescope are shown
in Figure 3. The top spectrum is for a quartz halogen lamp, and shows the response of the
spectrometer to an approximately 3200 K black body. (In this example, the short wavelength flux
AST 325/6 (20192020) LAB#2
8
from the lamp may be suppressed by a built-in UV filter, so the blackbody assumption may not be
valid in the blue part of the spectrum.) Note the overall variation of responsivity and fine scale
pixel-to-pixel fluctuations. The subsequent astronomical spectra are corrected for the
spectrometer response assuming that the lamp radiates like a black body with temperature equal
to the color temperature. Thus we compute for each pixel, Pi, the quantity
where Ri is the raw signal, Di is the dark count, and Li is the lamp, and Bv(T) is the Planck
function
where νi = c /λi is the frequency of the i-th pixel. (Note that in this case the lamp spectrum is used
for flat fielding see lecture slides).
AST 325/6 (20192020) LAB#2
9
Figure 3. Spectra of a lamp and some astronomical sources. Comparison of Arcturus (4300 K)
and the Sun (5800 K) shows the effect of Wien’s law. The stellar spectra show both the
underlying continuum emission and many microscale absorption lines. In the solar spectrum Ca
II H&K 393.37, 396.85 nm, the G band 430.8 nm, Hβ 486.1 nm, the b and E bands (Mg + Fe) 517,
527 nm, Na D 588.995, 589.592 nm, and Hα 656.2 nm are all visible. The spectrum of Jupiter is
red, with strong methane absorption at 619 nm. The exposure times are: lamp 23 ms, 1000
frames; Arcturus & Jupiter 500 ms, 100 frames; sun 3 ms, 100 frames. The astronomical spectra
are dark subtracted, divided by the lamp spectrum, and multiplied by a 3200 K black body.