instbw

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

Описание

пример

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

пример

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

пример

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

пример

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

ibw = instbw(___,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. The axes contains an object of type patch.

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

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

Figure contains an axes. The axes 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. The axes contains an object of type line.

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

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

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

Figure contains an axes. The axes 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. The axes 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. The axes 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. The axes with title Fres = 64.5333 Hz, Tres = 50 ms contains an object of type image.

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

instbw(p,ff,tt)

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

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

свернуть все

Входной сигнал, заданный как вектор или матрица. Если 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

Шаги расчета, заданная как вектор действительных чисел, а duration скаляр, a duration массив, или 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 должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

свернуть все

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

Время оценки полосы пропускания, возвращенной как вектор действительных чисел, а duration массив, или 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] Боашаш, Б. "Оценка и интерпретация мгновенной частоты сигнала. I. Основные принципы ". Материалы IEEE® 80, № 4 (апрель 1992 года): 520-38. https://doi.org/10.1109/5.135376.

[2] Боашаш, Б. "Оценка и интерпретация мгновенной частоты сигнала. II. Алгоритмы и приложения ". Материалы IEEE 80, № 4 (май 1992 года): 540-568. https://doi.org/10.1109/5.135378.

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

.

См. также

|

Введенный в R2021a