AdcPowerMeter

Overview

This plugin is responsible for managing the TPM FPGA firmware ADC power meter and broadband RFI monitor.

Python Class & Methods Index

class ska_low_sps_tpm_api.plugins.adc_power_meter.AdcPowerMeter(board, fsample=800000000.0, samples_per_frame=864, logger=None, **kwargs)[source]

Total power meter and RFI detector The total power meter measures the broadband total power level for the input signals. Total power integration time is programmable Integration time is expressed in seconds, total power is returned in ADC counts squared, RMS in ADC counts

__init__(board, fsample=800000000.0, samples_per_frame=864, logger=None, **kwargs)[source]

AdcPowerMeter initialiser.

Parameters:

board – Pointer to board instance

clean_up()[source]

Perform cleanup.

Returns:

Success

Return type:

bool

clear_RfiData()[source]

Clear all RFI counts registers.

disable_rfi_blanking(antennas=range(0, 8))[source]

Disable broadband RFI blanking for specified antennas.

Parameters:

antennas (list(int)) – list of antennas for which RFI is to be disabled

enable_rfi_blanking(antennas=range(0, 8))[source]

Enable broadband RFI blanking for specified antennas.

Parameters:

antennas (list(int)) – list of antennas for which RFI is to be enabled

get_RmsAmplitude(sync=True)[source]

Get ADC power, immediate.

Parameters:

sync (bool) – Synchronise RMS read

Returns:

ADC RMS power in ADC units

Return type:

list(float)

get_broadband_rfi_factor()[source]

Gets the current RFI factor for broadband RFI detection in firmware.

Returns:

RFI factor

Return type:

float

get_intTime()[source]

Get the current integration time period in seconds.

Returns:

intTime: the integration time period in seconds

Return type:

float

get_rfi_blanking_enabled_antennas()[source]

Read the RFI blanking enable register and convert it from a bit-mask to a list of antennas. Each pair of bits in the mask represent the 2 polarisations for an antenna.

Returns:

list of antennas for which RFI blanking is enabled

Return type:

list(int)

initialise()[source]

Initialise AdcPowerMeter.

read_RfiData()[source]

Read number of frames affected by RFI in each antenna since the last reset. Output is in number of frames.

Returns:

RFI counter values for each antenna

Return type:

list(float)

read_TpData()[source]

Read total power data if available. Returns empty array if no power is available.

Returns:

ADC mean-squared power for each antenna in ADC units squared

Return type:

list(float)

read_data()[source]

Read total power data.

Returns:

ADC mean-squared power for each antenna in ADC units squared

Return type:

list(float)

set_broadband_rfi_factor(rfi_factor=1.0)[source]

Set the RFI factor for broadband RFI detection, the higher the RFI factor the less RFI is detected/blanked.

This is because data is flagged if the short term power is greater than the long term power * RFI factor * 32/27

Parameters:

rfi_factor (float) – the sensitivity value for the RFI detection

set_intTime(integrationTime)[source]

Set integration time period (and discard bits) for total power and RFI detection module.

Parameters:

integrationTime (float) – the integration time period in seconds

start_TP()[source]

Start total power and RFI detector.

status_check()[source]

Check AdcPowerMeter Status.

Returns:

Status

Return type:

literal

stop_TP()[source]

Stop total power and RFI detector.

wait_TpData()[source]

Wait TP data to be available and return it. Returns empty array if no power is available.

Returns:

ADC mean-squared power for each antenna in ADC units squared

Return type:

list(float)

wait_TpReady()[source]

Check if total power detector is programmed and if total power is ready to be read. Return False if not.

Returns:

True if total power is available.

Return type:

bool