Data Length
The choices of data length and the number of data values that you have will affect the output of your waveform. First, recall that the data length should be greater than or equal to the number of values. As a result, we have the following necessary condition:
AWG272 (per channel): Number of Data Values + Delay
Data Length
3,932,160
AWG452: Number of Data Values + Delay
Data Length
7,864,320
AWG472 (per channel): Number of Data Values + Delay
Data Length
3,670,016
AWG801/872: Number of Data Values + Delay
Data Length
7,340,032
The above must be satisfied in order to have proper waveforms. The AWG stores amplitude data as data words. There are a total of 4 × 1,048,576 memory addresses available, each able to store a 12-bit data word, in each channel of the AWG272. There are a total of 8 × 1,048,576 memory addresses available, each able to store a 12-bit data word, in the AWG452. 1/16ths of those addresses are reserved for internal use. The other 15/16ths can be used for one waveform or partitioned for use with multiple waveforms facilitated by the dynamic user paging feature. Similarly, the AWG801/872 has 16 × 524,288 memory addresses available, each able to store a 12-bit data word, although only 11 bits are used. 1/8ths of those addresses are reserved for internal use. The other 7/8ths can be used for one waveform or partitioned for use with multiple waveforms.
The module stores the data in special ways depending on the data length and memory depth parameters. An example will help you see exactly what is going on.
Assume that you have specified 10 data values in your waveform and you have set Data Length = 12 (satisfying the necessary condition, above). By setting those parameters, you will have made 12 memory addresses available for your waveform data (Data Length value). The module stores the 10 user specified values in the first 10 memory addresses, but since there are still two more memory addresses available for data (Data Length - number of data values), it copies the first 2 values again in the remaining memory addresses made available by the Data Length. The images below illustrate the example of a ramp waveform:
When you operate the module with these settings, the module will run through all 16 memory addresses in the Data Length cycle and then start over again.
In the discussion below, there are two cycles to be aware of: Data Length Cycle
and waveform cycle.
One Data Length cycle goes through all of the memory addresses
made available by the Data Length parameter. In the above example, one complete
Data Length cycle would be 12 memory addresses.
One waveform cycle goes through
every value in the user defined waveform. In the above
example, one complete waveform cycle has 10 memory addresses, since there are 10 data values.
There are three different ways you can manipulate the output with the Data Length parameter.
1. Data Length = Number of Waveform Data Values
In one Data Length cycle, the module will run through all of the desired values exactly once. For example, if you had 64 data values, and Data Length = 64, then all of the 64 values would be output once during each Data Length cycle.
2. Data Length = n × Number of Waveform Data Values
In one Dat Length cycle, the module will run through all of the desired data values n times. The image above illustrates the case of n = 2. For example, if your waveform had 32 data values and Data Length = 64, then each value in the waveform would be output twice during each Data Length cycle.
3. Data Length > Number of Waveform Data Values,
but Data Length is not n × Number of Waveform Data Values
In one Data Length cycle, the module will run through a whole number multiple of waveform cycles and repeat a fraction of the waveform cycle again until the start of the new Data Length cycle. For example, if you had 50 data values and Data Length = 64, then all 50 data values would be output during the first waveform cycle, but only the first 14 data values would be output during the next waveform cycle, since you then would have reached the end of the Data Length cycle.