Zero Crossing

Считайте перекрестный нуль сигнала числа раз в одном временном шаге

Библиотека

Операции сигнала

dspsigops

  • Zero Crossing block

Описание

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

  • xi <0 и xi-1> 0

  • xi> 0 и xi-1 <0

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

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

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

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

Примеры

Следующий пример, ex_zero_crossing иллюстрирует поведение блока Zero Crossing.

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

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

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

  2. Чтобы запустить модель для двух временных шагов, измените симуляцию Stop time в 1. Для этого выберите вкладку Modeling и нажмите Model Settings. В панели Solver, набор Stop time к 1.

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

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

Параметры

Input processing

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

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

  • Elements as channels (sample based) — Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

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

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

Входной параметр

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

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

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

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Cnt

  • 32-битное беззнаковое целое

Смотрите также

Hit Crossing (Simulink)Simulink

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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