Single Dish Radio Astronomy Software Tools

DSP Package

module DSP - demonstrates digital signal processing concepts

Provides digital simulations for devices used in analog signal processing.

Notes

Analytic signals are complex signals in exponential notation, using Euler’s formula. Specifically they are the two signals out of a complex mixer or quadrature hybrid, in which all the Fourier components of the imaginary or sine voltage have been delayed by a quarter cycle:

                                    +iwt
V     = V  + i V  = V  + i V  = V  e
 anal    r      i    I      Q    0

where w is the angular frequency.

Functions

box(x)

normalized box centered on x=0

interpolate(data, increase)

Interpolate data increasing the number of points by a factor of increase which must be a power of two.

is_analytic(signal)

checks complex signal for quadrature

is_quadrature(signal)

checks complex signal for quadrature

rect_to_polar(v)

Converts complex number to exponential

sinc_filter(K[, f0, mode, factor, W, M])

Creates a sinc filter of K taps at a frequency f0 with a width between first nulls of 1/factor.

wbox(x, width)

normalized numpy compatible box of width ‘w’ centered on zero.

Classes

BasicMixer([signal, LO])

Multiplies a signal with an LO to produce a IF

ComplexMixer([signal, LO])

Mixes a real (float) signal with a real LO; produces complex IF

DigitalSignal

Signal with noise and Fourier components

OTFConvolver(FIRfilter[, data])

On-the-fly convolution tool

ParallelMixer([signal, LO])

Mixes complex signal with same real (float) LO

QuadratureHybrid()

Add components of an analytic signal with +/- pi/2 phase shift

QuadratureSplitter()

Copy of a real signal with an imaginary component delayed by pi/2

SignalGenerator([mode, M, components, rms])

Simulated signal generator for making test signals

SimpleMixer([signal, LO])

Mixes a real (float) signal with a real LO to produce a real signal

Class Inheritance Diagram

Inheritance diagram of DSP.BasicMixer, DSP.ComplexMixer, DSP.DigitalSignal, DSP.OTFConvolver, DSP.ParallelMixer, DSP.QuadratureHybrid, DSP.QuadratureSplitter, DSP.SignalGenerator, DSP.SimpleMixer

DSP.plotter Module

plotting support for module DSP

plot_data - plots multiple data sets in one pair of axes.

mixing_plot - plots signal in the upper panel, spectrum of the signal and

LO in the middle panel, and the mixed spectrum in the lower panel.

signal_summary - plots a signal in the top panel, its spectrum in the middle

panel, and the power spectrum in the lower panel

Functions

display_signals(sig_spec_pairs)

display rows of signals in three columns with signal, spectrum, and phase

interpolate(data, increase)

Interpolate data increasing the number of points by a factor of increase which must be a power of two.

mixing_plot(signal, lo, mx, modecode[, show])

plots the results of mixing tests

plot_data(ax, data[, interp, plot_title, …])

Plot data, which is a list of sublists, [[x,y,f,l],[x,y,f,l],…,[x,y,f,l]]

plot_signal_summary(signal, spectrum[, gridding])

Plots a real or analytic signal, its spectrum, and its power spectrum

signal_summary(signal, spectrum[, gridding])

Plots a real or analytic signal, its spectrum, and its power spectrum

subplots([nrows, ncols, sharex, sharey, …])

Create a figure and a set of subplots.

For an overview of SDRAST and the current status please visit https://sdrast.github.io/.

Indices and tables