exponenta event banner

spectrum

Спектральная оценка

Синтаксис

Hs = spectrum.estmethod(input1,...)

Описание

Примечание

Использование спектра. estmethod не рекомендуется. Используйте соответствующую функцию вместо этого. Смотрите Методы оценки Спектра для функциональных форм.

Hs = spectrum.estmethod(input1,...) возвращает спектральный объект Hs оценки из типа estmethod. Этот объект содержит всю информацию о параметре, необходимую для заданного метода оценки. Каждый метод оценки берет одни или несколько входных параметров, которые описаны на отдельных страницах с описанием.

Методы оценки

Методы оценки для spectrum задайте тип спектрального метода оценки использовать. Доступные методы оценки для spectrum описаны ниже.

Примечание

Необходимо использовать спектральный estmethod с spectrum.

Методы оценки спектра

spectrum.estmethod

Описание

Соответствующая функция

spectrum.burg

Город

pburg

spectrum.cov

Ковариация

pcov

spectrum.eigenvector

Собственный вектор

peig

spectrum.mcov

Модифицированная ковариация

pmcov

spectrum.mtm

Томсоновское мультизаострение

pmtm

spectrum.music

Несколько сигнализируют о классификации

pmusic

spectrum.periodogram

Периодограмма

periodogram

spectrum.welch

Валлийский язык

pwelch

spectrum.yulear

Уокер Рождества

pyulear

Для получения дополнительной информации о каждом методе оценки используйте синтаксис  help spectrum.estmethod в MATLAB® запросите или обратитесь к его странице с описанием.

Примечание

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

Для методов оценки, которые используют окна, если окно использует дополнительный параметр, свойство динамически добавляется к объекту спектра для того параметра. Можно изменить то свойство с помощью set (см. изменяющиеся свойства объектов).

Методы

Методы обеспечивают способы выполнить функции непосредственно на вашем spectrum объект, не имея необходимость задавать спектральные параметры оценки снова. Можно применить эти методы непосредственно на переменную, которую вы присвоили своему spectrum объект. Для получения дополнительной информации о любом из этих методов используйте синтаксис  help spectrum/method в подсказке MATLAB или обращаются к приведенной ниже таблице.

Методы спектра

МетодОписание

msspectrum

Обратите внимание на то, что msspectrum метод только доступен для periodogram и welch объекты оценки спектра.

Среднеквадратический спектр предназначается для дискретных спектров (от периодических сигналов дискретного времени). Распределение среднеквадратического значения через частоту является msspectrum. В отличие от спектральной плотности мощности (см. psd ниже), peaks в среднеквадратическом спектре отражает степень в сигнале на данной частоте. Для PSD степень отражается как область в диапазоне частот. Модули среднеквадратического спектра являются модулями степени.

  Hmss = msspectrum(Hs,X) возвращает среднеквадратический объект спектра, содержащий среднее квадратичное (степень), оценка дискретного времени сигнализирует о X использование объекта Hs спектра. Значение по умолчанию для действительного X 'onesided' Частотный диапазон Найквиста и для комплексного X значением по умолчанию является 'twosided' Частотный диапазон Найквиста.

Hmss содержит вектор из нормированных частот W, в котором оценивается среднеквадратический спектр. Для действительных сигналов, области значений W [0, π] если количество точек БПФ (NFFT) является четным, и [0, π), если NFFT является нечетным. Для комплексных сигналов, области значений W [0,2π). Чтобы оценить спектр на векторе из определенных частот, смотрите FreqPoints свойство ниже.

msspectrum метод включает эти свойства, которые можно установить использование этого msspectrum метод или через msspectrumopts метод. Эти свойства перечислены здесь и описаны в msspectrumopts разделите ниже:

SpectrumType'onesided' или 'twosided'
NormalizedFrequency – нормирует частоту между 0 и 1
Fs — частота дискретизации в Гц
NFFT — количество точек БПФ
CenterDC — сдвигает данные и частоты, чтобы сосредоточить компонент DC
FreqPoints все или 'User Defined'
FrequencyVector — частоты, на которых можно вычислить спектр
ConfLevel — доверительный уровень, чтобы вычислить доверительный интервал. Значение должно быть от 0 до 1.

Например,   Hmss = msspectrum(Hs,X,'FreqPoints','User Defined', FreqVector,fvect) возвращает среднеквадратический объект спектра, где спектр вычисляется только на точках частоты, заданных в векторе частоты, fvect.

msspectrum(...) без выходных аргументов строит среднеквадратический спектр в дБ.

msspectrumopts

  Hopts = msspectrumopts(Hs) возвращает объект, который содержит опции для объекта Hs спектра.

  Hopts = msspectrumopts(Hs,X) возвращает объект со специфичными для данных опциями и значениями по умолчанию.

Можно передать Hopts опции возражают в качестве аргумента против msspectrum метод. Любая отдельная опция вы задаете после Hopts возразите заменяет значение в Hopts. Например,   Hmss = msspectrum(Hs,X,Hopts, 'SpectrumType', 'twosided') заменяет SpectrumType по умолчанию значение в Hopts.

Следующие свойства применяются к обоим msspectrumopts и msspectrum методы.

Hmss = msspectrum (..., 'SpectrumType', 'twosided') возвращает двухсторонний среднеквадратический спектр. Длина спектра (NFFT) вычисляется по [0,2π), или если Fs задан, [0, Fs). Ввод 'onesided' возвращает односторонний среднеквадратический спектр, который содержит общую степень сигнала в половине области значений Найквиста. Значением по умолчанию является 'onesided'.

Hmss = msspectrum(Hs,X,'NormalizedFrequency',true) возвращает среднеквадратический объект спектра со значениями частоты, нормированными между 0 и 1. Значением по умолчанию является true.

Hmss = msspectrum(Hs,X,'Fs',Fs) возвращает среднеквадратический объект спектра, вычисленный в зависимости от частоты, где Fs частота дискретизации в Гц. Обратите внимание на то, что можно установить Fs только если NormalizedFrequency установлен в false.

  Hmss = msspectrum(...,'NFFT',nfft) указывает, что количество БПФ указывает на использование. Допустимые значения являются положительным целым числом, 'Nextpow2' или 'Auto'nextpow2 использует следующую степень 2 больших, чем входная длина или 256, какой бы ни больше. 'Auto' использует входную длину или 256, какой бы ни больше. Значением по умолчанию является 'Nextpow2'. Обратите внимание на то, что для spectrum.welchnextpow2 и 'Auto' сравниваются с SegmentLength вместо входной длины.

Hmss = msspectrum (..., 'Centerdc', true) сдвигает данные и значения частоты так, чтобы компонент DC находился в центре спектра. Значением по умолчанию является false.

Чтобы оценить спектр на векторе из определенных частот, сначала определите номер точек частоты к 'User Defined', который заменяет NFFT свойство msspectrum с FrequencyVector свойство.
Hopts.FreqPoints = 'User Defined'
(Обратите внимание на то, что значение по умолчанию для FreqPoints 'All', который вызывает msspectrum использовать NFFT свойство, аналогичное описанному выше.)

Затем задайте вектор частоты F использовать.
Hopts.FrequencyVector = F
(Обратите внимание на то, что значение по умолчанию для FrequencyVector 'Auto'. В этом случае количество используемых точек частоты следует тому же правилу как описано для NFFT 'Auto' выше.)

Hmms = msspectrum(...,'ConfLevel',p) задает доверительный уровень p для вычисления доверительного интервала, который является оценкой ошибки в расчетном среднеквадратическом спектре. Доверительный уровень (p) между 0 и 1. Например,   Hmss = msspectrum(Hs,X,'ConfLevel',0.95) возвращает 95%-й доверительный интервал.

psd

