pmusic

Псевдоспектр с использованием алгоритма MUSIC

Описание

пример

[S,wo] = pmusic(x,p) реализует алгоритм классификации нескольких сигналов (MUSIC) и возвращает S, псевдоспектральную оценку входного сигнала x, и вектор wo нормированных частот (в рад/выборке), на которых оценивают псевдоспектр. Можно задать подпространство сигнала размерности используя входной параметр p.

[S,wo] = pmusic(x,p,wi) возвращает псевдоспектр, вычисленную на нормированных частотах, заданных в векторе wi. Векторная wi должны иметь два или более элемента, потому что в противном случае функция интерпретирует его как nfft.

[S,wo] = pmusic(___,nfft) задает целочисленную длину БПФ, nfft, используется для оценки псевдоспектра. Этот синтаксис может включать любую комбинацию входных параметров из предыдущих синтаксисов.

пример

[S,wo] = pmusic(___,'corr') форсирует входной параметр x интерпретируется как корреляционная матрица, а не как матрица сигнальных данных. Для этого синтаксиса x должна быть квадратной матрицей, и все ее собственные значения должны быть неотрицательными.

пример

[S,fo] = pmusic(x,p,nfft,fs) возвращает псевдоспектр, вычисленный на частотах, заданных в векторе fo (в Гц). Поставьте частоту дискретизации fs в Гц.

[S,fo] = pmusic(x,p,fi,fs) возвращает псевдоспектр, вычисленный на частотах, заданных в векторе fi. Векторная fi должны иметь два или более элемента, потому что в противном случае функция интерпретирует его как nfft.

пример

[S,fo] = pmusic(x,p,nfft,fs,nwin,noverlap) возвращает псевдоспектр S путем сегментации входных данных x использование окна nwin и длина перекрытия noverlap.

[___] = pmusic(___,freqrange) задает область значений значений частот, включаемых в fo или wo.

[___,v,e] = pmusic(___) возвращает матрицу v собственных векторов шума вместе со связанными собственными значениями в векторе e.

пример

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

Примеры

свернуть все

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

n = 0:199;
x = cos(0.257*pi*n) + sin(0.2*pi*n) + 0.01*randn(size(n));
pmusic(x,4)      % Set p to 4 because there are two real inputs

Figure contains an axes. The axes with title Pseudospectrum Estimate via MUSIC contains an object of type line.

Этот пример анализирует тот же вектор сигнала, x, с отсечкой собственного значения на 10% выше минимального. Настройка p(1) = Inf заставляет решение подпространства сигнал/шум основываться на пороговом параметре, p(2). Задайте собственные векторы длины 7 используя nwin аргумент и установите частоту дискретизации, fs, до 8 кГц:

rng default
n = 0:199;
x = cos(0.257*pi*n) + sin(0.2*pi*n) + 0.01*randn(size(n));
[P,f] = pmusic(x,[Inf,1.1],[],8000,7); % Window length = 7
plot(f,20*log10(abs(P)))
xlabel 'Frequency (Hz)', ylabel 'Power (dB)'
title 'Pseudospectrum Estimate via MUSIC', grid on

Figure contains an axes. The axes with title Pseudospectrum Estimate via MUSIC contains an object of type line.

Задайте положительно определенную матрицу корреляции R, для оценки спектральной плотности. Используйте 256 выборки по умолчанию.

R = toeplitz(cos(0.1*pi*(0:6))) + 0.1*eye(7);
pmusic(R,4,'corr')

Figure contains an axes. The axes with title Pseudospectrum Estimate via MUSIC contains an object of type line.

Введите матрицу данных сигнала, Xm, сгенерирован из данных с использованием corrmtx.

n = 0:699;
x = cos(0.257*pi*(n)) + 0.1*randn(size(n));
Xm = corrmtx(x,7,'modified');
pmusic(Xm,2)

Figure contains an axes. The axes with title Pseudospectrum Estimate via MUSIC contains an object of type line.

Используйте тот же сигнал, но позвольте pmusic сформировать матрицу данных 100 на 7 с помощью ее оконных входных параметров. В сложение задайте БПФ длины 512.

n = 0:699;
x = cos(0.257*pi*(n)) + 0.1*randn(size(n));
[PP,ff] = pmusic(x,2,512,[],7,0);
pmusic(x,2,512,[],7,0)

