Name: 1st Order Low-Pass Filter

 

Description:  The 1st Order Low-Pass Filter provides the simple frequency domain transfer function 1/(1-s/p). The attributes dialog box allows the user to define the complex pole p in the analog s-plane. A right-hand plane  pole may be entered but will cause a run-time warning. The transfer function is mapped into the z plane using the bilinear transform and is pre-warped reduce distortion from the transformation.

 

 

Name: 2nd Order Low-Pass Filter

 

 

Description:  The 2nd Order Low-Pass Filter provides the simple frequency domain transfer function w02/(s2 + zw0s +  w02). The attributes dialog box allows the user to define the damping z and natural frequency  w0. Values resulting in a right-hand plane pole may be entered but will cause a run-time warning. The transfer function is mapped into the z plane using the bilinear transform and is pre-warped to reduce distortion from the transformation.

   

Name: Accumulator

 

Description:  The Accumulator block forms the sum of all input samples between the time the dump input is reset (set to zero) until it is set (made greater than zero).

   

Name: A-to-D Converter

.

Description:  The A-to -D converter converts a continuous input signal to a quantized signal. The user defines the maximum signal range (absolute value) over which the input may vary without causing saturation. Resolution is selectable from 1 to 32 bits.

   

Name: Adder

 

Description:  The Adder block sums two signals into a single output. The user may define a multiplicative gain to be applied to both inputs.

 

 

Name: Band-Pass Filter

   

 

Description: The Band-Pass Filter block provides IIR versions of common all-pole filters with user selectable parameters. Version 1.0 includes Butterworth, Chebechev, Bessel and  synchronously- tuned responses. Bessel filters are available with from 1 to 6 poles and the other responses may have from 1 to 50 poles. Minimum ripple for the Chebechev filter is 0.001 dB. The continuous domain responses are mapped into the discrete domain using the bi-linear transform method and the filter is pre-warped to reduce distortion from the transformation. In keeping with Soft Analytics's commitment to maximizing application flexibility, the user is free to select any filter bandwidth desired without regard to sample rate; however Soft Analytics recommends that the filter corner frequency not exceed one-third of the sample rate. The band-pass filter dialog box contains a list box used to select  windowing functions for impulse-invariant transformations of classical and user defined impulse functions. The list box is empty in Version 1.0.

 

 

 

Name: Basic Math Block

 

 

Description: The following functions of a single variable x are provided: sin(x),cos(x),tan(x),arcsin(x),arccos(x),arctan(x),hsin(x),hcos(x),htan(x),abs(x),x^a,10^x, ln(x) and log(x).

 

Note that the abs mode outputs the a complex input signal whose components are the ABS of their respective inputs components. Other modes output values according to the standard definitions for functions of complex arguments. Note that the x^a function requires the input signal x to be non-negative if it is real.

 

 

Name: Basic Nonlinear Block

 

 

Description: 

   

Half-Wave Rectifier : flt element of the input port is half-wave rectified scaled by the user-defined, gain value and passed to the flt element of the output port . cmplx element of the input port half-wave rectified (based on the sign of the real part) and passed to the cmplx element of the output port.

 

 

Full-Wave Rectifier : flt element of the input port is full-wave rectified, scaled by the user-defined, gain value and passed to the flt element of the output port . cmplx element of the input port full-wave rectified,  scaled by the user-defined, gain value(based on the sign of the real part) and passed to the cmplx element of the output port.

 

Square Law : flt element of the input signal is squared, scaled by the user-defined, gain value and passed to the flt element of the output. cmplx element of the input signal is squared, scaled by the user-defined, gain value and passed to the cmplx element of the output.

 

 

Cube Law : flt element of the input signal is cubed, scaled by the user-defined, gain value and passed to the flt element of the output. cmplx element of the input signal is cubed, scaled by the user-defined, gain value and passed to the cmplx element of the output.

 

 

4th Law : flt element of the input signal is raised to the forth power, scaled by the user-defined, gain value and passed to the flt element of the output. cmplx element of the input signal is raised to the forth power, scaled by the user-defined, gain value and passed to the cmplx element of the output.

 

 

