Tektronix  AFG31022 (arbitrary function generator) review - Page 1
Forum section: electronics / testgear

author: nctnico
author_rank: Super Contributor
timestamp: September 30, 2020, 07:54:04 pm
content: Tektronix AFG31022 review (firmware version 1.5.2)IntroWhat if you need more than what an entry level waveform generator offers? That is a problem I have been trying to solve for a while now. Many years ago I bought a Siglent SDG1010 which started to show it's limitations quickly because one of the channels is +/-3V only (which can't drive most 3.3V logic let alone 5V logic). The latter severely limits the usefullness. Besides that it turned out that the outputs aren't really synchronised (even with output coupling enabled). When outputting a 10MHz and a 1Hz signal the frequencies are not exact integer multiples! All in all I have used it far less than I'd like especially given the price. So the hunt for a different (new) function generator started. One that is not likely to turn out to be inadequate just when needed the most to get a project finished on time. So far I have played with the AIM-TTI TGF4042, GW Instek MFG2260 and Siglent SDG2042X. The first 2 didn't pass the test to see if low and high frequencies stay aligned. The Siglent SDG2042X does but still has a phase accumulation bug which may hint to other lingering problems. I didn't bother to look deeply into the waveform generators of Rigol due to the poor jitter performance (and also Rigol's history of delivering poor firmware). Time to spend some serious money...Wishes:- 2 channels with 20Vpp into a high impedance load- 20Mhz or so- low jitter- outputs stay in sync when frequencies are integer multiples (without channel coupling; after all both channels use the same crystal / reference frequency)Nice to haves:- floating outputs- features that improve productivityWith the B-brands removed from the short list I looked at the A-brand function generators below the 5k euro mark to make a rough selection. Lecroy only has Siglent rebadges and Rhode & Schwarz doesn't have generators with multiple output channels. Yokogawa has the FG420 model but it seems horribly expensive and has very poor jitter specs (2.5ns). That basically leaves Keysight and Tektronix. Particular models which seem to fit the budget are Keysight's 33510B or 33512B and Tektronix' AFG31022. All have floating outputs. The 33510B is priced around 2400 euro, the 33512B at around 2900 euro while the AFG31022 sits around 3000 euro. Right off the bat the AFG31022 seems to have a few advantages compared to the 33510B/33512B: big touch screen (9" versus 4.3"), lower jitter (2.5ps versus 40ps), InstaView to view the output waveform, synchronisation of multiple units to get more channels, higher bandwidth (25MHz versus 20MHz) and useable as a standalone device to create arbitrary waveforms (versus needing Keysight Benchvue; which people aren't very positive about). However the 33510B/33512B have a 16 bit vertical resolution versus 14 bit for the AFG31022. I decided to get a Tektronix AFG31022 on loan for evaluation from a local Tektronix distributor. After some e-mails and phone calls (Covid-19 and holiday season aren't helping) I got a demo unit on my desk. Oddly enough the demo unit doesn't have any of the options enabled; I would expect a demo unit to have all options enabled.BTW: Shahriar (The Signal path) did a teardown and review last year:First impression / user interfaceThe AFG31000 is big! And since it has an oscilloscope form factor it isn't stackable. The fan is not very quiet as well even though the fan appears to be mounted using rubber fan mounts. The sound level measuring app on my phone says 64dBA at a distance of 25cm. Shahriar mentioned the UI has some quirks. I have to agree with him. For example in the system settings menu you can click on the border from an on/off control which then highlights the control but doesn't change the selection. Another example is going from a setting in channel 1 to a setting in channel 2. The first press on the control (the waveform type selection for example) closes the other control and the next press opens the wanted control; you have to press twice on some controls to open them. That is a bit clunky.You can make the waveform preview display larger but that hides some of the waveform parameter fields. By dragging the parameter fields up/down you can scroll through the options. There are also buttons on the front panel which can be used to set settings but when you press these while the control is off-screen the control is not made visible. A similar situation is when you use the (physical) rotary knob. I managed to use it to scroll through the list with waveform parameters once but couldn't repeat it. Also when changing a setting using the buttons there is no good way to exit a parameter field. All in all it seems the integration between the touch screen and the front panel buttons isn't perfect. Frankly I don't see an obvious way to operate the AFG31000 using the buttons only. As usual there is a touch screen disable button but I'm starting to wonder who would disable the touch screen on a modern device; a touch-screen disable button seems a relic from the past to me.Something else that is slightly misleading are the 'basic mode' and 'advanced mode'. IMHO those terms aren't quite right. Basic mode is the function generator mode and Advanced mode is the arbitrary sequence mode. The latter is pretty limited without the sequence option.Test plan- Sweeps- Output synchronisation- Phase offset accumulation when modulating the output signal- Creating and using arbitrary waveforms- InstaViewSweepsFor some function generators exponential sweeps are a problem. I've seen quite a few which output stepped frequencies and thus skip parts of the frequency band when set to a logarithmic sweep. But not the AFG31000; the frequency ramps up smoothly. At first it seems most of the sweep options are left out but you have to scroll down to see the rest. The UI isn't very clear on this. The hold time and return time parameters are nice to create asymetric sweeps. The sync/trigger output only relates to channel 1.Output synchronisationI can be short about this: both outputs stay in sync with the 10MHz / 1Hz output on channel 1 and 2 respectively so that is good (without using channel coupling). And not only stay the outputs in sync they are also phase aligned when an output is switched on. So even without channel coupling enabled the phase relation between the outputs is fixed / predictable.Phase offset accumulationThe AFG31000 passes this test as well. With very slow modulations (these are useful to simulate wander of time sources like GPS receivers) there is no phase offset accumulation.Creating and using arbitrary waveformsOne of the things that has annoyed me about arbitrary waveform generators so far is that it isn't easy to create your own waveforms. Either you have to use crappy PC software, spend a ton of money on decent PC software or use the device itself. I have owned a Lecroy LW420A in the past which had a built-in waveform editor but this wasn't particulary easy to use. Loading a waveform into the Siglent SDG1010 is an experience I rather not repeat.It is possible to draw free-form waveforms on the AFG31000. This may be useful to edit waveforms slightly or add a pulse to the wave which can be triggered on. But just drawing some dots on the screen like a monkey and output the result isn't a very useful test. Let's try to create an actually useful waveform. One of my past projects uses a 1kHz sine with a ramping up amplitude in 50ms, stays stable for 200ms and then ramps the amplitude down back to 0 during 50ms. A simple way to this is to create 3 waveforms. One with the ramp-up part, one with the stable amplitude part and one with the ramp down part. The waveform editing tool is quite limited since it can not create ramps so using an equation is much easier. To get a waveform with a duration of 50ms I select 100kpts and a samplerate of 2MS/s. In the equations the letter w is used as the phase which goes from 0 to 2*Pi for the duration of the time specified in the range() function. The equation 'w/(2*pi) * sin(50 * w)' gives me 50 cycles of sine wave which ramp ups in amplitude. Ramping down uses the equation '(1-w/(2*pi)) * sin(50 * w)'. A steady state waveform is simple enough. Entering the formulas works OK-ish but some help from the front panel buttons is needed to move the cursor through the formulas as the on-screen keyboard doesn't offer cursor keys. After saving these waveforms I go into sequence mode and... run into a problem. The unit I have on loan doesn't have the sequence option so I can't create a sequence of waveforms. I was hoping it was at least possible to go through a list of waveforms without the sequence option. The sequence option costs another 950 euro. Bummer! The Keysight 33512B does include sequencing as standard so I expected that the AFG31000 would have at least some basic functionality. Time to get clever and see if there is another way. From the manual it turns out waveforms can be built from pieces by using the range function and define a function for each range. So putting all three formulas in 3 different time ranges gets me the waveform that I want from one equation. Now onto the next hurdle; I want to trigger an oscilloscope at the start of the waveform. According to the manual it should be possible to enable the trigger output for a marker from the equation but that function doesn't seem to be implemented (yet). The mark() function in the equation editor isn't supported. It is also possible to set the marker from the sequence list. It took me about 20 tries to swipe the first row of the sequence list to the right the right way to make the marker selection box appear. Pfew; I almost gave up on that one. It would be better if the marker column is simply visible all the time. One thing I wanted to check is whether the waveforms which where stitched together form a continuous waveform. No problems there; the waveforms transition nicely from one to the other. I re-tested by using a samplerate of 10ks/s (10 points per period) and that produces a waveform with clearly visible steps but still the transition between the stable amplitude and the ramped amplitude parts is smooth (without visible phase jumps). Another annoyance is that the samplerate and length settings aren't saved together with a waveform equation; to me those seem an integral part of a waveform equation because they describe the time domain for the equation. But it is possible to have remarks in the equation as well so a remark can be used to note the length and samplerate settings.Another interesting thing is that the maximum length of an arbitrary waveform is 1Mpts (give or take) even though the AFG31000 has 16Mpts of memory as standard. I guess that those 16Mpts are only useable with the sequence option. Without the sequence option the limit is basically 1Mpts; I see no way to make use of more than 1Mpts without the sequence option.Besides creating waveform a different use of an arbitrary waveform generator is to play back waveforms captured by an oscilloscope. The AFG31000 reads the CSV files from the GW Instek GDS-2204E, Micsig TO1104 and R&S RTM3004 oscilloscopes I have here without any manual intervention. It just works right out of the box on the AFG31000 itself (neat!). After importing, the samplerate must be set to match the original waveform though. A scaling factor and offset can be used to adjust the amplitude and offset. The waveform editor can be used to crop the unwanted parts quickly. The length of the imported waveform is limited to 1Mpts ofcourse. It is also possible to load a waveform in the basic (standard) operating mode but in that case the length is limited to (around) 130kpts. The waveform editor allows to have multiple waveforms open (as long as the total isn't more than 1Mpts) and copy & paste between them so without the sequencing mode it is still possible to create a waveform from several other waveforms.InstaViewA unique feature of the AFG31000 is InstaView. This feature allows to see the signal the way it arrives at the DUT. From Shahriar's video it seems InstaView does a complex impedance measurement of the cable and goes from there. Unfortunately that is also where InstaView falls flat on it's face. When I create a short at the end of a cable with a 10MHz sine wave, the AFG31000 tells me the amplitude is still over 2V. Yeah right... That is reflected back into the output. In the end there is only so much you can measure from a source. Also the InstaView waveform is not updated continuously. Only when the AFG31000 detects a change in the load the output waveform get re-measured (which involves switching on/off several relays). The detection of the load change does not always happen reliably so if the load varies only slightly or the measurements starts before the variation in the load has finished you'd have to force the AFG31000 to re-measure. I wouldn't call the InstaView a gimmick but it certainly has severe limitations. It is definitely not a killer app. At higher frequencies cable reflections due to impedance mismatches will make the results become way off. I was kind of hoping the InstaView feature could replace using an oscilloscope to check the input of a DUT but that is not the case. Some will say that you should match the output of the function generator but that defeats the purpose of using InstaView; with a defined impedance you don't need to measure the signal at the DUT to start with.ArbExpress Windows softwareI played with the ArbExpress software package shortly. Installing it went OK although the Tek VISA package is also needed. No license is needed; the test equipment serves as the dongle. I installed the software in a virtual machine so it won't interfere with other software. AFAIK Tek VISA doesn't always play nice with other manufacturer's VISA packages. The TekVISA control panel detection tool can detect the AFG31022 by itself while the AFG31022 is connected to the network with a DHCP server. At first sight I don't see any features that don't exist in the internal waveform editor so the added value for the external software is not high.ConclusionOverall the AFG31000 does what it is supposed to do. Not surprising because Tektronix has a long history designing & producing arbitrary waveform generators (at least since the late 1980's) so they know how to get the waveform generating part up & running. The big touchscreen and versatile firmware are definitely a plus because it allows the device to be used standalone without compromise. If you need to cook up a waveform quickly at a customer the AFG31000 is a ready to go all in one package. Now the million dollar question is: am I considering to buy it? Yes, I do. I really like that the AFG31000 can be used stand-alone but OTOH I don't want to pay extra for the sequencing and the loud fan is a let down.pros:- The signal generation is excellent (the digital/algorithm part that takes care of creating the signals)- Internal arbitrary waveform editing is good enough not to need external software.- Big screen which makes it easy to operate- Importing & playing back CSV files from an oscilloscope is a piece of cake.- Very low jitter (especially given the price).- Real power switch (no standby power usage)cons:- Arbitrary waveform sequencing is not standard- Somewhat loud fan (screaming for a replacement)- Non-stackable casing- The UI needs attention in some areas but no show stoppers.Post ScriptumAt this point my intention was to get a 33512B as well, review it and do a bit of a shoot-out. Unfortunately the local Keysight dealer didn't had a 33512B available for me to try for a week and they couldn't tell when one would be available. They did make me a good offer on a refurbished unit which I could rent from them during the evaluation period in case I decided to return it but they never got back to me with a price. At the other end I tried to haggle a bit with the local Tektronix dealer to see if I could get the AFG31022 with the sequencing option for free to make the price to be on par with the cost of the 33512B. There was some room for a discount but not much. Given the fact that I know the AFG31022 works well and I like it doesn't rely on external software for any of the functions I was leaning towards the AFG31022 at this point. Still not happy with the pricing though. Fortunately a lightly used AFG31022 was available on Ebay which I ordered. The price is low enough to add the sequencing option and still stay in the 3000 euro ballpark. I have not received it yet but according to the seller there is over a year of factory warranty left on the unit.

author: Sighound36
author_rank: Frequent Contributor
timestamp: October 01, 2020, 09:08:28 am
content: Interesting the fan on mine is dead quietIt is a nice quality unit and the inst-view is novel and helpful, it is large and I believe it uses the same casework as the newer low end Tek scopes.Nice to navigate as well, it is coming up for a year we have had our unit and it has been upgraded to the 2G/s and 250Mhz bw, use it practically everyday and like Nctnico mentioned it has a big ass power button that clunksYes it is pretty low jitter as well, for 3000 euro's you did wellWell worth a trial.

author: maxwell3e10
author_rank: Frequent Contributor
timestamp: October 02, 2020, 02:10:27 am
content: Thanks for a great review. Can you do a test where you zoom on the zero crossing of a slow sine wave, 10 Hz-100 Hz with 20Vpp. This will show the time and/or voltage quantization steps and a rough noise estimate.

author: nctnico
author_rank: Super Contributor
timestamp: October 02, 2020, 05:29:53 pm
content: Quote from: Sighound36 on October 01, 2020, 09:08:28 amIndeed. But maybe it also depends on the amount of noise in your lab. A couple of days ago I changed the video card (with an already quiet fan) in my PC with a fanless one. I'llseehear how the fan is on the unit I bought.Quote from: maxwell3e10 on October 02, 2020, 02:10:27 amI can do that once my unit arrives. But likely there is some filtering and other trickery involved.

author: nctnico
author_rank: Super Contributor
timestamp: October 14, 2020, 08:37:16 pm
content: My own AFG31022 has arrived today. Well packed, in mint condition (ex rantal though) and still warranty until the end of next year!The fan is also loud on this unit (IMHO).I did the test with the zero crossing but I don't see any quantization steps in the signal:

author: maxwell3e10
author_rank: Frequent Contributor
timestamp: October 14, 2020, 10:23:41 pm
content: Thanks. You need to keep zooming in the vertical and horizontal direction until a) you see the steps or b) just see white noise or c) become limited by overload recovery of the scope. Here are the steps for Keysight 33500 and DG811https://www.eevblog.com/forum/testgear/new-rigol-16-bit-function-generators-dg800900-series/msg2452248/

