Monday, May 28, 2012

Creating Arbs Today is Easy!

In this blog post we will look at how easy it is to create arbitrary waveforms on a modern function / arbitrary waveform generator (AWG). I am always running into engineers, young and old alike, that try at all costs to avoid creating an arbitrary waveform (arb) for a test. When they hear the word arb they picture the tedious process of learning how to use some type of waveform software or, worst yet, having to write a program to generate your waveform and then remotely connecting to your AWG to upload the arb. With modern AWGs arb creation no longer has to be looked upon with doom and gloom.

Let's look at two easy examples for creating an arb and transfering it to an AWG. In the first example we will look how we can create an arb from scratch and transfer it to an AWG. In the second example we will capture a waveform from a scope and then transfer and recreate it with an AWG. In both examples two common elements will be used, a USB memory stick and the Comma Separated Value (CSV) file format.

Using Excel to Build Arbs
To build an arb from scratch most engineers turn to either an engineering programming environment, like Matlab, LabVIEW, or VEE, or a custom arb waveform software package that may or may not be free. These are great arb creation solutions, but they can be costly and time consuming if you do not use them on a regular basis. Another option that most engineers do not consider is Excel. Excel is a great tool for building custom arbs since it provides advanced mathematical functions built-in, it can handle large amounts of data (waveform points), and it is already on just about everybody's computer. The next question then is how do you get the waveform from Excel to the AWG? Excel and modern AWGs have something in common; the CSV file format. Excel can read CSV files and Excel spreadsheets can be saved as CSV files. Modern AWGs can read and create arbs from CSV files. To transfer the CSV to the AWG a USB memory stick with the CSV file can be plug into the AWG's front panel and then uploaded into waveform memory.

Let's look at an example. Using Excel an arb waveform was created that consisted of a sine wave summed with third harmonic noise and random noise. A screen shot of the Excel spreadsheet can be seen below. Notice the resulting arb is plotted and the built-in Excel functions used to create the waveform are circled in red.

The Excel spreadsheet was then saved as a CSV file. Using a USB memory stick it was then uploaded to Agilent's 33522A function / arbitrary waveform generator. The resulting arb was captured in the below scope screen shot.

As you can see Excel provides an easy no cost way to create an arb and the CSV file format provides a means to easily transfer the arb to an AWG. If you prefer to use a software environment to generate your arb or your arb needs are more advanced then what Excel can do, you can still skip the remote connection / instrument programming part. Most programming environments, like Matlab and LabView, have APIs for writing / reading CSV files. Simply have your program write the arb to a CSV file and "sneaker network" it to the AWG.

For the second example we will capture a digitized signal from a scope then transfer it to an AWG and turn it into an arb. In the past this was typically done using some type of arb waveform software package that would remotely connect to first the scope to grab the digitized signal and then to the AWG to create the arb. With today's scopes and AWGs the process has been streamlined. For our example an Agilent MSO-X 3054A scope was used to capture a Data Word from a Mil-Std-1553 signal. The captured waveform is shown in the below figure.

Shown below the Mil-Std-1553 signal in blue is 5F67, which is the hexadecimal decoded value of the Data Word. The AWG used in this example was again the 33522A function / arbitrary waveform generator. Here is how it works:
  1. Plug the USB memory stick into the front panel of the scope.
  2. Save the digitized waveform to the USB memory stick as a CSV file.
  3. "Sneaker network" the USB memory from the scope to the front panel of the AWG.
  4. Import the CSV to the AWG's memory. 
It is really that easy! To make this example a little more exciting the Mil-Std-1553 arb on the 33522A was modulated with a lower frequency pulse to simulate coupled transient noise into the signal channel. The modulated arb was captured in the screen shot below.

You can see the simulated transient noise in the figure at the beginning and middle of our arb. Notice at the bottom of the scope in red and blue that because of the transient noise the scope was unable to decode the Data word.

In this post we looked at how easy it is today with modern AWGs to create an arbitrary waveform. We looked at two cases, creating an arb from scratch with Excel and capturing a waveform with a scope. Both methods used the USB memory stick and the CSV file format to transfer the waveform to the AWG with no remote connections or programming. If you have any questions feel free to email me and if you have any personal incites to add use the "Comments" section below.

Click here to learn more about the 33500A series of function / arbitrary waveform generators


  1. Your article has piqued a lot of positive interest. I can see why since you have done such a good job of making it interesting.
    moved here

  2. You like added to the point information regarding creating arbs today is Easy and this will be sound effective. As we know that creating Arbs is not much difficult. But as we know that we should handle such things in perfect ways. However, I want essay-to-go services and at the same time hope students like both websites.