exponenta event banner

спектрограмма

Спектрограмма с использованием кратковременного преобразования Фурье

Описание

пример

s = spectrogram(x) возвращает кратковременное преобразование Фурье входного сигнала, x. Каждый столбец s содержит оценку краткосрочного, локализованного во времени частотного содержания x.

s = spectrogram(x,window) использование window для разделения сигнала на сегменты и выполнения оконной обработки.

пример

s = spectrogram(x,window,noverlap) использование noverlap образцы перекрытия между соседними сегментами.

пример

s = spectrogram(x,window,noverlap,nfft) использование nfft точки выборки для вычисления дискретного преобразования Фурье.

[s,w,t] = spectrogram(___) возвращает вектор нормализованных частот, wи вектор моментов времени, t, при котором вычисляется спектрограмма. Этот синтаксис может включать любую комбинацию входных аргументов из предыдущих синтаксисов.

пример

[s,f,t] = spectrogram(___,fs) возвращает вектор циклических частот, f, выраженное в терминах частоты выборки, fs. fs должен быть пятым входом в spectrogram. Чтобы ввести частоту выборки и использовать значения по умолчанию предыдущих необязательных аргументов, укажите эти аргументы как пустые, [].

пример

[s,w,t] = spectrogram(x,window,noverlap,w) возвращает спектрограмму на нормализованных частотах, указанных в w.

[s,f,t] = spectrogram(x,window,noverlap,f,fs) возвращает спектрограмму на циклических частотах, указанных в f.

[___,ps] = spectrogram(___) также возвращает матрицу, ps, содержащий оценку спектральной плотности мощности (PSD) или спектра мощности каждого сегмента.

пример

[___] = spectrogram(___,'reassigned') переназначает каждую оценку PSD или спектра мощности местоположению своего центра энергии. Если сигнал содержит хорошо локализованные временные или спектральные компоненты, то эта опция генерирует более резкую спектрограмму.

пример

[___,ps,fc,tc] = spectrogram(___) также возвращает две матрицы, fc и tc, содержащий частоту и время центра энергии каждой PSD или оценку спектра мощности.

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

пример

[___] = spectrogram(___,Name,Value) задает дополнительные параметры с использованием аргументов пары «имя-значение». Параметры включают минимальное пороговое значение и измерение времени вывода.

[___] = spectrogram(___,spectrumtype) возвращает оценки PSD, если spectrumtype указывается как 'psd' и возвращает оценки спектра мощности, если spectrumtype указывается как 'power'.

пример

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

пример

spectrogram(___,freqloc) определяет ось, на которой будет отображаться частота.

Примеры

свернуть все

Генерация Nx = 1024 выборок сигнала, который состоит из суммы синусоид. Нормализованные частоты синусоид составляют 2δ/5 рад/образец и 4λ/5 рад/образец. Синусоида более высокой частоты в 10 раз превышает амплитуду другой синусоиды.

N = 1024;
n = 0:N-1;

w0 = 2*pi/5;
x = sin(w0*n)+10*sin(2*w0*n);

Вычислите кратковременное преобразование Фурье, используя значения функции по умолчанию. Постройте график спектрограммы.

s = spectrogram(x);

