exponenta event banner

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) задает дополнительные параметры для любого из предыдущих синтаксисов с использованием аргументов «имя-значение». Можно задать масштабный коэффициент или пределы частоты, используемые при вычислении. Например, '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

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

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

  • Реальный вектор, duration массив, или datetime array - момент времени, соответствующий каждому элементу 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

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

свернуть все

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

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

Подробнее

свернуть все

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

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

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

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

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

    startf2 (t) =∫0∞ (f − finst (t)) 2 P (t, f) df∫0∞P (t, f) df,

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

    finst (t) =∫0∞f P (t, f) df∫0∞P (t, f) df.

Ссылки

[1] Boashash, B "Оценка и интерпретация мгновенной частоты сигнала. I. Основы. " Материалы IEEE ® 80, № 4 (апрель 1992 года): 520-38. https://doi.org/10.1109/5.135376.

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

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

.

См. также

|

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