Generally speaking, resampling factors do not have to be an integer or a simple 
fractional ratio. Because of that, traditional methods based in 
upsampling/filtering/decimation techniques may not be suitable given the amount of 
calculations resulting from the typical input waveform sizes involved. Instead of this, 
a more straight forward approach has been chosen. This approach is based in the 
following principles: 
  Only output samples will be calculated so there is not any up-sampling and/or 
down-sampling operations involved. 
  Filtering calculations will be kept to a minimum by using a filter with a fast 
enough roll-off and sufficient stop band attenuation according to the target 
AWG dynamic range. 
  Interpolation filter and anti-alias filters are exactly the same although the filter 
parameters will depend on the resampling parameters. 
  The implemented algorithm does perform filtering and interpolation 
simultaneously so the number of calculations is greatly reduced. Additionally, 
filters are implemented as look-up tables so those are calculated only once 
during the process. 
  Timing parameters are based in double precision floating-point numbers while 
amplitude related parameters are single precision numbers. Most calculations 
consist in multiplication/addition operations required by convolution processes 
and only involve amplitude related variables (input samples and filter 
coefficients).  Single precision numbers will minimize calculation time while 
offering more than enough dynamic range. 
Interpolators and anti-aliasing filters share most characteristics as they are required 
to be low-pass with good flatness, linear phase, fast roll-off, and high stop-band 
rejections ratio. Ideal interpolator filters show a “brick-wall” response. However, such 
filters require a very long “sinc-like” impulse response to obtain good-enough 
performance. Impulse response length has a direct effect on calculation times 
resulting of applying the filter. Roll-off characteristics are especially important when 
applying the filter as the anti-alias filter required for down-sampling. The filter 
implemented in these algorithms has been designed with the following objectives: 
  Pass band flatness better than 0.01 dB 
  Stop band attenuation better than 80 dB 
  F80dB/F3dB ratio better than 1.15