Post-Acquisition Beam Forming

New in version 0.3.

Module to allow for post-acquisition delay-and-sum beamforming with integer sample delays for TBW time series data (intDelayAndSum) and phase-and-sum beamforming for TBN time series data (delayAndSum).

exception lsl.misc.beamformer.BeamformingError(strerror, errno='-1')

Base class for all exceptions in this file.

lsl.misc.beamformer.calcDelay(antennas, freq=49000000.0, azimuth=0.0, elevation=90.0)

Calculate the time delays for delay-and-sum beam forming a collection of stands looking in at a particular azimuth and elevation (both in degrees). A numpy array of the geometric + cable delays in seconds is returned.

Changed in version 0.5.0: Changed the computed array center to exclude stands #257 through #260

lsl.misc.beamformer.intDelayAndSum(antennas, data, sampleRate=196000000.0, azimuth=0.0, elevation=90.0)

Given a list of antennas and a 2-D data stream with stands enumerated along the first axis and time series samples along the second axis, delay and sum the data stream into one beam. The delays applied are integer sample delays. Return a 1-D numpy array of the time series data associated with the formed beam.

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.

lsl.misc.beamformer.intBeamShape(antennas, sampleRate=196000000.0, azimuth=0.0, elevation=90.0, progress=False, DisablePool=False)

Given a list of antennas, compute the on-sky response of the delay-and-sum scheme implemented in intDelayAndSum. A 360x90 numpy array spanning azimuth and elevation is returned.

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 0.4.2: Allowed for multiple polarization data to be delayed-and-summed correctly and insured that a 2-D array is always returned (pol(s) by samples)

lsl.misc.beamformer.phaseAndSum(antennas, data, sampleRate=196000000.0, CentralFreq=49000000.0, azimuth=0.0, elevation=90.0)

Given a list of antennas and a data stream of the form stands x times, delay and sum the data stream into one beam. Return a 1-D numpy array of the time series data associated with the formed beam.

lsl.misc.beamformer.phaseBeamShape(antennas, sampleRate=196000000.0, CentralFreq=49000000.0, azimuth=0.0, elevation=90.0, progress=False, DisablePool=False)

Given a list of antennas, compute the on-sky response of the delay-and-sum scheme implemented in intDelayAndSum. A 360x90 numpy array spanning azimuth and elevation is returned.

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.

class lsl.common.dp.SoftwareDP(mode='DRX', filter=7, centralFreq=74000000.0)

Class to deal with processing TBW data after the fact like DP would. This provides a means to recreate any other DP output from a TBW capture for a variety of purposes. For example, a TBW file could be processed with the DRX filter 4 to create a data stream that can be correlated and imaged.

Note

Not all DP filters are supported by this class. Supported filters are:
  • TBN, filters 5, 6, and 7
  • DRX, filters 3, 4, 5, 6, and 7

Changed in version 0.5.2: Added support for beamforming using the DP FIR coefficients and renamed SoftwareDP.apply() to SoftwareDP.applyFilter().

applyFilter(time, data, DisablePool=False)

Process a given batch of TBW data using the current mode of operation. This function requires both an array of times (int64 in fS since the UNIX epoch) and data (1-D or 2-D). If 2-D data are given, the first dimension should be over inputs and the second over time.

Changed in version 0.5.2: Renamed SoftwareDP.apply() to SoftwareDP.applyFilter()

formBeam(antennas, time, data, courseDelays=None, fineDelays=None, gains=None)

Process a given batch of TBW data using the provided delay and gain information to form a beam. Returns a two-element tuple, one for each beam polarization.

setCentralFreq(centralFreq)

Set the tuning frequency for the current setup.

setDelayFIRs(channel, coeffs)

Set the delay FIR coefficients for a particular channel to the list of lists provided (filter set by filter coefficients). If channel is 0, the delay FIR filters for all channels are set to the provided values. If channel is -1, the delay FIR filters for all channels are set to the DP default values.

setFilter(filter)

Set the filter code for the current mode.

setMode(mode)

Set the mode of operation for the software DP instance.

Previous topic

Imaging

Next topic

Fake Data

This Page