PyREx

pyrex.custom.irex.EnvelopeHpol

class pyrex.custom.irex.EnvelopeHpol(name, position, trigger_threshold, time_over_threshold=0, orientation=(0, 0, 1), amplification=1, amplifier_clipping=1, envelope_amplification=1, envelope_method='analytic', noisy=True, unique_noise_waveforms=10)

ARA Hpol (“quad-slot”) antenna system with front-end processing.

Consists of an ARA Hpol antenna with typical responses, front-end electronics, and amplifier clipping, but with an additional amplification and envelope circuit applied after all other front-end processing.

Parameters
namestr

Name of the antenna.

positionarray_like

Vector position of the antenna.

trigger_thresholdfloat

Threshold (V) for trigger condition. Antenna triggers if the voltage value of the waveform exceeds this value.

time_over_thresholdfloat, optional

Time (s) that the voltage waveform must exceed trigger_threshold for the antenna to trigger.

orientationarray_like, optional

Vector direction of the z-axis of the antenna.

amplificationfloat, optional

Amplification to be applied to the signal pre-clipping. Note that the usual ARA electronics amplification is already applied without this.

amplifier_clippingfloat, optional

Voltage (V) above which the amplified signal is clipped (in positive and negative values).

envelope_amplificationfloat, optional

Amplification to be applied to the signal after the typical ARA front end, before the envelope circuit.

envelope_method{(‘hilbert’, ‘analytic’, ‘spice’) + (‘basic’, ‘biased’, ‘doubler’, ‘bridge’, ‘log amp’)}, optional

String describing the circuit (and calculation method) to be used for envelope calculation. If the string contains “hilbert”, the hilbert envelope is used. If the string contains “analytic”, an analytic form is used to calculate the circuit output. If the string contains “spice”, ngspice is used to calculate the circuit output. The default value “analytic” uses an analytic diode bridge circuit.

noisyboolean, optional

Whether or not the antenna should add noise to incoming signals.

unique_noise_waveformsint, optional

The number of expected noise waveforms needed for each received signal to have its own noise.

Attributes
antennaAntenna

Antenna object extended by the front end.

namestr

Name of the antenna.

positionarray_like

Vector position of the antenna.

trigger_thresholdfloat

Threshold (V) for trigger condition. Antenna triggers if the voltage value of the waveform exceeds this value.

time_over_thresholdfloat

Time (s) that the voltage waveform must exceed trigger_threshold for the antenna to trigger.

envelope_amplificationfloat

Amplification to be applied to the signal pre-clipping. Note that the usual ARA electronics amplification is already applied without this.

envelope_methodstr

String describing the circuit (and calculation method) to be used for envelope calculation.

is_hit

Boolean of whether the antenna system has been triggered.

is_hit_mc_truth

Boolean of whether the antenna has been triggered by signal.

signals

The signals received by the antenna with front-end processing.

waveforms

The antenna system signal + noise for each triggered hit.

all_waveforms

The antenna system signal + noise for all hits.

Methods

apply_response(signal[, direction, …])

Process the complete antenna response for an incoming signal.

clear([reset_noise])

Reset the antenna system to an empty state.

envelopeless_front_end(signal)

Apply front-end processes to a signal and return the output.

front_end(signal)

Apply front-end processes to a signal and return the output.

full_waveform(times)

Signal + noise for the antenna system for the given times.

interpolate_filter(frequencies)

Generate interpolated filter values for given frequencies.

is_hit_during(times)

Check if the antenna system is triggered in a time range.

make_envelope(signal)

Return the signal envelope based on the antenna’s envelope_method.

make_noise(times)

Creates a noise signal over the given times.

receive(signal[, direction, polarization, …])

Process and store one or more incoming (polarized) signals.

set_orientation([z_axis, x_axis])

Sets the orientation of the antenna system.

setup_antenna(response_data[, …])

Setup the antenna by passing along its init arguments.

trigger(signal)

Check if the antenna triggers on a given signal.

tunnel_diode(signal)

Calculate a signal as processed by the tunnel diode.

PyREx

A Python package for simulation of neutrinos and radio antennas in ice. Version 1.10.0

Navigation