Количество раз, когда сигнал переходит нуль за один временной шаг
Сигнальные операции
dspsigops
Блок Пересечения Нуля делает вывод, что сигнал в данном канале прошел через ноль, если он соответствует любому из следующих критериев, где xi является текущим значением сигналов, x i-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 иллюстрирует поведение блока Zero Crossing.
Чтобы запустить модель для одного временного шага, Stop time устанавливается на 0
.
Запустите модель.
Поскольку сигнал проходит через ноль один раз во время первого временного шага, блок «Пересечение нуля» находит одно пересечение нуля. Количество обнаруженных пересечений нуля на первом временном шаге показано на блоке Display на следующем рисунке.
Чтобы запустить модель в течение двух временных шагов, измените Stop time симуляции на 1
. Для этого выберите вкладку Modeling и нажмите Model Settings. На панели Solver задайте Stop time 1
.
Запустите модель.
Блок пересечения нуля запоминает, что последнее значение последней системы координат было 3. Поэтому сигнал дважды проходит через нуль во время второго временного шага. Он проходит через нуль во время перехода от 3 до -3, и он снова проходит через нуль во время перехода от -3 до 3. Блок пересечения нуля находит два пересечения нуля во втором временном шаге, как показано на блоке Display на следующем рисунке.
Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based)
(по умолчанию) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Порт | Поддерживаемые типы данных |
---|---|
Вход |
|
Cnt |
|
Hit Crossing (Simulink) | Simulink |