obw

Занятая пропускная способность

Синтаксис

bw = obw(x)
bw = obw(x,fs)
bw = obw(pxx,f)
bw = obw(sxx,f,rbw)
bw = obw(___,freqrange,p)
[bw,flo,fhi,power] = obw(___)
obw(___)

Описание

bw = obw(x) возвращает 99% занятая пропускная способность, bw, входного сигнала, x.

пример

bw = obw(x,fs) возвращает занятую пропускную способность с точки зрения частоты дискретизации, fs.

пример

bw = obw(pxx,f) возвращает 99% занятая пропускная способность оценки степени спектральной плотности (PSD), pxx. Частоты, f, соответствуют оценкам в pxx.

bw = obw(sxx,f,rbw) вычисляет занятую пропускную способность оценки спектра мощности, sxx. Частоты, f, соответствуют оценкам в sxx. rbw является пропускной способностью разрешения, используемой, чтобы интегрировать каждую оценку степени.

bw = obw(___,freqrange,p) задает интервал частоты, на котором можно вычислить занятую пропускную способность, с помощью любого из входных параметров от предыдущих синтаксисов.

Этот синтаксис также задает p, процент общей степени сигнала, содержавшейся в занятой полосе.

пример

[bw,flo,fhi,power] = obw(___) также возвращает нижние и верхние границы занятой пропускной способности и занятой степени полосы.

obw(___) без выходных аргументов строит PSD или спектр мощности в окне текущей фигуры и аннотирует пропускную способность.

Примеры

свернуть все

Сгенерируйте 1 024 выборки щебета, выбранного на уровне 1 024 кГц. Щебет имеет начальную частоту 50 кГц и достигает 100 кГц в конце выборки. Добавьте белый Гауссов шум, таким образом, что отношение сигнал-шум составляет 40 дБ. Сбросьте генератор случайных чисел для восстанавливаемых результатов.

nSamp = 1024;
Fs = 1024e3;
SNR = 40;
rng default

t = (0:nSamp-1)'/Fs;

x = chirp(t,50e3,nSamp/Fs,100e3);
x = x+randn(size(x))*std(x)/db2mag(SNR);

Оцените занятую пропускную способность сигнала и аннотируйте его на графике степени спектральной плотности (PSD).

obw(x,Fs)

ans = 5.5377e+04

Сгенерируйте другой щебет. Задайте начальную частоту 200 кГц, итоговую частоту 300 кГц и амплитуду, которая является дважды больше чем это первого сигнала. Добавьте белый Гауссов шум.

x2 = 2*chirp(t,200e3,nSamp/Fs,300e3);
x2 = x2+randn(size(x2))*std(x2)/db2mag(SNR);

Конкатенация щебетов, чтобы произвести двухканальный сигнал. Оцените занятую пропускную способность каждого канала.

y = obw([x x2],Fs)
y = 1×2
105 ×

    0.5538    1.0546

Аннотируйте занятую пропускную способность двух каналов на графике PSDs.

obw([x x2],Fs);

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

obw(x+x2,Fs);

Сгенерируйте 1 024 выборки синусоиды на 100,123 кГц, выбранной на уровне 1 024 кГц. Добавьте белый Гауссов шум, таким образом, что отношение сигнал-шум составляет 40 дБ. Сбросьте генератор случайных чисел для восстанавливаемых результатов.

nSamp = 1024;
Fs = 1024e3;
SNR = 40;
rng default

t = (0:nSamp-1)'/Fs;

x = sin(2*pi*t*100.123e3);
x = x + randn(size(x))*std(x)/db2mag(SNR);

Используйте функцию periodogram, чтобы вычислить степень спектральную плотность (PSD) сигнала. Задайте окно Kaiser с той же длиной как сигнал и форм-фактор 38. Оцените занятую пропускную способность сигнала и аннотируйте его на графике PSD.

[Pxx,f] = periodogram(x,kaiser(nSamp,38),[],Fs);

obw(Pxx,f);

Сгенерируйте другую синусоиду, этого с частотой 257,321 кГц и амплитудой, которая является дважды больше чем это первой синусоиды. Добавьте белый Гауссов шум.

x2 = 2*sin(2*pi*t*257.321e3);
x2 = x2 + randn(size(x2))*std(x2)/db2mag(SNR);

Конкатенация синусоид, чтобы произвести двухканальный сигнал. Оцените PSD каждого канала и используйте результат определить занятую пропускную способность.

[Pyy,f] = periodogram([x x2],kaiser(nSamp,38),[],Fs);

y = obw(Pyy,f)
y = 1×2
103 ×

    7.2001    7.3777

Аннотируйте занятую пропускную способность двух каналов на графике PSDs.

obw(Pyy,f);

Добавьте два канала, чтобы сформировать новый сигнал. Оцените PSD и аннотируйте занятую пропускную способность.