author: nctnico
author_rank: Super Contributor
timestamp: October 15, 2020, 08:47:10 am
content: Aha. Here is another stab at it. The signal is 100Hz / 10Vpp

author: maxwell3e10
author_rank: Frequent Contributor
timestamp: October 15, 2020, 12:19:54 pm
content: Thanks. Nice clean steps. But they seem kind of big. From vertical resolution one would expect 10Vpp/2^14=0.6 mV or perhaps if its 20Vpp full scale then 1.2 mV. If its limited by the time steps, as are many generators, then 0.01 sec/700 nsec gives about 14285, so maybe 2^14 bits. There are also half-steps, so could be 2^15 bits in the time domain. For comparison, FY6600 uses 2^13 steps, DG800 uses 2^15 steps, DG4162 uses 2^16 steps and 33500 uses 2^17 time steps.

author: nctnico
author_rank: Super Contributor
timestamp: October 16, 2020, 11:08:48 am
content: After some pondering I'm not quite sure whether using a standard waveform is good enough to determine the actual bits used. In the end a standard waveform should meet the distortion specs of the function generator. I think a better way would be to use an arb waveform with a sufficient number of points so that all bits are used (in theory) and then check the actual number of bits.

author: Mechatrommer
author_rank: Super Contributor
timestamp: October 16, 2020, 12:10:38 pm
content: so how is your 1Hz vs 10MHz alignment test perform? btw if everything settled down, i'm thinking to make ±30Vac into 50 ohm load post amplifier for my AWG...