Обратите внимание на то, что music и eigenvector объекты спектра не поддерживают psd метод. Смотрите pseudospectrum метод ниже.

Спектральная плотность мощности (PSD) предназначается для непрерывных спектров. Интеграл PSD по данному диапазону частот вычисляет среднюю степень в сигнале в том диапазоне частот. В отличие от msspectrum, peaks в этом спектры не отражает степень на данной частоте. Модули PSD являются степенью на единицу частоты. Смотрите avgpower метод dspdata для получения дополнительной информации.

  Hpsd = psd (Hs,X) возвращается объект спектральной плотности мощности, содержащий оценку спектральной плотности мощности дискретного времени, сигнализируют о X использование объекта Hs спектра. PSD является распределением степени на модульную частоту. Значение по умолчанию для действительного X 'onesided' и для комплексного X 'twosided'.

Hpsd содержит вектор из нормированных частот W, в котором оценивается PSD. Для действительных сигналов, области значений W [0, π] если количество точек БПФ (NFFT) является четным, и [0, π), если NFFT является нечетным. Для комплексных сигналов, области значений W [0,2π).

psd метод включает эти свойства, которые можно установить использование этого psd метод или через psdopts метод. Эти свойства перечислены здесь и описаны в psdopts разделите ниже:

SpectrumType'onesided' или 'twosided'
NormalizedFrequency — нормирует частоту между 0 и 1
Fs — частота дискретизации в Гц
NFFT — количество точек БПФ
CenterDC — сдвигает данные и частоты, чтобы сосредоточить компонент DC
FreqPoints все или 'User Defined'
FrequencyVector – частоты, на которых можно вычислить спектр
ConfLevel — доверительный уровень, чтобы вычислить доверительный интервал. Значение должно быть от 0 до 1.

Например,   Hmss = psd(Hs,X,'FreqPoints','User Defined', FreqVector,fvect) возвращает объект PSD, где спектр вычисляется только на точках частоты, заданных в векторе частоты, fvect.

psd(...) без выходных аргументов строит PSD в дБ на модульную частоту.

psdopts

  Hopts = psdopts(Hs) возвращает объект, который содержит опции для объекта Hs спектра.

  Hopts = psdopts(Hs,X) возвращает объект со специфичными для данных опциями и значениями по умолчанию.

Можно передать Hopts опции возражают в качестве аргумента против psd метод. Любая отдельная опция вы задаете после Hopts возразите заменяет значение в Hopts. Например,   Hpsd = psd(Hs,X,Hopts,'SpectrumType', 'twosided') заменяет SpectrumType значение в Hopts.

Следующие свойства применяются к обоим psdmopts и psd методы.

  Hpsd = psd (Hs,X,'SpectrumType','twosided') возвращает двухстороннюю спектральную плотность мощности X. Длина спектра является NFFT и вычисляется по [0,2π), если Fs не задан или [0, Fs) если Fs задан. Ввод 'onesided' возвращает односторонний PSD, который содержит общую степень сигнала.

Hmss = psd(Hs,X,'NormalizedFrequency',true) возвращает объект спектральной плотности мощности со значениями частоты, нормированными между 0 и 1. Значением по умолчанию является true.

  Hpsd = psd (...,'Fs',Fs) возвращает объект спектральной плотности мощности, вычисленный в зависимости от частоты, где Fs частота дискретизации в Гц.

  Hmss = psd(...,'NFFT',nfft) указывает, что количество БПФ указывает на использование. Допустимые значения являются положительным целым числом, 'Nextpow2' или 'Auto'nextpow2 использует следующую степень 2 больших, чем входная длина или 256, какой бы ни больше. 'Auto' использует входную длину или 256, какой бы ни больше. Значением по умолчанию является 'Nextpow2'. Обратите внимание на то, что для spectrum.welchnextpow2 и 'Auto' сравниваются с SegmentLength вместо входной длины.

