spectrogram

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

Описание

пример

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% перекрытия между смежными сечениями.

  • Для вычисления БПФ используйте max(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 частоты и (length(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 точек ДПФ и окно Хэмминга по умолчанию.

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 точек ДПФ.

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 точек ДПФ.

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 точки ДПФ. Постройте график спектрограммы.

[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 равноправных частотах в течение интервала (-π,π]. The '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, оконные окна Кайзера с параметром shape β=18.

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

  • Оцените спектр в 128/2=65 частоты и (length(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, оконные окна Кайзера с параметром shape β=18.

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

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

Вывод частоты и времени центра тяжести каждой оценки PSD. Установлено, чтобы нуль эти элементы 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 с параметром shape β=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.

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

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.

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

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 точек ДПФ. Постройте график частоты на оси 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 - длина входного сигнала, а ⌊ ⌋ символов обозначают функцию пола.

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

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

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

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

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

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

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

Частотная область значений для оценки PSD, заданный как '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 выводит значения в положительном диапазоне Nyquist и не сохраняет общую степень.

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

  • 'centered' - возвращает центрированную двустороннюю спектрограмму действительного или комплексного сигнала. ps имеет nfft строки. Если nfft даже, тогда ps вычисляется по интервалу (- π, π] рад/выборка. Если nfft нечетно, тогда ps вычисляется по (- π, π) рад/выборка. Если вы задаете 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 лог10 (s)  ≤ <reservedrangesplaceholder0>.

Выходная временная размерность, заданный как разделенная разделенными запятой парами, состоящая из 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)/( длина (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] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Обработка сигнала в дискретном времени. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.

[2] Рабинер, Лоуренс Р. и Рональд У. Шафер. Цифровая обработка речевых сигналов. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1978.

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

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

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

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