Configuration of A Waveform - ni/grpc-device GitHub Wiki
ViStatus niRFSG_ConfigureGenerationMode (ViSession vi, ViInt32 generationMode);
Configures the NI-RFSG device to generate a continuous sine tone (CW), apply I/Q (vector) modulation to the RF output signal, or generate arbitrary waveforms according to scripts. The NI-RFSG device must be in the Configuration state before you call this function.
Supported Devices: PXIe-5644/5645/5646, PXI/PXIe-5650/5651/5652, PXIe-5653/5654/5654 with PXIe-5696, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Related Topics
Assigning Properties or Attributes to a Waveform
Scripting Instructions—Refer to this topic for more information about VST restrictions on scripts.
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
generationMode | ViInt32 |
Specifies the mode used by NI-RFSG for generating an RF output signal. Defined Values: |
NIRFSG_VAL_CW | Configures the RF signal generator to generate a CW signal. |
---|---|
NIRFSG_VAL_ARB_WAVEFORM | Configures the RF signal generator to generate arbitrary waveforms. |
NIRFSG_VAL_SCRIPT | Configures the RF signal generator to generate arbitrary waveforms as directed by scripts. |
Default Value: NIRFSG_VAL_CW |
---|
![]() |
Note For the PXI/PXIe-5650/5651/5652, PXIe-5653/5654/5654 with PXIe-5696, only NIRFSG_VAL_CW is supported. |
---|
| :- | :- | :- |
![]() |
Note If you are using an RF vector signal transceiver (VST) device, some script instructions may not be supported. |
---|
| :- | :- | :- |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_WriteArbWaveform (ViSession vi, ViConstString waveformName, ViInt32 numberOfSamples, ViReal64[] iData, ViReal64[] qData, ViBoolean moreDataPending);
Writes an arbitrary waveform to the NI-RFSG device. This function configures the I and Q vectors of a complex baseband signal. If the waveform to write is already allocated using the niRFSG_AllocateArbWaveform function, the moreDataPending parameter is ignored. The PXI-5670/5671 must be in the Configuration state before you call this function. When streaming is enabled, you can call this function when the PXIe-5672/5673/5673E and PXIe-5820/5830/5831/5832/5840/5841 is in the Generation state.
![]() |
Note On the PXIe-5644/5645/5646, PXIe-5672/5673/5673E, and PXIe-5820/5830/5831/5832/5840/5841, the moreDataPending parameter is always ignored. To write data in blocks on these devices, you must allocate the waveform before writing it. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Related Topics
Streaming
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
numberOfSamples | ViInt32 | Specifies the number of samples in both the iData and qData arrays. The iData and qData arrays must have the same length. If the NIRFSG_ATTR_ARB_WAVEFORM_QUANTUM attribute value is q, then the number of samples should be a multiple of q. The specified number of samples cannot be 0. |
iData | ViReal64[] | Specifies the in-phase (I) component of the complex baseband signal. |
qData | ViReal64[] | Specifies the quadrature (Q) component of the complex baseband signal. |
moreDataPending | ViBoolean | Specifies whether or not the data block contains the end of the waveform. Set this parameter to VI_TRUE to allow data to be appended later to the waveform. Splitting the waveform into multiple data blocks can reduce the memory requirements of the write operation. Append data to a previously written waveform by using the same waveform in the name parameter. Set moreDataPending to VI_FALSE to indicate that this data block contains the end of the waveform. If the waveform is already allocated, this parameter is ignored. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_WriteArbWaveformF32 (ViSession vi, ViConstString waveformName, ViInt32 numberOfSamples, ViReal32[] iData, ViReal32[] qData, ViBoolean moreDataPending);
Writes an arbitrary waveform to the NI-RFSG device. This function configures the I and Q vectors of a complex single baseband signal. If the waveform to write is already allocated using the niRFSG_AllocateArbWaveform function, the moreDataPending parameter is ignored. The PXI-5670/5671 must be in the Configuration state before you call this function. When streaming is enabled, you can call this function when the PXIe-5672/5673/5673E or PXIe-5820/5830/5831/5832/5840/5841 is in the Generation state.
![]() |
Note On the PXIe-5644/5645/5646, PXIe-5672/5673/5673E, and PXIe-5820/5830/5831/5832/5840/5841, the moreDataPending parameter is always ignored. To write data in blocks on these devices, you must allocate the waveform before writing it. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Related Topics
Streaming
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
numberOfSamples | ViInt32 | Specifies the number of samples in both the iData and qData arrays. The iData and qData arrays must have the same length. If the NIRFSG_ATTR_ARB_WAVEFORM_QUANTUM attribute value is q, then the number of samples should be a multiple of q. The specified number of samples cannot be 0. |
iData | ViReal32[] | Specifies the in-phase (I) component of the complex baseband signal. |
qData | ViReal32[] | Specifies the quadrature (Q) component of the complex baseband signal. |
moreDataPending | ViBoolean | Specifies whether or not the data block contains the end of the waveform. Set this parameter to VI_TRUE to allow data to be appended later to the waveform. Splitting the waveform into multiple data blocks can reduce the memory requirements of the write operation. Append data to a previously written waveform by using the same waveform in the name parameter. Set moreDataPending to VI_FALSE to indicate that this data block contains the end of the waveform. If the waveform is already allocated, this parameter is ignored. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_WriteArbWaveformComplexF64 (ViSession vi, ViConstString waveformName, ViInt32 numberOfSamples, NIComplexNumber wfmData[], ViBoolean moreDataPending);
Writes an arbitrary waveform to the NI-RFSG device starting at the position of the last data written in onboard memory. This function accepts the complex baseband data in the form of complex doubles. If the waveform to write is already allocated using the niRFSG_AllocateArbWaveform function, the moreDataPending parameter is ignored. The PXI-5670/5671 must be in the Configuration state before you call this function. When streaming is enabled, you can call this function when the PXIe-5672/5673/5673E or PXIe-5820/5830/5831/5832/5840/5841 is in the Generation state.
![]() |
Note On the PXIe-5644/5645/5646, PXIe-5672/5673/5673E, and PXIe-5820/5830/5831/5832/5840/5841, the moreDataPending parameter is always ignored. To write data in blocks on these devices, you must allocate the waveform before writing it. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Related Topics
Streaming
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
numberOfSamples | ViInt32 | Specifies the number of samples in both of the data arrays. |
data | NIComplexNumber[] | Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in the size_in_samples parameter in the niRFSG_AllocateArbWaveform function. |
moreDataPending | ViBoolean | Specifies whether or not the data block contains the end of the waveform. Set this parameter to VI_TRUE to allow data to be appended later to the waveform. Splitting the waveform into multiple data blocks can reduce the memory requirements of the write operation. Append data to a previously written waveform by using the same waveform in the name parameter. Set moreDataPending to VI_FALSE to indicate that this data block contains the end of the waveform. If the waveform is already allocated, this parameter is ignored. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_WriteArbWaveformComplexF32 (ViSession vi, ViConstString waveformName, ViInt32 numberOfSamples, NIComplexNumberF32 wfmData[], ViBoolean moreDataPending);
Writes an arbitrary waveform to the NI-RFSG device starting at the position of the last data written in onboard memory. This function accepts the complex baseband data in the form of complex singles. If the waveform to write is already allocated using the niRFSG_AllocateArbWaveform function, the moreDataPending parameter is ignored. The PXI-5670/5671 must be in the Configuration state before you call this function. When streaming is enabled, you can call this function when the PXIe-5672/5673/5673E or PXIe-5820/5830/5831/5832/5840/5841 is in the Generation state.
![]() |
Note On the PXIe-5644/5645/5646, PXIe-5672/5673/5673E, and PXIe-5820/5830/5831/5832/5840/5841, the moreDataPending parameter is always ignored. To write data in blocks on these devices, you must allocate the waveform before writing it. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Related Topics
Streaming
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
numberOfSamples | ViInt32 | Specifies the number of samples in both of the data arrays. |
data | NIComplexNumberF32[] | Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in the size_in_samples parameter in the niRFSG_AllocateArbWaveform function. |
moreDataPending | ViBoolean | Specifies whether or not the data block contains the end of the waveform. Set this parameter to VI_TRUE to allow data to be appended later to the waveform. Splitting the waveform into multiple data blocks can reduce the memory requirements of the write operation. Append data to a previously written waveform by using the same waveform in the name parameter. Set moreDataPending to VI_FALSE to indicate that this data block contains the end of the waveform. If the waveform is already allocated, this parameter is ignored. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_WriteArbWaveformComplexI16 (ViSession vi, ViConstString waveformName, ViInt32 numberOfSamples, NIComplexI16 wfmData[]);
Writes an arbitrary waveform to the NI-RFSG device starting at the position of the last data written in onboard memory. This function accepts the interleaved I/Q data of a complex baseband signal. The PXI-5670/5671 must be in the Configuration state before you call this function. When streaming is enabled, this function can be called when the PXIe-5672/5673/5673E or PXIe-5820/5830/5831/5832/5840/5841 is in the Generation state.
![]() |
Note This function only supports NIRFSG_VAL_PEAK_POWER mode as specified in the NIRFSG_ATTR_POWER_LEVEL_TYPE attribute. If you download a waveform when using this function, you cannot set the NIRFSG_ATTR_POWER_LEVEL_TYPE to NIRFSG_VAL_AVERAGE_POWER without causing error in the output. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Related Topics
Streaming
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
numberOfSamples | ViInt32 | Specifies the number of samples in the data array. |
data | NIComplexI16[] | Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in the size_in_samples parameter in the niRFSG_AllocateArbWaveform function. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_CheckIfWaveformExists (ViSession vi, ViConstString waveformName, ViBoolean* waveformExists);
Returns whether the waveform that you specify as waveformName exists.
Supported Devices: PXIe-5673/5673E
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
waveformName | ViConstString | Specifies the name used to store the waveform. This string is case-insensitive. |
Output | ||
Name | Type | Description |
waveformExists | ViBoolean* | Returns VI_TRUE if the waveform exists. Defined Values: |
VI_TRUE | The waveform exists. |
---|---|
VI_FALSE | The waveform does not exist. |
| :- | :- | :- |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ReadAndDownloadWaveformFromFileTDMSComplexI16 (ViSession vi, ViConstString waveformName, ViConstString filePath, ViUInt32 waveformIndex);
Reads the waveforms from a TDMS file and downloads one waveform into each of the NI RF vector signal generators.
This function reads the following information from the TDMS file and writes it into the NI-RFSG session:
- Sample Rate
- PAPR
- Runtime Scaling
- RF Blanking Marker Locations
- RF Blanking Enabled
- Burst Start Locations
- Burst Stop Locations
- RF Blanking Marker Source
- Signal Bandwidth
- Waveform Size
If RF blanking marker locations are present in the file but burst locations are not present, burst locations are calculated from RF blanking marker locations and stored in the NI-RFSG session.
Supported Devices: PXIe-5820/5830/5831/5832/5840/5841
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
waveformName | ViConstString |
Specifies the name used to store the waveform. This string is case-insensitive. Example: "waveform::waveform0" |
filePath | ViInt32 | Specifies the absolute path to the TDMS file from which the NI-RFSG reads the waveforms. |
waveformIndex | NIComplexI16[] | Specifies the index of the waveform to be read from the TDMS file. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_SelectArbWaveform (ViSession vi, ViConstString name);
Specifies the waveform that is generated upon a call to the niRFSG_Initiate function when the generationMode parameter of the niRFSG_ConfigureGenerationMode function is set to NIRFSG_VAL_ARB_WAVEFORM. You must specify a waveform using the name parameter if you have written multiple waveforms. The NI-RFSG device must be in the Configuration state before you call this function.
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Related Topics
Assigning Properties or Attributes to a Waveform
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name of the stored waveform to generate. This is a case-insensitive alphanumeric string that does not use reserved words. NI-RFSG sets the NIRFSG_ATTR_ARB_SELECTED_WAVEFORM attribute to this value. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ClearArbWaveform (ViSession vi, ViConstString name);
Deletes a specified waveform from the pool of currently defined waveforms. The NI-RFSG device must be in the Configuration state before you call this function.
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Name of the stored waveform to delete. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ClearAllArbWaveforms (ViSession vi);
Deletes all currently defined waveforms and scripts. The NI-RFSG device must be in the Configuration state before you call this function.
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ConfigureDigitalModulationUserDefinedWaveform (ViSession vi, ViInt32 numberOfSamples, ViInt8 userDefinedWaveform[]);
Specifies the message signal used for digital modulation when the NIRFSG_ATTR_DIGITAL_MODULATION_WAVEFORM_TYPE attribute is set to NIRFSG_VAL_USER_DEFINED.
Supported Devices: PXI/PXIe-5650/5651/5652
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
numberOfSamples | ViInt32 | Specifies the number of samples in the message signal. |
userDefinedWaveform | ViInt8[] | Specifies the user-defined message signal used for digital modulation. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_AllocateArbWaveform (ViSession vi, ViConstString name, ViInt32 size_in_samples);
Allocates onboard memory space for the arbitrary waveform. Use this function to specify the total size of a waveform before writing the data. Use this function only if you are calling the niRFSG_WriteArbWaveform function multiple times to write a large waveform in smaller blocks.
The NI-RFSG device must be in the Configuration state before you call this function.
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Related Topics
Streaming Waveform Data
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name used to identify the waveform. This string is case-insensitive and alphanumeric, and it does not use reserved words. |
size_in_samples | ViInt32 | Specifies the number of samples to reserve in the onboard memory for the specified waveform. Each I/Q pair is considered one sample. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ConfigureSignalBandwidth (ViSession vi, ViReal64 signalBandwidth);
Configures the signal bandwidth of the arbitrary waveform. The NI-RFSG device must be in the Configuration state before you call this function.
NI-RFSG defines signal bandwidth as twice the maximum baseband signal deviation from 0 Hz. Usually, the baseband signal center frequency is 0 Hz. In such cases, the signal bandwidth is simply the baseband signal minimum frequency subtracted from its maximum frequency, or fmax minus fmin. NI-RFSG uses this value to optimally configure the center frequency of the upconverter to help minimize phase noise. The generated signal is not filtered to achieve the set bandwidth. However, specifying a bandwidth smaller than the actual bandwidth of the signal could potentially result in spectral distortion.
![]() |
Note Based on your signal bandwidth, NI-RFSG decides whether to configure the upconverter center frequency on the PXI-5670/5671 or PXIe-5672 in increments of 1 MHz or 5 MHz. Failure to configure signal bandwidth may result in the signal being placed outside the upconverter passband. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841 |
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
signalBandwidth | ViReal64 | Specifies the signal bandwidth used by NI-RFSG to generate an RF output signal. NI-RFSG sets the NIRFSG_ATTR_SIGNAL_BANDWIDTH attribute to this value. |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_SetArbWaveformNextWritePosition (ViSession vi, ViConstString name, ViInt32 Relative_To, ViInt32 Offset);
Configures the start position to use for writing a waveform before calling the niRFSG_WriteArbWaveform function. This function allows you to write to arbitrary locations within the waveform. These settings apply only to the next write to the waveform specified by the name input of the niRFSG_AllocateArbWaveform function or the niRFSG_WriteArbWaveform function. Subsequent writes to that waveform begin where the last write ended, unless this function is called again.
![]() |
Note If you use this function to write the waveform that is currently generating, an undefined output may result. |
---|---|
Supported Devices: PXIe-5644/5645/5646, PXIe-5820/5830/5831/5832/5840/5841 |
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
name | ViConstString | Specifies the name of the waveform. This string is case-insensitive and alphanumeric, and it cannot use reserved words. |
relativeTo | ViInt32 | Specifies the reference position in the waveform. The position and offset together determine where to start loading data into the waveform. Defined Values: |
NIRFSG_VAL_START_OF_WAVEFORM | The reference position is relative to the start of the waveform. |
---|---|
NIRFSG_VAL_CURRENT_POSITION | The reference position is relative to the current position. |
| :- | :- | :- | |offset|ViInt32|Specifies the offset from the relative to parameter at which to start loading the data into the waveform.|
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |
ViStatus niRFSG_ConfigurePowerLevelType (ViSession vi, ViInt32 power_level_type);
Specifies the way the driver interprets the NIRFSG_ATTR_POWER_LEVEL attribute. In average power mode, NI-RFSG automatically scales waveform data to use the maximum dynamic range. In peak power mode, waveforms are scaled according to the NIRFSG_ATTR_ARB_WAVEFORM_SOFTWARE_SCALING_FACTOR attribute.
Supported Devices: PXIe-5644/5645/5646, PXI-5670/5671, PXIe-5672/5673/5673E, PXIe-5820/5830/5831/5832/5840/5841
Related Topics
Spurious Performance
Optimizing for Low Power Generation
Input | ||
---|---|---|
Name | Type | Description |
vi | ViSession | Identifies your instrument session. The ViSession handle is obtained from the niRFSG_init function or the niRFSG_InitWithOptions function and identifies a particular instrument session. |
power_level_type | ViInt32 | Specifies the way the driver interprets the value of the NIRFSG_ATTR_POWER_LEVEL attribute. NI-RFSG sets the NIRFSG_ATTR_POWER_LEVEL_TYPE attribute to this value. |
Average Power (default) | Indicates the desired power averaged in time. The driver maximizes the dynamic range by scaling the I/Q waveform so that its peak magnitude is equal to one. If you write more than one waveform, NI-RFSG scales each waveform without preserving the power level ratio between the waveforms. This value is not valid for the PXIe-5820. |
---|---|
Peak Power | Indicates the maximum power level of the RF signal averaged over one period of the RF carrier frequency (the peak envelope power). This setting requires the magnitude of the I/Q waveform to be less than or equal to one. When using peak power, the power level of the RF signal matches the specified power level at moments when the magnitude of the I/Q waveform equals one. If you write more than one waveform, the relative scaling between waveforms is preserved. In peak power mode, waveforms are scaled according to the NIRFSG_ATTR_ARB_WAVEFORM_SOFTWARE_SCALING_FACTOR attribute. |
| :- | :- | :- |
Name | Type | Description |
---|---|---|
status | ViStatus |
Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an instrument driver function to determine if an error occurred. To obtain a text description of the error code, call the niRFSG_GetError function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
| :- | :- | :- |