exponenta event banner

dsp. ZeroCrossingDetector

Обнаружение нулевых пересечений

Описание

dsp.ZeroCrossingDetector Системный object™ подсчитывает количество переходов сигнала через ноль или изменяет знак. Чтобы обнаружить, пересекает ли сигнал в данном канале ноль, объект ищет следующие условия, где xi-l - текущее значение сигнала, а 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 равны нулю.

Для подсчета количества переходов сигнала через ноль или изменение знака:

  1. Создайте dsp. Объект ZeroDiscector.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?

Создание

Описание

пример

zcd = dsp.ZeroCrossingDetector возвращает объект обнаружения пересечения нуля, который вычисляет количество переходов сигнала через ноль.

Использование

Синтаксис

Описание

пример

zcdOut = zcd(input) вычисляет количество нулевых пересечений входного сигнала. Каждый столбец входного сигнала обрабатывается как независимый канал.

Входные аргументы

развернуть все

Ввод данных, нулевые пересечения которых подсчитываются объектом, указанным как вектор или матрица.

Пример: rand(20,1)-0.3

Пример: rand(20,2)-0.3

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Выходные аргументы

развернуть все

Количество пересечений нулей во входных данных, возвращаемых как одно из следующих значений:

  • Скаляр -- Когда ввод данных является вектором столбца, скалярный вывод - это количество пересечений нулей во входах данных..

  • Вектор строки - Когда ввод данных является матрицей, каждый элемент в выводе вектора строки - это количество пересечений нулей в соответствующем столбце ввода данных.

Пример: 10

Пример: [9,6]

Типы данных: uint32

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Примечание.При использовании R2016a или более ранней версии замените каждый вызов объекта эквивалентным step синтаксис. Например, obj(x) становится step(obj,x).

Найдите число пересечений нуля в данных электрокардиограммы.

EcgData = ecg(500)';
zcd = dsp.ZeroCrossingDetector;
numZeroCross = zcd(EcgData)
numZeroCross = uint32
    4
plot(1:500,EcgData,'b',[0 500],[0 0],'r','linewidth',2)

Figure contains an axes. The axes contains 2 objects of type line.

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

.

См. также

Объекты

Представлен в R2012a