Figure contains an axes. The axes with title Pseudospectrum Estimate via MUSIC contains an object of type line.

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

свернуть все

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

Примечание

Можно использовать выход corrmtx чтобы сгенерировать x.

Поддержка комплексного числа: Да

Размерность Подпространства, заданная как действительное положительное целое число или двухэлементный вектор. Если p является действительным положительным целым числом, тогда это рассматривается как размерность подпространства. Если p является двухэлементным вектором, вторым элементом p представляет порог, который умножается на λ мин, наименьшее оцененное собственное значение матрицы корреляции сигнала. Собственные значения ниже порога λ min * p(2) назначаются подпространству шума. В этом случае p(1) задает максимальную размерность подпространства сигнала. Дополнительный пороговый параметр во второй записи в p обеспечивает вам больше гибкости и управления в назначении шумовых и сигнальных подпространств.

Примечание

Если входы peig являются действительными синусоидами, задайте значение p удвоить количество синусоидов. Если входы являются комплексными синусоидами, задайте p равен количеству синусоидов.

Поддержка комплексного числа: Да

Входные нормированные частоты, заданные как вектор.

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

Количество точек ДПФ, заданное как положительное целое число. Если nfft задан как пустой, значение по умолчанию nfft используется.

Частота дискретизации, заданная в виде положительной скалярной величины в Гц. в Гц. Если вы задаете fs с пустым вектором [] частота дискретизации по умолчанию равна 1 Гц.

Входные частоты, заданные как вектор. Псевдоспектр вычисляется на частотах, заданных в векторе.

Длина прямоугольного окна, заданная как неотрицательное целое число.

Количество перекрывающихся выборок, заданное как неотрицательное целое число, меньше длины окна.

Примечание

Аргументы nwin и noverlap игнорируются при включении 'corr' в синтаксисе.

Частотная область значений псевдоспектров, заданный как один из 'half', whole, или 'centered'.

  • 'half' - Возвращает половину спектра для действительного входного сигнала x. Если nfft даже, тогда S имеет длину nfft/ 2 + 1 и вычисляется через интервал [0, π]. Если nfft нечетно, длина S is (nfft + 1 )/2 и частотный интервал [0, π). Когда задаете fs, интервалы [0, fs/ 2) и [0, fs/ 2] для четных и нечетных nfft, соответственно.

  • 'whole' - Возвращает весь спектр для действительного или комплексного входного x. В этом случае S имеет длину nfft и вычисляется через интервал [0, 2 π). Когда вы задаете fs, частотный интервал [0, fs).

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

Примечание

Можно поместить аргументы freqrange или 'corr' в любом месте списка входных параметров после p.

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

свернуть все

Псевдоспектр, возвращенная как вектор. Псевдоспектр вычисляется с использованием оценок собственных векторов корреляционной матрицы, сопоставленной с входными данными x.

Вывод нормированных частот, заданных как вектор. S и wo имеют одинаковую длину. В целом длина БПФ и значения входа x определить длину вычисляемой S и область значений соответствующих нормированных частот. Таблица указывает длину Swo) и область значений соответствующих нормированных частот для первого синтаксиса.

S Характеристики для длины БПФ 256 (по умолчанию)

Тип входных данныхДлина S и w0Область значений соответствующих нормированных частот

Реальный

129

[0, π]

Комплекс

256

[0, 2 π)

Если nfft задан, следующая таблица указывает длину S и wo и частотная область значений для wo.

S и характеристики вектора частоты

Тип входных данныхnfft четный или нечетныйДлина S и wОбласть значений w

Реальный

Даже

  (nfft/2 )+ 1

[0, π]

Реальный

Странный

  (nfft + 1)/2

[0, π)

Комплекс

Четный или нечетный

nfft

[0, 2 π)

Выходная частота, возвращенная как вектор. Частотная область значений для fo зависит от nfft, fs, и значения входных x. Длина Sfo) является таким же, как в S и частотных векторных характеристиках выше. Следующая таблица указывает частотную область значений для fo если nfft и fs указаны.

S и характеристики вектора частоты с заданными fs

Тип входных данных

nfft Четный/нечетный

