{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "fd6fde37", "metadata": {}, "source": [ "## What are the key parameters for a Pulsar Observation?\n", "\n", "### Pulsar Target:\n", "Spsr: Strength of the radio signal from the pulsar in Janskys (Watts per square meter per Hz) \n", "\n", "P: Pulse Period in seconds\n", "\n", "W: Pulse width in seconds\n", "\n", "### Telescope:\n", "Tsys: System Temperature, a measure of the background noise level of the telescope Kelvin (K)\n", "\n", "Gain: proportional to the size (collecting area) of the telescope dish and the performance of the amplifier (K per Jansky)\n", "\n", "Npol: Number of polerisations obsereved (generally 2)\n", "\n", "Bw: Bandwidth of the receiver in MHz\n", "\n", "### Variable parameters:\n", "Tint: Integration time or duration of the observation in seconds\n", "\n", "S/N: Signal to noise ratio, how much of a signal do we need for a detection\n", "\n", "### These parameters are related by the radiometer equation:\n", "\n", "## Tint = ((Tsys*(S/N))/(G*Spsr*(Npol*BW)-2))(w/(P-W))2\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "c6c8c93b", "metadata": {}, "outputs": [], "source": [ "# To begin, we import some libraries that we will need later.\n", "from __future__ import print_function\n", "\n", "# The numpy library will allow us to do FFTs\n", "import numpy as np\n", "#import scipy\n", "#from astropy import coordinates as coord\n", "#from astropy import units as u\n", "#from astropy import constants as const\n", "#from astropy import time as astrotime\n", "# pi is a useful value!\n", "#from math import pi\n", "\n", "# The pyplot module from matplotlib will allow us to plot things.\n", "from matplotlib import pyplot as plt\n", "import matplotlib\n", "from matplotlib.font_manager import FontProperties\n", "\n", "# This will tell matplotlib that we want to include the plots on our notebook, rather than in a new window.\n", "%matplotlib inline\n", "\n", "# Here you can control the font for the plots.\n", "font = {'family' : 'serif',\n", " 'weight' : 'normal',\n", " 'size' : 12}\n", "matplotlib.rc('font', **font)" ] }, { "cell_type": "markdown", "id": "9efc1f8c", "metadata": {}, "source": [ "\n", "Now a routine to calculate the integration time using the radiometer equation \n" ] }, { "cell_type": "code", "execution_count": 5, "id": "65c5558c", "metadata": {}, "outputs": [], "source": [ "def PulsarTint(SysTemp,TGain,TPol,TBw,SNR,Period,Pw,Pflux):\n", " Tint = 0 \n", " if Pw == 0 :\n", " Pw=Period/10 # If no W10 pulse width assume 10% value\n", " a=SNR*SysTemp\n", " b=TGain*Pflux*((TPol*TBw)**0.5)\n", " c= (Pw/(Period-Pw))**0.5\n", " Tint=(a/b*c)**2\n", " return int(np.ceil(Tint)) # Round up value to whole seconds\n", "\n" ] }, { "cell_type": "markdown", "id": "864f68ba", "metadata": {}, "source": [ "\n", "Now we will provide the Kuntunse / Ghana values for the Tint Calculation\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "82f6f8b0", "metadata": {}, "outputs": [], "source": [ "\n", "Tsys=125\n", "Npol=2\n", "Gain=0.17\n", "BandW=75\n", "SNR=10\n", "\n", "PulsarAFlux=201\n", "PulsarAPeriod=89.328\n", "PulsarAWidth=1.4\n", "\n", "PulsarBFlux=26.5 \n", "PulsarBPeriod=714.52 \n", "PulsarBWidth=6.6\n", "\n", "values=(5)\n", "TintA1 = np.zeros(values) # Tint times for pulsar A - base case (Kuntunse)" ] }, { "cell_type": "markdown", "id": "b14ba427", "metadata": {}, "source": [ "\n", "### Now calculate the integration times for different Signal to Noise ratios\n" ] }, { "cell_type": "code", "execution_count": null, "id": "6f148123", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }