instbw

Оцените мгновенную полосу пропускания

Описание

пример

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

пример

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

пример

ibw = instbw(xt) оценивает мгновенную полосу пропускания сигнала, сохраненного в MATLAB® расписание xt. Функция обрабатывает все переменные в расписании и все столбцы в каждой переменной независимо.

пример

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

пример

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

пример

[ibw,t] = instbw(___) также возвращает t, вектор из шагов расчета, соответствующих ibw.

пример

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

Примеры

свернуть все

Сгенерируйте сигнал, произведенный на уровне 600 Гц в течение 2 секунд. Сигнал состоит из щебета с синусоидально различным содержимым частоты.

fs = 6e2;

x = vco(sin(2*pi*(0:1/fs:2)),[0.1 0.4]*fs,fs);

Вычислите спектрограмму сигнала и отобразите его как график водопада.

[p,f,t] = pspectrum(x,fs,'spectrogram');

waterfall(f,t,p')
ax = gca;
ax.XDir = 'reverse';
view(30,45)

Figure contains an axes object. The axes object contains an object of type patch.

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

instbw(x,fs)
ylim([0 50])

Figure contains an axes object. The axes object with title Instantaneous Bandwidth Estimate contains an object of type line.

Сгенерируйте сигнал, произведенный на уровне 2 кГц в течение 2 секунд. Сигнал состоит из суперпозиции экспоненциально ослабленных синусоид увеличивающейся частоты, которые добавляются равномерно. Постройте сигнал.

fs = 2000;
t = 0:1/fs:2-1/fs;

frq = (50:100:950)';

amp = (t > 4*(frq-frq(1))/fs);
x = sum(amp.*sin(2*pi*t.*frq).*exp(-3*t));

% To hear, type sound(x,fs)

plot(t,x)
xlabel('Time (s)')

Figure contains an axes object. The axes object contains an object of type line.

Вычислите и отобразите мгновенную полосу пропускания сигнала.

[bw,bt] = instbw(x,t);

plot(bt,bw)
xlabel('Time (s)')
ylabel('Bandwidth (Hz)')

Figure contains an axes object. The axes object contains an object of type line.

Вычислите спектрограмму сигнала. Задайте разрешение времени 100 миллисекунд и 0 перекрытий между смежными сегментами. Используйте спектрограмму, чтобы оценить мгновенную частоту сигнала.

[p,ff,tt] = pspectrum(x,t,'spectrogram','TimeResolution',0.1,'OverlapPercent',0);

instfreq(p,ff,tt)

Figure contains an axes object. The axes object with title Instantaneous Frequency Estimate contains 2 objects of type image, line. This object represents Instantaneous Frequency.

Используйте спектрограмму, чтобы вычислить мгновенную полосу пропускания.

instbw(p,ff,tt)

Figure contains an axes object. The axes object with title Instantaneous Bandwidth Estimate contains an object of type line.

Сгенерируйте сигнал, произведенный на уровне 14 кГц в течение 2 секунд. Частота сигнала варьируется как щебет, модулируемый Гауссовым. Сохраните сигнал как расписание MATLAB®.

fs = 14000;
t = (0:1/fs:2)';
s = vco(chirp(t+.1,0,t(end),3).*exp(-2*(t-1).^2),[0.1 0.4]*fs,fs);

sx = timetable(s,'SampleRate',fs);

Вычислите спектрограмму сигнала. Задайте утечку 0,2, разрешение времени 50 миллисекунд и 99% перекрытия между смежными сегментами. Отобразите спектрограмму.

opts = {'spectrogram','Leakage',0.2,'TimeResolution',0.05,'OverlapPercent',99};

[p,ff,tt] = pspectrum(sx,opts{:});

pspectrum(sx,opts{:})

Figure contains an axes object. The axes object with title Fres = 64.5333 Hz, Tres = 50 ms contains an object of type image.

Оцените и отобразите мгновенную полосу пропускания сигнала.

instbw(p,ff,tt)

Figure contains an axes object. The axes object with title Instantaneous Bandwidth Estimate contains an object of type line.

Сгенерируйте сигнал, который состоит из щебета, частота которого варьируется синусоидально между 300 Гц и 1 200 Гц. Сигнал производится на уровне 3 кГц в течение 2 секунд.

fs = 3e3;
t = 0:1/fs:2;
y = chirp(t,100,1,200,"quadratic");
y = vco(cos(2*pi*t),[0.1 0.4]*fs,fs);

Используйте instfreq вычислить мгновенную частоту сигнала и соответствующих шагов расчета. Проверьте, что выход соответствует централизованному условному спектральному моменту первого порядка плотности распределения времени сигнала, как вычислено tfsmoment (Predictive Maintenance Toolbox).

[z,tz] = instfreq(y,fs);
[a,ta] = tfsmoment(y,fs,1,Centralize=false);

plot(tz,z,ta,a,'.')
legend("instfreq","tfsmoment")

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent instfreq, tfsmoment.

Используйте instbw вычислить мгновенную полосу пропускания сигнала и соответствующих шагов расчета. Задайте масштабный коэффициент 1. Проверьте, что выход соответствует квадратному корню нецентрализованного условного спектрального момента второго порядка распределения во времени сигнала. Другими словами, instbw генерирует стандартное отклонение и tfsmoment генерирует отклонение.

[w,tw] = instbw(y,fs,ScaleFactor=1);
[m,tm] = tfsmoment(y,fs,2);

plot(tw,w,tm,sqrt(m),'.')
legend("instfreq","tfsmoment")

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent instfreq, tfsmoment.

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

свернуть все

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

Пример: sin(2*pi*(0:127)/16)+randn(1,128)/100 задает шумную синусоиду.

Пример: [2 1].*sin(2*pi*(0:127)'./[16 64]) задает двухканальную синусоиду.

Типы данных: single | double
Поддержка комплексного числа: Да

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

Типы данных: single | double

Шаги расчета в виде вектора действительных чисел, a duration скаляр, a duration массив или a datetime массив.

  • duration скаляр — временной интервал между последовательными выборками x.

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

Пример: seconds(1) задает 1 вторую ошибку между последовательными измерениями сигнала.

Пример: seconds(0:8) указывает, что сигнал производится на уровне 1 Гц в течение 8 секунд.

Типы данных: single | double | duration | datetime

Введите расписание. xt должен содержать увеличение, конечные времена строки.

Если расписание имеет пропавших без вести или дублирующиеся моменты времени, можно зафиксировать его с помощью советов в Чистом Расписании с Пропавшими без вести, Копией, или Неоднородные Времена.

Пример: timetable(seconds(0:4)',randn(5,1)) задает вероятностный процесс, произведенный на уровне 1 Гц в течение 4 секунд.

Пример: timetable(seconds(0:4)',randn(5,3),randn(5,4)) содержит вероятностный процесс с тремя каналами и вероятностный процесс с четырьмя каналами, оба произведенные на уровне 1 Гц в течение 4 секунд.

Типы данных: single | double
Поддержка комплексного числа: Да

Плотность распределения времени в виде матрицы, произведенной на частотах, сохранена в fd и временные стоимости сохранены в td. Этот входной параметр поддерживается только когда 'Method' установлен в 'tfmoment'.

Пример: [p,f,t] = pspectrum(sin(2*pi*(0:511)/4),4,'spectrogram') задает плотность распределения времени синусоиды на 1 Гц, произведенной на уровне 4 Гц в течение 128 секунд, и также частот и времена, в которые она вычисляется.

Типы данных: single | double

Частота и временные стоимости для плотности распределения времени в виде векторов. Эти входные параметры поддерживаются только когда 'Method' установлен в 'tfmoment'.

Пример: [p,f,t] = pspectrum(sin(2*pi*(0:511)/4),4,'spectrogram') задает плотность распределения времени синусоиды на 1 Гц, произведенной на уровне 4 Гц в течение 128 секунд, и также частот и времена, в которые она вычисляется.

Типы данных: single | double

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'FrequencyLimits',[25 50] вычисляет мгновенную полосу пропускания входа в диапазоне от 25 Гц до 50 Гц.

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

Типы данных: single | double

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

Типы данных: single | double

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

свернуть все

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

Времена оценок полосы пропускания, возвращенных как вектор действительных чисел, a duration массив или a datetime массив.

Больше о

свернуть все

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

instantaneous bandwidth неустановившегося сигнала является изменяющимся во времени параметром, который относится к распространению мгновенной частоты о ее среднем значении в установленный срок момент [1], [2].

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

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

  2. Оценивает мгновенное использование полосы пропускания

    σf2(t)=0(ffinst(t))2P(t,f)df0P(t,f)df,

    где finst(t) мгновенная частота, возвращенная instfreq и оцененный

    finst(t)=0fP(t,f)df0P(t,f)df.

Ссылки

[1] Boashash, Boualem. “Оценивая и интерпретируя мгновенную частоту сигнала. I. Основные принципы”. Продолжения IEEE® 80, № 4 (апрель 1992): 520–538. https://doi.org/10.1109/5.135376.

[2] Boashash, Boualem. "Оценивая и Интерпретируя Мгновенную Частоту Сигнала. II. Алгоритмы и Приложения". Продолжения IEEE 80, № 4 (май 1992): 540–568. https://doi.org/10.1109/5.135378.

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

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

| | (Predictive Maintenance Toolbox) | (Predictive Maintenance Toolbox) | (Predictive Maintenance Toolbox)

Введенный в R2021a