Анализируйте сигналы в частотной и частотно-временной областях
возвращает спектр мощности p
= pspectrum(x
)x
.
Если x
вектор или расписание с вектором из данных, затем они обработаны как один канал.
Если x
матрица, расписание с матричной переменной или расписание с несколькими векторными переменными, затем спектр вычисляется независимо для каждого канала и хранится в отдельном столбце p
.
задает аргументы пары "имя-значение" использования дополнительных опций. Опции включают пропускную способность разрешения частоты и перекрытие процента между смежными сегментами.p
= pspectrum(___,Name,Value
)
Сгенерируйте 128 выборок двухканальной комплексной синусоиды.
Первый канал имеет модульную амплитуду и нормированную частоту синусоиды рад/отсчет
Второй канал имеет амплитуду и нормированная частота рад/отсчет.
Вычислите спектр мощности каждого канала и постройте его абсолютное значение. Увеличьте масштаб частотного диапазона от рад/отсчет к рад/отсчет. pspectrum
масштабирует спектр так, чтобы, если содержимое частоты сигнала падает точно в интервале, его амплитуда в том интервале была истинной средней степенью сигнала. Для комплексной экпоненты средняя степень является квадратом амплитуды. Проверьте путем вычисления дискретного преобразования Фурье сигнала. Для получения дополнительной информации смотрите Степень Меры Детерминированных Периодических Сигналов.
N = 128; x = [1 1/sqrt(2)].*exp(1j*pi./[4;2]*(0:N-1)).'; [p,f] = pspectrum(x); plot(f/pi,abs(p)) hold on stem(0:2/N:2-1/N,abs(fft(x)/N).^2) hold off axis([0.15 0.6 0 1.1]) legend("Channel 1, pspectrum","Channel 2, pspectrum", ... "Channel 1, fft","Channel 2, fft") grid
Сгенерируйте синусоидальный сигнал, произведенный на уровне 1 кГц для 296 миллисекунд и встроенный в белый Гауссов шум. Задайте частоту синусоиды 200 Гц и шумовое отклонение 0,1 ². Сохраните сигнал и его информацию времени в расписании MATLAB®.
Fs = 1000; t = (0:1/Fs:0.296)'; x = cos(2*pi*t*200)+0.1*randn(size(t)); xTable = timetable(seconds(t),x);
Вычислите спектр мощности сигнала. Опишите спектр в децибелах и постройте его.
[pxx,f] = pspectrum(xTable); plot(f,pow2db(pxx)) grid on xlabel('Frequency (Hz)') ylabel('Power Spectrum (dB)') title('Default Frequency Resolution')
Повторно вычислите спектр мощности синусоиды, но теперь используйте более грубое разрешение частоты 25 Гц. Постройте спектр с помощью pspectrum
функция без выходных аргументов.
pspectrum(xTable,'FrequencyResolution',25)
Сгенерируйте два сигнала, каждый произведенный на уровне 3 кГц в течение 1 секунды. Первый сигнал является выпуклым квадратичным щебетом, частота которого увеличивается с 300 Гц до 1 300 Гц во время измерения. Щебет встраивается в белый Гауссов шум. Второй сигнал, также встроенный в белый шум, является щебетом с синусоидально различным содержимым частоты.
fs = 3000; t = 0:1/fs:1-1/fs; x1 = chirp(t,300,t(end),1300,'quadratic',0,'convex') + ... randn(size(t))/100; x2 = exp(2j*pi*100*cos(2*pi*2*t)) + randn(size(t))/100;
Вычислите и постройте двухсторонний спектр мощности первого сигнала с помощью прямоугольного окна. Для действительных сигналов, pspectrum
строит односторонний спектр по умолчанию. Чтобы построить двухсторонний спектр, установите TwoSided
к истине.
pspectrum(x1,fs,'Leakage',1,'TwoSided',true)
Вычислите спектрограмму второго сигнала. Для комплексных сигналов спектрограмма является двухсторонней по умолчанию. Отобразите спектрограмму как график водопада.
[p,f,t] = pspectrum(x2,fs,'spectrogram'); waterfall(f,t,p'); xlabel('Frequency (Hz)') ylabel('Time (seconds)') wtf = gca; wtf.XDir = 'reverse'; view([30 45])
Сгенерируйте двухканальный сигнал, произведенный на уровне 100 Гц в течение 2 секунд.
Первый канал состоит из тона на 20 Гц и тона на 21 Гц. Оба тона имеют модульную амплитуду.
Второй канал также имеет два тона. Один тон имеет модульную амплитуду и частоту 20 Гц. Другой тон имеет амплитуду 1/100 и частоту 30 Гц.
fs = 100; t = (0:1/fs:2-1/fs)'; x = sin(2*pi*[20 20].*t) + [1 1/100].*sin(2*pi*[21 30].*t);
Встройте сигнал в белый шум. Задайте отношение сигнал-шум 40 дБ. Постройте сигналы.
x = x + randn(size(x)).*std(x)/db2mag(40); plot(t,x)
Вычислите спектры двух каналов и отобразите их.
pspectrum(x,t)
Значение по умолчанию для спектральной утечки, 0.5, соответствует пропускной способности разрешения приблизительно 1,29 Гц. Два тона в первом канале не разрешены. Тон на 30 Гц во втором канале отображается, несмотря на то, чтобы быть намного более слабым, чем другой.
Увеличьте утечку до 0,85, эквивалентный разрешению приблизительно 0,74 Гц. Слабый тон во втором канале ясно отображается.
pspectrum(x,t,'Leakage',0.85)
Увеличьте утечку до максимального значения. Пропускная способность разрешения составляет приблизительно 0,5 Гц. Два тона в первом канале разрешены. Слабый тон во втором канале маскируется большими боковыми лепестками окна.
pspectrum(x,t,'Leakage',1)
Визуализируйте интерференционный узкополосный сигнал, встроенный в широкополосном сигнале.
Сгенерируйте щебет, произведенный на уровне 1 кГц в течение 500 секунд. Частота щебета увеличивается с 180 Гц до 220 Гц во время измерения.
fs = 1000; t = (0:1/fs:500)'; x = chirp(t,180,t(end),220) + 0.15*randn(size(t));
Сигнал также содержит синусоиду на 210 Гц. Синусоида имеет амплитуду 0,05 и присутствует только для 1/6 общей длительности сигнала.
idx = floor(length(x)/6); x(1:idx) = x(1:idx) + 0.05*cos(2*pi*t(1:idx)*210);
Вычислите спектрограмму сигнала. Ограничьте частотный диапазон от 100 Гц до 290 Гц. Задайте разрешение времени 1 секунды. Оба компонента сигнала отображаются.
pspectrum(x,fs,'spectrogram', ... 'FrequencyLimits',[100 290],'TimeResolution',1)
Вычислите спектр мощности сигнала. Слабая синусоида затенена щебетом.
pspectrum(x,fs,'FrequencyLimits',[100 290])
Вычислите спектр персистентности сигнала. Теперь оба компонента сигнала ясно отображаются.
pspectrum(x,fs,'persistence', ... 'FrequencyLimits',[100 290],'TimeResolution',1)
Сгенерируйте квадратичный щебет, произведенный на уровне 1 кГц в течение 2 секунд. Щебет имеет начальную частоту 100 Гц, которая увеличивается до 200 Гц в t = 1 секунда. Вычислите спектрограмму с помощью настроек по умолчанию pspectrum
функция.
fs = 1e3; t = 0:1/fs:2; y = chirp(t,100,1,200,'quadratic'); [sp,fp,tp] = pspectrum(y,fs,'spectrogram'); mesh(tp,fp,sp) view(-15,60) xlabel('Time (s)') ylabel('Frequency (Hz)')
Вычислите переприсвоенную спектрограмму. Задайте разрешение частоты 10 Гц. Визуализируйте результат с помощью pspectrum
функция без выходных аргументов.
pspectrum(y,fs,'spectrogram','FrequencyResolution',10,'Reassign',true)
Повторно вычислите спектрограмму с помощью разрешения времени 0,2 секунд.
pspectrum(y,fs,'spectrogram','TimeResolution',0.2)
Вычислите переприсвоенную спектрограмму с помощью того же разрешения времени.
pspectrum(y,fs,'spectrogram','TimeResolution',0.2,'Reassign',true)
Создайте сигнал, произведенный на уровне 4 кГц, который напоминает нажатие всех клавиш цифрового телефона. Сохраните сигнал как расписание MATLAB®.
fs = 4e3; t = 0:1/fs:0.5-1/fs; ver = [697 770 852 941]; hor = [1209 1336 1477]; tones = []; for k = 1:length(ver) for l = 1:length(hor) tone = sum(sin(2*pi*[ver(k);hor(l)].*t))'; tones = [tones;tone;zeros(size(tone))]; end end % To hear, type soundsc(tones,fs) S = timetable(seconds(0:length(tones)-1)'/fs,tones);
Вычислите спектрограмму сигнала. Задайте разрешение времени 0,5 вторых и нулевых перекрытий между смежными сегментами. Задайте утечку как 0,85, который приблизительно эквивалентен работе с окнами данные с окном Hann.
pspectrum(S,'spectrogram', ... 'TimeResolution',0.5,'OverlapPercent',0,'Leakage',0.85)
Спектрограмма показывает, что у каждого ключа требуют в течение половины секунды с полувторыми тихими паузами между ключами. Первый тон имеет сконцентрированные приблизительно 697 Гц и 1 209 Гц содержимого частоты, соответствуя цифре '1'
в стандарте DTMF.
x
— Входной сигналВходной сигнал в виде вектора, матрицы или MATLAB®
timetable
.
Если x
расписание, затем оно должно содержать увеличивающиеся конечные времена строки.
Примечание
Если расписание имеет пропавших без вести или дублирующиеся моменты времени, можно зафиксировать его с помощью советов в Чистом Расписании с Пропавшими без вести, Копией, или Неоднородные Времена.
Если x
расписание, представляющее многоканальный сигнал, затем это должно иметь или одну переменную, содержащую матрицу или несколько переменных, состоящих из векторов.
Если x
неоднородно производится, затем pspectrum
интерполирует сигнал к регулярной координатной сетке, чтобы вычислить спектральные оценки. Функция использует линейную интерполяцию и принимает шаг расчета, равный медиане различий между смежными моментами времени. Для неоднородно выбранного сигнала, который поддерживается должны выполняться медиана временного интервала и средний временной интервал
Пример: cos(pi./[4;2]*(0:159))'+randn(160,2)
двухканальный сигнал, состоящий из синусоид, встроенных в белый шум.
Пример: timetable(seconds(0:4)',rand(5,2))
задает двухканальную случайную переменную, произведенную на уровне 1 Гц в течение 4 секунд.
Пример: timetable(seconds(0:4)',rand(5,1),rand(5,1))
задает двухканальную случайную переменную, произведенную на уровне 1 Гц в течение 4 секунд.
Типы данных: single
| double
Поддержка комплексного числа: Да
fs
— Частота дискретизацииЧастота дискретизации в виде положительного числового скаляра.
t
— Временные стоимостиdatetime
массив | duration
массив | duration
скалярВременные стоимости в виде вектора, a datetime
или duration
массив или a duration
скаляр, представляющий временной интервал между выборками.
Пример: seconds(0:1/100:1)
isa
массив, представляющий 1 секунду выборки на уровне 100 Гц.duration
Пример: seconds(1)
isa
скаляр, представляющий различие с 1 вторым разом между последовательными выборками сигнала.duration
type
— Тип спектра, чтобы вычислить'power'
(значение по умолчанию) | 'spectrogram'
| 'persistence'
Тип спектра, чтобы вычислить в виде 'power'
, 'spectrogram'
, или 'persistence'
:
'power'
— Вычислите спектр мощности входа. Используйте эту опцию, чтобы анализировать содержимое частоты стационарного сигнала. Для получения дополнительной информации, Расчет Спектра.
'spectrogram'
— Вычислите спектрограмму входа. Используйте эту опцию, чтобы анализировать, как содержимое частоты сигнала изменяется в зависимости от времени. Для получения дополнительной информации смотрите Расчет Спектрограммы.
'persistence'
— Вычислите спектр мощности персистентности входа. Используйте эту опцию, чтобы визуализировать часть времени, когда конкретная частотная составляющая присутствует в сигнале. Для получения дополнительной информации смотрите Расчет Спектра Персистентности.
Примечание
'spectrogram'
и 'persistence'
опции не поддерживают многоканальный вход.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Leakage',1,'Reassigned',true,'MinThreshold',-35
окна данные с помощью прямоугольного окна, вычисляют переприсвоенную оценку спектра и устанавливают все значения, меньшие, чем-35 дБ, чтобы обнулить.'FrequencyLimits'
— Пределы диапазона частот[0 fs/2]
(значение по умолчанию) | двухэлементный числовой векторДиапазон частот ограничивает в виде разделенной запятой пары, состоящей из 'FrequencyLimits'
и двухэлементный числовой вектор:
Если вход содержит информацию времени, то диапазон частот описывается в Гц.
Если вход не содержит информацию времени, то диапазон частот описывается в нормированных единицах рад/отсчета.
По умолчанию, pspectrum
вычисляет спектр в целой области значений Найквиста:
Если заданный диапазон частот содержит область, которая выходит за пределы области значений Найквиста, то pspectrum
обрезает диапазон частот.
Если заданный диапазон частот находится полностью за пределами области значений Найквиста, то pspectrum
выдает ошибку.
Смотрите Расчет Спектра для получения дополнительной информации об области значений Найквиста.
Если x
неоднородно производится, затем pspectrum
линейно интерполирует сигнал к регулярной координатной сетке и задает эффективную частоту дискретизации, равную инверсии медианы различий между смежными моментами времени. Специальный 'FrequencyLimits'
в терминах эффективной частоты дискретизации.
Пример: [0.2*pi 0.7*pi]
вычисляет спектр сигнала без информации времени от 0.2π
к 0.7π
рад/отсчет.
'FrequencyResolution'
— Пропускная способность разрешения частотыПропускная способность разрешения частоты в виде разделенной запятой пары, состоящей из 'FrequencyResolution'
и действительный числовой скаляр, описанный в Гц, если вход содержит информацию времени, или в нормированных единицах рад/отсчета если нет. Этот аргумент не может быть задан одновременно с 'TimeResolution'
. Значение по умолчанию этого аргумента зависит от размера входных данных. Смотрите Расчет Спектрограммы для деталей.
Пример: pi/100
вычисляет спектр сигнала без информации времени с разрешением частоты π
/100 рад/отсчет.
'Leakage'
— Спектральная утечка
(значение по умолчанию) | действительный числовой скаляр между 0 и 1Спектральная утечка в виде разделенной запятой пары, состоящей из 'Leakage'
и действительный числовой скаляр между 0 и 1. 'Leakage'
управляет затуханием бокового лепестка окна Кайзера относительно mainlobe ширины, идущей на компромисс между улучшающимся разрешением и уменьшающей утечку:
Большое значение утечки разрешает близко расположенные тоны, но маски соседние слабые тоны.
Маленькое значение утечки находит маленькие тоны около больших тонов, но порочит близкие частоты вместе.
Пример: 'Leakage',0
уменьшает утечку до минимума за счет спектрального разрешения.
Пример: 'Leakage',0.85
аппроксимирует работу с окнами данные окном Hann.
Пример: 'Leakage',1
эквивалентно работе с окнами данные с прямоугольным окном, максимизируя утечку, но улучшая спектральное разрешение.
'MinThreshold'
— Нижняя граница для ненулевых значений-Inf
(значение по умолчанию) | действительный скалярНижняя граница для ненулевых значений в виде разделенной запятой пары, состоящей из 'MinThreshold'
и действительный скаляр. pspectrum
реализации 'MinThreshold'
по-другому на основе значения type
аргумент:
'power'
или 'spectrogram'
— pspectrum
наборы те элементы p
таким образом, что 10 log10 (p
) ≤ 'MinThreshold'
обнулять. Задайте 'MinThreshold'
в децибелах.
'persistence'
— pspectrum
наборы те элементы p
меньший, чем 'MinThreshold'
обнулять. Задайте 'MinThreshold'
между 0 и 100%.
'NumPowerBins'
— Количество интервалов степени для спектра персистентности
(значение по умолчанию) | целое число между 20 и 1024Количество интервалов степени для спектра персистентности в виде разделенной запятой пары, состоящей из 'NumPowerBins'
и целое число между 20 и 1024.
'OverlapPercent'
— Перекройтесь между смежными сегментамиПерекройтесь между смежными сегментами для спектрограммы или спектра персистентности в виде разделенной запятой пары, состоящей из 'OverlapPercent'
и действительный скаляр в интервале [0, 100). Значение по умолчанию этого аргумента зависит от спектрального окна. Смотрите Расчет Спектрограммы для деталей.
'Reassign'
— Опция переназначенияfalse
(значение по умолчанию) | true
Опция переназначения в виде разделенной запятой пары, состоящей из 'Reassign'
и логическое значение. Если эта опция установлена в true
то pspectrum
увеличивает резкость локализации спектральных оценок путем выполнения переназначения частоты и времени. Метод переназначения производит периодограммы и спектрограммы, которые легче считать и интерпретировать. Этот метод повторно присваивает каждую спектральную оценку центру энергии его интервала вместо геометрического центра интервала. Метод обеспечивает точную локализацию для щебетов и импульсов.
'TimeResolution'
— Разрешение времени спектрограммы или спектра персистентностиРазрешение времени спектрограммы или спектра персистентности в виде разделенной запятой пары, состоящей из 'TimeResolution'
и действительный скаляр, описанный в секундах, если вход содержит информацию времени, или как целое число выборок если нет. Эти средства управления аргументом длительность сегментов использовалась для расчета кратковременных спектров мощности, которые формируют спектрограмму или оценки спектра персистентности. 'TimeResolution'
не может быть задан одновременно с 'FrequencyResolution'
. Значение по умолчанию этого аргумента зависит от размера входных данных и, если это было задано, разрешение частоты. Смотрите Расчет Спектрограммы для деталей.
'TwoSided'
— Двухсторонняя спектральная оценкаДвухсторонняя спектральная оценка в виде разделенной запятой пары, состоящей из 'TwoSided'
и логическое значение.
Если этой опцией является true
, функция вычисляет сосредоточенные, двухсторонние оценки спектра по [–π, π]. Если вход имеет информацию времени, оценки вычисляются по [–fs/2, f s/2], где f s является эффективной частотой дискретизации.
Если этой опцией является false
, функция вычисляет односторонние оценки спектра в области значений Найквиста [0, π]. Если вход имеет информацию времени, оценки вычисляются по [0, f s/2], где f s является эффективной частотой дискретизации. Сохранить общую степень, функциональные множители степень 2 на всех частотах кроме 0 и частоте Найквиста. Эта опция допустима только для действительных сигналов.
Если не заданный, 'TwoSided'
значения по умолчанию к false
для действительных входных сигналов и к true
для комплексных входных сигналов.
p
— СпектрСпектр, возвращенный как вектор или матрица. Тип и размер спектра зависят от значения type
аргумент:
'power'
P
содержит оценку спектра мощности каждого канала x
. В этом случае, p
имеет размер N f × N ch, где N f является длиной f
и N ch является количеством каналов x
. pspectrum
масштабирует спектр так, чтобы, если содержимое частоты сигнала падает точно в интервале, его амплитуда в том интервале была истинной средней степенью сигнала. Например, средняя степень синусоиды является половиной квадрата амплитуды синусоиды. Для получения дополнительной информации смотрите Степень Меры Детерминированных Периодических Сигналов.
'spectrogram'
P
содержит оценку краткосрочного, локализованного временем спектра мощности x
. В этом случае, p
имеет размер N f × N t, где N f является длиной f
и N t является длиной t
.
'persistence'
P
содержит, описанный как проценты, вероятности, что сигнал имеет компоненты данного уровня мощности в установленный срок и местоположения частоты. В этом случае, p
имеет размер мощность N × N f, где мощность N является длиной pwr
и N f является длиной f
.
f
— Частоты спектраЧастоты спектра, возвращенные как вектор. Если входной сигнал содержит информацию времени, то f
содержит частоты, описанные в Гц. Если входной сигнал не содержит информацию времени, то частоты находятся в нормированных единицах рад/отсчета.
t
— Временные стоимости спектрограммыdatetime
массив | duration
массивВременные стоимости спектрограммы, возвращенной как вектор из временных стоимостей в секундах или a duration
массив. Если вход не имеет информации времени, то t
содержит демонстрационные числа. t
содержит временные стоимости, соответствующие центрам использованных для расчета кратковременных оценок спектра мощности сегментов данных.
Если вход к pspectrum
расписание, затем t
имеет тот же формат как временные стоимости входного расписания.
Если вход к pspectrum
числовой вектор, произведенный в наборе моментов времени, заданных числовым, duration
, или datetime
массив, затем t
имеет тот же тип и формат как входные временные стоимости.
Если вход к pspectrum
числовой вектор с различием требуемого времени между последовательными выборками, затем t
isa duration
массив.
pwr
— Значения степени спектра персистентностиЗначения степени спектра персистентности, возвращенного как вектор.
Вычислить спектры сигнала, pspectrum
находит компромисс между спектральным разрешением достижимым с целой длиной сигнала и ограничениями эффективности, которые следуют из вычисления больших БПФ:
Если возможно, функция вычисляет одну модифицированную периодограмму целого сигнала с помощью окна Кайзера.
Если не возможно вычислить одну модифицированную периодограмму за разумное количество времени, функция вычисляет валлийскую периодограмму: Это делит сигнал на перекрывающиеся сегменты, окна каждый сегмент с помощью окна Кайзера, и составляет в среднем периодограммы сегментов.
Спектральная работа с окнами
Любой реальный сигнал измерим только в течение конечного отрезка времени. Этот факт вводит ненезначительные эффекты в анализ Фурье, который принимает, что сигналы являются или периодическими или бесконечно длинными. Spectral windowing, который присваивает различные веса различным выборкам сигнала, систематически имеет дело с конечными размерными эффектами.
Самый простой путь к окну, сигнал состоит в том, чтобы принять, что это является тождественно нулевым за пределами интервала измерения и что все выборки являются одинаково значительными. Это "прямоугольное окно" имеет прерывистые скачки в обоих концах, которые приводят к спектральному вызову. Все другие спектральные окна заостряются в обоих концах, чтобы уменьшить этот эффект путем присвоения меньших весов выборкам близко к ребрам сигнала.
Процесс работы с окнами всегда включает компромисс между конфликтными целями: улучшение разрешения и уменьшение утечки:
Resolution является способностью знать точно, как энергия сигнала распределяется в пространстве частоты. Спектр анализатор с идеальным разрешением может отличить два различных тона (чистые синусоиды) существующий в сигнале, неважно, как близко в частоте. Количественно, эта способность относится к mainlobe ширине преобразования окна.
Leakage является тем, что в конечном сигнале каждое энергетическое содержимое проектов частотной составляющей в полной частоте охватывает. Объем утечки в спектре может быть измерен способностью обнаружить слабый тон от шума в присутствии соседнего сильного тона. Количественно, эта способность относится к уровню бокового лепестка преобразования частоты окна.
Спектр нормирован так, чтобы чистый тон в той пропускной способности, если отлично сосредоточено, имел правильную амплитуду.
Чем лучше разрешение, тем выше утечка, и наоборот. В одном конце области значений прямоугольное окно имеет самый узкий mainlobe и самые высокие боковые лепестки. Это окно может разрешить близко расположенные тоны, если у них есть подобное энергетическое содержимое, но этому не удается найти более слабое, если они не делают. С другой стороны, окно с высоким подавлением бокового лепестка имеет широкий mainlobe, в котором близкие частоты порочат вместе.
pspectrum
окна Кайзера использования, чтобы выполнить работу с окнами. Для окон Кайзера часть энергии сигнала, полученной mainlobe, зависит самое главное от корректируемого shape factor, β. pspectrum
масштабные факторы использования в пределах от β = 0, который соответствует прямоугольному окну к β = 40, где широкий mainlobe получает по существу всю спектральную энергию, представимую в двойной точности. Промежуточное значение β ≈ 6 аппроксимирует окно Hann вполне тесно. Чтобы управлять β, используйте 'Leakage'
пара "имя-значение". Если вы устанавливаете 'Leakage'
к ℓ затем ℓ и β связаны β = 40 (1 – ℓ). Смотрите kaiser
для получения дополнительной информации.
|
|
Окно Hann с 51 точкой и окно Кайзера с 51 точкой с β = 5.7 во временном интервале | Окно Hann с 51 точкой и окно Кайзера с 51 точкой с β = 5.7 в частотном диапазоне |
Параметр и выбор алгоритма
Вычислить спектры сигнала, pspectrum
первоначально определяет resolution bandwidth, который измеряется, как близко два тона могут быть и все еще быть разрешены. Пропускная способность разрешения имеет теоретическое значение
t макс. – min t, record length, является длительностью временного интервала выбранной области сигнала.
ENBW является equivalent noise bandwidth спектрального окна. Смотрите enbw
для получения дополнительной информации.
Используйте 'Leakage'
пара "имя-значение", чтобы управлять ENBW. Минимальное значение аргумента соответствует окну Кайзера с β = 40. Максимальное значение соответствует окну Кайзера с β = 0.
На практике, однако, pspectrum
может понизить разрешение. Понижение разрешения позволяет вычислить спектр за разумное количество времени и отобразить его с конечным числом пикселей. По этим практическим причинам, самой низкой пропускной способности разрешения pspectrum
может использовать
где промежуток f является шириной диапазона частот, заданного с помощью 'FrequencyLimits'
. Если 'FrequencyLimits'
не задан, затем pspectrum
использует частоту дискретизации в качестве промежутка f. RBWperformance не может быть настроен.
Чтобы вычислить спектр сигнала, функция выбирает большие из этих двух значений, названных target resolution bandwidth:
Если пропускная способность разрешения является RBWtheory, то pspectrum
вычисляет один modified periodogram для целого сигнала. Функция использует окно Кайзера с масштабным фактором, которым управляет 'Leakage'
пара "имя-значение". Смотрите periodogram
для получения дополнительной информации.
Если пропускная способность разрешения является RBWperformance, то pspectrum
вычисляет Welch periodogram для сигнала. Функция:
Делит сигналы на перекрывающиеся сегменты.
Windows каждый сегмент отдельно с помощью окна Кайзера с заданным масштабным фактором.
Составляет в среднем периодограммы всех сегментов.
Процедура валлийцев спроектирована, чтобы уменьшать отклонение оценки спектра путем усреднения различной “реализации” сигналов, данных перекрывающимися разделами, и использования окна, чтобы удалить избыточные данные. Смотрите pwelch
для получения дополнительной информации.
Длина каждого сегмента (или, эквивалентно, окна) вычисляется с помощью
где f Найквист является Nyquist frequency. (Если нет никакого искажения, частота Найквиста является половиной эффективной частоты дискретизации, заданной как инверсия медианы различий между смежными моментами времени. Nyquist range является [0, f Найквист] для действительных сигналов и [–fNyquist, f Найквист] для комплексных сигналов.)
Длина шага найдена путем корректировки первоначальной оценки,
так, чтобы первое окно запустилось точно на первой выборке первого сегмента, и последнее окно заканчивается точно на последней выборке последнего сегмента.
Вычислить зависящий от времени спектр неустановившегося сигнала, pspectrum
делит сигнал на перекрывающиеся сегменты, окна каждый сегмент с окном Кайзера, вычисляет кратковременное преобразование Фурье, и затем конкатенирует преобразования, чтобы сформировать матрицу.
Неустановившийся сигнал является сигналом, содержимое частоты которого изменяется со временем. spectrogram неустановившегося сигнала является оценкой эволюции времени его содержимого частоты. Создать спектрограмму неустановившегося сигнала, pspectrum
выполняет эти шаги:
Разделите сигнал на сегменты равной длины. Сегменты должны быть достаточно короткими, который содержимое частоты сигнала не изменяет заметно в сегменте. Сегменты могут или не могут перекрыться.
Окно каждый сегмент и вычисляет свой спектр, чтобы получить short-time Fourier transform.
Используйте спектры сегмента, чтобы создать спектрограмму:
Если названо выходными аргументами, конкатенируйте спектры, чтобы сформировать матрицу.
Если названо без выходных аргументов, отобразите степень каждого спектра в сегменте децибелов сегментом. Изобразите величины рядом друг с другом как изображение с зависимой величиной палитрой.
Функция может вычислить спектрограмму только для одноканальных сигналов.
Разделите сигнал на сегменты
Чтобы создать спектрограмму, сначала разделите сигнал на возможно перекрывающиеся сегменты. С pspectrum
функция, можно управлять длиной сегментов и суммой перекрытия между смежными сегментами с помощью 'TimeResolution'
и 'OverlapPercent'
аргументы в виде пар имя-значение. Если вы не задаете длину и перекрытие, функция выбирает длину на основе целой длины сигнала и процента перекрытия, данного
где ENBW является equivalent noise bandwidth спектрального окна. Смотрите enbw
и Расчет Спектра для получения дополнительной информации.
Разрешение требуемого времени
Если сигнал не имеет информации времени, задайте разрешение времени (длина сегмента) в выборках. Разрешение времени должно быть целым числом, больше, чем или равный 1 и меньший, чем или равный длине сигнала.
Если сигнал имеет информацию времени, задайте разрешение времени в секундах. Функция преобразует результат во многие выборки и округляет его до ближайшего целого числа, которое меньше чем или равно номеру, но не меньше, чем 1. Разрешение времени должно быть меньшим, чем или равным длительности сигнала.
Задайте перекрытие как процент длины сегмента. Функция преобразует результат во многие выборки и округляет его до ближайшего целого числа, которое меньше чем или равно номеру.
Разрешение времени по умолчанию
Если вы не задаете разрешение времени, то pspectrum
использует длину целого сигнала выбрать длину сегментов. Функция устанавливает разрешение времени как ⌈N/d ⌉ выборки, где ⌈⌉ символы обозначают функцию потолка, N является длиной сигнала, и d является делителем, который зависит от N:
Длина сигнала (N) | Делитель (d) | Длина сегмента |
---|---|---|
2 выборки – 63 выборки | 2
| 1 выборка – 32 выборки |
64 выборки – 255 выборки | 8
| 8 выборки – 32 выборки |
256 выборки – 2047 выборки | 8
| 32 выборки – 256 выборки |
2048 выборки – 4095 выборки | 16
| 128 выборки – 256 выборки |
4096 выборки – 8191 выборки | 32
| 128 выборки – 256 выборки |
8192 выборки – 16383 выборки | 64
| 128 выборки – 256 выборки |
16384 выборки – выборки N | 128
| 128 выборки – ⌈N / 128 Выборки |
Можно все еще задать перекрытие между смежными сегментами. Определение перекрытия изменяет количество сегментов. Сегменты, которые расширяют вне конечной точки сигнала, дополнены нулем.
Рассмотрите [s0 s1 s2 s3 s4 s5 s6]
сигнала с семью выборками. Поскольку ⌈7/2 ⌉ = ⌈3.5 ⌉ = 4, функция делит сигнал на два сегмента длины четыре, когда нет никакого перекрытия. Количество изменений сегментов как перекрытие увеличивается.
Количество перекрывающихся выборок | Получившиеся сегменты |
---|---|
0
|
s0 s1 s2 s3 s4 s5 s6 0 |
1
|
s0 s1 s2 s3 s3 s4 s5 s6 |
2
|
s0 s1 s2 s3 s2 s3 s4 s5 s4 s5 s6 0 |
3
|
s0 s1 s2 s3 s1 s2 s3 s4 s2 s3 s4 s5 s3 s4 s5 s6 |
pspectrum
нулевые клавиатуры сигнал, если последний сегмент расширяет вне конечной точки сигнала. Функция возвращает t
, вектор моментов времени, соответствуя центрам сегментов.
Окно сегменты и вычисляет спектры
После pspectrum
делит сигнал на перекрывающиеся сегменты, функциональные окна каждый сегмент с окном Кайзера. Масштабный фактор β окна, и поэтому утечка, может быть настроен с помощью 'Leakage'
пара "имя-значение". Функция затем вычисляет спектр каждого сегмента и конкатенирует спектры, чтобы сформировать матрицу спектрограммы. Вычислить спектры сегмента, pspectrum
выполняет процедуру, описанную в Расчете Спектра, за исключением того, что нижний предел пропускной способности разрешения
Отобразите степень спектра
Если названо без выходных аргументов, функция отображает степень кратковременного преобразования Фурье в децибелах, с помощью цветной полосы с палитрой MATLAB по умолчанию. Цветная полоса включает область значений полной мощности спектрограммы.
persistence spectrum сигнала является представлением частоты времени, которое показывает процент времени, когда данная частота присутствует в сигнале. Спектр персистентности является гистограммой в пространстве частоты степени. Чем дольше особая частота сохраняется в сигнале, когда сигнал развивается, тем выше его процент времени и таким образом более яркое или "более горячее" его цвет в отображении. Используйте спектр персистентности, чтобы идентифицировать сигналы, скрытые в других сигналах.
Вычислить спектр персистентности, pspectrum
выполняет эти шаги:
Вычислите спектрограмму с помощью заданной утечки, разрешения времени и перекрытия. Дополнительную информацию см. в Расчете Спектрограммы.
Разделите степень и значения частоты в 2D интервалы. (Используйте 'NumPowerBins'
пара "имя-значение", чтобы задать количество интервалов степени.)
Для каждой временной стоимости вычислите двумерную гистограмму логарифма спектра мощности. Для каждого интервала частоты степени, где существует энергия сигнала в тот момент, увеличьте соответствующий элемент матрицы на 1. Суммируйте гистограммы для все время значений.
Постройте накопленную гистограмму против степени и частоты с цветом, пропорциональным логарифму количеств гистограммы, описанных как нормированные проценты. Чтобы представлять нулевые значения, используйте половину наименьшей величины.
Спектры мощности |
|
Гистограммы |
|
Накопленная гистограмма |
|
[1] harris, fredric j. “На Использовании Windows для Гармонического Анализа с Дискретным преобразованием Фурье”. Продолжения IEEE®. Издание 66, январь 1978, стр 51–83.
[2] Валлийцы, Питер Д. “Использование Быстрого преобразования Фурье для Оценки Спектров мощности: Метод На основе Усреднения во времени По Коротким, Модифицированным Периодограммам”. Транзакции IEEE на Аудио и Электроакустике. Издание 15, июнь 1967, стр 70–73.
Указания и ограничения по применению:
Расписания не поддерживаются для генерации кода.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.