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"
),
])