[Pzz,f] = periodogram(x+x2,kaiser(nSamp,38),[],Fs);

obw(Pzz,f);

Сгенерируйте сигнал, PSD которого напоминает частотную характеристику КИХ-фильтра полосы пропускания 88-го порядка с нормированными частотами среза 0.25π рад/выборка и 0.45π рад/выборка.

d = fir1(88,[0.25 0.45]);

Вычислите 99% занятая пропускная способность сигнала между 0.2π рад/выборка и 0.6π рад/выборка. Постройте PSD и аннотируйте занятую пропускную способность и интервал измерения.

obw(d,[],[0.2 0.6]*pi);

Выведите занятую пропускную способность, ее нижние и верхние границы и занятую степень полосы. Определение частоты дискретизации 2π эквивалентно отъезду сброса уровня.

[bw,flo,fhi,power] = obw(d,2*pi,[0.2 0.6]*pi);

fprintf('bw = %.3f*pi, flo = %.3f*pi, fhi = %.3f*pi \n',[bw flo fhi]/pi)
bw = 0.217*pi, flo = 0.240*pi, fhi = 0.458*pi 
fprintf('power = %.1f%% of total',power/bandpower(d)*100)
power = 99.0% of total

Добавьте второй канал с нормированными частотами среза 0.5π рад/выборка и 0.8π рад/выборка и амплитуда, которая является одной десятой тот из первого канала.

d = [d;fir1(88,[0.5 0.8])/10]';

Вычислите 50% занятая пропускная способность сигнала между 0.3π рад/выборка и 0.9π рад/выборка. Постройте PSD и аннотируйте занятую пропускную способность и интервал измерения.

obw(d,[],[0.3 0.9]*pi,50);

Выведите занятую пропускную способность каждого канала. Разделитесь на π.

bw = obw(d,[],[0.3 0.9]*pi,50)/pi
bw = 1×2

    0.0705    0.1412

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

свернуть все

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

Пример: cos(pi/4*(0:159))+randn(1,160) является одноканальным сигналом вектора - строки.

Пример: cos(pi./[4;2]*(0:159))'+randn(160,2) является двухканальным сигналом.

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

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

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

Степень спектральная плотность (PSD), заданная как вектор или матрица с действительными неотрицательными элементами. Если pxx является односторонней оценкой, то он должен соответствовать действительному сигналу. Если pxx является матрицей, то obw вычисляет занятую пропускную способность каждого столбца pxx независимо.

Степень спектральная плотность должна быть выражена в линейных модулях, не децибелах. Используйте db2pow, чтобы преобразовать значения децибела, чтобы привести в действие значения.

Пример: [pxx,f] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2)) задает периодограмму оценка PSD шумной двухканальной синусоиды, выбранной в 2π Гц и частоты, на которых это вычисляется.

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

Частоты, заданные как вектор.

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

Оценка спектра мощности, заданная как вектор или матрица с действительными неотрицательными элементами. Если sxx является матрицей, то obw вычисляет занятую пропускную способность каждого столбца sxx независимо.

Спектр мощности должен быть выражен в линейных модулях, не децибелах. Используйте db2pow, чтобы преобразовать значения децибела, чтобы привести в действие значения.

Пример: [sxx,w] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2),'power') задает оценку спектра мощности периодограммы двухканальной синусоиды, встроенной в белый Гауссов шум и нормированные частоты, на которых это вычисляется.

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

Пропускная способность разрешения, заданная как положительная скалярная величина. Пропускная способность разрешения является продуктом двух значений: разрешение частоты дискретного преобразования Фурье и эквивалентная шумовая пропускная способность окна раньше вычисляли PSD.

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

Частотный диапазон, заданный как двухэлементный вектор действительных значений. Если вы не задаете freqrange, то obw использует целую пропускную способность входного сигнала.

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

Процент степени, заданный как положительная скалярная величина между 0 и 100. obw вычисляет различие в частоте между точками, где интегрированная степень пересекает ½ (100 – p) и ½ (100 + p) проценты общей степени в спектре.

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

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

свернуть все

Занятая пропускная способность, возвращенная как скаляр или вектор.

  • Если вы задаете частоту дискретизации, то bw имеет те же модули как fs.

  • Если вы не задаете частоту дискретизации, то bw имеет модули рада/выборки.

Границы частоты пропускной способности, возвращенные как скаляры или векторы.

Степень сохранена в пропускной способности, возвращенной как скаляр или вектор.

Алгоритмы

Чтобы определить занятую пропускную способность, obw вычисляет степень периодограммы спектральная оценка плотности с помощью прямоугольного окна и интегрирует оценку, использующую правило средней точки. Занятая пропускная способность является различием в частоте между точками, где интегрированная степень пересекает 0,5% и 99,5% общей степени в спектре.

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

| | | |

Представленный в R2015a