ICEWAVE

Creates signal waveforms of various shapes.

ICEWAVE - creates signal waveforms of various shapes

<out>   Name of output file
<shape> Shape of waveform [DEF=SIN]
<form>  Format of output file (SF, CF, SB, etc.)
<elem>  Number of elements in output file
<rate>  Sample rate in Hz
<gain>  Waveform amplitude (0=nominal for given data type)
<freq>  Waveform (IF) frequency (Hz)
<baud>  Waveform BaudRate frequency (Hz)

This primitive generates the following shaped waveforms:

  Sine     - Sinusoid 
  CoSine   - CoSinusoid 
  Square   - Square waveform 
  Triangle - Triangle waveform 
  SawTooth - Sawtooth or RIGHT triangle waveform
  Pulse    - Single sample pulse
  Constant - Constant values given by nominal value adjusted by gain
  Zero     - Same as CONSTANT with all zeros

  LRS      - Efficient noise generator using a linear recursive sequence
  White    - White noise algorithm with standard deviation of <sdev>. See note below.
  Ramp     - Ramp that increments by one with MAX <amp>-1 and MIN of -<amp>.
  TRamp    - Test Ramp that increments by 3 in the upper byte
  Notch    - LRS with a notch at <freq>.  Use /DFREQ=df to adust width
  MixLS    - Mix of LRS and SIN
  MuxLS    - Mux of LRS and SIN
  MixNS    - Mix of Notch and SIN
  NFloor   - simulated Noise Floor

  FSK      - 2-level Frequency Shift Keyed
  4FSK     - 4-level Frequency Shift Keyed
  BPSK     - 2-level Phase Shift Keyed
  QPSK     - 4-level Phase Shift Keyed
  OQPSK    - Offset QPSK
  8PSK     - 8  Phase Shift Keyed
  16PSK    - 16 Phase Shift Keyed
  16APSK   - 16 Amplitude+Phase Shift Keyed
  32APSK   - 32 Amplitude+Phase Shift Keyed
  64APSK   - 64 Amplitude+Phase Shift Keyed

  16QAM    - 16 Quadrature Amplitude Modulation
  32QAM    - 32 Quadrature Amplitude Modulation
  64QAM    - 64 Quadrature Amplitude Modulation
  128QAM   - 128 Quadrature Amplitude Modulation
  256QAM   - 256 Quadrature Amplitude Modulation
  512QAM   - 512 Quadrature Amplitude Modulation
  1024QAM  - 1024 Quadrature Amplitude Modulation

The most current list of waveforms may be listed as follows:
  nM> invoke list=nxm.ice.prim.icewave.shapeList
  nM> results list

The /RT or /THROTTLE= switch can be applied to simulate a throttled data source.
In FULL mode, the primitive runs as fast as it can.  In REALTIME mode the data
is throttled to be produced at a rate of 1 element per <delta> second(s).
In the BLOCK mode, no data is produced.

Examples:

Switches:
  /AMP=fsa          - Override default full scale amplitude for given data type
  /CHIRP=c          - Chirp of waveform frequency in Hz/Sec
  /FB               - Use page aligned fast buffer 
  /FB=2             - Repeat first buffer of TL elements for speed tests
  /FIR=fn           - File name with filter to apply
  /FWIDTH=fw        - Internal filter width normalized to nyquist [def=1]
  /LRSP=x	    - Polynomial for internal LRS signal (def=0x2000023)
  /MIDX=n           - Modulation Index
  /NTAP=n           - Number of taps in filter (notch or mod resampler)
  /NRPT=n           - Number Resampler Phase Taps
  /PHASE=p          - Starting phase of waveform [def=0]
  /RT               - RealTime mode
  /SEED=num         - Set seed number for LRS [DEF=-1]
  /STATS            - Show transfer statistics
  /SDEV=sd          - Standard Deviation of White Noise
  /STAG=s           - Tag start of file by scaling 1st block by s
  /THROTTLE=mode    - Data Throttle Mode (RealTime,Full,Block). Overrides /RT.
  /TL=n             - Transfer Length elements [DEF=4096]
  /VARIANCE=v       - Variance of White Noise
  /WRAP		    - adjust frequency so waveform is phase continuous if file is looped