Нулевое пересечение

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

Библиотека

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

dspsigops

Описание

Блок 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. Для этого откройте диалоговое окно Configuration Parameters путем выбора Model Configuration Parameters из меню Simulation. В панели 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-битное беззнаковое целое

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

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

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

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