Correlation

Baseline Utilities

lsl.correlator.uvUtils.getBaselines(antennas, antennas2=None, IncludeAuto=False, Indicies=False)

Generate a list of two-element tuples that describe which antennae compose each of the output uvw triplets from computeUVW/computeUVTrack. If the Indicies keyword is set to True, the two-element tuples contain the indicies of the stands array used, rather than the actual stand numbers.

lsl.correlator.uvUtils.baseline2antenna(baseline, antennas, antennas2=None, BaselineList=None, IncludeAuto=False, Indicies=False)

Given a baseline number, a list of stands, and options of how the base- line listed was generated, convert the baseline number to antenna numbers. Alternatively, use a list of baselines instead of generating a new list. This utility is useful for figuring out what antennae comprise a baseline.

lsl.correlator.uvUtils.antenna2baseline(ant1, ant2, antennas, antennas2=None, BaselineList=None, IncludeAuto=False, Indicies=False)

Given two antenna numbers, a list of stands, and options to how the base- line listed was generated, convert the antenna pair to a baseline number. This utility is useful for picking out a particular pair from a list of baselines.

Computing uvw Coordinates

lsl.correlator.uvUtils.computeUVW(antennas, HA=0.0, dec=34.07, freq=49000000.0, site=<ephem.Observer date='2019/12/19 18:49:34' epoch='2000/1/1 12:00:00' lon='-107:37:42.1' lat='34:04:08.0' elevation=2133.6m horizon=0:00:00.0 temp=15.0C pressure=0.0mBar>, IncludeAuto=False)

Compute the uvw converate of a baselines formed by a collection of stands. The coverage is computed at a given HA (in hours) and declination (in degrees) for a given site. The frequency provided (in Hz) can either as a scalar or as a numpy array. If more than one frequency is given, the output is a three dimensional with dimensions of baselines, uvw, and frequencies.

Changed in version 0.4.0: Switched over to passing in Antenna instances generated by the lsl.common.station module instead of a list of stand ID numbers.

Changed in version 1.0.0: Added a keyword (site) to specify the station used for the observation.

Changed in version 1.1.2: Updated to work with lists in a transparent manner.

lsl.correlator.uvUtils.computeUVTrack(antennas, dec=34.07, freq=49000000.0, site=<ephem.Observer date='2019/12/19 18:49:34' epoch='2000/1/1 12:00:00' lon='-107:37:42.1' lat='34:04:08.0' elevation=2133.6m horizon=0:00:00.0 temp=15.0C pressure=0.0mBar>)

Whereas computeUVW provides the uvw coverage at a particular time, computeUVTrack provides the complete uv plane track for a long integration. The output is a three dimensional numpy array with dimensions baselines, uv, and 512 points along the track ellipses. Unlike computeUVW, however, only a single frequency (in Hz) can be specified.

Changed in version 0.4.0: Switched over to passing in Antenna instances generated by the lsl.common.station module instead of a list of stand ID numbers.

Changed in version 1.0.0: Added a keyword (site) to specify the station used for the observation.

Polyphase Filter Bank

lsl.correlator.filterbank.fft(signal, N, P=1, window=<function noWindow at 0x2b5fefa475f0>)

FFT-based poly-phase filter bank for creating N channels with P taps. Optionally, a window function can be specified using the ‘window’ keyword. See lsl.correlator.fx.calcSpectra for details on using window functions.

lsl.correlator.filterbank.fft2(signal, N, window=<function noWindow at 0x2b5fefa475f0>)

Sub-type of lsl.correlator.filterbank.fft that uses two taps.

lsl.correlator.filterbank.fft4(signal, N, window=<function noWindow at 0x2b5fefa475f0>)

Sub-type of lsl.correlator.filterbank.fft that uses four taps.

lsl.correlator.filterbank.fft8(signal, N, window=<function noWindow at 0x2b5fefa475f0>)

Sub-type of lsl.correlator.filterbank.fft that uses eight taps.

lsl.correlator.filterbank.fft16(signal, N, window=<function noWindow at 0x2b5fefa475f0>)

Sub-type of lsl.correlator.filterbank.fft that uses 16 taps.

lsl.correlator.filterbank.fft32(signal, N, window=<function noWindow at 0x2b5fefa475f0>)

Sub-type of lsl.correlator.filterbank.fft that uses 32 taps.

FX Correlator

lsl.correlator.fx.noWindow(L)

Default “empty” windowing function for use with the various routines. This function returned a numpy array of ‘1’s of the specified length.

lsl.correlator.fx.FXMaster(signals, antennas, LFFT=64, Overlap=1, IncludeAuto=False, verbose=False, window=<function noWindow at 0x2b5fefa475f0>, pfb=False, SampleRate=None, CentralFreq=0.0, Pol='XX', GainCorrect=False, ReturnBaselines=False, ClipLevel=0, phaseCenter='z')

A more advanced version of FXCorrelator for TBW and TBN data. Given an 2-D array of signals (stands, time-series) and an array of stands, compute the cross-correlation of the data for all baselines. Return the frequencies and visibilities as a two-elements tuple.

Changed in version 0.4.0: Switched over to passing in Antenna instances generated by the lsl.common.stations module instead of a list of stand ID numbers.

Changed in version 1.0.0: Added a phase-center keyword that accept a two-element tuple of azimuth and elelvation (in degrees) to change where the correlations are phased to

Changed in version 1.1.0: Made the ‘phaseCenter’ keyword more flexible. It can now be either: * ‘z’ to denote the zenith, * a ephem.Body instances which has been computed for the observer, or * a two-element tuple of azimuth, elevation in degrees.

Changed in version 1.2.5: Added the ‘pfb’ keyword.

lsl.correlator.fx.FXStokes(signals, antennas, LFFT=64, Overlap=1, IncludeAuto=False, verbose=False, window=<function noWindow at 0x2b5fefa475f0>, pfb=False, SampleRate=None, CentralFreq=0.0, GainCorrect=False, ReturnBaselines=False, ClipLevel=0, phaseCenter='z')

A more advanced version of FXCorrelator for TBW and TBN data. Given an 2-D array of signals (stands, time-series) and an array of stands, compute the cross-correlation of the data for all baselines. Return the frequencies and visibilities as a two-elements tuple.

Changed in version 1.0.0: Added a phase-center keyword that accept a two-element tuple of azimuth and elelvation (in degrees) to change where the correlations are phased to

Changed in version 1.1.0: Made the ‘phaseCenter’ keyword more flexible. It can now be either: * ‘z’ to denote the zenith, * a ephem.Body instances which has been computed for the observer, or * a two-element tuple of azimuth, elevation in degrees.

Changed in version 1.2.5: Added the ‘pfb’ keyword.

Table Of Contents

Previous topic

Computing Spectra

Next topic

Imaging

This Page