summaryrefslogblamecommitdiffstats
path: root/_UI/_web_interface/tooltips.py
blob: b4ebfd17be6643ee60d4c05ecc6531c5ba34ed7e (plain) (tree)

















































































































































































































                                                                                                                                                  
import dash_html_components as html
import dash_bootstrap_components as dbc

dsp_config_tooltips = html.Div([
    # Antenna arrangement selection
    dbc.Tooltip([
        html.P("ULA - Uniform Linear Array"),
        html.P("Antenna elements placed on a line with having equal distances between each other"),
        html.P("UCA - Uniform Circular Array"),
        html.P("Antenna elements are placed on circle equaly distributed on 360°")],        
        target="label_ant_arrangement",
        placement="bottom",
        className="tooltip"
        ),
    # Antenna Spacing
#    dbc.Tooltip([
#        html.P("When ULA is selected: Spacing between antenna elements"),
#        html.P("When UCA is selected: Radius of the circle on which the elements are placed")],
#        target="label_ant_spacing",
#        placement="bottom",
#        className="tooltip"
#        ),
    # Enable F-B averaging
    dbc.Tooltip([
        html.P("Forward-backward averegaing improves the performance of DoA estimation in multipath environment"),
        html.P("(Available only for ULA antenna systems)")],
        target="label_en_fb_avg",
        placement="bottom",
        className="tooltip"
        ),
        ])

daq_ini_config_tooltips = html.Div([
    # DAQ buffer size
    dbc.Tooltip([
        html.P("Buffer size of the realtek driver")],
        target="label_daq_buffer_size",
        placement="bottom",
        className="tooltip"
        ),
    # Sampling frequency
    dbc.Tooltip([
        html.P("Raw - ADC sampling frequency of the realtek chip")],
        target="label_sample_rate",
        placement="bottom",
        className="tooltip"
        ),
    # Enable noise source control
    dbc.Tooltip([
        html.P("Enables the utilization of the built-in noise source for calibration")],
        target="label_en_noise_source_ctr",
        placement="bottom",
        className="tooltip"
        ),
    # Enable squelch mode
    dbc.Tooltip([
        html.P("Enable DAQ-side squelch to capture burst like signals - NOTE DISABLED IN THIS VERSION, THIS VERSION USES DSP SIDE SQUELCH ONLY")],
        target="label_en_squelch",
        placement="bottom",
        className="tooltip"
        ),
    # Squelch threshold
    dbc.Tooltip([
        html.P("Amplitude threshold used for the squelch feature."),
        html.P("Should take values on range: 0...1"),
        html.P("When set to zero the squelch is bypassed")],
        target="label_squelch_init_threshold",
        placement="bottom",
        className="tooltip"
        ),
    # CPI size
    dbc.Tooltip([
        html.P("Length of the Coherent Processing Interval (CPI) after decimation")],
        target="label_cpi_size",
        placement="bottom",
        className="tooltip"
        ),
    # Decimation raito
    dbc.Tooltip([
        html.P("Decimation factor")],
        target="label_decimation_ratio",
        placement="bottom",
        className="tooltip"
        ),
    # FIR relative bandwidth
    dbc.Tooltip([
        html.P("Anti-aliasing filter bandwith after decimation"),
        html.P("Should take values on range: (0, 1]"),
        html.P("E.g.: ADC sampling frequency: 1 MHz (IQ!) , Decimation ratio: 2,  FIR relative bandwith:0.25"),
        html.P("Resulting passband bandwidth: 125 kHz ")],
        target="label_fir_relative_bw",
        placement="bottom",
        className="tooltip"
        ),
    # FIR tap size
    dbc.Tooltip([
        html.P("Anti-aliasing FIR filter tap size - Do not set too large, or CPU utilization will be 100%"),
        html.P("Should be greater than the decimation ratio")],
        target="label_fir_tap_size",
        placement="bottom",
        className="tooltip"
        ),            
    # FIR tap size
    dbc.Tooltip([
        html.P("Window function type for designing the anti-aliasing FIR filter"),
        html.P("https://en.wikipedia.org/wiki/Window_function")],
        target="label_fir_window",
        placement="bottom",
        className="tooltip"
        ),
    # Enable filter reset
    dbc.Tooltip([
        html.P("If enabled, the memory of the anti-aliasing FIR filter is reseted at the begining of every new CPI")],
        target="label_en_filter_reset",
        placement="bottom",
        className="tooltip"
        ),  
    # Correlation size
    dbc.Tooltip([
        html.P("Number of samples used for the calibration procedure (sample delay and IQ compensation)")],
        target="label_correlation_size",
        placement="bottom",
        className="tooltip"
        ),
    # Standard channel index
    dbc.Tooltip([
        html.P("The selected channel is used as a reference for the IQ compensation")],
        target="label_std_ch_index",
        placement="bottom",
        className="tooltip"
        ),
    # Enable IQ calibration
    dbc.Tooltip([
        html.P("Enables to compensate the amplitude and phase differences of the receiver channels")],
        target="label_en_iq_calibration",
        placement="bottom",
        className="tooltip"
        ),
    # Gain lock interval
    dbc.Tooltip([
        html.P("Minimum number of stable frames before terminating the gain tuning procedure")],
        target="label_gain_lock_interval",
        placement="bottom",
        className="tooltip"
        ),
    # Require track lock intervention
    dbc.Tooltip([
        html.P("When enabled the DAQ firmware waits for manual intervention during the calibraiton procedure"),
        html.P("Should be used only for hardave version 1.0")],
        target="label_require_track_lock",
        placement="bottom",
        className="tooltip"
        ),
    # Amplitude calibraiton mode
    dbc.Tooltip([
        html.P("Amplitude difference compensation method applied as part of the IQ compensation"),
        html.P("default: Amplitude differences are estimated by calculating the cross-correlations of the channels"),
        html.P("disabled: Amplitude differences are not compensated"),
        html.P("channel_power: Ampltiude compensation is set in a way to achieve equal channel powers")],
        target="label_amplitude_calibration_mode",
        placement="bottom",
        className="tooltip"
        ),
    dbc.Tooltip([
        html.P("When periodic calibration track mode is selected the firmware regularly turn on the noise source for a short burst to\
            check whether the IQ calibration is still valid or not. In case the calibrated state is lost, the firmware automatically\
                initiates a reclaibration procedure")],
        target="label_calibration_track_mode",
        placement="bottom",
        className="tooltip"
        ),
        
    # Calibration frame interval
    dbc.Tooltip([
        html.P("Number of data frames between two consecutive calibration burst. Used when periodic calibration mode is selected")],
        target="label_calibration_frame_interval",
        placement="bottom",
        className="tooltip"
        ),
    # Calibration frame burst size
    dbc.Tooltip([
        html.P("Number of calibration frames generated in the periodic calibration mode")],
        target="label_calibration_frame_burst_size",
        placement="bottom",
        className="tooltip"
        ),
    # Amplitude tolerance
    dbc.Tooltip([
        html.P("Maximum allowed amplitude difference between the receiver channels")],
        target="label_amplitude_tolerance",
        placement="bottom",
        className="tooltip"
        ),
    # Phase tolerance
    dbc.Tooltip([
        html.P("Maximum allowed phase difference between the receiver channels")],
        target="label_phase_tolerance",
        placement="bottom",
        className="tooltip"
        ),
    # Maximum sync fails
    dbc.Tooltip([
        html.P("Maximum allowed consecutive IQ difference check failures before initiating a recalibration")],
        target="label_max_sync_fails",
        placement="bottom",
        className="tooltip"
        ),
    ])