pburg

Авторегрессивная степень спектральная оценка плотности — метод Города

Синтаксис

pxx = pburg(x,order)
pxx = pburg(x,order,nfft)
[pxx,w] = pburg(___)
[pxx,f] = pburg(___,fs)
[pxx,w] = pburg(x,order,w)
[pxx,f] = pburg(x,order,f,fs)
[___] = pburg(x,order,___,freqrange)
[___,pxxc] = pburg(___,'ConfidenceLevel',probability)
pburg(___)

Описание

pxx = pburg(x,order) возвращает оценку степени спектральной плотности (PSD), pxx, сигнала дискретного времени, x, найденного использованием метода Города. Когда x является вектором, он обработан как один канал. Когда x является матрицей, PSD вычисляется независимо для каждого столбца и хранится в соответствующем столбце pxx. pxx является распределением степени на модульную частоту. Частота выражается в модулях рада/выборки. order является порядком авторегрессивной модели (AR), используемой, чтобы произвести оценку PSD.

пример

pxx = pburg(x,order,nfft) использование nfft указывает в дискретном преобразовании Фурье (DFT). Для действительного x pxx имеет длину (nfft/2+1), если nfft даже, и (nfft +1)/2, если nfft нечетен. Для x с комплексным знаком pxx всегда имеет длину nfft. Если вы не используете nfft или задаете его как пустой, то pburg использует длину ДПФ по умолчанию 256.

[pxx,w] = pburg(___) возвращает вектор нормированных угловых частот, w, в котором оценивается PSD. w имеет модули рада/выборки. Для сигналов с действительным знаком w охватывает интервал [0, π], когда nfft даже и [0, π), когда nfft нечетен. Для сигналов с комплексным знаком w всегда охватывает интервал [0,2π).

пример

[pxx,f] = pburg(___,fs) возвращает вектор частоты, f, в циклах в единицу времени. Частота дискретизации, fs, является количеством выборок в единицу времени. Если модуль времени является секундами, то f находится в циклах/секунда (Гц). Для сигналов с действительным знаком f охватывает интервал [0, fs/2], когда nfft даже и [0, fs/2), когда nfft нечетен. Для сигналов с комплексным знаком f охватывает интервал [0, fs).

[pxx,w] = pburg(x,order,w) возвращает двухсторонний AR оценки PSD на нормированных частотах, заданных в векторе, w. Векторный w должен содержать по крайней мере два элемента, потому что в противном случае функция интерпретирует его как nfft.

[pxx,f] = pburg(x,order,f,fs) возвращает двухсторонний AR оценки PSD на частотах, заданных в векторе, f. Векторный f должен содержать по крайней мере два элемента, потому что в противном случае функция интерпретирует его как nfft. Частоты в f находятся в циклах в единицу времени. Частота дискретизации, fs, является количеством выборок в единицу времени. Если модуль времени является секундами, то f находится в циклах/секунда (Гц).

[___] = pburg(x,order,___,freqrange) возвращает AR оценка PSD по частотному диапазону, заданному freqrange. Допустимые опции для freqrange: 'onesided', 'twosided' или 'centered'.

[___,pxxc] = pburg(___,'ConfidenceLevel',probability) возвращает probability × 100% доверительных интервалов для оценки PSD в pxxc.

пример

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

Примеры

свернуть все

Создайте реализацию AR (4) широкий смысл стационарный вероятностный процесс. Оцените PSD использование метода Города. Сравните оценку PSD на основе одной реализации к истинному PSD вероятностного процесса.

Создайте AR (4) системная функция. Получите частотную характеристику и постройте PSD системы.

A = [1 -2.7607 3.8106 -2.6535 0.9238];
[H,F] = freqz(1,A,[],1);
plot(F,20*log10(abs(H)))

xlabel('Frequency (Hz)')
ylabel('PSD (dB/Hz)')

Создайте реализацию AR (4) вероятностный процесс. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Реализация является 1 000 выборок в длине. Примите частоту дискретизации 1 Гц. Используйте pburg, чтобы оценить PSD для процесса 4-го порядка. Сравните оценку PSD с истинным PSD.

rng default

x = randn(1000,1);
y = filter(1,A,x);
[Pxx,F] = pburg(y,4,1024,1);

hold on
plot(F,10*log10(Pxx))
legend('True Power Spectral Density','pburg PSD Estimate')

Создайте реализацию AR (4) процесс. Используйте arburg, чтобы определить отражательные коэффициенты. Используйте отражательные коэффициенты, чтобы определить соответствующий порядок модели AR для процесса. Получите оценку процесса PSD.

Создайте реализацию AR (4) процесс 1 000 выборок в длине. Используйте arburg с набором порядка к 12, чтобы возвратить отражательные коэффициенты. Постройте отражательные коэффициенты, чтобы определить соответствующий порядок модели.

A = [1 -2.7607 3.8106 -2.6535 0.9238];

rng default

x = filter(1,A,randn(1000,1));

[a,e,k] = arburg(x,12);

stem(k,'filled')
title('Reflection Coefficients')
xlabel('Model Order')

Отражательные коэффициенты затухают, чтобы обнулить после порядка 4. Это указывает, что модель AR (4) является самой соответствующей.

Получите оценку PSD вероятностного процесса с помощью метода Города. Используйте 1 000 точек в графике ДПФ оценка PSD.

pburg(x,4,length(x))

Создайте многоканальный сигнал, состоящий из трех синусоид в дополнении 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);

Оцените PSD сигнала с помощью метода Города с 12-м порядком авторегрессивная модель. Используйте длину ДПФ по умолчанию. Постройте оценку.

morder = 12;

pburg(x,morder,[],Fs)

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

свернуть все

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

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

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

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

Порядок авторегрессивной модели, заданной как положительное целое число.

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

Количество точек ДПФ, заданных как положительное целое число. Для входного сигнала с действительным знаком, x, оценки PSD, pxx имеет длину (nfft/2+1), если nfft даже, и (nfft +1)/2, если nfft нечетен. Для входного сигнала с комплексным знаком, x, оценка PSD всегда имеет длину nfft. Если nfft задан как пустой, nfft по умолчанию используется.

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

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

Нормированные частоты, заданные как строка или вектор-столбец по крайней мере с двумя элементами. Нормированные частоты находятся в раде/выборке.

Пример: w = [pi/4 pi/2]

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

Частоты, заданные как строка или вектор-столбец по крайней мере с двумя элементами. Частоты находятся в циклах в единицу времени. Единица времени задана частотой дискретизации, fs. Если fs имеет модули выборок/секунда, то f имеет модули Гц.

Пример: fs = 1000; f = [100 200]

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

Частотный диапазон для оценки PSD, заданной как та 'onesided', 'twosided' или 'centered'. Значением по умолчанию является 'onesided' для сигналов с действительным знаком и 'twosided' для сигналов с комплексным знаком. Частотные диапазоны, соответствующие каждой опции,

  • 'onesided' — возвращает одностороннюю оценку PSD входного сигнала с действительным знаком, x. Если nfft даже, pxx имеет длину nfft/2 + 1 и вычисляется на интервале [0, π] рад/выборка. Если nfft нечетен, длина pxx (nfft + 1)/2, и интервал [0, π), рад/выборка. Когда fs опционально задан, соответствующие интервалы являются [0, fs/2] циклами/единицей времени и [0, fs/2), циклы/единица времени для четной и нечетной длины nfft соответственно.

  • 'twosided' — возвращает двухстороннюю оценку PSD или для входа с комплексным знаком или для с действительным знаком, x. В этом случае pxx имеет длину nfft и вычисляется на интервале [0,2π), рад/выборка. Когда fs опционально задан, интервал [0, fs), циклы/единица времени.

  • 'centered' — возвращает двухстороннюю оценку PSD в центре или для входа с комплексным знаком или для с действительным знаком, x. В этом случае pxx имеет длину nfft и вычисляется на интервале (–π, π] рад/выборка для даже длины nfft и (–π, π) рад/выборка для нечетной длины nfft. Когда fs опционально задан, соответствующие интервалы (–fs/2, fs/2] циклы/единица времени и (–fs/2, fs/2) циклы/единица времени для четной и нечетной длины nfft соответственно.

Вероятность покрытия для истинного PSD, заданного как скаляр в области значений (0,1). Вывод, pxxc, содержит нижние и верхние границы probability × 100%-я оценка интервала для истинного PSD.

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

свернуть все

Оценка PSD, возвращенная как неотрицательный вектор-столбец с действительным знаком или матрица. Каждый столбец pxx является оценкой PSD соответствующего столбца x. Модули оценки PSD находятся в единицах значения в квадрате данных временных рядов на модульную частоту. Например, если входные данные находятся в вольтах, оценка PSD находится в модулях вольт в квадрате на модульную частоту. Какое-то время ряд в вольтах, если вы принимаете сопротивление 1 Ω и задаете частоту дискретизации в герц, оценка PSD, находится в ваттах на герц.

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

Нормированные частоты, возвращенные как вектор-столбец с действительным знаком. Если pxx является односторонней оценкой PSD, w охватывает интервал [0, π], если nfft даже и [0, π), если nfft нечетен. Если pxx является двухсторонней оценкой PSD, w охватывает интервал [0,2π). Для сосредоточенной DC оценки PSD w охватывает интервал (–π, π] для даже nfft и (–π, π) для нечетного nfft.

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

Циклические частоты, возвращенные как вектор-столбец с действительным знаком. Для односторонней оценки PSD f охватывает интервал [0, fs/2], когда nfft даже и [0, fs/2), когда nfft нечетен. Для двухсторонней оценки PSD f охватывает интервал [0, fs). Для сосредоточенной DC оценки PSD f охватывает интервал (–fs/2, fs/2] циклы/единица времени для даже длины nfft и (–fs/2, fs/2) циклы/единица времени для нечетной длины nfft.

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

Доверительные границы, возвращенные как матрица с элементами с действительным знаком. Размер строки матрицы равен длине оценки PSD, pxx. pxxc имеет вдвое больше столбцов как pxx. Нечетные столбцы содержат нижние границы доверительных интервалов, и четные столбцы содержат верхние границы. Таким образом pxxc(m,2*n-1) является более низкой доверительной границей, и pxxc(m,2*n) является верхней доверительной границей, соответствующей оценке pxx(m,n). Вероятность покрытия доверительных интервалов определяется значением входа probability.

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

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

| |

Представлено до R2006a