spectrogram(x,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Повторите вычисления.

  • Разделите сигнал на отрезки длиной nsc=⌊Nx/4.5 ⌋.

  • Откройте разделы с помощью окна Хэмминга.

  • Укажите 50% перекрытие между смежными секциями.

  • Чтобы вычислить БПФ, используйте максимальные (256, 2p) точки, где p=⌈log2nsc ⌉.

Убедитесь, что два подхода дают одинаковые результаты.

Nx = length(x);
nsc = floor(Nx/4.5);
nov = floor(nsc/2);
nff = max(256,2^nextpow2(nsc));

t = spectrogram(x,hamming(nsc),nov,nff);

maxerr = max(abs(abs(t(:))-abs(s(:))))
maxerr = 0

Разделить сигнал на 8 секций равной длины с 50% перекрытием между секциями. Укажите ту же длину БПФ, что и на предыдущем шаге. Вычислите кратковременное преобразование Фурье и убедитесь, что оно дает тот же результат, что и предыдущие две процедуры.

ns = 8;
ov = 0.5;
lsc = floor(Nx/(ns-(ns-1)*ov));

t = spectrogram(x,lsc,floor(ov*lsc),nff);

maxerr = max(abs(abs(t(:))-abs(s(:))))
maxerr = 0

Создать квадратичную чирп, x, дискретизировали при 1 кГц в течение 2 секунд. Частота чирпа составляет 100 Гц первоначально и пересекает 200 Гц при t = 1 с.

t = 0:0.001:2;
x = chirp(t,100,1,200,'quadratic');

Вычислите и отобразите спектрограмму x.

  • Разделите сигнал на секции длиной 128 с окном Хэмминга.

  • Укажите 120 образцов перекрытия между соседними секциями.

  • Оцените спектр в ⌊128/2+1 = 65 частот и (длина (x)-120) / (128-120) ⌋ в =235 раз мусорные ведра.

spectrogram(x,128,120,128,1e3)

Figure contains an axes. The axes contains an object of type image.

Замените окно Хэмминга на окно Блэкмена. Уменьшите перекрытие до 60 выборок. Постройте график временной оси таким образом, чтобы ее значения увеличивались сверху вниз.

spectrogram(x,blackman(128),60,128,1e3)
ax = gca;
ax.YDir = 'reverse';

Figure contains an axes. The axes contains an object of type image.

Вычислите и отобразите PSD каждого сегмента квадратичной чирп, который начинается на 100 Гц и пересекает 200 Гц на t = 1 секунда. Укажите частоту дискретизации 1 кГц, длину сегмента 128 выборок и перекрытие 120 выборок. Используйте 128 точек DFT и окно Хэмминга по умолчанию.

fs = 1000;
t = 0:1/fs:2;
x = chirp(t,100,1,200,'quadratic');

spectrogram(x,128,120,128,fs,'yaxis')
title('Quadratic Chirp')

Figure contains an axes. The axes with title Quadratic Chirp contains an object of type image.

Вычислите и отобразите PSD каждого сегмента линейной частотной частоты, дискретизированной при частоте 1 кГц, которая начинается при постоянном токе и пересекает 150 Гц при t = 1 секунде. Укажите длину сегмента 256 выборок и перекрытие 250 выборок. Используйте окно Хэмминга по умолчанию и 256 точек DFT.

x = chirp(t,0,1,150);

spectrogram(x,256,250,256,fs,'yaxis')
title('Linear Chirp')

Figure contains an axes. The axes with title Linear Chirp contains an object of type image.

Вычислите и отобразите PSD каждого сегмента логарифмической чирп, дискретизированной на 1 кГц, которая начинается на 20 Гц и пересекает 60 Гц на t = 1 секунда. Укажите длину сегмента 256 выборок и перекрытие 250 выборок. Используйте окно Хэмминга по умолчанию и 256 точек DFT.

x = chirp(t,20,1,60,'logarithmic');

spectrogram(x,256,250,[],fs,'yaxis')
title('Logarithmic Chirp')

Figure contains an axes. The axes with title Logarithmic Chirp contains an object of type image.

Используйте логарифмическую шкалу для частотной оси. Спектрограмма становится линией.

ax = gca;
ax.YScale = 'log';

Figure contains an axes. The axes with title Logarithmic Chirp contains an object of type surface.

Используйте spectrogram функция измерения и отслеживания мгновенной частоты сигнала.

Создайте квадратичную чирп, дискретизированную на частоте 1 кГц в течение двух секунд. Задайте чирп так, чтобы его частота первоначально составляла 100 Гц и увеличивалась до 200 Гц через одну секунду.

fs = 1000;
t = 0:1/fs:2-1/fs;
y = chirp(t,100,1,200,'quadratic');

Оценить спектр чирпа с помощью кратковременного преобразования Фурье, реализованного в spectrogram функция. Разделите сигнал на секции длиной 100, окнами с окном Хэмминга. Укажите 80 выборки перекрытия между соседними секциями и оцените спектр на 100/2+1⌋=51 частотах.

spectrogram(y,100,80,100,fs,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Отслеживайте частоту чирпа, обнаруживая частотно-временной гребень с наибольшей энергией по (2000-80 )/( 100-80) ⌋ = 96 временных точек. Наложение мгновенной частоты на график спектрограммы.

[~,f,t,p] = spectrogram(y,100,80,100,fs);

[fridge,~,lr] = tfridge(p,f);

hold on
plot3(t,fridge,abs(p(lr)),'LineWidth',4)
hold off

Figure contains an axes. The axes contains 2 objects of type image, line.

Генерируют 512 образцов чирпа с синусоидально изменяющимся частотным содержанием.

N = 512;
n = 0:N-1;

x = exp(1j*pi*sin(8*n/N)*32);

Вычислите центрированное двустороннее кратковременное преобразование Фурье чирпа. Разделите сигнал на 32 сегмента выборки с 16-образным перекрытием. Укажите 64 точки DFT. Постройте график спектрограммы.

[scalar,fs,ts] = spectrogram(x,32,16,64,'centered');

spectrogram(x,32,16,64,'centered','yaxis')

Figure contains an axes. The axes contains an object of type image.

Получим тот же результат вычислением спектрограммы на 64 равнопроходных частотах на интервале (-λ, λ]. 'centered' опция не является необходимой.

fintv = -pi+pi/32:pi/32:pi;

[vector,fv,tv] = spectrogram(x,32,16,fintv);

spectrogram(x,32,16,fintv,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Генерация сигнала частотной частоты, дискретизированного в течение 2 секунд при частоте 1 кГц. Задайте чирп так, чтобы его частота первоначально составляла 100 Гц и увеличивалась до 200 Гц через 1 секунду.

Fs = 1000;
t = 0:1/Fs:2;
y = chirp(t,100,1,200,'quadratic');

Оцените переназначенную спектрограмму сигнала.

  • Разделите сигнал на отрезки длиной 128, окнами с окном Кайзера с параметром формы β = 18.

  • Укажите 120 образцов перекрытия между соседними секциями.

  • Оцените спектр в ⌊128/2 = 65 частот и (длина (x)-120) / (128-120) ⌋ в =235 раз мусорные ведра.

spectrogram(y,kaiser(128,18),120,128,Fs,'reassigned','yaxis')

Figure contains an axes. The axes contains an object of type image.

Генерация сигнала частотной частоты, дискретизированного в течение 2 секунд при частоте 1 кГц. Задайте чирп так, чтобы его частота первоначально составляла 100 Гц и увеличивалась до 200 Гц через 1 секунду.

Fs = 1000;
t = 0:1/Fs:2;
y = chirp(t,100,1,200,'quadratic');

Оценка зависящей от времени спектральной плотности мощности (PSD) сигнала.

  • Разделите сигнал на отрезки длиной 128, окнами с окном Кайзера с параметром формы β = 18.

  • Укажите 120 образцов перекрытия между соседними секциями.

  • Оцените спектр в ⌊128/2 = 65 частот и (длина (x)-120) / (128-120) ⌋ в =235 раз мусорные ведра.

Выведите частоту и время центра тяжести каждой оценки ИПУ. Установите в нуль те элементы PSD, которые меньше -30 дБ.

[~,~,~,pxx,fc,tc] = spectrogram(y,kaiser(128,18),120,128,Fs, ...
    'MinThreshold',-30);

Постройте график ненулевых элементов как функций частот и времени центра тяжести.

plot(tc(pxx>0),fc(pxx>0),'.')

Figure contains an axes. The axes contains an object of type line.

Генерация сигнала с частотой 1024 Гц в течение 2 секунд.

nSamp = 2048;
Fs = 1024;
t = (0:nSamp-1)'/Fs;

Во время первой секунды сигнал состоит из синусоиды 400 Гц и вогнутой квадратичной чирпы. Задайте чирп так, чтобы он был симметричным относительно средней точки интервала, начиная и заканчивая частотой 250 Гц и достигая минимум 150 Гц.

t1 = t(1:nSamp/2);

x11 = sin(2*pi*400*t1);
x12 = chirp(t1-t1(nSamp/4),150,nSamp/Fs,1750,'quadratic');
x1 = x11+x12;

Остальная часть сигнала состоит из двух линейных чирп понижающей частоты. Одна чирпа имеет начальную частоту 250 Гц, которая уменьшается до 100 Гц. Другая чирпа имеет начальную частоту 400 Гц, которая уменьшается до 250 Гц.

t2 = t(nSamp/2+1:nSamp);

x21 = chirp(t2,400,nSamp/Fs,100);
x22 = chirp(t2,550,nSamp/Fs,250);
x2 = x21+x22;

Добавление белого гауссова шума к сигналу. Задайте отношение сигнал/шум 20 дБ. Сбросьте генератор случайных чисел для воспроизводимых результатов.

SNR = 20;
rng('default')

sig = [x1;x2];
sig = sig + randn(size(sig))*std(sig)/db2mag(SNR);

Вычислите и постройте график спектрограммы сигнала. Задайте окно Кайзера длиной 63 с параметром формы β = 17, 10 выборок перекрытия между соседними секциями и длиной БПФ 256.

nwin = 63;
wind = kaiser(nwin,17);
nlap = nwin-10;
nfft = 256;

spectrogram(sig,wind,nlap,nfft,Fs,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Пороговое значение спектрограммы, чтобы любые элементы со значениями, меньшими, чем SNR, были установлены в нуль.

spectrogram(sig,wind,nlap,nfft,Fs,'MinThreshold',-SNR,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Переназначить каждую оценку PSD местоположению ее центра энергии.

spectrogram(sig,wind,nlap,nfft,Fs,'reassign','yaxis')

Figure contains an axes. The axes contains an object of type image.

Пороговое значение переназначенной спектрограммы таким образом, что любые элементы со значениями меньшими, чем SNR, устанавливаются в нуль.

spectrogram(sig,wind,nlap,nfft,Fs,'reassign','MinThreshold',-SNR,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Загрузите аудиосигнал, который содержит два уменьшающихся чирпа и широкополосный брызгающий звук. Вычислите кратковременное преобразование Фурье. Разделите сигнал на сегменты из 400 выборок с перекрытием из 300 выборок. Постройте график спектрограммы.

load splat

% To hear, type soundsc(y,Fs)

sg = 400;
ov = 300;

spectrogram(y,sg,ov,[],Fs,'yaxis')
colormap bone

Figure contains an axes. The axes contains an object of type image.

Используйте spectrogram функция вывода спектральной плотности мощности (PSD) сигнала.

[s,f,t,p] = spectrogram(y,sg,ov,[],Fs);

Отслеживать две черенки с помощью medfreq функция. Чтобы найти более сильный низкочастотный чирп, ограничьте поиск частотами выше 100 Гц и временами до начала широкополосного звука.

f1 = f > 100;
t1 = t < 0.75;

m1 = medfreq(p(f1,t1),f(f1));

Чтобы обнаружить слабую высокочастотную чирпу, ограничьте поиск частотами выше 2500 Гц и временами от 0,3 секунды до 0,65 секунды.

f2 = f > 2500;
t2 = t > 0.3 & t < 0.65;

m2 = medfreq(p(f2,t2),f(f2));

Наложите результат на спектрограмму. Разделите значения частоты на 1000, чтобы выразить их в кГц.

hold on
plot(t(t1),m1/1000,'linewidth',4)
plot(t(t2),m2/1000,'linewidth',4)
hold off

Figure contains an axes. The axes contains 3 objects of type image, line.

Создайте две секунды сигнала, дискретизированного на частоте 10 кГц. Укажите мгновенную частоту сигнала как треугольную функцию времени.

fs = 10e3;
t = 0:1/fs:2;
x1 = vco(sawtooth(2*pi*t,0.5),[0.1 0.4]*fs,fs);

Вычислите и постройте график спектрограммы сигнала. Используйте окно Кайзера длиной 256 и параметром формы β = 5. Укажите 220 образцов перекрытия сечения и 512 точек DFT. Постройте график частоты по оси Y. Используйте карту цветов и представление по умолчанию.

spectrogram(x1,kaiser(256,5),220,512,fs,'yaxis')

Figure contains an axes. The axes contains an object of type image.

Измените вид для отображения спектрограммы в виде графика водопада. Задайте для карты цветов значение bone.

view(-45,65)
colormap bone

Figure contains an axes. The axes contains an object of type surface.

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

свернуть все

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

Пример: cos(pi/4*(0:159))+randn(1,160) определяет синусоиду, встроенную в белый гауссов шум.

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

Окно, указанное как целое число или как вектор строки или столбца. Использовать window для разделения сигнала на сегменты:

  • Если window является целым числом, то spectrogram делится x в сегменты длины window и окна каждого сегмента с окном Хэмминга такой длины.

  • Если window является вектором, то spectrogram делится x на сегменты той же длины, что и вектор, и окна каждого сегмента с использованием window.

Если длина x не может быть разделен точно на целое число сегментов с noverlap перекрывающиеся выборки, затем x соответственно усекается.

При указании window как пустые, то spectrogram использует окно Хэмминга так, что x делится на восемь сегментов с noverlap перекрывающиеся выборки.

Список доступных окон см. в разделе Windows.

Пример: hann(N+1) и (1-cos(2*pi*(0:N)'/N))/2 оба задают окно Ганна длиной N  + 1.

Число перекрывающихся выборок, указанное как положительное целое число.

  • Если window является скалярным, то noverlap должно быть меньше, чем window.

  • Если window является вектором, то noverlap должно быть меньше длины window.

При указании noverlap как пустые, то spectrogram использует число, которое создает 50% перекрытия между сегментами. Если длина сегмента не указана, функция устанавливает noverlap к Nx/4.5 ⌋, где Nx - длина входного сигнала, а символы ⌊ ⌋ обозначают функцию пола.

Число точек DFT, указанное как положительный целочисленный скаляр. При указании nfft как пустые, то spectrogram устанавливает для параметра значение max (256, 2p), где p = ⌈ log2 Nw ⌉, символы ⌈ ⌉ обозначают функцию потолка, и

  • Nw = window если window является скаляром.

  • Nw = length(window) если window является вектором.

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

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

Циклические частоты, заданные как вектор. f должен иметь по крайней мере два элемента, поскольку в противном случае функция интерпретирует его как nfft. Единицы измерения f определяются частотой выборки, fs.

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

Диапазон частот для оценки ИПУ, указанный как 'onesided', 'twosided', или 'centered'. Для действительных сигналов значение по умолчанию: 'onesided'. Для сигналов со сложным значением значение по умолчанию - 'twosided', и указание 'onesided' приводит к ошибке.

  • 'onesided' - возвращает одностороннюю спектрограмму реального входного сигнала. Если nfft является четным, то ps имеет nfft/ 2 + 1 строк и вычисляется на интервале [0, δ] рад/выборка. Еслиnfft является нечетным, то ps имеетnfft + 1 )/2 строк и интервал равен [0, δ) рад/образец. При указанииfs, то интервалы соответственно [0, fs/ 2] циклы/единицу времени и [0 ,fs/ 2) циклы/единицу времени.

    Примечание

    Если для этого аргумента установлено значение 'onesided', spectrogram выводит значения в положительном диапазоне Найквиста и не сохраняет общую мощность.

  • 'twosided' - возвращает двустороннюю спектрограмму вещественного или комплексного сигнала. ps имеет nfft и вычисляется по интервалу [0, ) рад/выборка. При указании fs, то интервал равен [0, fs) циклов/единичного времени.

  • 'centered' - возвращает центрированную двустороннюю спектрограмму реального или комплексного сигнала. ps имеет nfft строк. Если nfft является четным, то ps вычисляется по интервалу (-δ, δ] рад/выборка. Если nfft является нечетным, то ps вычисляется по (-δ, δ) rad/sample. При указании fs, то интервалы соответственно (-fs/2, fs/ 2] циклов/единицы времени и (-fs/2, fs/ 2) циклы/единицу времени.

Масштабирование спектра мощности, указанное как 'psd' или 'power'.

  • Исключение spectrumtype, или указание 'psd'возвращает спектральную плотность мощности.

  • Определение 'power' масштабирует каждую оценку PSD на эквивалентную шумовую полосу окна. Результатом является оценка мощности на каждой частоте. Если 'reassigned' опция включена, функция интегрирует PSD по ширине каждого частотного элемента перед переназначением.

Ось отображения частоты, указанная как 'xaxis' или 'yaxis'.

  • 'xaxis' - отображает частоту по оси X и время по оси Y.

  • 'yaxis' - отображает частоту по оси Y и время по оси X.

Этот аргумент игнорируется при вызове spectrogram с выходными аргументами.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: spectrogram(x,100,'OutputTimeDimension','downrows') делится x на сегменты длиной 100 и окна каждый сегмент с хэмминговым окном такой длины Выход спектрограммы имеет временной размер вниз по строкам.

Пороговое значение, указанное как пара, разделенная запятыми, состоящая из MinThreshold и действительный скаляр, выраженный в децибелах. spectrogram устанавливает в нуль эти элементы s 10 log10 (s) ≤ thresh.

Измерение времени вывода, указанное как пара, разделенная запятыми, состоящая из OutputTimeDimension и acrosscolumns или downrows. Задайте для этого значения значение downrows, если требуется измерение времени s, ps, fc, и tc вниз по строкам и частотному размеру вдоль столбцов. Задайте для этого значения значение acrosscolumns, если требуется измерение времени s, ps, fc, и tc по столбцам и частотному измерению вдоль строк. Этот ввод игнорируется, если функция вызывается без выходных аргументов.

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

свернуть все

Кратковременное преобразование Фурье, возвращаемое в виде матрицы. Время увеличивается по столбцам s и частота увеличивается вниз по строкам, начиная с нуля.

  • Если x является сигналом длиной Nx, то s имеет k столбцов, где

    • k = ⌊ (Nx  -noverlap)/(window – noverlap) ⌋ еслиwindow является скаляром.

    • k = ⌊ (Nx  -noverlap)/(length(window) – noverlap) ⌋ еслиwindow является вектором.

  • Если x является реальным и nfft является четным, то s имеетnfft/ 2 + 1) строк.

  • Если x является реальным и nfft является нечетным, то s имеетnfft + 1 )/2 строки.

  • Если x является сложным, то s имеет nfft строк.

s не затрагивается 'reassigned' вариант.

Нормализованные частоты, возвращаемые в виде вектора. w имеет длину, равную числу строк s.

Моменты времени, возвращенные как вектор. Значения времени в t соответствуют средней точке каждого сегмента.

Циклические частоты, возвращаемые как вектор. f имеет длину, равную числу строк s.

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

  • Если x является реальным, то ps содержит одностороннюю модифицированную оценку периодограммы PSD или спектра мощности каждого сегмента.

  • Если x является комплексным или если задан вектор частот, то ps содержит двустороннюю модифицированную оценку периодограммы PSD или спектра мощности каждого сегмента.

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

Совет

Если кратковременное преобразование Фурье имеет нули, его преобразование в децибелы приводит к отрицательным бесконечностям, которые невозможно построить. Чтобы избежать этой потенциальной сложности, spectrogram добавляет eps к кратковременному преобразованию Фурье при его вызове без выходных аргументов.

Ссылки

[1] Оппенгейм, Алан В., Рональд В. Шефер и Джон Р. Бак. Дискретно-временная обработка сигналов. 2-я эд. река Верхнее Седло, Нью-Джерси: Прентис Холл, 1999.

[2] Рабинер, Лоуренс Р. и Рональд В. Шефер. Цифровая обработка речевых сигналов. Энглвуд Клиффс, Нью-Джерси: Прентис-Холл, 1978.

[3] Шассанде-Мотен, Эрик, Франсуа Оже и Патрик Фландрин. «Переназначение». В частотно-временном анализе: концепции и методы. Под редакцией Франца Хлаватша и Франсуа Оже. Лондон: ISTE/John Wiley and Sons, 2008.

[4] Фулоп, Шон А. и Келли Фитц. «Алгоритмы для вычисления временной мгновенной частотной (переназначенной) спектрограммы с приложениями». Журнал Акустического общества Америки. том 119 , январь 2006, стр. 360-371.

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

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