Буферы последовательного ввода и вывода

Описание демо-примера

Расположение

SimInTech\Demo\Цифровая обработка сигналов\Буферизация\Буферы последовательного ввода и вывода\Буферы последовательного ввода и вывода.prt

Описание

В данном проекте демонстрируется работа блоков подгруппы "Буферизация" библиотеки "Цифровая обработка сигналов", реализующих алгоритмы буферизации ввода\вывода.

В проекте показан процесс последовательного ввода данных, формирования из них вектора и последовательного вывода данных из полученного вектора.

Блок "Линейный источник" формирует передаваемые данные. Блоки "Меандр" и "Импульс по фронту" формируют синхроимпульсы с периодом в 1 секунду. Синхроимпульсы определяют моменты времени, в которые блок "Буфер последовательного ввода данных" начнет считывать входные данные и записывать их в вектор, а блок "Буфер последовательного вывода данных" – считывать данные из созданного вектора. Размер буфера равен "4".

Каждую секунду модельного времени блок "Буфер последовательного ввода данных" считывает значение входного сигнал и последовательно записывает его в выходной вектор данных, начиная с первого элемента. Таким образом, на выходе блока формируется вектор размерностью "4". Блок "Буфер последовательного вывода данных" считывает данный вектор и последовательно выводит его значения.

Через 4 секунды модельного времени блок "Буфер последовательного ввода данных" записывает значение в последний элемент вектора и формирует сигнал о заполнении буфера. Этот сигнал поступает на вход сброса блока "Буфер последовательного вывода данных", и тот начинает считывать значения элементов вектора с начала. Через 7 секунд модельного времени данный блок считывает последний элемент вектора и формирует сигнал о выводе последнего элемента.

На графике "Буфер ввода данных" представлены графики изменения значений четырех элементов выходного вектора данных и сигнала о заполнении буфера (Рисунок 1).


Рис. 1. Графики изменений сигналов выходного вектора и сигнала о заполнении буфера.
На графике "Буфер вывода данных" последовательно отображаются значения элементов вектора, сформированного блоком "Буфер последовательного ввода данных", а также сигнал о выводе последнего элемента (Рисунок 2).


Рис. 2. Графики изменения выходного сигнала и сигналы о выводе последнего элемента.

Используемые блоки