Hmss = psd (..., 'Centerdc', true) сдвигает данные и значения частоты так, чтобы компонент DC находился в центре спектра. Значением по умолчанию является false.

Чтобы оценить спектр на векторе из определенных частот, сначала определите номер точек частоты к 'User Defined', который заменяет NFFT свойство psd с FrequencyVector свойство.
Hopts.FreqPoints = 'User Defined'
(Обратите внимание на то, что значение по умолчанию для FreqPoints 'All' который вызывает psd использовать NFFT свойство, аналогичное описанному выше.)

Hmms = psd(...,'ConfLevel',p) задает доверительный уровень p для вычисления доверительного интервала, который является оценкой ошибки в расчетном PSD. Доверительный уровень (p) между 0 и 1. Например,   Hmss = psd(Hs,X,'ConfLevel',0.95) возвращает 95%-й доверительный интервал.

pseudospectrum

Обратите внимание на то, что этот метод используется только для music или eigenvector объекты спектра.

  Hps = pseudospectrum(Hs,X) возвращается объект, содержащий оценку псевдоспектра дискретного времени, сигнализируют о X использование объекта Hs спектра. Hs должен быть music или eigenvector объект. Значение по умолчанию для действительного X 'half' и для комплексного X 'whole' Частотный диапазон Найквиста.

Hps содержит вектор из нормированных частот W, в котором оценивается псевдоспектр. Для действительных сигналов, области значений W [0, π] если количество точек БПФ (NFFT) является четным, и [0, π), если NFFT является нечетным. Для комплексных сигналов, области значений W [0,2π).

pseudospectrum метод включает эти свойства, которые можно установить использование этого pseudospectrum метод или через pseudospectrumopts метод. Эти свойства описаны ниже:

SpectrumRange'half' или 'whole'
NormalizedFrequency — нормирует частоту между 0 и 1
Fs — частота дискретизации в Гц
NFFT — количество точек БПФ
CenterDC — сдвигает данные и частоты, чтобы сосредоточить компонент DC
FreqPoints все или 'User Defined'
FrequencyVector — частоты, на которых можно вычислить спектр

Например,   Hmss = psd(Hs,X,'FreqPoints','User Defined', FreqVector,fvect) возвращает объект PSD, где спектр вычисляется только на точках частоты, заданных в векторе частоты, fvect.

pseudospectrum(...) без выходных аргументов строит псевдоспектр в дБ.

pseudospectrumopts

  Hopts = pseudospectrumopts(Hs) возвращает объект, который содержит опции для объекта Hs спектра.

  Hopts = pseudospectrumopts(Hs,X) возвращает объект со специфичными для данных опциями и значениями по умолчанию. Можно передать Hopts опции возражают в качестве аргумента против pseudospectrum метод. Любая отдельная опция вы задаете после Hopts возразите заменяет значение в Hopts. Например,  Hpseudospectrum= pseudospectrum(Hs,X, Hopts,'SpectrumRange', 'whole') заменяет SpectrumRange значение в Hopts.

  Hmps = pseudospectrum (..., 'SpectrumRange', 'whole') возвращает псевдоспектр в целой области значений Найквиста. Длина спектра является NFFT и вычисляется по [0,2π), если Fs не задан или [0, Fs) если Fs задан. Ввод 'half' возвращает псевдоспектр вычисленная более чем половина области значений Найквиста.

Hmss = pseudospectrum(Hs,X,'NormalizedFrequency',true) возвращает объект псевдоспектра со значениями частоты, нормированными между 0 и 1. Значением по умолчанию является true.

  Hps = pseudospectrum(Hs,X,'Fs',Fs) возвращает объект псевдоспектра, вычисленный в зависимости от частоты, где Fs частота дискретизации в Гц.

  Hps = pseudospectrum(...,'NFFT',nfft) указывает, что количество БПФ указывает на использование. Допустимые значения являются положительным целым числом, 'Nextpow2' или 'Auto'nextpow2 использует следующую степень 2 больших, чем входная длина или 256, какой бы ни больше. 'Auto' использует входную длину или 256, какой бы ни больше. Значением по умолчанию является 'Nextpow2'.

  Hps = pseudospectrum(...,'Centerdc',true) сдвигает данные и значения частоты так, чтобы компонент DC находился в центре спектра. Значением по умолчанию является false.