author: nctnico
author_rank: Super Contributor
timestamp: October 16, 2020, 12:59:44 pm
content: Quote from: Mechatrommer on October 16, 2020, 12:10:38 pmThe alignment is excellent (otherwise I wouldn't have bought the generator). The AFG31022 arrived just in time; I'm putting it to good use for a project. My SDG1010 is going to it's new owner today. Still I'm dissapointed that I have not been able to give the Keysight generator a test drive in order to have a good comparison.Making an amplifier is also an item on my bucket list but so far I didn't have time for it.

author: Mechatrommer
author_rank: Super Contributor
timestamp: October 16, 2020, 01:22:46 pm
content: as i understand it in your reply #3, you made the review in OP before you got the item. then how you were sure it can synch 1Hz/10MHz signal? any specific statement for that in manual?

author: nctnico
author_rank: Super Contributor
timestamp: October 16, 2020, 01:50:59 pm
content: Quote from: Mechatrommer on October 16, 2020, 01:22:46 pmI made the review using an AFG31022 which I had on loan from Tektronix. After that I bought one.

author: nctnico
author_rank: Super Contributor
timestamp: January 12, 2021, 08:07:41 pm
content: Recently someone pointed me to an interesting effect in a video made by Shariar from 'the Signal Path'. In this video Shariar shows a frequency drift when FM modulation is used (https://youtu.be/SOHjFtw0sgo?t=1248). I also managed to reproduce this effect with the following settings:Channels 1 & 2 set to 20MHz sine wave 1VPP.Channel 2 to continuous,Channel 1 to FM modulation: FM frequency 800kHz, devation 150kHzIn this situation the carrier frequency on channel 1 gets a frequency offset of around .4HzI asked Tektronix' technical support about this. Their answer is that it is not a bug but a limitation. In the specs it says that the accuracy of the frequency setting is:±10–6 setting (except Arbitrary), 0 °C to 50 °C±10–6 setting±1uHz (ARB) , 0 °C to 50 °CSo a 0.4Hz deviation is still in spec. A way around this is to create an arb waveform which is an integer multiple of both carrier frequency and the deviation or select the carrier and deviation very carefully.

author: smarteebit
author_rank: Contributor
timestamp: January 13, 2021, 01:18:13 am
content: QuoteGood review. Could you please explain what the 'Phase offset acumulation' is? Is it frequency deviation causing the acumulated phase offset?

author: nctnico
author_rank: Super Contributor
timestamp: January 13, 2021, 08:39:20 am
content: Quote from: smarteebit on January 13, 2021, 01:18:13 amYes. It is frequency deviation causing an accumulated phase offset. In the end frequency and phase offset are always linked to eachother.