Сконфигурируйте выходной сигнал на генераторе Keysight® RF Signal Используя драйвер IVI-C

В этом примере показано, как инициализировать драйвер, считайте несколько свойств драйвера и сконфигурируйте использование выходного сигнала Keysight Technologies Генераторы Сигнала RF и выведите результат в MATLAB®.

Требования

Этот пример требует, чтобы следующее было установлено на компьютере:

  • Версия 17.1 библиотек Keysight IO или более новый

  • Версия драйвера 1.5.0.0 Кеисайта РФ Сигнэла Генерэторса IVI или более новый

Перечислите доступные драйверы IVI-C на компьютере

Это перечисляет IVI драйверов, которые были установлены на компьютере

IviInfo = instrhwinfo('ivi');
IviInfo.Modules
ans = 

  Columns 1 through 6

    'Ag33220'    'Ag3352x'    'Ag34410'    'Ag34970'    'Ag532xx'    'AgAC6800'

  Columns 7 through 11

    'AgE36xx'    'AgInfiniiVision'    'AgMD1'    'AgRfSigGen'    'AgXSAn'

  Columns 12 through 13

    'KtRFPowerMeter'    'rsspecan'

Создайте инструментальный драйвер MATLAB и подключение к симулированному инструменту

% Create the MATLAB instrument driver
makemid('AgRfSigGen','AgRfSigGen.mdd')

% Use icdevice with the MATLAB instrument driver name and instrument's
% resource name to create a device object. In this example the instrument
% is connected by GPIB at board index 0 and primary address 1.
myInstrument = icdevice('AgRfSigGen.mdd', 'GPIB0::01::INSTR','optionstring','simulate=true');

% Connect driver instance
connect(myInstrument);

Атрибуты и определение переменных

% These values are defined in the driver's header file 'AgRfSigGen.h'
AGRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SINE = 0;

Получите общие свойства устройства

Запросите информацию о драйвере и инструменте

DriverIdentification = get(myInstrument,'Inherentiviattributesdriveridentification');
InherentIviAttributesInstrumentIdentification = get(myInstrument, 'Inherentiviattributesinstrumentidentification');
Utility = get(myInstrument, 'Utility');
Revision = invoke(Utility, 'revisionquery');
Vendor = get(DriverIdentification, 'Specific_Driver_Vendor');
Description = get(DriverIdentification, 'Specific_Driver_Description');
InstrumentModel = get(InherentIviAttributesInstrumentIdentification, 'Instrument_Model');
FirmwareRev = get(InherentIviAttributesInstrumentIdentification, 'Instrument_Firmware_Revision');

% Print the queried driver properties
fprintf('Revision:        %s\n', Revision);
fprintf('Vendor:          %s\n', Vendor);
fprintf('Description:     %s\n', Description);
fprintf('InstrumentModel: %s\n', InstrumentModel);
fprintf('FirmwareRev:     %s\n', FirmwareRev);
fprintf(' \n');
Revision:        1.5.0.0 
Vendor:          Agilent Technologies
Description:     IVI Driver for Keysight Technologies RF Signal Generator [Compiled for 64-bit.]
InstrumentModel: E4428C
FirmwareRev:     Sim1.5.0.0
 

Выведите 1GHz/0dBm (1 милливатт) Сигнал Несущей

fprintf('Carrier Signal:\n\t1GHz/0dBm (1 milliwatt)\n');
invoke(Utility, 'reset');
% Specifies the frequency of the generated RF output signal.
Rf = get(myInstrument,'Rf');
set(Rf, 'Frequency', 1E9); % 1 GHz
% Specifies the amplitude (power/level) of the RF output signal.
set(Rf, 'Power_Level', 0); % 0 dB
% Enable RF output signal.
set(Rf, 'Output_Enabled', true);
Carrier Signal:
	1GHz/0dBm (1 milliwatt)

Отключите AM, FM и режимы PM

% Disable amplitude modulation (AM) of the RF output signal
AnalogModulationAM = get(myInstrument,'Analogmodulationam');
set(AnalogModulationAM, 'AM_Enabled', false);
% Disable frequency modulation (FM) of the RF output signal
AnalogModulationFM = get(myInstrument,'Analogmodulationfm');
set(AnalogModulationFM, 'FM_Enabled', false);
% Disable phase modulation (PM) of the RF output signal
AnalogModulationPM = get(myInstrument,'Analogmodulationpm');
set(AnalogModulationPM, 'PM_Enabled', false);

Включите Амплитудной модуляции (AM) Выход

fprintf('Enable Amplitude Modulation (AM)\n\n');
% Get the analog modulation source name
NameBufferSize = 256;
ConfigurationLfGenerator = get(myInstrument, 'Configurationlfgenerator');
Lfg = invoke(ConfigurationLfGenerator, 'getlfgeneratorname', 1,NameBufferSize);
% Set Lfg as amplitude modulation (AM) source
set(AnalogModulationAM, 'AM_Source', Lfg);
% Set Lfg as active LF generator
LfGenerator = get(myInstrument, 'Lfgenerator');
set(LfGenerator, 'Active_LFGenerator', Lfg);
% Generate a 2 kHz sine waveform modulation signal
invoke(ConfigurationLfGenerator, 'configurelfgenerator', 2000, AGRFSIGGEN_VAL_LF_GENERATOR_WAVEFORM_SINE);
% Enable amplitude modulation (AM) mode
set(AnalogModulationAM, 'AM_Enabled', true);
Enable Amplitude Modulation (AM)

Отобразите любые ошибки от драйвера

% If there are any errors, query the driver to retrieve and display them
ErrorNum = 1;
while (ErrorNum ~= 0)
    [ErrorNum, ErrorMsg] = invoke(Utility, 'errorquery');
    fprintf('ErrorQuery: %d, %s\n', ErrorNum, ErrorMsg);
end
ErrorQuery: 0, No error. 

Отключите объект устройства и вымойтесь

disconnect(myInstrument);
% Remove instrument objects from memory
delete(myInstrument);

Дополнительная информация:

Этот пример показывает настройку и конфигурирующий выходной сигнал на генераторе сигнала RF с помощью IVI драйверов. Используя Instrument Control Toolbox™, возможно автоматизировать управление инструментов, и, создать системы тестирования, которые используют MATLAB, чтобы выполнить исследования, которые не могут быть возможным использованием встроенной возможности оборудования.