exponenta event banner

Deserializer1D

Преобразование скалярного потока или меньших векторов в векторный сигнал

Библиотека

Кодер ЛПВП/операции ЛПВП

  • Deserializer1D block

Описание

Блок Deserializer1D буферизирует более быстрый, скалярный поток или векторные сигналы в более крупный, более медленный векторный сигнал. Более быстрый входной сигнал преобразуется в более медленный сигнал на основе значений Ratio и Idle Cycle, преобразование изменяет время выборки. Кроме того, выходной сигнал задерживается на один цикл медленного сигнала, поскольку перед выводом в виде вектора необходимо собрать сериализованные данные. Дополнительные сведения см. в примерах ниже.

Десериализацию можно настроить так, чтобы она зависела от действительного входного сигнала ValidIn и начального сигнала StartIn. Если выбраны оба параметра блока ValidIn и StartIn, сбор данных начинается только в том случае, если сигналы ValidIn и StartIn являются истинными. Рассмотрим следующий пример:

  • Коэффициент равен 2 и циклы простоя 0таким образом, каждый выходной цикл представляет собой два входных сигнала длиной со всеми рассматриваемыми точками данных.

  • Выбираются ValidIn и StartIn, поэтому сбор данных может начинаться только в том случае, если сигналы StartIn и ValidIn являются истинными.

  • Выбрано значение ValidOut.

В первом цикле ValidIn и StartIn являются истинными, поэтому сбор данных начинается для A и B. Блок выводит десериализованный вектор в следующем действительном цикле, поэтому вектор AB выводится в следующем цикле. Это также справедливо во втором цикле для C и D.

В третьем цикле, начиная с E, StartIn имеет значение true, но ValidIn имеет значение not. E сбрасывается. При F параметр ValidIn имеет значение true, но его нет, поэтому F также удаляется. Поскольку он не может собирать данные для E или F, Deserializer1D выводит вектор предыдущего цикла, CD, но ValidOut изменяется на false.

Еще один сценарий, который следует учитывать, - это момент, когда сигнал StartIn поступает слишком рано. Если длина между двумя сигналами StartIn недостаточно велика для сбора полного цикла отношения, недостаточные данные сигнала отбрасываются. Рассмотрим следующий пример:

  • Коэффициент равен 3Каждый цикл состоит из двух секций.

  • Циклы простоя: 0, поэтому рассматриваются все входные данные.

  • Выбираются ValidIn и StartIn, поэтому сбор данных может начинаться только в том случае, если сигналы StartIn и ValidIn являются истинными.

  • Выбрано значение ValidOut.

В первом цикле значения ValidIn и StartIn являются истинными, поэтому сбор данных может начаться для A и B. Однако при C поступает еще один сигнал StartIn, прежде чем можно будет собрать три сигнала. Поскольку StartIn пришел рано, A и B отбрасываются, и ни один допустимый вектор не собирается в течение первого цикла. Поэтому выход второго цикла все еще равен нулю. Десериализация начинается с, при C, для C, D и E. Этот вектор выводится при следующем действительном цикле, который является циклом 3. Точно так же десериализация начинается снова в StartIn в F и выводит вектор FGH в четвертом цикле.

Вывод блока для первого периода выборки определяется значением параметра «Начальное условие».

Параметры

Отношение

Введите коэффициент десериализации. По умолчанию: 1.

Отношение представляет собой размер выходного вектора, деленный на размер входного вектора. Отношение должно быть разделено на размер входного вектора.

Циклы простоя

Введите количество циклов простоя, добавленных к концу каждого сериализованного ввода. По умолчанию: 0.

Значение Idle Cycles влияет на десериализованную выходную скорость. Например, если Ratio равно 2 и входной сигнал равен A, B, B, C, D, D, ..., без циклов простоя выход будет AB, BC, DD.... Тем не менее, для тех же входных данных и коэффициента, для которых для параметра Idle Cycles установлено значение 1, выходной сигнал: AB, CD.... Циклы простоя, B и D, сбрасываются.

Поведение Deserializer1D изменяется, если значение Idle Cycles не равно нулю и включены параметры ValidIn или StartIn. Значение циклов простоя влияет только на выходную скорость, в то время как ValidIn и StartIn управляют десериализацией входных данных.

Исходное состояние

Укажите начальный результат моделирования. Значение по умолчанию - 0.

StartIn

Выберите этот параметр, чтобы активировать порт StartIn. Значение по умолчанию выключено.

ValidIn

Выберите для активизации порта ValidIn. Значение по умолчанию выключено.

ValidOut

Выберите для активации порта ValidOut. Значение по умолчанию выключено.

Размеры порта входных данных (-1 для унаследованных)

Введите размер входного сигнала данных. Размер входного сигнала должен быть разделен на отношение плюс количество циклов простоя. По умолчанию блок наследует размер на основе контекста в модели.

Время входной выборки (-1 для унаследованных)

Введите интервал времени между совпадениями времени выборки или укажите другое подходящее время выборки, например непрерывное. По умолчанию блок наследует время выборки на основе контекста в модели. Дополнительные сведения см. в разделе Пример времени.

Тип входного сигнала

Укажите тип входного сигнала блока как auto, real, или complex.

Порты

S

Входной сигнал для десериализации. Типы данных шины не поддерживаются.

ValidIn

Указывает допустимый входной сигнал. Использовать с блоком Serializer1D. Этот порт доступен при установке флажка ValidIn.

Тип данных: Логический

StartOut

Указывает место начала десериализации. Использовать с блоком Serializer1D. Этот порт доступен при установке флажка StartOut.

Тип данных: Логический

P

Десериализованный выходной сигнал. Типы данных шины не поддерживаются.

ValidOut

Указывает допустимый выходной сигнал. Этот порт доступен при установке флажка ValidOut.

Тип данных: Логический

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

См. также

Представлен в R2014b