Документация Engee

instbw

Оценка мгновенной полосы пропускания.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • ibw = instbw(x,fs) — оценивает мгновенную полосу пропускания сигнала x, дискретизированного с частотой fs. Если x — матрица, то функция оценивает мгновенную полосу пропускания независимо для каждого столбца и возвращает результат в соответствующем столбце ibw.

  • ibw = instbw(x,t) — оценивает мгновенную полосу пропускания x, измеренную в моменты времени, хранящиеся в t.

  • ibw = instbw(tfd,fd,td) — оценивает мгновенную полосу пропускания сигнала, частотно-временное распределение tfd которого дискретизируется при значениях полосы пропускания, хранящихся в fd, и значениях времени, хранящихся в td.

  • ibw = instbw(___,Name=Value) — задает дополнительные параметры для любого из предыдущих синтаксисов, используя аргументы типа «имя-значение». Вы можете указать масштабный коэффициент или пределы частоты, используемые в вычислении. Например, FrequencyLimits=[10 20] вычисляет мгновенную полосу пропускания входного сигнала в диапазоне от 10 Гц до 20 Гц.

  • ibw,t = instbw(___) — также возвращает t, вектор периодов дискретизации, соответствующий ibw.

  • instbw(___) — без выходных аргументов отображает расчетную мгновенную полосу пропускания.

Аргументы

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

# x — входной сигнал
вектор | матрица

Details

Входной сигнал, заданный как вектор или матрица. Если x — вектор, то instbw обрабатывает его как одиночный канал. Если x — матрица, то функция вычисляет мгновенную полосу пропускания независимо для каждого столбца и возвращает результат в соответствующем столбце функции ibw.

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

# fs — частота дискретизации
положительный скаляр

Details

Частота дискретизации, заданная как положительный скаляр. Частота дискретизации — это количество отсчетов в единицу времени. Если единицей времени являются секунды, то частота дискретизации указывается в Гц.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

# t — периоды дискретизации
вещественный вектор

Details

Периоды дискретизации, заданные как вещественный вектор.

Вещественный вектор — момент времени, соответствующий каждому элементу x.

Типы данных

Float32, Float64

# tfd — частотно-временное распределение
матрица

Details

Частотно-временное распределение, заданное как матрица, дискретизированная с частотами, хранящимися в fd, и значениями времени, хранящимися в td.

Типы данных

Float32, Float64

# fd,td — значения частоты и времени для частотно-временного распределения
векторы

Details

Значения частоты и времени для частотно-временного распределения, заданные как векторы.

Типы данных

Float32, Float64

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в виде Name=Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.

# FrequencyLimits — диапазон частот
[0 fs/2] (по умолчанию для вещественных сигналов) | [-fs/2 fs/2] (по умолчанию для комплексных сигналов) | двухэлементный вектор

Details

Диапазон частот, заданный как двухэлементный вектор в Гц. Если FrequencyLimits не задан, этот аргумент по умолчанию равен [0 fs/2] для вещественных сигналов и [-fs/2 fs/2] для комплексных сигналов.

Типы данных

Float32, Float64

# ScaleFactor — масштабный коэффициент для спектрального момента
sqrt(4*pi) (по умолчанию) | вещественный скаляр

Details

Масштабный коэффициент для спектрального момента, заданный как вещественный скаляр.

Типы данных

Float32, Float64

# out — тип выходных данных
:data (по умолчанию) | :plot

Details

Тип выходных данных:

  • :data — функция возвращает данные;

  • :plot — функция возвращает график.

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

# ibw — мгновенная полоса пропускания
вектор | матрица

Details

Мгновенная полоса пропускания, возвращаемая в виде вектора или матрицы с теми же размерами, что и входные данные.

Типы данных

Float32, Float64

# t — время оценки полосы пропускания
вещественный вектор

Details

Время оценки полосы пропускания, возвращаемое в виде вещественного вектора.

Типы данных

Float32, Float64

Если t, fd или td имеют одинарную точность, а входной вектор или матрица — двойную точность, то функция возвращает результат с одинарной точностью. Тип выходных данных не зависит от типа данных частоты дискретизации.

Дополнительно

Мгновенная полоса пропускания

Details

Мгновенная полоса пропускания нестационарного сигнала — это изменяющийся во времени параметр, характеризующий разброс мгновенной частоты относительно ее среднего значения в заданный момент времени [1], [2].

Функция instbw оценивает мгновенную полосу пропускания как квадратный корень второго условного спектрального момента частотно-временного распределения входного сигнала. Функция:

  1. Вычисляет спектр мощности спектрограммы входного сигнала с помощью функции pspectrum и использует спектр в качестве частотно-временного распределения.

  2. Оценивает мгновенную частоту с помощью формулы

где — мгновенная частота, возвращаемая функцией instfreq и оцениваемая формулой

Литература

  1. Boashash, Boualem. «Estimating and Interpreting the Instantaneous Frequency of a Signal. I. Fundamentals.» Proceedings of the IEEE® 80, no. 4 (April 1992): 520–538. https://doi.org/10.1109/5.135376.

  2. Boashash, Boualem. «Estimating and Interpreting The Instantaneous Frequency of a Signal. II. Algorithms and Applications.» Proceedings of the IEEE 80, no. 4 (May 1992): 540–568. https://doi.org/10.1109/5.135378.