Engee documentation
Notebook

Generation and analysis of vector signals

Introduction

In this basic example, we will look at the principle of generating
vector signals on the example of five discrete sinusoids,
we will learn about basic operations on vector signals,
as well as the possibilities of their visualisation
in time and frequency domains.

model.png

The model consists of discrete sinusoidal signal source blocks DSP Sine Wave,
block Gain, multiplying the input signal by a constant value,
block Sum of Elements, summarising the elements of the vector input,
and block Selector, allocating elements from the vector input.

Generation of multiple sinusoids

The parameters of the signal source block are shown in the figure below.
It should be noted that in the model we generate five sinusoids at once,
setting the values of amplitudes, frequencies and initial phases by vector.
In our case, we generate signals of the same amplitude at
frequencies of 5 Hz, 95 Hz, 105 Hz, 195 Hz and 205 Hz.
And the initial phase changes 180 degrees from
from sine wave to sine wave.
The sampling frequency of the signal is 500 Hz.

sine.png

Similar composition of frequency components of a complex
periodic signal we could observe in the example
Multirate filter,
where their superposition resulted in a waveform with outliers
and zeros in between. In the current example, we're going to try
to reproduce such a waveform.

Spectrum of vector and sum signals

Let's display the spectrum of the signal in in the window Графики, by selecting
in Меню сигналов: Сигналы в частотной области.
We observe five spectra of five discrete sinusoids
at the specified frequencies:

spect01.png

Now let's consider the spectrum of the total signal at the output of the
block Sum of Elements. We see the spectrum of one signal,
but its peaks are at the same frequencies:

spect02.png

It can be seen that the power level of the peaks in the spectrum of the total signal
is higher than the peaks of individual sinusoids by 6 dB. This is due to the fact
because we pass the vector signal through the block Gain,
doubling the amplitude of each element of the vector. The operation
multiplication operation is vectorised, the output of the Gain block is also a
vectorised.

Visualisation of the signal in the time domain

Now let's draw oscillograms of the signal in, by selecting
in Меню сигналов: Сигналы во временной области.
We observe on the same axes five discrete sinusoids
with different repetition periods. We can also switch off individual elements of the vector on the legend
below the graph, displaying the signals we are interested in.
time01.png

The amplitude of each sinusoid at the output of the signal generator is 0.1.
After the block Gain the magnitude of the sinusoids becomes from -0.2 to 0.2.

Shape of the resulting signal

If you reflect in the time domain the shape of the signal at the output of the
block Sum of Elements, we can observe the expected shape of the signal.
These are impulse emissions of sinusoidal samples with a range from -1 to 1
with dips to zero in between. When five discrete sinusoids.
of 0.2 amplitude are added in phase, we get the maximum of the total
signal, but more often than not, their superposition results in zero:
time02.png

We can also plot one of the sinusoids from the block output to the graph
Gainand we use the Selector block to
to extract one scalar signal from the vector. The model extracts
the first element of the vector, i.e. a sinusoid with an amplitude of 0.2
and a frequency of 5 Hz.

Conclusion

In this model, using the example of a source of five sinusoids, we have learnt the principles of vector signal generation.
with the principles of generating vector signals, mapping them in the
time and frequency domains, performing vectorised
arithmetic operations on vector signals,
operations on an array (using the sum of array elements as an example),
selection of separate elements of a vector signal.

Blocks used in example