Область значений f

Реальный

Даже

[0, fs/2]

Реальный

Странный

[0, fs/2)

Комплекс

Четный или нечетный

[0, fs)

Дополнительно, если nwin и noverlap заданы также входные данные x сегментирована и окончена до того, как будет сформулирована матрица, используемая для оценки собственных значений корреляционной матрицы. Сегментация данных зависит от nwin, noverlapи форму x. Комментарии к полученным оконным сегментам описаны в следующей таблице.

Оконные данные в зависимости от x и nwin 

форма x

Форма nwin

Оконные данные

Вектор данных

Скаляр

Длина nwin.

Вектор данных

Вектор коэффициентов

Длина length(nwin).

Матрица данных

Скаляр

Данные не оконные.

Матрица данных

Вектор коэффициентов

length(nwin) должна совпадать с длиной столбца x, и noverlap не используется.

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

Собственные векторы шума, возвращенные как матрица. Столбцы v охватывать шумовое подпространство размерности size(v,2). Размерность подпространства сигнала size(v,1)-size(v,2).

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

Совет

В процессе оценки псевдоспектра pmusic вычисляет шум и сигнальные подпространства из предполагаемых собственных векторов vj и собственные значения λj корреляционной матрицы сигнала. Наименьшее из этих собственных значений используется в сочетании с пороговым параметром p(2) для влияния на размерность шумового подпространства в некоторых случаях.

n длин собственных векторов вычисляется pmusic - сумма размерностей сигнального и шумового подпространств. Эта длина собственного вектора зависит от вашего входа (данных сигнала или матрицы корреляции) и синтаксиса, который вы используете.

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

Длина собственного вектора в зависимости от входных данных и синтаксиса

Форма входных данных x

Комментарии к синтаксису

Длина n собственных векторов

Вектор-столбец

nwin задается как скалярное целое число.

nwin

Вектор-столбец

nwin задается как вектор.

length(nwin)

Вектор-столбец

nwin не задан.

2  × <reservedrangesplaceholder0>

l -by - m матрица

Если nwin задается как скаляр, не используется. Если nwin задается как вектор, length(nwin) должен равняться m.

m

m -by m неотрицательная определенная матрица

'corr' задан и nwin не используется.

m

Необходимо указать nwin > p(1) или length(nwin) > p(1) если хотите p(2) > 1 иметь любой эффект.

Алгоритмы

Алгоритм классификации нескольких сигналов (MUSIC) оценивает псевдоспектр из сигнала или корреляционной матрицы с использованием метода собственного пространственного анализа Шмидта [1]. Алгоритм выполняет собственный пространственный анализ матрицы корреляции сигнала, чтобы оценить содержимое частоты сигнала. Этот алгоритм особенно подходит для сигналов, которые являются суммой синусоидов с аддитивным белым Гауссовым шумом. Собственные значения и собственные векторы матрицы корреляции сигнала оцениваются, если вы не поставляете матрицу корреляции.

Оценка псевдоспектра MUSIC определяется

PMUSIC(f)=1eH(f)(k=p+1NvkvkH)e(f)=1k=p+1N|vkHe(f)|2

где N - размерность собственных векторов, а vk - k-й собственный вектор корреляционной матрицы. Целое число p является размерностью подпространства сигнала, поэтому собственные векторы, vk используемые в сумме, соответствуют наименьшим собственным значениям, а также охватывают шумовое подпространство. Вектор e (f) состоит из сложных экспоненциалов, поэтому скалярное произведение

vkHe(f)

составляет преобразование Фурье. Это используется для расчета псевдоспектральной оценки. БПФ вычисляется для каждой vk , и затем квадратные величины суммируются.

Ссылки

[1] Марпл, С. Лоуренс. Цифровой спектральный анализ. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1987, pp . 373-378.

[2] Schmidt, R. O. «Multiple Emitter Location and Signal Parameter Estimation». IEEE® Транзакции на антеннах и распространение. Том AP-34, март, 1986, стр. 276-280.

[3] Стоика, Петре и Рэндольф Л. Мозес. Спектральный анализ сигналов. Верхняя Седл-Ривер, Нью-Джерси: Prentice Hall, 2005.

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

.

См. также

| | | | | | | |

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