bandpower

Описание

пример

p = bandpower(x) возвращает среднюю степень во входном сигнале, x. Если x матрица, затем bandpower вычисляет среднюю степень в каждом столбце независимо.

пример

p = bandpower(x,fs,freqrange) возвращает среднюю степень в частотном диапазоне, freqrangeВ виде двухэлементного вектора. Необходимо ввести частоту дискретизации, fs, возвратить степень в заданном частотном диапазоне. bandpower использует модифицированную периодограмму, чтобы определить среднюю степень в freqrange.

пример

p = bandpower(pxx,f,'psd') возвращает среднюю степень, вычисленную путем интеграции оценки степени спектральной плотности (PSD), pxx. Интеграл аппроксимирован прямоугольным методом. Вход, f, вектор частот, соответствующих оценкам PSD в pxx. 'psd' опция указывает, что вход является оценкой PSD и не данными временных рядов.

пример

p = bandpower(pxx,f,freqrange,'psd') возвращает среднюю степень, содержавшуюся в интервале частоты, freqrange. Если частоты в freqrange не совпадайте со значениями в f, самые близкие значения используются. Средняя степень вычисляется путем интеграции оценки степени спектральной плотности (PSD), pxx. Интеграл аппроксимирован прямоугольным методом. 'psd' опция указывает, что вход является оценкой PSD и не данными временных рядов.

Примеры

свернуть все

Создайте сигнал, состоящий из синусоиды на 100 Гц в дополнении N (0,1) белый Гауссов шум. Частота дискретизации составляет 1 кГц. Определите среднюю степень и сравните ее с 2 норма.

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));

p = bandpower(x)
p = 1.5264
l2norm = norm(x,2)^2/numel(x)
l2norm = 1.5264

Определите процент общей степени в заданном интервале частоты.

Создайте сигнал, состоящий из синусоиды на 100 Гц в дополнении N (0,1) белый Гауссов шум. Частота дискретизации составляет 1 кГц. Определите процент общей степени в интервале частоты между 50 Гц и 150 Гц. Сбросьте генератор случайных чисел для восстанавливаемых результатов.

rng('default')

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));

pband = bandpower(x,1000,[50 150]);
ptot = bandpower(x,1000,[0 500]);
per_power = 100*(pband/ptot)
per_power = 51.9591

Определите среднюю степень первым вычислением оценки PSD с помощью периодограммы. Введите оценку PSD к bandpower.

Создайте сигнал, состоящий из синусоиды на 100 Гц в дополнении N (0,1) белый Гауссов шум. Частота дискретизации составляет 1 кГц. Получите периодограмму и используйте 'psd' отметьте, чтобы вычислить среднюю степень с помощью оценки PSD. Сравните результат со средней степенью, вычисленной во временном интервале.

t = 0:0.001:1-0.001;
Fs = 1000;
x = cos(2*pi*100*t)+randn(size(t));

[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
p = bandpower(Pxx,F,'psd')
p = 1.5264
avpow = norm(x,2)^2/numel(x)
avpow = 1.5264

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

Создайте сигнал, состоящий из синусоиды на 100 Гц в дополнении N (0,1) белый Гауссов шум. Частота дискретизации составляет 1 кГц. Получите периодограмму и соответствующий вектор частоты. Используя оценку PSD, определите процент общей степени в интервале частоты между 50 Гц и 150 Гц.

Fs = 1000;
t = 0:1/Fs:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));

[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
pBand = bandpower(Pxx,F,[50 150],'psd');
pTot = bandpower(Pxx,F,'psd');
per_power = 100*(pBand/pTot)
per_power = 49.1798

Создайте многоканальный сигнал, состоящий из трех синусоид в дополнении N (0,1) белый Гауссов шум. Частоты синусоид составляют 100 Гц, 200 Гц и 300 Гц. Частота дискретизации составляет 1 кГц, и сигнал имеет длительность 1 с.

Fs = 1000;

t = 0:1/Fs:1-1/Fs;

f = [100;200;300];

x = cos(2*pi*f*t)'+randn(length(t),3);

Определите среднюю степень сигнала и сравните его с 2 норма.

p = bandpower(x)
p = 1×3

    1.5264    1.5382    1.4717

l2norm = dot(x,x)/length(x)
l2norm = 1×3

    1.5264    1.5382    1.4717

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

свернуть все

Введите данные временных рядов в виде строки или вектор-столбца или как матрица. Если x матрица, затем ее столбцы обработаны как независимые каналы.

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

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

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

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

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

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

  • [0, fs/2], если x с действительным знаком, и N является четным

  • [0, (N – 1) fs/ (2N)], если x с действительным знаком, и N является нечетным

  • [– (N – 2) fs/ (2N), fs/2], если x с комплексным знаком, и N является четным

  • [– (N – 1) fs/ (2N), (N – 1) fs/ (2N)], если x с комплексным знаком, и N является нечетным

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

Один - или двухсторонний PSD оценивает в виде вектор-столбца с действительным знаком или матрицы с неотрицательными элементами.

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

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

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

Вектор частоты в виде вектор-столбца. Вектор частоты, f, содержит частоты, соответствующие оценкам PSD в pxx.

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

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

свернуть все

Средняя мощность полосы, возвращенная как неотрицательный скаляр.

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

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

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

|

Введенный в R2013a