exponenta event banner

Пересечение нуля

Число раз, когда сигнал пересекает ноль за один шаг времени

Библиотека

Сигнальные операции

dspsigops

  • Zero Crossing block

Описание

Блок пересечения нулей делает вывод, что сигнал в данном канале прошел через ноль, если он удовлетворяет любому из следующих критериев, где xi - текущее значение сигнала, xi-1 - предыдущее значение сигнала и так далее:

  • xi < 0 и xi-1 > 0

  • xi > 0 и xi-1 < 0

  • Для некоторого положительного целого числа L, xi < 0, xi-l = 0 и xi-L-1 > 0, где 0≤l≤L.

  • Для некоторого положительного целого числа L, xi > 0, xi-l = 0 и xi-L-1 < 0, где 0≤l≤L.

Для первого входного значения xi-1 и xi-2 равны нулю. Блок выводит число раз, когда сигнал пересекает ноль за один шаг времени в порту Cnt.

Вход в этот блок должен быть действительным сигналом с фиксированной запятой или с плавающей запятой. Если для параметра Input processing установлено значение Elements as channels (sample based)блок обрабатывает каждый элемент входного сигнала как изменяющийся во времени канал. Если для параметра Input processing установлено значение Columns as channels (frame based)блок обрабатывает каждый столбец входного сигнала как независимый канал.

Примеры

В следующем примере ex_zero_crossing показано поведение блока пересечения нулей.

Чтобы запустить модель в течение одного шага времени, в поле Время остановки (Stop time) устанавливается значение 0.

  1. Запустите модель.

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

  2. Чтобы запустить модель в течение двух временных шагов, измените Время остановки моделирования на 1. Для этого выберите вкладку Моделирование (Modeling) и щелкните Параметры модели (Model Settings). На панели «Решатель» установите для параметра «Время остановки» значение 1.

  3. Запустите модель.

    Блок пересечения нулей запоминает, что последнее значение последнего кадра равнялось 3. Поэтому сигнал проходит через ноль дважды в течение второго временного шага. Он проходит через ноль, проходя от 3 до -3, и он проходит через ноль снова, проходя от -3 до 3. Блок пересечения нулей находит два пересечения нулей на втором шаге времени, как показано в блоке отображения на следующем рисунке.

Параметры

Обработка входных данных

Укажите, как блок должен обрабатывать входные данные. Можно задать для этого параметра одну из следующих опций:

  • Columns as channels (frame based) (по умолчанию) - при выборе этой опции блок обрабатывает каждый столбец ввода как отдельный канал.

  • Elements as channels (sample based) - При выборе этой опции блок обрабатывает каждый элемент ввода как отдельный канал.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписанная и неподписанная)

  • 8-, 16- и 32-разрядные целые числа со знаком

  • 8-, 16- и 32-разрядные целые числа без знака

Cnt

  • 32-разрядные беззнаковые целые числа

См. также

Хит-кросс (Симулинк)Simulink

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

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

.
Представлен до R2006a