Hi guys, I am pretty much a newbie to toolkit. I went through the manual and its too much of information going in different directions. I need explicit answer from experienced people.
The is the description of my setup.
Matlab, Agilent Toolkit.
The Agilent Toolkit is connected to E4438C ESG via LAN.
I am trying to generate a rectangular signal with 20 MHz bandwidth modulated at 2.6 GHz carrier.
This is my script:
zeross1=zeros(1,6)
oness=ones(1,32762);
zeross=zeros(1,32768);
combined=zeross1 oness zeross2;
Ichannel=comb.*cos(2*pi*20e6*t);
save my_data.txt combined -ASCII
The code above generate 6 zeros, 32762 ones and 32768 zeros, additional 6 zeros are for phase matching to avoid nonlinearity.
The total size is 65535 according to the DAC requirement of ESG.
I have attached the file that I recorded in an MXA. It seems like there is only a delta function and some spectral regrowth below the delta function. The frequency I set in ESG was 1 GHz and therefore the peak is correct.
I have no idea where I am going wrong, can someone please help.
Thank you.
The is the description of my setup.
Matlab, Agilent Toolkit.
The Agilent Toolkit is connected to E4438C ESG via LAN.
I am trying to generate a rectangular signal with 20 MHz bandwidth modulated at 2.6 GHz carrier.
This is my script:
zeross1=zeros(1,6)
oness=ones(1,32762);
zeross=zeros(1,32768);
combined=zeross1 oness zeross2;
Ichannel=comb.*cos(2*pi*20e6*t);
save my_data.txt combined -ASCII
The code above generate 6 zeros, 32762 ones and 32768 zeros, additional 6 zeros are for phase matching to avoid nonlinearity.
The total size is 65535 according to the DAC requirement of ESG.
I have attached the file that I recorded in an MXA. It seems like there is only a delta function and some spectral regrowth below the delta function. The frequency I set in ESG was 1 GHz and therefore the peak is correct.
I have no idea where I am going wrong, can someone please help.
Thank you.
How can a 20MHz bandwidth pulse be created using Matlab and how can Agilent toolkit be used to download the pulse into the E4438C
in order to be played out at a 2.6 GHz carrier?
In order to get the 20MHz bandwidth, you need a pulse width of 50nS (1/bandwidth).
The maximum sample rate for the E4438C is 100MHz or 10nS sample time (1/sample rate).
This means that you need 5 samples to get the 50nS pulse width. Below is a Matlab example:
% Purpose:
% To calculate and download an arbitrary waveform file to generate a
% simple pulsed signal with the ESG vector signal generator.
%
%
% Define variables:
%
% on -- pulse on-time definition (samples)
% off -- pulse off-time definition (samples)
% inphase -- in-phase modulation signal (samples)
% quadrature -- quadrature modulation signal (samples)
% IQData -- complex array containing both i and q waveform samples
% Markers -- array containing markers for Event Markers 1 and 2
% sampclk -- clock freq for the D/A converters in the IQ modulator
sampclk = 100e6; % ARB Sample Clock for playback
on=ones(1,5); % defines the on-time characteristics
off=zeros(1,372); % defines the off-time characteristics
% build the pulse envelop
inphase = [rise on fall off];
% plot the i-samples and scale the plot
plot(inphase)
axis ([0 length(inphase) -2 2])
% set the q-samples to all zeroes
quadrature = zeros(1,length(inphase));
% define a composite iq matrix for download to the PSG using the
% PSG/ESG Download Assistant
IQData = [inphase + (j * quadrature)];
% define a matrix and activate a marker for the beginning of the waveform
Markers = zeros(2,length(IQData)); %fill Marker array with zero ie. no markers set
Markers(1,1:10) = 1; %set Marker to first ten points of playback
After creating the IQData file in matlab you can now use Agilent toolkit to download the file into the ESG.
Set the ESG’s sample rate to 100MHz and the frequency to 2.6GHz.
I hope this helps -