Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.

AFG3022B - generate 2 tones

Questions in this forum area are community supported. Tektronix does not regularly monitor or guarantee responses in this area.
Post Reply
Posts: 2
Joined: February 11th, 2014, 11:32 am

AFG3022B - generate 2 tones

Post by epatton » February 14th, 2014, 10:35 am


I'd like to generate at least 2 tones on the AFG3022B that are between 2.00MHz and 2.050 MHz. I've looked at the ArbExpress tool and cant create this signal because tone spacing must be 25kHz. This is likely due to the fixed 250Mhz sample rate a 128K of available memory. Is there another way to do this?

Ideally I'd like to generate 2 tones with the first one at

2.001 MHz and the other ranging from 2.002 to 2.010 MHz.

Is the only way to use a RF combiner and program 2 CWs?

Adding more tones would be a bonus. :)


Carl M
Tektronix Applications
Tektronix Applications
Posts: 796
Joined: July 30th, 2008, 4:45 pm
Country: United States

Re: AFG3022B - generate 2 tones

Post by Carl M » February 26th, 2014, 5:31 pm

the afg uses a technique called direct digital synthesis for signal generation. while the internal sampling rate is fixed, the phase accumulator will dynamically repeat, advance, or skip samples to best fit the settings. This is important to note because the afg doesn't have a large sample record. you need a lot of time to describe small differences in frequency. you can stretch the available sample record of the afg at the cost of sampling rate. a 50 MSample/s should provide good detail of a 2 MHz sine and a factor of the internal 250 MS/s giving you an effective five times increase of the record time.

for a 1 KHz difference, you'll need a minimum of 1 ms record regardless of the frequency of the tones. you could use the arbexpress equation editor but as you've already discovered, arbexpress fixes the sampling rate. to work around this, you can enter numbers five times the desired or try an awg model which permits a variable sampling rate. different models have different constraints placed on the arbexpress so you may run into other arbitrary rules.

it was faster for me to do this in python. the following creates the sample vector for two tones at 2.001 MHz and 2.002 MHz. the resulting text file is easily imported into arbexpress which i used to create the *.tfw file. I copy my *.tfw to a usb stick for transfer to the afg.

Code: Select all

# dual tone wfm
import numpy # http://www.numpy.org/

# variables
freq1 = 2.001e6
freq2 = 2.002e6
record_time = 1e-3
sr = 50e6

# derived variables
record = record_time * sr

# create time vector
t = numpy.linspace(0, record_time, record, False)

# create sample vector with time vector
y = numpy.sin(2*numpy.pi*t*freq1) + numpy.sin(2*numpy.pi*t*freq2)

# write to file
numpy.savetxt('2tone_50MSps.txt', y)
Tektronix Application Engineer

Post Reply

Return to “Older and Obsolete Signal Sources”

Who is online

Users browsing this forum: No registered users and 1 guest