Dead Zone : Output is zero if input flt element is inside user-defined dead zone else is equal to the input scaled by the user-defined, gain value. The real part of the cmplx element is set equal to the flt element and the imaginary part is set to zero.

 

Hysteresis Position : This block allows the simulation of such effects as slop in a gear train. The output moves linearly with the input as long as the input does not reverse its direction of motion. Otherwise, the output is held at the previous value until the input has moved the user-defined slop value.  If the direction of motion is reversed while in the slop region, the output will not begin to change until the input has traversed back to the point where the direction of motion was initially reversed. In addition to the slop region value, the user may also specify a gain value.

 

Hysteresis Amplifier : An amplifier with user-defined gain and a hysteresis region also defined by the user. The result is developed from the flt  element of the input port and placed in flt element of the output port. The real part  of the cmplx element is  set equal to the value of  the flt element. The Figure 8 shows the transfer characteristic of the hysteresis amplifier block.

 

Hard Limiter : The output is set to a user-defined , value if the input is >0 and to another user-defined value if the input<=0.

 

Schmit Trigger : Figure 9 shows the transfer characteristic of the Schmit trigger . The parameters indicated in the figure are set in the block’s attributes dialog box.

 

 

 

Name: Biquadratic Transfer Function

  

Description:  The Biquad Filter provides the simple frequency domain transfer function (s2 + k1s +  k0)/(s2 + c1s +  c0). The attributes dialog box allows the user to define the poles and zeros for the function. Values resulting in a right-hand plane pole may be entered but will cause a run-time warning. The transfer function is mapped into the z plane using the bilinear transform and is pre-warped to preserve the relative value of the sample rate and the poles/zeros.  Using a cascade of general functions like the Biquad block,  the user may simulate a linear transfer function of arbitrary complexity.

 

 

Name: Coefficient

 

Description:  The Coefficient block scales its input signal by a user-defined, multiplicative complex constant. The cmplx and flt elements of the input signal are scaled by the same constant and remain distinct however, the flt element is scaled by only the real part of the constant since it will only support a real result.

 

 

Name: Comparator

   

Description:  The Comparator block outputs a value of one if the flt element of the upper input is algebraically greater than that of the lower input, otherwise the output value is zero. Note that many blocks with complex output signals echo the real part of there cmplx element in the flt element of the output.

 

Name: Complex Combiner

 

Description:  The Complex Combiner block accepts two floating point inputs and creates a complex number who's real value is a user defined gain times the real input and who's imaginary value is the same gain term times the imaginary input.

   

Name: Conjugate

 

Description:  The Conjugate block forms the complex conjugate of its input.

Name: Constant

Description: The ‘Constant block provides a complex, user-defined value at it output port.

   

           

Name: Correlator

Description: The ‘Correlator block provides a complex, correlation of its two inputs. It is assumed that the signal input to port DSIG lags that input to port SIG. The user may enter a minimum time offset that will be used to delay data collection on port DSIG by an amount equal to the defined time offset. This allows shorter sample sequences to be used for data collection. The implementation is FFT-based to speed processing and the user may select the sample sequence size (FFT size)  used on DSIG. The correlation results may be viewed in the viewer window and will be plotted vs. time. Typically, this block is used to find the time lag between two signals so that some meaningful comparison can be made (e.g. bit error rate).

   

Name: Data Source

   

 

Description: The ‘Data Source’ block provides a digital data stream at a user-defined symbol rate on the data port. The symbols are random and have a level of 0 or 1. The Boolean element of this port is set high for the first sample of a new symbol. (See section 4 for a discussion of the elements of signals in DASE.) The output signal may be a continuos stream (Continuous Data option selected) or multiple repetitions of a fixed length of symbols. Random data is preceded by segments of  carrier ( all ‘1’s) , bit-sync ( 3 selectable patterns) and a unique-word (start-of-message) pattern (3 available). The duration of the carrier and bit-sync periods are user defined. If multiple repetitions are selected, the carrier, symbol-sync and unique-word patterns will be the same for each repetitions but the data will be random for each. The block may also be configured to send continuous carrier or continuous bit-sync signals.

 

The SOM port is a Boolean signal which is set high (a value of 1) at the beginning of the first random data symbol. If multiple repetitions are selected, the SOM port is reset ( a value of 0) during each period of carrier, bit-sync and unique-word pattern. Version 1.0 of DASE does not provide coding options, these will be included in later versions.

 

The symbol-sync and SOM patterns are as follows:

 

Symbol-sync patterns:           101010101010101010....

                                                110011001100110011....

                                                110110110110110110....

 

SOM patterns;                        21-BIT              110100100010111110100     

               

                                                37-bit                1101001000101111101001111010010010100

 

                                                74-bit                 11010010001011111010011110100100101

                                                                001101001000101111101001111010010010100

   

Name: Differentiator

Description:  The Differentiator block provides an estimate of the derivative of its input signal by dividing the difference between present and past input values by the sample rate. The quality of the derivative estimate will improve with increasing sample rate. (For other considerations regarding the differentiator block see Section 7.2)

   

Name: Divider

Description: The divider block places the ratio of the top input port signal to the bottom input port signal on the output port.

   

Name: Encapsulation Block

 

Library:  None. Encapsulations are created by saving a simulation as an encapsulation. Thereafter they are instantiated by selecting one under the library ‘ENCAPSULATED’ in the Select Block Type  dialog box.

 

Description: An encapsulation comprises a set of interconnected blocks which effect some function the user may wish to use in other simulations or simply represent by a single block in the block editor. One or more of the blocks must be an input port block or an  output port block.  These two special blocks provide the means by which the blocks in the encapsulation will be connected to other blocks outside the encapsulation. The input and output block types facilitate naming the ports of an encapsulation as well as maintaining compatibility between ports outside the encapsulation and ports inside the encapsulation which will be used as inputs or outputs. For a description of how to create an encapsulation, see “Encapsulating a Simulation”.

   

Name: Equalizer

Description: The equalizer block is an implementation of  the LMS algorithm via a FIR filter. (This implementation is sometimes called a tapped delay line equalizer.) The block accepts three inputs: 1) signal, 2) training signal and 3) training enable signal. A single output is provided. Training is only conducted when the value of the training enable signal is greater than zero. If this signal is always greater than zero , the equalizer will continuously adapt.

   

Name: Event Counter

Description: The event counter block is useful for collecting statistical information during a simulation. For example, a signal indicating lock of a control loop could be input to the event counter and a repetition of many lock opportunities simulated. The event count at the end of the simulation will relate to the probability of lock.

 

 Every sample pass for which the input signal’s cmplx element’s real part is non-zero will cause the event count to increment by one. Note that if the event counter is decimated ( see section 6.4 ) the inferences on the event count must be considered.

   

Name: Export Stream

 

 

Description: The export  stream block provides a means to send simulation results to other applications during a simulation run. Simulation data is placed in the signal file named in the attributes dialog box. Execution of the simulation is suspended each time data is sent. A maximum of 10312 samples may be transferred at a time. If the time duration defined in the attribute dialog box is less than or equal to 10312 samples, only one transfer will be used. If the duration requires more than 10312 samples, multiple transfers are used and execution of the simulation is suspended for each transfer.

 

A transfer is effected by having the destination application read the data in the signal file. Once 10312 samples have been written to the file, execution of the simulation is suspended until the file is read. DASE detects that the file has been read and is ready for more data by examining the signal file header. This header is defined as:

 

struct FILELABEL

                                {

                                 char label[maxchar ];

                                 char version[maxchar ];

                                 int  para1;

                                 BOOL para2;

                                 unsigned long diskwrites;

                                 unsigned long datapoints;

                                 var SampleRate;

                                };

 

The parameter maxchar  is defined in const.h  which is installed in the UCB subdirectory during DASE installation.

 

The destination signals that the file data has been read by setting the datapoints element of the file header to zero. Once DASE detects that the data has been read, execution of the simulation resumes and continues until the duration time for the signal file is reached or until another 10312 data points have been collected. Multiple export  stream blocks may be used in a simulation. Each one will control execution as required.

Name: FFT

Description: The FFT block performs an N-point FFT on the input signal. The results may be displayed on the signal viewer (see Adding a Signal to the Signal Viewer). FFT sizes from 2 to 2048 samples can be selected. A sample, in the context of the FFT block, is taken every (rate reduction)/( sample rate) seconds where rate reduction is the selected rate reduction value and sample rate is the input signal’s sample rate. Rate reduction is used to allow better resolution without increasing the FFT size N. Caution should be used when employing rate reduction to insure that the input signal’s spectrum is not too wider than sample rate/rate reduction so that Nyquist’s criteria is satisfied. This feature allows the user to analyze signals in the simulation of small bandwidth with only moderate values of  N while achieving good resolution (narrow FFT bin width).

 

As shown in the FFT's attribute dialog box, several popular window types may be applied to the data prior to FFT execution. Windowing is typically used on the data to reduce the generation of artifacts due to the implied periodicity of the signal when using the FFT by tapering the data to zero at the beginning and end of the sample period.

 

The attribute dialog box also allows the user to select the format in which the FFT results will be displayed: 1) power/phase[20log magnitude and phase], 2) mag/phase[magnitude and phase] and 3) real/imag[real part and imaginary part]. The viewer will draw the FFT results as a curve connecting the bin results with line segments.

 

The FFT block can be set to operate in two modes, block or sliding. In the block mode, N samples are collected before an FFT is calculated. In the sliding mode a new FFT is calculated every time a new sample is collected. The latter mode is useful for examining spectral changes which occur at rates on the order of  1/(sample window period).

 

The FFT block can be configured to operate in several data collection and processing configurations as follows:

 

              Data Collection

 

Start Mode

               single

           continuous

 

 

timed

calculate a single FFT and begin taking samples at the time set in the attributes dialog box

calculate repeated FFT's and begin taking samples at the time set in the attributes dialog box

 

 

 

 

triggered

calculate a single FFT and begin taking samples when the signal connected to the trigger input port passes the defined trigger value in the direction define by the selected button in the attributes dialog box

calculate repeated FFT's and begin taking samples when the signal connected to the trigger input port passes the defined trigger value in the direction define by the selected button in the attributes dialog box

   

Name: Frequency Response Block

 

Description: The frequency response block provides a frequency response of polynomial form A(s) / B(s). The poles and zeros are defined in the block's attributes dialog box which is shown in Figure 10.

 

 

Any number of poles and zeros can be entered. To facilitate forming the desired response, the frequency response of the block is automatically entered in the viewer window as a candidate for viewing. After entering the poles and zeros, the frequency response of the block will be plotted in the viewer window if selected for viewing. this can be done without closing the dialog box by clicking the Apply button.

 

Clicking the Desired Response button will open another dialog box which allows the user to enter points which define the desired response. This option is not available in version 1.0.

 

Resolution of the plotted frequency response is controlled by adjusting the Plot Start and Plot Stop list boxes. The resolution is (sample rate) / 100 and the plot will not go below -(sample rate)/2 or above (sample rate)/2.

 

To avoid over flow, poles and zeros on the imaginary axis should not be used. Move these elements slightly away using a small real part.

 

Name: Frequency Translator

  

 

Description: The frequency translator block performs a complex rotation of the input signal by exp(j*2*pi*freq*t) where freq is the user selected rotation freq. The effect is a shift of the input spectrum up for freq>0 and  down for freq< 0.

 

Name: Function Generator

 

 

Description: The function generator block provides the signals found in a common laboratory function generator. Sin, Cos, triangle , sawtooth and square-wave signals may be selected. The frequency, amplitude and DC offset of the signal may be defined in the blocks attributes dialog box. Additionally, the frequency and duty-cycle may be controlled via the duty-cycle(DC) input port. 

 

The frequency of the signal may be fixed (internal control) or controlled by the F input signal

Selection of external frequency control provides the following functionality: 1)frequency for a zero value of the frequency control signal will equal that defined in the attributes dialog box, 2)  sensitivity to the frequency control signal will equal that defined in the Hz/V edit box of the attributes dialog box.

 

The duty cycle of the triangle and square wave signal may be fixed (internal control) or controlled by the DC input signal. Selection of external control will result in a duty cycle sensitivity defined by the %/V edit box of the attributes dialog box.

Name: Function of a Single Variable x

 

Description: This block provides various common functions of the input signal. Constants pertinent to the functions are entered in the attributes dialog box (e.g. a and b of the function ax+b where x is the input signal).

 

A particularly useful feature of this block is the polynomial curve fitting option. In this mode the block will operate on the input signal using a polynomial of degree 2,3 or 4. The coefficients of the polynomial are determined by curve fitting the polynomial to data points entered in the attributes dialog box. For order two the first three points are used, for order three the fist four points etc. The polynomial curve fitting option facilitates the simulation of nonlinear features of physical devices like VCO tuning curves.

 

Name: Gaussian Noise Generator

Description: The Gaussian noise generator  block outputs a signal which is Gaussian distributed and has a flat spectral noise density level set by the entry in the attributes dialog box. The value is entered in dBm/Hz. If the Off input signal is non-zero the output is disabled and set to zero.

 

Name: Gaussian Number Generator

Description: The Gaussian number generator block outputs a signal which is Gaussian distributed and has a mean and variance set by the entries in the attributes dialog box..

   

Name: High-Pass Filter

Description: The High-Pass Filter block provides IIR versions of common all-pole filters with user selectable parameters. Version 1.0 includes Butterworth, Chebechev, Bessel and  synchronously- tuned responses. Bessel filters are available with from 1 to 6 poles and the other responses may have from 1 to 50 poles. Minimum ripple for the Chebechev filter is 0.001 dB. The continuous domain responses are mapped into the discrete domain using the bi-linear transform method. In keeping with E.S.E's commitment to maximizing application flexibility, the user is free to select any filter bandwidth desired without regard to sample rate; however E.S.E recommends that the filter corner frequency not exceed one-third of the sample rate. The high-pass filter dialog box contains a list box used to select  windowing functions for impulse-invariant transformations of classical and user defined impulse functions. The list box is empty in Version 1.0.

   

Name: Impulse Generator Block

 

Description: The impulse generator block is used to provide impulse signals for the excitation of other blocks like the impulse generator block. A typical use would be to generate a stream of impulses in response to a data source input. These impulses being used as inputs to an impulse response block for the creation of shaped pulses to obtain a signal with some desired spectral attributes. (See the examples in Example Simulation Files.)

 

Coverage of a wide range of situations is provided by three modes of operation for the impulse generator block: absolute, relative and data modes.

 

Absolute Mode:

 

 In the absolute mode, an impulse is generated any time the input signal is different from zero. The amplitude of the impulse is equal to the input signal level (cmplx element) times the gain term set in the block's dialog box.

 

Relative Mode:

 

 In the relative mode, an impulse is generated any time the signal changes value. The amplitude of the impulse is equal to the input signal level change (cmplx element) times the gain term set in the block's dialog box.

 

Data Mode:

 

 In the data mode, an impulse is generated any time the Boolean element of the trigger port input signal is TRUE. Blocks like the data source block will set this element TRUE when a new data symbol is started. This allows the impulse generator block to create weighted impulse synchronously with the data stream.  The amplitude of the impulse is equal to the input signal level (cmplx element) times the gain term set in the block's dialog box.

 

Name: Impulse Response Block

 

Description: The impulse response block provides filtering and pulse shaping  based on signal files generated from simulations. The block outputs a file signal at times controlled by the block's input signal. Any file signal created during a simulation may be selected for output. (Signal files may be assigned any name but are typically tagged with the .sig suffix.) The portion of the file signal to be used is set by the start and duration elements of the block's dialog box. The start element defines the which sample in the file signal will be used as the first sample if the impulse response. The duration element defines how many samples will be used from the file. Caution should be used when selecting the start and duration elements because truncating the impulse response at points where the value is not zero will result in unintended higher frequency components in the frequency response.[1]

 

The file signal to be used by the block is defined in the block's attributes dialog box. The block can be configured to respond to the input signal in one of two ways:

 

Impulse Response mode:

 

In this mode, the block will start a new version of the file signal for each input sample thereby effecting a filtering of the input signal equivalent to a linear system whose sampled impulse response is represented by the file signal. The  amplitude of each point in the file signal will be weighted by the amplitude of the input signal sample which initiated the file signal output (as required for a linear convolution of the input signal with the file signal).

 

Impulse Generator Mode:

 

The impulse generator mode is employed when the input signal is from an impulse generator block. In this mode, the impulse response block will begin a stream of samples from the file signal each time the input is different than zero (i.e. an impulse has occurred). While the Impulse Response mode could be used to achieve the same result, the Impulse Generator Mode is computationally more efficient and should be used when the input signal is a sequence of impulses.

   

Name: Input Port Block

Description: The input port block is used to create an input port for an encapsulation. This block performs no operation of its own during a run but is used to create a port name and map the output port of the block connected to the encapsulation to the block within the encapsulation which is to receive this signal. Because the input port block effects the compatibility testing between the input signal to the encapsulation and the block within the encapsulation which receives the signal, only one port within the encapsulation can be associated with (connected to) the output of an input port block.

 

The dialog box for the encapsulation input, port allows the user to assign one of the available  input ports of an encapsulation to the input port block. Ports available for selection , appear in the dialog  box  at the instantiation of an input port block. After a port is assigned, only the port name can be altered.

   

Name: Integrator

 

Description:  The Integrator block performs a trapezoidal integration on its input signal. A dump port is provided which will cause the output to be reset to zero if the input to this port is different from zero. The dump port is identified by the solid dot and is the lower port on the input side of the block.(For other considerations regarding the integrator see section 7.2)

Name: Integrator with Correction

 

Description:  The Integrator with Correction block provides the simple frequency domain transfer function (1-s/z)/s. The attributes dialog box allows the user to define the zero ,z.. The transfer function is mapped into the z plane using the bilinear transform and is pre-warped to preserve the relative value of the sample rate and the zero.  The Integrator with Correction block will find many uses in simulation of control  loops. For this reason, it is equipped with a reset input (port 2) that may be used to remove energy stored in the block. Whenever the real part of this input is non-zero, the energy in the filter is set to zero. Note that setting the location of z to zero ( the origin of the s-plane) will result in an all-pass function.

   

Name: Interpolator

Description:  The interpolator block performs an interpolation operation on the sample sequence connected to the lower port marked ‘IN’ (port 2). The input marked D (port1), determines the time offset used for the interpolation.  A value of  0.5 for D will result in an ouput sequence of interpolations halfway between the input sequence samples. A value of  0 for D will result in an output sequence equal to the  input sequence samples delayed by one sample time A value of 1 for D will result in an output sequence equal to the  input sequence samples. A linear interpolation is used between the present and past data points.

   

Name: Lead/Lag

Description:  The Lead/Lag  block provides the simple frequency domain transfer function (s/z +1)/(s/p+1). The attributes dialog box allows the user to define the values of z and p.. The transfer function is mapped into the z plane using the bilinear transform and is pre-warped to preserve the relative value of the sample rate and the zero/pole. 

Name: Linear Limiter  

 

Description:  The linear limiter provides a linear transfer function for input values which lay between  the upper and lower inputs. For inputs outside the upper and lower limits the following  action is taken: 1)(real inputs) For input values which are algebraically greater than the upper limit, the output is set to the value of the upper limit and for inputs which are algebraically less than the lower limit, the output is set to the value of the lower limit. , 2)(complex inputs) For input values whose real portion is algebraically greater than the upper limit, the real portion of the output is set to the value of the upper limit and for input values whose real portion is algebraically less than the lower limit, the real portion of the output is set to the value of the lower limit. For input values whose imaginary portion is algebraically greater than the upper limit, the imaginary portion of the output is set the to value of the upper limit and for input values whose imaginary portion is algebraically less than the lower limit, the imaginary portion of the output is set to the value of the lower limit.

 

Both the upper and the lower limits are set by user entry in the linear limiter's attributes dialog box.

Name: Logic Gate

Description: The logic gate block provides the following Boolean logic functions of two inputs: AND, NAND, NOR, OR and EXOR. The flt element of the input signals are used to evaluate the output and for added flexibility, the user can define a threshold value for which the inputs are considered TRUE if they are above this value or FALSE otherwise. This feature obviates added signal conditioning which might be needed to prepare most signals for connection to a logic function.

  

Name: Low-Pass Filter

   

Description:  The Low-Pass Filter block provides IIR versions of common all-pole filters with user selectable parameters. Version 1.0 includes Butterworth, Chebechev, Bessel and  synchronously- tuned responses. Bessel filters are available with from 1 to 6 poles and the other responses may have from 1 to 50 poles. Minimum ripple for the Chebechev filter is 0.001 dB. The continuous domain responses are mapped into the discrete domain using the bi-linear transform method. In keeping with Soft Analytics’ commitment to maximizing application flexibility, the user is free to select any filter bandwidth desired without regard to sample rate; however Soft Analytics recommends that the filter corner frequency not exceed one-third of the sample rate. The low-pass filter dialog box contains a list box used to select  windowing functions for impulse-invariant transformations of classical and user defined impulse functions. The list box is empty in Version 1.0.

   

Name: Modulator

Description:  The Modulator block employs its input signal to modulate sine and cosine output signals as dictated by the user selected modulation type. The context of these outputs depends upon the modulation type. For phase modulations (BPSK, SBPSK, MSK, QPSK etc.), the outputs will be the in-phase and quadrature phase of a modulated carrier. For frequency modulation , the outputs will be sine and cosine signals at a frequency equal to the input signal level times the FM sensitivity defined in the modulator's attributes dialog box. Version 1.0 includes BPSK, SBPSK QPSK, 8PSK and FM modulations.

 

QPSK and 8PSK modulations employ Gray-coding on the input data.

 

The modulator block places more restrictions on input types for modulations which perform precise phase transitions during a symbol period. (e.g. SBPSK) and the user will receive an error message at the beginning of a run if an incompatible input source is connected. 

   

Name: Modulo

Description:  The modulo function performs a floating-point modulo operation on the input signal. Although the "cmplx" element of the input signal is used, the signal is assumed to be real valued.

 

The modulo to be used is set in the attributes dialog box. The "I" output port gives the integer portion of the ratio of the input to the modulo. The "R" output port gives the fractional value of this ratio.

 

Example:

 

Input = 873

Modulo = 12

 

I output = 72

R output = 0.75

 

The block operates on negative inputs as in the following example:

 

Input = - 678.93

Modulo = 45.3

 

I output = -14

R output = -0.98741722

 

Note the following constraints on the modulo value;

1)Modulo is forced positive. If a negative value is entered, it is multiplied by -1 to obtain modulo.

2)If modulo is set to 0, modulo is set to 1.

   

Name: Multiplier

Description:  The Multiplier block accepts two input signals and passes the product of these to its output port.

   

Name: One Shot

Description:  The one shot block effects the function of a digital one-shot. The output pulse is be set to desired duration in units of seconds. There are three trigger modes: relative, absolute and data. In the relative mode, the one shot is triggered whenever the input signal changes value. In the absolute mode, the trigger occurs when the input signal differs from zero. The data trigger mode causes the one shot to trigger whenever the boolean element of the input signal is TRUE.( refer to section 4 for a discussion of the elements of DASE signals.)

   

 

Name: Oscilloscope

 

Description:  

 

The oscilloscope tool allows simultaneous monitoring of up to 3 output ports and is designed to look and feel as much as possible like a laboratory oscilloscope. Vertical or horizontal cursors permit measurement of  time intervals or level differences. The display traces are shown in green (channel 1) red (channel 2) and light blue (channel 3). Each signal may be assigned a trace name  in the oscilloscope’s attributes dialog box. (Left, double-click the block icon or pull down the speed menu with the right mouse button.)

 

Time per division is limited on the low side by the constraint that a division may not span less than one sample interval and on the high side by a limit on the maximum amount of memory allocated to a channel. There are three real-time modes defined below as well as file-mode options discussed in Using Signal Files.

 

The user scrolls between the real time modes via a push button in the scope display window.  The real-time modes determine how data will be collected during a simulation run whereas the file-modes determine how data from stored files is to be displayed. The real-time modes are described as follows:

 

TIMED MODE : The timed mode allows the user to collect data over a segment of the simulation run. The start and duration  times are entered in the start time  and sample window edit boxes as shown in Figure 6. The first data point will be collected when the elapsed time of the simulation exceeds the number entered in the start time box and will end when the time since data collection began exceeds the value entered in the sample window box.  A maximum of 5156 sample points may be collected.

 

 

