transfer_function#

Created on 13 mar 2020

@author: giuliacarla

class arte.control.transfer_function.IdealTransferFunction(rtf=0, ntf=-1)#

Bases: object

Methods

NTF

RTF

NTF()#
RTF()#
class arte.control.transfer_function.LaplaceTransferFunction(temporal_freqs, t_integration, t_readout=0, t_control=0, gain=1)#

Bases: object

Return Open Loop Transfer Function(OLTF), Rejection Transfer Function (RTF) and Noise Transfer Function (NTF) of a basic control system made of a sensor with integration time T and readout time Tr, an integral control with gain G and delay Tc, and sample-and-hold commands to an ideal actuator. The TFs are computed using Laplace transform.

Parameters:
  • temporal_freqs (ndarray) – Array of temporal frequencies used to compute OLTF, RTF and NTF.

  • gain (int or float) – System’s gain set by the user. If needed, the system’s optimal gain can be computed (see module ‘set_optimal_gain’).

  • t_integration (int or float) – Time interval over which the system’s sensor integrates the input signal. It determines the system’s loop frequency (f_loop = 1 / t_integration).

  • t_readout (int or float) – Sensor’s readout time. Default is 0.

  • t_control (int or float) – Delay introduced by the digital computation of the signal, the filtering and the final analogic conversion of the signal. Default is 0.

Attributes:
idx_omega_135

Methods

NTF()

Get Noise Transfer Function

OLTF()

Get Open Loop Transfer Function.

RTF()

Get Rejection Transfer Function.

get_amplitude(transfer_function)

Get transfer function's amplitude.

get_phase(transfer_function[, unit])

Get transfer function's phase.

set_optimal_gain()

Find the system's optimal gain based on OLTF's amplitude value at the frequency where the phase is equal to 135 degrees.

get_bandwidth_at_optimal_gain

rejection_bandwidth

set_integrator

set_sample_and_hold

NTF()#

Get Noise Transfer Function

Returns:

ntf

Return type:

ndarray

OLTF()#

Get Open Loop Transfer Function.

Returns:

oltf

Return type:

ndarray

RTF()#

Get Rejection Transfer Function.

Returns:

rtf

Return type:

ndarray

get_amplitude(transfer_function)#

Get transfer function’s amplitude.

Parameters:

transfer_function (ndarray)

Returns:

amplitude – Transfer function’s module.

Return type:

ndarray

get_bandwidth_at_optimal_gain()#
get_phase(transfer_function, unit='deg')#

Get transfer function’s phase.

Parameters:
  • transfer_function (ndarray)

  • unit (str) – Phase’s unit. Default is ‘radians’.

Returns:

  • phi (ndarray) – Transfer function’s phase.

  • unit (str) – Phase’s unit. It can be ‘radians’ or ‘deg’. Default is ‘deg’.

property idx_omega_135#
rejection_bandwidth()#
set_integrator(true_false)#
set_optimal_gain()#

Find the system’s optimal gain based on OLTF’s amplitude value at the frequency where the phase is equal to 135 degrees.

set_sample_and_hold(true_false)#
class arte.control.transfer_function.ZetaTransferFunction(f_loop, n_iterations, gain, delay)#

Bases: object

Get OLTF, RTF and NTF of a control system using Zeta transform.

Parameters:
  • f_loop

  • n_iterations

  • gain

  • delay

Methods

NTF

RTF

get_amplitude

get_phase

set_temporal_frequency_array

NTF()#
RTF()#
get_amplitude(tf)#
get_phase(tf, unit='radians')#
set_temporal_frequency_array(n_points=None)#