Чтобы оценить спектр на векторе из определенных частот, сначала определите номер точек частоты к 'User Defined', который заменяет NFFT свойство pseudospectrum с FrequencyVector свойство.
Hopts.FreqPoints = 'User Defined'
(Обратите внимание на то, что значение по умолчанию для FreqPoints 'All', который вызывает pseudospectrum использовать NFFT свойство, аналогичное описанному выше.)

powerest

Обратите внимание на то, что powerest доступно только для music и eigenvector объекты спектра.

  POW = powerest(Hs,X) возвращает векторный POW содержа оценки степеней комплексных синусоид в X. Вход X может быть вектор или матрица. Если это - матрица, это может быть матрица данных, где X*X=R или корреляционная матрица R. Значение InputType свойство Hs определяет как X интерпретирован. Hs должен быть music или eigenvector объект спектра.

[POW,W]=powerest(Hs,X) возвращает POW и векторный W из частот в рад/отсчете синусоид в X.

[POW,F]=powerest(Hs,X,Fs) возвращает POW и векторный F из частот в Гц синусоид в X. Fs частота дискретизации.

Просмотр свойств объектов

Как с любым объектом, можно использовать get просмотреть spectrum свойства объекта. Чтобы видеть определенное свойство, использовать

 get(Hs,'property') 

где 'property' определенное имя свойства.

Чтобы видеть все свойства для объекта, использовать

get(Hs)

Изменение свойств объектов

Чтобы установить определенные свойства, использовать

set(Hs,'property1',value, 'property2',value,...) 

где 'property1', 'property2', и т.д. определенные имена свойства.

Чтобы просмотреть опции для свойства используют set не задавая значение

set(Hs,'property')

Обратите внимание на то, что необходимо использовать одинарные кавычки вокруг имени свойства. Например, чтобы изменить порядок Города spectrum объект Hs к 6, использовать

set(Hs,'order',6)

Другой пример использования set изменить свойства объекта - этот пример изменения динамически созданного свойства окна периодограммы spectrum объект.

Hs=spectrum.periodogram       % Create periodogram object

Hs =

    EstimationMethod: 'Periodogram'
          WindowName: 'Rectangular'

set(Hs,'WindowName','Chebyshev')   % Change window type
Hs                                 % View changed object

Hs =

    EstimationMethod: 'Periodogram'
          WindowName: 'Chebyshev'  % Note changed property
       SidelobeAtten: 100

set(Hs,'SidelobeAtten',150)   % Change dynamic property
Hs                            % View changed object

Hs =

    EstimationMethod: 'Periodogram'
          WindowName: 'Chebyshev'
       SidelobeAtten: 150 

Весь spectrum свойства объектов могут быть изменены с помощью set команда, за исключением EstimationMethod свойство.

Другой способ изменить свойства объекта при помощи inspect команда, которая открывает окно Property Inspector, где можно отредактировать любое свойство, кроме динамических свойств, таких как используемые с окнами.

inspect(Hs)

Копирование объекта

Чтобы создать копию объекта, используйте copy метод.

H2 = copy(Hs)

Примечание

Используя синтаксис   H2 = Hs копии только указатель на объект и не создают новый объект.

Примеры

свернуть все

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

Fs = 1000;
t = 0:1/Fs:0.3;
x = cos(2*pi*t*200) + randn(size(t));

Hs = spectrum.periodogram;
psd(Hs,x,'Fs',Fs)

Figure contains an axes object. The axes object with title Periodogram Power Spectral Density Estimate contains an object of type line.

Обратитесь к страницам с описанием для каждого метода оценки для большего количества примеров.

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