📄 iqview.h
字号:
IQV_WIN_BLACKMANHARRIS,
IQV_WIN_HANNING,
IQV_WIN_RECT,
IQV_WIN_FLATTOP
};
/* Enumeration for OFDM Mode */
enum IQV_OFDM_MODE_ENUM
{
IQV_OFDM_80211_AG,
IQV_OFDM_80211_AG_TURBO,
IQV_OFDM_ASTM_DSRC,
IQV_OFDM_QUARTER_RATE
};
/* Enumeration for Packet Analysis Mode */
enum IQV_PACKET_ANALYSIS_MODE
{
IQV_PACKET_ANALYSIS_80211_AG = 1,
IQV_PACKET_ANALYSIS_80211_B
};
/* Enumeration for Modulation Control mode*/
enum IQV_MODULATION_CONTROL_ENUM
{
IQV_WAVE_DL_MOD_DISABLE,
IQV_WAVE_DL_MOD_ENABLE
};
/* Enumeration holding the result of function calls. */
enum IQV_ERR_ENUM
{
IQV_ERR_OK, /* The command was executed
successfully. */
IQV_ERR_GENERAL_ERROR, /* The command was not executed
successfully. */
IQV_ERR_INVALID_HNDL, /* The handle supplied was not
recognized as being a valid
handle. */
IQV_ERR_UNKNOWN_PARM, /* The parameter supplied was
unknown. */
IQV_ERR_ALREADY_CONNECTED, /* A connection could not be set
up because all connection
resources are already used
up. */
IQV_ERR_NO_ROUTE_TO_TESTER, /* No connection to the tester
could be established. */
IQV_ERR_OUT_OF_MEM, /* The required memory could not
be allocated. */
IQV_ERR_TYPE_MISMATCH, /* The user requested a data type,
which could not be retrieved,
e.g., the user requested the
value of a result parameter
containing a text string, but
did not supply a buffer for it.
As another example, this error
could mean that the user tried
to retrieve an integer
parameter as a text string.
If possible a type cast will
be performed. */
IQV_ERR_INVALID_SCENARIO, /* The scenario ID chosen does not
exist. Create a new scenario,
for instance by using the
command IQV_set_status. */
IQV_ERR_DATA_CAPTURE, /* No data was captured during a
data capture, e.g. due to
enabling the video trigger
without supplying a signal. */
IQV_ERR_EMPTY_VECTOR, /* Data was requested (using IQV_result_data_real
or IQV_result_data_imag), which existed, however
the length of the returned vector array
was zero (empty vector). */
IQV_ERR_TOKEN, /* The token was invalid, general token error. */
IQV_ERR_TIMEOUT, /* General timeout error. */
IQV_ERR_N_ERRORS /* The number of error messages. */
};
/*===========================================================================
Type Definitions for structures and unions holding numbers
===========================================================================*/
/* Structure defining a complex number. */
typedef struct
{
double real; /* The real part of a complex
number. */
double imag; /* The imaginary part of a complex
number. */
} IQV_COMP_NO_TYPE;
/* Structure defining a real number. */
typedef struct
{
double real; /* A real number. */
} IQV_REAL_NO_TYPE;
/* Structure defining parameter used in function IQV_misc_multi_cmd_1. */
typedef struct
{
void *ptr_real; /* Pointer to real data. */
void *ptr_imag; /* Pointer to imag data. */
unsigned int len; /* Number of elements that ptr_real
(and ptr_imag) points to. */
unsigned int type; /* Type of data (see
IQV_MISC_ENUM). */
} IQV_MISC_TYPE;
/* Union holding a complex or a real data value. */
typedef union
{
IQV_COMP_NO_TYPE cval;
IQV_REAL_NO_TYPE rval;
} IQV_COMP_TYPE;
/* Union holding a complex or a real data value. */
typedef struct
{
IQV_COMP_TYPE val; /* Value. */
IQV_REAL_NO_TYPE lmin_reserved; /* Minimum limit. - reserved value */
IQV_REAL_NO_TYPE lmax_reserved; /* Maximum limit. - reserved value */
int pass_reserved; /* lmin <= val <= lmax gives true.
- reserved */
char unit[IQV_TXT_LEN+1]; /* Text buffer for Unit. */
char desc[IQV_TXT_LEN+1]; /* Text buffer for Description. */
double reserved_00; /* Reserved value. */
double reserved_01; /* Reserved value. */
double reserved_02; /* Reserved value. */
double reserved_03; /* Reserved value. */
double reserved_04; /* Reserved value. */
double reserved_05; /* Reserved value. */
double reserved_06; /* Reserved value. */
double reserved_07; /* Reserved value. */
double reserved_08; /* Reserved value. */
double reserved_09; /* Reserved value. */
} IQV_RESULT_TYPE;
/*===========================================================================
Type Definitions for structures holding measurement setups.
===========================================================================*/
/* Structure for RX setup parameters. */
typedef struct
{
double freq; /* RF RX/TX frequency in Hz. */
double gain; /* General RF RX/TX gain in dB. */
int rf_enabled; /* Use values from enumeration
IQV_RF_ENABLE_ENUM for
enabling or disabling RF. */
int rf_port; /* Set RF port selection for
n-connector: see IQV_PORT_ENUM. */
double ampl; /* RF RX signal amplitude in dBm
- not valid for TX. */
int vsa_type; /* VSA Type */
int reserved_02; /* Reserved value. */
double reserved_03; /* Reserved value. */
double reserved_04; /* Reserved value. */
double reserved_05; /* Reserved value. */
double reserved_06; /* Reserved value. */
double reserved_07; /* Reserved value. */
double reserved_08; /* Reserved value. */
double reserved_09; /* Reserved value. */
} IQV_RX_TX_TYPE;
/* Structure for ADC related parameters. */
typedef struct
{
double gain_base_band; /* Value for base band gain in dB.
Valid when capturing data from
base band (VGA gain). */
double sampling_time; /* ADC Sampling time in seconds. */
double sampling_freq; /* ADC Sampling frequency in Hz.
- use 66 MHz. */
int sampling_trig_type; /* ADC Sampling trigger type
(See IQV_TRIG_TYPE_ENUM). */
double sampling_trig_pre_time; /* ADC Trigger Pre Time sets the amount
of data to show before the trigger
point in seconds. */
double sampling_trig_timeout; /* Trigger timeout in secs. */
double sampling_trig_level; /* Trigger level in dB relative
to VSA amplitude */
double reserved_03; /* Reserved value. */
double reserved_04; /* Reserved value. */
double reserved_05; /* Reserved value. */
double reserved_06; /* Reserved value. */
double reserved_07; /* Reserved value. */
double reserved_08; /* Reserved value. */
double reserved_09; /* Reserved value. */
} IQV_ADC_TYPE;
/* Structure for DAC related parameters. */
typedef struct
{
double gain; /* Signal modulation gain in dB. */
double sg_freq; /* Internal signal generator
frequency in Hz. */
double sampling_freq; /* DAC Sampling frequency in Hz.
- use 80 MHz. */
int source; /* Signal source. Use value from
IQV_SOURCE_ENUM. */
int wave_preset; /* If supplying a wave as source,
set to a value between 100 and
199 (both included). This
preset number is used to
select between up to 100 user
defined waves. */
double wave_preset_interval; /* If supplying a wave as source,
it is possible to extend the
default interval between the
frames by setting this number.
The number is in sec. Values
between 0 and 0.003 are allowed. */
double sg_dc_error_I; /* Signal modulation DC offset in
volt for I channel. */
double sg_dc_error_Q; /* Signal modulation DC offset in
volt for Q channel. */
double sg_gain_error; /* Signal Generator gain error. */
double sg_phase_error; /* Signal Generator phase error. */
double sg_delay_error; /* Signal Generator delay error. */
double reserved_02; /* Reserved value. */
double reserved_03; /* Reserved value. */
double reserved_04; /* Reserved value. */
double reserved_05; /* Reserved value. */
double reserved_06; /* Reserved value. */
double reserved_07; /* Reserved value. */
double reserved_08; /* Reserved value. */
double reserved_09; /* Reserved value. */
} IQV_DAC_TYPE;
/* Structure for FFT analysis related parameters. */
typedef struct
{
double res_bw; /* Resolution bandwidth in Hz. */
double video_bw; /* Video bandwidth in Hz. */
int video_av_method; /* See IQV_VIDEO_AV_METHOD_ENUM. */
int window_type; /* See IQV_WINDOW_TYPE_ENUM. */
double f_sample; /* Sample frequency in Hz. */
double nfft; /* Number of points in FFT. */
double nfft_over; /* Minimum oversampling factor. */
double freq_start; /* Start frequency in Hz */
double freq_stop; /* Stop frequency in Hz */
double freq_delta; /* Frequency increment in Hz */
double reserved_01; /* Reserved value. */
double reserved_02; /* Reserved value. */
double reserved_03; /* Reserved value. */
double reserved_04; /* Reserved value. */
double reserved_05; /* Reserved value. */
double reserved_06; /* Reserved value. */
double reserved_07; /* Reserved value. */
double reserved_08; /* Reserved value. */
double reserved_09; /* Reserved value. */
} IQV_FFT_STRUCT_TYPE;
/*===========================================================================
Main Type Definitions
===========================================================================*/
/* Structure used for storing an IP address. */
typedef struct
{
char addr [IQV_IP_ADDR_LEN+1]; /* ASCII string containing the IP
address,
e.g. 搙xx.xxx.xxx.xxx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -