|
Operators Category Block
Listing
The following blocks are included in the Operators
category :
Analog
to Digital Converter (ADC)
Compander
Complex
Exponential
Complex
FFT, IFFT
Conversions
Digital
to Analog Converter (DAC)
Delay
Gain
IQ
Mapper
Integrate
& Dump
Max
Index
Modulo
Oscilloscope
Phase
Rotate
Phase
Unwrap
Polynomial
Spectrum
Subsample
Vector FFT
Analog to Digital Converter (ADC)
This block implements an analog-to-digital converter (ADC).
The input signal is quantized according to the number of specified
resolution bits N and is output as an integer in the range
[0, 2N- 1] or [-2(N-1), 2N-1) - 1] depending on the output
mode selection (can be signed or unsigned). The input signal
is assumed to vary over a range of +/- "Max Amplitude"
volts centered about a zero volts level.
Two options exist for handling conversion of the zero input
level: midlevel and offset. In the midlevel mode any input
value in the range [-0.5q, 0.5q] is converted to level 0,
where q is a quantization level. In the offset mode, a positive
value in the range [0, q] is converted to level 0, while negative
values in the range [-q, 0-] are converted to level -1 (assuming
signed output mode).
Compander
This block implements signal companding and its inverse. Companding
refers to a process of nonlinear amplitude compression usually
performed prior to A/D quantization of a signal. This process
is employed when it is desirable to obtain a nonlinear quantization
of the original signal. You can specify either m-law or A-law
companding. A standard value used in m-law companding is m=255,
while for A-law companding A=87.56 is often used.
Complex Exponential
This block outputs the complex exponential of the input signal,
e^jx(t), where x(t) is the input signal.
Complex FFT, IFFT
This block computes either the forward fast Fourier transform
(FFT) or inverse IFFT of the input complex signal. You may
select from a variety of window functions in performing the
FFT. The N point FFT/IFFT operation is single shot and is
started by an external trigger.
Results are viewed using a plot block configured in XY mode
with an external trigger. An output trigger line and x-axis
output (either frequency or time) are provided for driving
the plot block. FFT results are presented over the range [-fs/2,
fs/2], where fs is the simulation sampling rate in hertz.
Conversions
This block implements many common conversions. The desired
conversion is selected by choosing the appropriate radio button
in the block's setup dialog box. Two versions of this block
are available, one for scalar signals and another for vector
inputs.
Available conversions include:
decibels <=> power
decibels <=> real
degrees <=> radians
hertz <=> rad/sec
mag/phase <=> real/imaginary
Digital to Analog Converter (DAC)
This block implements a Digital to Analog Converter (DAC).
Model parameters include the number of bits and the min and
max output amplitude levels.
Delay
This block implements a multiple unit delay block. Two version
of this block exist, one for real (scalar) signals and one
for complex signals.
This block only operates on main simulation steps and disregards
the intermediate steps associated with some integration methods
(e.g. Runge Kutta). For these steps, the previous value is
held. The internal real and imaginary shift registers are
initialized to the Initial Condition parameter values.
Gain
This block implements a gain function where the gain value
is specified in decibels.
IQ Mapper
This block allows the user tospecify an arbitrary IQ constellation
via an external file. The block accepts a symbol value in
the range of [0, N-1] and outputs a pair of I and Q values
as specified by the mapping file. This block can be followed
by the IQ Modulator block to achieve modulation of arbitrary
user defined constellations.
Integrate and Dump
Two versions of this block exist, one real (scalar) and the
other complex. These blocks implement an integrate and dump
operation on the input signal. The input signal is continuously
integrated and the result is periodically dumped and reset
to a specified value. The dump rate can be specified internally
or via an external clock.
These blocks may be used to demodulate a baseband phase modulated
signal by following it with the appropriate detector block
for the modulation used. These blocks accept and output either
a real signal or a complex signal depending on the selected
version of the block.
Max Index
This block returns the index of the largest input signal.
The block can be configured to accept up to 16 inputs. A typical
application of this block is in the creation of M-ary decision
circuits (e.g. detection of MFSK). Should two or more inputs
share the largest value, the output index will be that of
the lowest input connection in the set.
Modulo
This block performs either real-valued or integer modulo operations.
The output represents the remainder after integer division
of the input value by the specified modulo value. The result
will fall in the range [0, mod val) when specifying a positive
modulo value, and (mod val, 0] when specifying a negative
modulo value.
When in integer modulo mode, the input value undergoes a tolerance
adjustment and is then truncated to an integer prior to the
modulo operation.
Oscilloscope
This block emulates the use of a two input channel oscilloscope.
The use can specify either input as the trigger source, specify
falling or rising edge triggering, and set the trigger threshold
level. The overall time span is also user defined. The output
is viewed using a plot block configured in XY mode with an
external trigger. An output trigger line, the A and B channel
traces, and time axis outputs are provided for driving the
plot block.
Once enabled by an external start pulse, the Oscilloscope
block monitors the input signal for a threshold crossing,
i.e. a trigger event. Once triggered (and the specified trigger
delay has elapsed) it reads in N data points on both channels,
where N is based on the desired time span, and then displays
both traces all at once as a vector. Upon completing each
trace, the Oscilloscope block resets itself and awaits the
next trigger event before repeating the above cycle.
Phase Rotate
This block multiplies the complex input x1 by the complex
exponential e^jx2, which results in a phase rotation of x2
radians.
Phase Unwrap
This block performs a phase unwrapping operation on the input
signal which is assumed to be represented in the range of
[-180, +180] degrees or [-pi, +pi] radians. The block operates
by comparing the input phase value to a weighted average of
the previous several points. When a phase jump in excess of
180 degrees is detected, a phase wrap is declared on the input,
and a value of 360 degrees is added to (or subtracted from)
the output waveform. For this block to work properly, the
phase variations from point to point should not be excessive
(<45 degrees).
Polynomial
This block computes g(x) for g( ) up to a fifth order polynomial.
Spectrum
This block outputs the complex power spectrum of the input
signal. The spectrum can be continuously updated or produced
at user-defined intervals. Results are viewed using a plot
block configured in XY mode with an external trigger.
Two versions of this block exist: one complex and the other
real. The real version of the block only outputs the positive
side of the spectrum (since it's mirror imaged), but includes
all signal energy, including that from the negative side of
the spectrum. This is equivalent to doubling the FFT result
at all points except dc and fs/2. So, for example, the complex
spectrum of a -10 dBm real sinusoid of frequency fo results
in two peaks of -13 dBm at -fo and +fo , while the real spectrum
results in a single peak of -10 dBm at fo.
Once triggered, the Spectrum block reads in N data points,
perform an N point FFT, and then outputs the FFT result all
at once as a vector. If you have selected to average multiple
FFTs, then an averaging step is also performed prior to outputting
the result. You may also select from a variety of window functions
when performing the underlying FFT. Once completed, the Spectrum
block either immediately reads in the next N data points (continuous
mode) or waits until the next input trigger before repeating
the above cycle.
Spectral results are presented over the range [-fs/2, fs/2]
for the complex version, and over the range of [0, fs/2] for
the real version, where fs is the simulation sampling rate
in hertz. The output spectrum can be output in watts, dBm,
or dBm/Hz.
Subsample
This block samples the input signal at a constant interval
specified as an integer number of simulation time steps. An
initial offset may be specified. The output can either be
held constant between samples or specified as an inpulse train
(zero padded).
Vector FFT
This block provides vector-based FFT and IFFT capabilities.
The input and output signals are vectors of size N, where
N is a power of two.
The Vector FFT block performs an FFT or IFFT operation in
a single simulation step. A frame input clock controls when
the calculation is to be performed. Each time the clock goes
high, the input vectors are read, the FFT or IFFT operation
is performed, and the result is posted to the output vectors.
This block supports both real/imaginary format or magnitude/phase
for the FFT data.
|