EVENT MODE : The event is the only mode that defines the collection interval in terms of a single occurrence of some state of a signal. This means that the collection interval is triggered by a transition on either one of the input channels or the trigger channel. The time between the trigger point and the beginning of data collection may be adjusted in steps of 1/8 sample window. A setting of zero will cause the trigger point and the start of data collection to be the same time. A setting of 1/2 would capture 1/2 sample window of data prior to the trigger event and 1/2 sample window afterwards etc. The trigger level is defined by the user as a floating point number (trig level edit box) and positive or negative slope triggering may be selected via pushbutton control. (Note that the start time window is not valid in the event mode.)

 

If the portion of the sample period that precedes the trigger point is less than the elapsed time of the simulation run at the trigger point by time t, the circular buffer design of the oscilloscope will result in t seconds of old data to be displayed as the first part of the new trace. This will be noted as an unexpected discontinuity in the trace and an erroneous trace start time value displayed in the TRACE START window.

 

NORMAL MODE : In normal mode, data is captured during the entire run. Signals that have event periods that are not an integer number of samples may seem to have time jitter. This is not an error but a result of the fact that a trigger point is always on a sample boundary not the event boundary of the signal. In the normal mode most parameters  (e.g. time/div, trig level etc. may be adjusted during the run and are locked when a run is ended. These parameters are unlocked when the user releases the data via the Data| Release menu item or by pressing the F9 key. The maximum number of samples per trace is 5156 and  the data for each trace is written over the data from the last preceding trace. Because of the latter fact, the last trace of a simulation run may appear to have a discontinuity at some point representing the end of the simulation and the point at which the last data point of the trace was written. Data after this discontinuity is from the previous trace. (Note that the start time window is not valid in the normal mode.)

 

Analysis Cursors

 

Horizontal or vertical cursors are available to measure differential times or amplitudes. These are activated via the Tools|Show Cursors menu. The cursors will only activate when valid data is present (e.g. after or during a run). When activated , a colored box will appear in the lower left corner of the oscilloscope's CRT. The color indicates which channel the measurement cursors are slaved to or is gray for time  analysis. Once activated, the cursors will appear, one-at-a-time, when the user next presses the left mouse button in the oscilloscope’s CRT window . The first click will invoke one cursor and a second, the remaining cursor. (To invoke both cursors, the mouse clicks must be somewhat distant from each other. If you have trouble invoking both cursors, try increasing the size of the tool.) The cursors are placed in the desired location by dragging them with the mouse after depressing the left button. Which cursor is moved depends on which one the mouse was closest to when the left button was pushed.

 

 Switching between time and level analysis is accomplished via the Tools|Horz , Tools|VertCH1 , Tools|VertCH2 and Tools|VertCH3 menus. After switching channels or between time and level analysis, the user should always adjust the cursors in the new setting to insure an accurate result in the display window.

 

Display Options

 

The display options of a typical laboratory oscilloscope are available in the oscilloscope tool. Vertical sensitivity is adjusted via the units/di v scroll list boxes. Additional control over this parameter is available by changing the probe atten value (default equals one). Large signals may be attenuated  by setting this value greater than one while added sensitivity can be achieved by making it less than one. Time per horizontal division is adjusted by the time/div listbox conditioned on the constraints mentioned above. Other display options for the real-time modes are described below:

 

 Names:

Names may be assigned to the three traces by entering them in the oscilloscope's attributes dialog box. These names will be displayed for each channel below the oscilloscope's CRT and will be retained until the entries in the dialog box are changed. The user should change the entries anytime a new signal is connected to a channel. When set to a file-mode, the name of the file will be displayed.

 

   Triggers :

The normal and event modes start data collection when the trigger signal passes the level set in the trig level edit box. The normal mode will re-enable the trigger after each sweep whereas the event mode will collect data only once. The oscilloscope can be made to trigger on either of the three channel ports or the trigger input port. 

 

The trigger sense may be selected as either positive edge or negative edge by clicking the appropriate button.

 

  Trace Start Box :

A