Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

PHYS10362 – 2nd Assignment: Doppler Shifts

April 2024

Doppler spectroscopy is an indirect method for detecting extrasolar planets in astronomy. As the star and planet orbit around a common centre-of-mass, the variation in the star’s velocity can be measured from the Doppler shift in the light emitted by the star. From this, the planet’s mass can be obtained. In this assignment you are tasked with fitting the observed variation in wavelength of the light emitted from the star over time to find the mass of the exoplanet and, if possible, an uncertainty on these values. Your work should produce some graphics to support your analysis.

Theory

A planet in orbit around a star, of mass Ms, abides by Kepler’s third law,

which relates the distance from the star, r, (assuming circular orbits) to the period of its motion, P, where G is Newton’s gravitational constant. The force of the planet on the star causes the star also to orbit, albeit along a much smaller path. A diagram depicting this is shown in figure 1. If the plane of the orbit is such that the entirety of the star’s motion is in the observer’s line-of-sight, then the motion of the star can be deduced from the Doppler shift in the light emitted from the star. For classical speeds, assuming a stationary observer, the relationship between the emitted (λ0) and observed (λ(t)) wavelengths is

where c is the speed of light and vs(t) is the star’s velocity along the line-of-sight. vs(t) varies with time sinusoidally i.e.

where v0 is the magnitude of the star’s velocity, , where P is the same period as in equation 1, and ϕ is an initial phase of the motion.

Figure 1: Schematic of star-planet system orbiting around a common centre-of-mass whose normal is directed out of the page. The star, represented by a large yellow circle, orbits around the circular path shown with velocity vs. The planet, represented by a small grey circle, follows a much longer circular path, of which only an arc is shown, with velocity vp.

Once the period is known we can determine the distance between the bodies, r, from which we can find the planet’s velocity.

Then, by taking moments, the planet’s mass can be found,

If the plane of the orbit is subtended from the line-of-sight of the observer, then the observed velocity is reduced due to the geometry. This inclination can be taken into account in eq. 2 with a factor of sin θi multiplying vs(t). We illustrate this for clarity in figure 2.

Figure 2: Schematic of orbit whose normal is at an angle θi from the line-of-sight of the observer.

Project description

An experiment has taken place that observed the variation in the wavelength of the light emitted from a star over several years. The data were collected by two telescopes that operated at different times of year. The data has had the relative motion of the Earth removed. You can find the data in files: doppler_data_1.csv and doppler_data_2.csv. Unfortunately, some faults led to invalid data points which you must filter out.

You are tasked with obtaining the measured star velocities from this data, then fitting to equation 3 to determine v0 and ω. Then from this, determine the separation (r) between the star and the planet and the mass of the planet, mp.

Do not attempt to turn this into a linear problem and do not try and fit the parameters independently. This will significantly over-complicate the problem and will almost certainly return the wrong result.

The data-taking commenced when the star was closest to Earth. From spectral analysis, we know the emitted wavelength, λ0, is 656.281 nm, the Hα Balmer emission line. Previous studies have found this star to have a mass of 2.78 solar masses and suggest v0 ∼ 50 m/s and ω ∼ 3 × 10−8 rad/s and the orbit to be along the line-of-sight from Earth.

Your program should:

• Read in, validate and combine both data files.

• Perform a minimised χ2 fit by simultaneously varying ω and v0.

• Calculate the reduced χ2 of the best fit to three decimal places.

• Calculate both v0 and ω to four significant figures in m/s rad/s, respectively.

• Calculate mp and r to four significant figures in Jovian masses and AU, respectively.

• Produce a useful plot of your result.

• Ideally, you should also find the uncertainties on ω, v0, mp and r to the appropriate precision.

With regards to style, in addition to what was asked for in the previous assignment, we expect your code to:

• Have a useful file check that halts the code neatly if there is an issue.

• Read in data using inbuilt functions; do not ask the user to input the file names.

• Use inbuilt functions to perform the minimisation.

• Be versatile and applicable to data with similar validation issues.

• To make any plots by attaching axes attributes to figure objects.

• Save any plots as a .png file.

• Achieve a linter score of at least 9.80/10.00 (maximum penalty of 10 marks: a score of 8.33/10.00 corresponds to a deduction of 1.47 marks and scores below -0.20/10.00 will receive the maximum deduction of 10.00 marks).

Marks will be given for the calculation (37.5%) and style (37.5%). Additional marks (up to 25%) are available for extra features. You do not need to include them all to get full marks for this aspect. Can you display extra information in these plots? Can you format these plots nicely? Can it be applied to systems with different line-of-sight angles, θi? Could it be applied to different files with different validation issues? Can you make the initial guess on v0 and ω general? Could it work without knowing the initial value for ϕ?

An inbuilt function is anything that comes with the Spyder release (5.4.1) installed via the Anaconda distribution on the university PCs e.g. numpy. You can use any packages that come with Spyder but do NOT use ones that you have installed separately on your laptop. The pylint score we will use is that obtained on the university PCs i.e. pylint version 2.16.2 with Spyder 5.4.1 and Python 3.10.9. You should check your linter score on the university PCs and that your code runs there without any issues before submitting it.

More detail on how the mark is split can be found in the illustrative rubric on BlackBoard.