Difference between revisions of "WAVEFORM"
Jump to navigation
Jump to search
ConvertBot (talk | contribs) (creates signal waveforms of various shapes) |
ConvertBot (talk | contribs) (creates signal waveforms of various shapes) |
||
Line 2: | Line 2: | ||
<pre> | <pre> | ||
<out> Name of output file | <out> Name of output file | ||
− | |||
<form> Format of output file (SF, CF, SB, etc.) | <form> Format of output file (SF, CF, SB, etc.) | ||
<elem> Number of elements in output file | <elem> Number of elements in output file | ||
− | < | + | <shape> Shape of waveform [DEF=SIN] |
− | < | + | <amp> Waveform amplitude |
<freq> Waveform (IF) frequency (Hz) | <freq> Waveform (IF) frequency (Hz) | ||
− | < | + | <phase> Waveform phase offset (fractions of a cycle) |
+ | <start> Abscissa start time | ||
+ | <delta> Abscissa delta | ||
+ | |||
+ | Keyword Only Parameters: | ||
+ | [CHIRP] - Chirp the frequency by this accumulated amount at each /TL=n | ||
+ | boundary. [DEF=0.0] | ||
+ | [MEAN] - Adds this amplitude offset to all waveforms. [DEF=0.0] | ||
+ | [SDEV] - WhiteNoise standard deviation parameter. [DEF=<amp/log(10)>] | ||
+ | [VARIANCE] - WhiteNoise variance parameter. [DEF=<sdev**2>] | ||
+ | [SR] - Overrides <delta> by specifying Sample Rate in Hz. (Since NeXtMidas 3.3.2) | ||
+ | [DURATION] - Overrides <ELEM> by specifying the duration of the file in sec. | ||
+ | Since number of elements must be an integer, this will round up | ||
+ | to the nearest sample, as required. (Since NeXtMidas 3.3.1) | ||
+ | |||
+ | [RF] - Overrides <FREQ> (which is IF) by giving RF of the signal in Hz. | ||
+ | This must be used with [VRF] and [BW]. (Since NeXtMidas 3.3.1) | ||
+ | [VRF] - Center frequency of the simulated tuner in Hz. This is usually | ||
+ | combined with [RF] and [BW], but can be used on its own as it | ||
+ | causes the VRF= key to be set in <OUT>. (Since NeXtMidas 3.3.1) | ||
+ | [BW] - Bandwidth of the simulated tuner in Hz. Although intended for use | ||
+ | with [RF] and [VRF] this can be used on its own as it overrides | ||
+ | <DELTA>. (Since NeXtMidas 3.3.1) | ||
+ | |||
This primitive generates the following shaped waveforms: | This primitive generates the following shaped waveforms: | ||
− | Sine - Sinusoid | + | Sine - Sinusoid with MAX <amp> and MIN of -<amp> |
− | CoSine - CoSinusoid | + | CoSine - CoSinusoid with MAX <amp> and MIN of -<amp> |
− | Square - Square waveform | + | Square - Square waveform with MAX <amp> and MIN of -<amp> |
− | Triangle - Triangle waveform | + | Triangle - Triangle waveform with MAX <amp> and Min of -<amp> |
− | SawTooth - Sawtooth or RIGHT triangle waveform | + | SawTooth - Sawtooth or RIGHT triangle waveform with MAX <amp> and MIN of -<amp> |
− | Pulse - Single sample pulse | + | Pulse - Single sample pulse of <amp> |
− | Constant - Constant values given by | + | Constant - Constant values given by <amp> |
Zero - Same as CONSTANT with all zeros | Zero - Same as CONSTANT with all zeros | ||
LRS - Efficient noise generator using a linear recursive sequence | LRS - Efficient noise generator using a linear recursive sequence | ||
White - White noise algorithm with standard deviation of <sdev>. See note below. | 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>. | Ramp - Ramp that increments by one with MAX <amp>-1 and MIN of -<amp>. | ||
− | + | ||
− | + | If you want to adjust the RAMP increment using <freq> and <delta>, use SAWTOOTH. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
The most current list of waveforms may be listed as follows: | The most current list of waveforms may be listed as follows: | ||
− | nM> invoke list | + | nM> invoke list nxm.sys.prim.waveform.shapeList |
nM> results list | nM> results list | ||
Line 44: | Line 55: | ||
is throttled to be produced at a rate of 1 element per <delta> second(s). | is throttled to be produced at a rate of 1 element per <delta> second(s). | ||
In the BLOCK mode, no data is produced. | In the BLOCK mode, no data is produced. | ||
+ | |||
+ | Note that the data values for White noise will often be 3 to 4 times the stdDev. | ||
+ | Make sure the amplitude/stdDev is scaled correctly for the output data type to | ||
+ | avoid clipping (if necessary). The command line <amp> is scaled by 1/log(10) to | ||
+ | set the default <sdev>. If the user supplies both <amp> and <sdev>, the ratio | ||
+ | will be preserved when setting amplitude and shape with realtime widgets. | ||
+ | |||
+ | Note that, unlike X-Midas, the units of the command line <phase> are fractions | ||
+ | of a cycle, that is, 0.5 rather than 180. The PHASE OFFSET widget is expressed | ||
+ | in terms of fractions of a cycle as well. | ||
Examples: | Examples: | ||
+ | 1. Simulate 10 seconds of a CW signal at 300.1 MHz as it would look in a | ||
+ | receiver with a bandwidth of 1 MHz that is tuned to 300 MHz. | ||
+ | |||
+ | nM> WAVEFORM myfile.tmp FORM=CF ELEM=16M SHAPE=SINE & | ||
+ | RF=300.1e6 VRF=300e6 BW=1e6 & | ||
+ | DURATION=10 | ||
+ | or | ||
+ | |||
+ | nM> WAVEFORM myfile.tmp FORM=SF ELEM=16M SHAPE=SINE & | ||
+ | RF=300.1e6 VRF=300e6 BW=1e6 & | ||
+ | DURATION=10 | ||
Switches: | Switches: | ||
+ | /DP - Use double precision buffers [DEF=single precision] or | ||
+ | [DEF=double precision] if <out> is type double] | ||
+ | /EXACT - use slower but exact SIN/COS algorithm | ||
/RT - RealTime mode | /RT - RealTime mode | ||
/SEED=<num> - Set seed number [DEF=-1] | /SEED=<num> - Set seed number [DEF=-1] | ||
/THROTTLE=<mode> - Data Throttle Mode (RealTime,Full,Block). Overrides /RT. | /THROTTLE=<mode> - Data Throttle Mode (RealTime,Full,Block). Overrides /RT. | ||
/TL=n - Transfer Length elements [DEF=4096] | /TL=n - Transfer Length elements [DEF=4096] | ||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | [[Category: | + | [[Category:NXM_Explain]] |
Latest revision as of 18:05, 27 April 2020
creates signal waveforms of various shapes
<out> Name of output file <form> Format of output file (SF, CF, SB, etc.) <elem> Number of elements in output file <shape> Shape of waveform [DEF=SIN] <amp> Waveform amplitude <freq> Waveform (IF) frequency (Hz) <phase> Waveform phase offset (fractions of a cycle) <start> Abscissa start time <delta> Abscissa delta Keyword Only Parameters: [CHIRP] - Chirp the frequency by this accumulated amount at each /TL=n boundary. [DEF=0.0] [MEAN] - Adds this amplitude offset to all waveforms. [DEF=0.0] [SDEV] - WhiteNoise standard deviation parameter. [DEF=<amp/log(10)>] [VARIANCE] - WhiteNoise variance parameter. [DEF=<sdev**2>] [SR] - Overrides <delta> by specifying Sample Rate in Hz. (Since NeXtMidas 3.3.2) [DURATION] - Overrides <ELEM> by specifying the duration of the file in sec. Since number of elements must be an integer, this will round up to the nearest sample, as required. (Since NeXtMidas 3.3.1) [RF] - Overrides <FREQ> (which is IF) by giving RF of the signal in Hz. This must be used with [VRF] and [BW]. (Since NeXtMidas 3.3.1) [VRF] - Center frequency of the simulated tuner in Hz. This is usually combined with [RF] and [BW], but can be used on its own as it causes the VRF= key to be set in <OUT>. (Since NeXtMidas 3.3.1) [BW] - Bandwidth of the simulated tuner in Hz. Although intended for use with [RF] and [VRF] this can be used on its own as it overrides <DELTA>. (Since NeXtMidas 3.3.1) This primitive generates the following shaped waveforms: Sine - Sinusoid with MAX <amp> and MIN of -<amp> CoSine - CoSinusoid with MAX <amp> and MIN of -<amp> Square - Square waveform with MAX <amp> and MIN of -<amp> Triangle - Triangle waveform with MAX <amp> and Min of -<amp> SawTooth - Sawtooth or RIGHT triangle waveform with MAX <amp> and MIN of -<amp> Pulse - Single sample pulse of <amp> Constant - Constant values given by <amp> 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>. If you want to adjust the RAMP increment using <freq> and <delta>, use SAWTOOTH. The most current list of waveforms may be listed as follows: nM> invoke list nxm.sys.prim.waveform.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. Note that the data values for White noise will often be 3 to 4 times the stdDev. Make sure the amplitude/stdDev is scaled correctly for the output data type to avoid clipping (if necessary). The command line <amp> is scaled by 1/log(10) to set the default <sdev>. If the user supplies both <amp> and <sdev>, the ratio will be preserved when setting amplitude and shape with realtime widgets. Note that, unlike X-Midas, the units of the command line <phase> are fractions of a cycle, that is, 0.5 rather than 180. The PHASE OFFSET widget is expressed in terms of fractions of a cycle as well. Examples: 1. Simulate 10 seconds of a CW signal at 300.1 MHz as it would look in a receiver with a bandwidth of 1 MHz that is tuned to 300 MHz. nM> WAVEFORM myfile.tmp FORM=CF ELEM=16M SHAPE=SINE & RF=300.1e6 VRF=300e6 BW=1e6 & DURATION=10 or nM> WAVEFORM myfile.tmp FORM=SF ELEM=16M SHAPE=SINE & RF=300.1e6 VRF=300e6 BW=1e6 & DURATION=10 Switches: /DP - Use double precision buffers [DEF=single precision] or [DEF=double precision] if <out> is type double] /EXACT - use slower but exact SIN/COS algorithm /RT - RealTime mode /SEED=<num> - Set seed number [DEF=-1] /THROTTLE=<mode> - Data Throttle Mode (RealTime,Full,Block). Overrides /RT. /TL=n - Transfer Length elements [DEF=4096]