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

Блок пересечения нулей делает вывод, что сигнал в данном канале прошел через ноль, если он удовлетворяет любому из следующих критериев, где xi - текущее значение сигнала, xi-1 - предыдущее значение сигнала и так далее:
xi < 0 и xi-1 > 0
xi > 0 и xi-1 < 0
Для некоторого положительного целого числа L, xi < 0, xi-l = 0 и xi-L-1 > 0, где .
Для некоторого положительного целого числа L, xi > 0, xi-l = 0 и xi-L-1 < 0, где .
Для первого входного значения 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.
Запустите модель.
Поскольку сигнал проходит через нуль один раз в течение первого временного шага, блок пересечения нуля находит одно пересечение нуля. Количество обнаруженных пересечений нулей на первом шаге времени показано в блоке Display на следующем рисунке.

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

Укажите, как блок должен обрабатывать входные данные. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based) (по умолчанию) - при выборе этой опции блок обрабатывает каждый столбец ввода как отдельный канал.
Elements as channels (sample based) - При выборе этой опции блок обрабатывает каждый элемент ввода как отдельный канал.
| Порт | Поддерживаемые типы данных |
|---|---|
Вход |
|
Cnt |
|
| Хит-кросс (Симулинк) | Simulink |