31 Обработка сигналов
В этом разделе описаны функции обработки сигналов и быстрого преобразования Фурье, доступные в Octave. Быстрое преобразование Фурье вычисляется с помощью библиотек FFTW или FFTPACK в зависимости от того, как скомпилирована Octave.
- : fft (x)
- : fft (x, n)
- : fft (x, n, dim)
-
Вычислить дискретное преобразование Фурье x с помощью алгоритма быстрого преобразования Фурье (FFT).
FFT вычисляется по первому неединичному измерению массива. Таким образом, если x — это матрица,
fft (x)вычисляет FFT для каждого столбца x.Если вызывается с двумя аргументами, n ожидается как целое число, определяющее количество элементов x для использования, или пустая матрица для указания, что его значение должно быть проигнорировано. Если n больше размерности, по которой вычисляется FFT, то x изменяется в размерах и дополняется нулями. В противном случае, если n меньше размерности, по которой вычисляется FFT, то x усекается.
Если вызывается с тремя аргументами, dim — это целое число, определяющее размерность матрицы, по которой выполняется FFT.
- : ifft (x)
- : ifft (x, n)
- : ifft (x, n, dim)
-
Вычислить обратное дискретное преобразование Фурье x с помощью алгоритма быстрого преобразования Фурье (FFT).
Обратное FFT вычисляется по первому неединичному измерению массива. Таким образом, если x — это матрица,
fft (x)вычисляет обратное FFT для каждого столбца x.Если вызывается с двумя аргументами, n ожидается как целое число, определяющее количество элементов x для использования, или пустая матрица для указания, что его значение должно быть проигнорировано. Если n больше размерности, по которой вычисляется обратное FFT, то x изменяется в размерах и дополняется нулями. В противном случае, если n меньше размерности, по которой вычисляется обратное FFT, то x усекается.
Если вызывается с тремя аргументами, dim — это целое число, определяющее размерность матрицы, по которой выполняется обратное FFT.
- : fft2 (A)
- : fft2 (A, m, n)
-
Вычислить двумерное дискретное преобразование Фурье A с помощью алгоритма быстрого преобразования Фурье (FFT).
Дополнительные аргументы m и n могут быть использованы для определения количества строк и столбцов A для использования. Если какой-либо из них больше размера A, A изменяется в размерах и дополняется нулями.
Если A — это многомерная матрица, каждая двумерная подматрица A обрабатывается отдельно.
- : ifft2 (A)
- : ifft2 (A, m, n)
-
Вычислить обратное двумерное дискретное преобразование Фурье A с помощью алгоритма быстрого преобразования Фурье (FFT).
Дополнительные аргументы m и n могут быть использованы для определения количества строк и столбцов A для использования. Если какой-либо из них больше размера A, A изменяется в размерах и дополняется нулями.
Если A — это многомерная матрица, каждая двумерная подматрица A обрабатывается отдельно.
- : fftn (A)
- : fftn (A, size)
-
Вычислить N-мерное дискретное преобразование Фурье A с помощью алгоритма быстрого преобразования Фурье (FFT).
Дополнительный векторный аргумент size может быть использован для определения размеров массива для использования. Если элемент size меньше соответствующего измерения A, то измерение A усекается перед выполнением FFT. В противном случае, если элемент size больше соответствующего измерения, то A изменяется в размерах и дополняется нулями.
- : ifftn (A)
- : ifftn (A, size)
-
Вычислить обратное N-мерное дискретное преобразование Фурье A с помощью алгоритма быстрого преобразования Фурье (FFT).
Дополнительный векторный аргумент size может быть использован для определения размеров массива для использования. Если элемент size меньше соответствующего измерения A, то измерение A усекается перед выполнением обратного FFT. В противном случае, если элемент size больше соответствующего измерения, то A изменяется в размерах и дополняется нулями.
Octave использует библиотеки FFTW для выполнения вычислений FFT. При запуске и инициализации библиотек FFTW в Octave они считывают системный файл (в Unix-системе, обычно /etc/fftw/wisdom), содержащий информацию, полезную для ускорения вычислений FFT. Эта информация называется мудростью. Системный файл позволяет обмениваться мудростью между всеми приложениями, использующими библиотеки FFTW.
Используйте функцию fftw для генерации и сохранения мудрости. С помощью утилит, поставляемых вместе с библиотеками FFTW (fftw-wisdom в Unix-системах), вы даже можете добавить мудрость, сгенерированную Octave, в системный файл мудрости.
- : method = fftw ("planner")
- : fftw ("planner", method)
- : wisdom = fftw ("dwisdom")
- : fftw ("dwisdom", wisdom)
- : fftw ("threads", nthreads)
- : nthreads = fftw ("threads")
-
Управление данными мудрости FFTW.
Данные мудрости могут быть использованы для существенного ускорения вычислений FFT, но подразумевают начальные затраты на их вычисление. При инициализации библиотек FFTW они считывают системный файл мудрости (обычно в /etc/fftw/wisdom), что позволяет обмениваться мудростью между приложениями помимо Octave. В качестве альтернативы можно использовать функцию
fftw, чтобы импортировать мудрость. Например,wisdom = fftw ("dwisdom")сохранит используемую Octave мудрость в строке wisdom. Затем эту строку можно сохранить в файл и восстановить с помощью команд
saveиloadсоответственно. Эту существующую мудрость можно повторно импортировать следующим образомfftw ("dwisdom", wisdom)Если wisdom — пустая строка, то мудрость сброшена.
Во время вычисления преобразований Фурье генерируется дополнительная мудрость. Способ, которым генерируется эта мудрость, также управляется функцией
fftw. Существует пять различных способов обработки мудрости:"estimate"-
Указывает, что не производится измерительного определения оптимального способа вычисления конкретного, и используется простой эвристический способ для выбора (возможно, неоптимального) плана. Преимущество этого метода заключается в том, что есть мало или нет накладных расходов на создание плана, что подходит для преобразования Фурье, которое будет вычислено один раз.
"measure"-
В этом случае рассматривается ряд алгоритмов для выполнения преобразования, и выбирается лучший на основе времени выполнения.
"patient"-
Аналогично
"measure", но рассматривается более широкий спектр алгоритмов. "exhaustive"-
Как
"measure", но рассматриваются все возможные алгоритмы, которые могут быть использованы для обработки преобразования. "hybrid"Поскольку измерение времени выполнения алгоритма может быть дорогостоящим, это компромисс, где
"measure"используется для преобразований до размера 8192, а свыше этого используется метод"estimate".
По умолчанию используется
"estimate". Текущий метод можно запросить с помощьюmethod = fftw ("planner")или установить с помощью
fftw ("planner", method)Обратите внимание, что вычисленная мудрость будет потеряна при перезапуске Octave. Однако данные мудрости могут быть загружены повторно, если они сохранены в файле, как описано выше. Сохраненные файлы мудрости не следует использовать на разных платформах, так как они не будут эффективными, и цель вычисления мудрости теряется.
Количество потоков, используемых для вычисления планов и выполнения преобразований, можно установить с помощью
fftw ("threads", NTHREADS)Обратите внимание, что Octave необходимо скомпилировать с поддержкой многопоточных FFTW для этой функции. По умолчанию используется количество процессоров, доступных текущему процессу.
- : fftconv (x, y)
- : fftconv (x, y, n)
-
Свернуть два вектора, используя БПФ для вычислений.
c = fftconv (x, y)возвращает вектор длиной, равнойlength (x) + length (y) - 1. Если x и y — векторы коэффициентов двух многочленов, возвращаемое значение — вектор коэффициентов произведения многочленов.Вычисление использует БПФ, вызывая функцию
fftfilt. Если указан необязательный аргумент n, используется БПФ с размером N.
- : fftfilt (b, x)
- : fftfilt (b, x, n)
-
Фильтровать x с помощью FIR-фильтра b, используя БПФ.
Если x — матрица, фильтруется каждый столбец матрицы.
При наличии необязательного третьего аргумента n,
fftfiltиспользует метод перекрытия-сложения для фильтрации x с помощью b с использованием БПФ размера N. Размер БПФ должен быть чётной степенью двойки и должен быть больше или равен длине b. Если указанное n не удовлетворяет этим критериям, оно автоматически корректируется до ближайшего значения, которое удовлетворяет им.
- : y = filter (b, a, x)
- : [y, sf] = filter (b, a, x, si)
- : [y, sf] = filter (b, a, x, [], dim)
- : [y, sf] = filter (b, a, x, si, dim)
-
Применить 1-мерный цифровой фильтр к данным x.
filterвозвращает решение следующего линейного, инвариантного во времени разностного уравнения:N M SUM a(k+1) y(n-k) = SUM b(k+1) x(n-k) for 1<=n<=length(x) k=0 k=0
где N = длина(a) - 1 и M = длина(b) - 1. Результат вычисляется по первому несингулярному измерению x или по dim, если он указан.
Эквивалентная форма уравнения:
N M y(n) = - SUM c(k+1) y(n-k) + SUM d(k+1) x(n-k) for 1<=n<=length(x) k=1 k=0где c = a/a(1) и d = b/a(1).
Если четвёртый аргумент si указан, он принимается как начальное состояние системы, а конечное состояние возвращается как sf. Вектор состояния — это столбец, длина которого равна длине самого длинного вектора коэффициентов минус один. Если si не указан, начальный вектор состояния устанавливается равным нулю.
В терминах преобразования Z, y — результат пропуска дискретного сигнала x через систему, характеризуемую следующей рациональной функцией системы:
M SUM d(k+1) z^(-k) k=0 H(z) = --------------------- N 1 + SUM c(k+1) z^(-k) k=1
- : y = filter2 (b, x)
- : y = filter2 (b, x, shape)
-
Применить 2-мерный FIR-фильтр b к x.
Если аргумент shape указан, возвращает массив с желаемой формой. Возможные значения:
"full"-
дополнить x нулями со всех сторон перед фильтрацией.
"same"-
недополненный x (по умолчанию)
"valid"обрезать x после фильтрации, чтобы исключить краевые эффекты.
Обратите внимание, что это всего лишь вариация свёртки, с перевернутыми параметрами и повернутым b на 180 градусов.
См. также: conv2.
- : [h, w] = freqz (b, a, n, "whole")
- : [h, w] = freqz (b)
- : [h, w] = freqz (b, a)
- : [h, w] = freqz (b, a, n)
- : h = freqz (b, a, w)
- : [h, w] = freqz (…, Fs)
- : freqz (…)
-
Возвращает комплексное частотное отклики h рационального IIR-фильтра, коэффициенты числителя и знаменателя которого соответственно b и a.
Отклик вычисляется в n угловых частотах от 0 до 2*pi.
Выходное значение w — вектор частот.
Если a опущено, знаменатель предполагается равным 1 (это соответствует простому FIR-фильтру).
Если n опущено, используется значение 512. Для наибыстрейшего вычисления n должно быть произведением малого числа малых простых чисел.
Если четвёртый аргумент,
"whole", опущен, отклик вычисляется в частотах от 0 до pi.freqz (b, a, w)Вычислить отклик в заданных частотах в векторе w. Значения w измеряются в радианах.
[…] = freqz (…, Fs)Возвратить частоты в Гц, предполагая частоту дискретизации Fs. Если вы вычисляете отклик в заданных частотах w, эти частоты должны быть запрошены в Гц, а не в радианах.
freqz (…)Построить график амплитудно-частотной и фазочастотной характеристик h, а не возвращать их.
См. также: freqz_plot.
- : freqz_plot (w, h)
- : freqz_plot (w, h, freq_norm)
-
Построить график амплитудно-частотной и фазочастотной характеристик h.
Если необязательный аргумент freq_norm истинен, вектор частот w имеет единицы нормированных радиан. Если freq_norm ложен или не задан, то w измеряется в Герцах.
См. также: freqz.
- : sinc (x)
-
Вычислить функцию sinc.
Возвращает sin (pi*x) / (pi*x).
- : b = unwrap (x)
- : b = unwrap (x, tol)
- : b = unwrap (x, tol, dim)
-
Разархивировать фазы в радианах, добавляя или вычитая кратные 2*pi при необходимости, чтобы удалить скачки, превышающие tol.
tol по умолчанию равен pi.
Разархивирование будет выполняться вдоль измерения dim. Если dim не указан, он по умолчанию равен первому несингулярному измерению.
- : [a, b] = arch_fit (y, x, p, iter, gamma, a0, b0)
-
Подогнать модель ARCH-регрессии к временным рядам y, используя алгоритм оценки в оригинальной статье Энгеля о ARCH.
Модель:
y(t) = b(1) * x(t,1) + … + b(k) * x(t,k) + e(t), h(t) = a(1) + a(2) * e(t-1)^2 + … + a(p+1) * e(t-p)^2
где e(t) — N(0, h(t)), учитывая вектор временного ряда y до времени t-1 и матрицу (обычных) регрессоров x до t. Порядок регрессии дисперсии остатков задаётся p.
Если вызвана как
arch_fit (y, k, p)с положительным целым k, подогнать ARCH(k, p) процесс, т.е., выполнить вышеуказанное с t-й строкой x заданной как[1, y(t-1), …, y(t-k)]
Необязательно можно указать количество итераций iter, фактор обновления gamma и начальные значения a0 и b0 для алгоритма оценки.
- : arch_rnd (a, b, t)
-
Имитировать последовательность ARCH длиной t с коэффициентами AR b и CH-коэффициентами a.
Результат y(t) соответствует модели
y(t) = b(1) + b(2) * y(t-1) + … + b(lb) * y(t-lb+1) + e(t),
где e(t), при условии y до времени t-1, — N(0, h(t)), с
h(t) = a(1) + a(2) * e(t-1)^2 + … + a(la) * e(t-la+1)^2
- : [pval, lm] = arch_test (y, x, p)
-
Для линейной регрессионной модели
y = x * b + e
выполнить тест Лагранжа Мультипликатора (LM) нулевой гипотезы отсутствия условной гетероскедастичности против альтернативы CH(p).
т.е., модель
y(t) = b(1) * x(t,1) + … + b(k) * x(t,k) + e(t),
при условии y до t-1 и x до t, e(t) — N(0, h(t)) с
h(t) = v + a(1) * e(t-1)^2 + … + a(p) * e(t-p)^2,
и нулевая гипотеза — a(1) == … == a(p) == 0.
Если второй аргумент — скалярное целое число k, выполнить тот же тест в линейной модели авторегрессии порядка k, т.е. с
[1, y(t-1), …, y(t-k)]
в качестве t-й строки x.
При нулевой гипотезе LM приблизительно имеет распределение хи-квадрат со степенями свободы p, и pval — p-значение (1 минус CDF этого распределения в LM) теста.
Если аргументы вывода не указаны, выводится p-значение.
- : arma_rnd (a, b, v, t, n)
-
Возвращает имитацию модели ARMA.
Модель ARMA определяется как
x(n) = a(1) * x(n-1) + … + a(k) * x(n-k) + e(n) + b(1) * e(n-1) + … + b(l) * e(n-l)где k — длина вектора a, l — длина вектора b, а e — гауссовский белый шум с дисперсией v. Функция возвращает вектор длиной t.
Необязательный параметр n задаёт количество фиктивных x(i), используемых для инициализации, т.е. генерируется последовательность длиной t+n, и возвращается x(n+1:t+n). Если n опущен, n = 100.
- : autoreg_matrix (y, k)
-
По заданному временному ряду (вектору) y, вернуть матрицу с единицами в первом столбце и первыми k запаздывающими значениями y в других столбцах.
Другими словами, для t > k,
[1, y(t-1), …, y(t-k)]является t-й строкой результата.Полученная матрица может быть использована как матрица регрессоров в авторегрессиях.
- : bartlett (m)
-
Возвращает коэффициенты фильтра Блатта (треугольного) окна длиной m.
Для определения окна Блатта см., например, A.V. Oppenheim & R. W. Schafer, Цифровая обработка сигналов.
- : blackman (m)
- : blackman (m, "periodic")
- : blackman (m, "symmetric")
-
Возвращает коэффициенты фильтра окна Блэкмана длиной m.
Если необязательный аргумент
"periodic"задан, возвращается периодическая форма окна. Это эквивалентно окну длиной m+1 с удаленным последним коэффициентом. Необязательный аргумент"symmetric"эквивалентен отсутствию второго аргумента.Для определения окна Блэкмана см., например, A.V. Oppenheim & R. W. Schafer, Цифровая обработка сигналов.
- : detrend (x, p)
-
Если x — вектор,
detrend (x, p)удаляет наилучшую аппроксимацию полинома степени p из данных x.Если x — матрица,
detrend (x, p)делает то же самое для каждого столбца в x.Второй аргумент p необязателен. Если он не указан, предполагается значение 1. Это соответствует удалению линейной тенденции.
Степень полинома также может быть задана в виде строки, в этом случае p должен быть либо
"constant"(соответствуетp=0) или"linear"(соответствуетp=1).См. также: polyfit.
- : [d, dd] = diffpara (x, a, b)
-
Возвращает оценку d для параметра дифференцирования интегрированного временного ряда.
Для оценки используются частоты от [2*pi*a/t, 2*pi*b/T]. Если b опущено, используется интервал [2*pi/T, 2*pi*a/T]. Если оба b и a опущены, используется a = 0.5 * sqrt (T) и b = 1.5 * sqrt (T), где T — размер выборки. Если x является матрицей, параметр дифференцирования для каждого столбца оценивается.
Оценки для всех частот в указанных интервалах возвращаются в dd.
Значение d просто является средним значением dd.
Ссылка: P.J. Brockwell & R.A. Davis. Временные ряды: Теория и методы. Springer 1987.
- : durbinlevinson (c, oldphi, oldv)
-
Выполнить один шаг алгоритма Дарбина-Левинсона.
Вектор c задаёт автоковариации
[gamma_0, …, gamma_t]от лага 0 до t, oldphi задаёт коэффициенты, основанные на c(t-1), а oldv задаёт соответствующую ошибку.Если oldphi и oldv опущены, выполняются все шаги с 1 до t алгоритма.
- : fftshift (x)
- : fftshift (x, dim)
-
Выполнить сдвиг вектора x для использования с функциями
fftиifftс целью перемещения частоты 0 в центр вектора или матрицы.Если x — вектор из N элементов, соответствующих N отсчётам во времени с шагом dt, то
fftshift (fft (x))соответствует частотамf = [ -(ceil((N-1)/2):-1:1), 0, (1:floor((N-1)/2)) ] * df
где df = 1 / (N * dt).
Если x — матрица, то же самое справедливо для строк и столбцов. Если x — массив, то же самое справедливо для каждой размерности.
Необязательный аргумент dim может быть использован для ограничения размерности, по которой происходит перестановка.
См. также: ifftshift.
- : ifftshift (x)
- : ifftshift (x, dim)
-
Отменить действие функции
fftshift.Для чётной длины x,
fftshiftявляется собственным обратным, но для нечётных длин есть небольшое различие.См. также: fftshift.
- : fractdiff (x, d)
Вычислить дробные разности (1-L)^d x, где L обозначает оператор запаздывания, а d больше -1.
- : hamming (m)
- : hamming (m, "periodic")
- : hamming (m, "symmetric")
-
Возвращает коэффициенты фильтра окна Хэмминга длиной m.
Если необязательный аргумент
"periodic"задан, возвращается периодическая форма окна. Это эквивалентно окну длиной m+1 с удаленным последним коэффициентом. Необязательный аргумент"symmetric"эквивалентен отсутствию второго аргумента.Для определения окна Хэмминга см., например, A.V. Oppenheim & R. W. Schafer, Цифровая обработка сигналов.
- : hanning (m)
- : hanning (m, "periodic")
- : hanning (m, "symmetric")
-
Возвращает коэффициенты фильтра окна Хэннинга длиной m.
Если необязательный аргумент
"periodic"задан, возвращается периодическая форма окна. Это эквивалентно окну длиной m+1 с удаленным последним коэффициентом. Необязательный аргумент"symmetric"эквивалентен отсутствию второго аргумента.Для определения окна Хэннинга см., например, A.V. Oppenheim & R. W. Schafer, Цифровая обработка сигналов.
- : hurst (x)
-
Оценить параметр Хёрста выборки x с помощью статистики изменения масштаба.
Если x — матрица, параметр оценивается для каждого столбца.
- : pp = pchip (x, y)
- : yi = pchip (x, y, xi)
-
Возвращает полином кусочно-кубической интерполяции Эрмита (pchip) для точек x и y.
Если вызвана с двумя аргументами, возвращает кусочно-полиномиальную функцию pp, которая может быть использована с
ppvalдля вычисления полинома в определённых точках.При вызове с третьим входным аргументом,
pchipвычисляет полином pchip в точках xi. Третья форма вызова эквивалентнаppval (pchip (x, y), xi).Переменная x должна быть строго монотонным вектором (либо возрастающим, либо убывающим) длиной n.
y может быть вектором или массивом. Если y — вектор, он должен иметь ту же длину n, что и x. Если y — массив, размер y должен иметь вид
[s1, s2, …, sk, n]. Массив преобразуется внутри в матрицу, где ведущая размерность задаётсяs1 * s2 * … * sk, а затем каждая строка этой матрицы обрабатывается отдельно. Обратите внимание, что это прямо противоположноinterp1, но делается для совместимости с MATLAB.
- : [Pxx, w] = спектрограмма (x)
- : [Pxx, w] = спектрограмма (x, win)
- : [Pxx, w] = спектрограмма (x, win, nfft)
- : [Pxx, f] = спектрограмма (x, win, nfft, Fs)
- : [Pxx, f] = спектрограмма (…, "range")
- : спектрограмма (…)
-
Возвращает спектрограмму (Плотность спектральной мощности) сигнала x.
Возможные входные данные:
- x
-
вектор данных. Если x вещественный, оценивается односторонняя спектральная плотность. Если x комплексный, или
"range"указывает"twosided", оценивается полный спектр. - win
-
вектор оконных весов. Если окно пустое или не указано, используется прямоугольное окно по умолчанию. В противном случае, окно применяется к сигналу (
x .* win) перед вычислением спектрограммы. Данные окна должны быть вектором той же длины, что и x. - nfft
-
количество частотных бинов. По умолчанию 256 или ближайшая более высокая степень двойки, большая чем длина x (
max (256, 2.^nextpow2 (length (x)))). Если nfft больше длины входных данных, то x будет дополнен нулями до длины nfft. - Fs
-
частота дискретизации. По умолчанию 1.
- range
диапазон спектра.
"onesided"вычисляет спектр от [0:nfft/2+1]."twosided"вычисляет спектр от [0:nfft-1].
Дополнительный второй выход w — это нормированные угловые частоты. Для одностороннего вычисления w находится в диапазоне [0, pi], если nfft чётное, и [0, pi), если nfft нечётное. Аналогично, для двустороннего вычисления w находится в диапазоне [0, 2*pi] или [0, 2*pi), в зависимости от nfft.
Если указана частота дискретизации, Fs, то выходные частоты f будут находиться в диапазоне [0, Fs/2] или [0, Fs/2) для односторонних вычислений. Для двусторонних вычислений диапазон будет [0, Fs).
При вызове без выходных данных спектрограмма сразу же отображается в текущем окне графика.
См. также: fft.
- : синусоидальный тон (freq, rate, sec, ampl)
-
Возвращает синусоидальный тон с частотой freq, длительностью sec секунд, частотой дискретизации rate и амплитудой ampl.
Аргументы freq и ampl могут быть векторами одинаковой размерности.
По умолчанию rate = 8000, sec = 1, и ampl = 64.
См. также: sinewave.
- : синусоидальная волна (m, n, d)
-
Возвращает вектор длиной m с i-м элементом, заданным
sin (2 * pi * (i+d-1) / n).Значение по умолчанию для d равно 0, а значение по умолчанию для n равно m.
См. также: sinetone.
- : spectral_adf (c)
- : spectral_adf (c, win)
- : spectral_adf (c, win, b)
-
Возвращает оценщик спектральной плотности, заданный вектором автоковариаций c, именем окна win и шириной полосы b.
Имя окна, например,
"triangle"или"rectangle", используется для поиска функцииwin_lw.Если win опущено, используется треугольное окно.
Если b опущено, используется
1 / sqrt (length (x)).См. также: spectral_xdf.
- : spectral_xdf (x)
- : spectral_xdf (x, win)
- : spectral_xdf (x, win, b)
-
Возвращает оценщик спектральной плотности, заданный вектором данных x, именем окна win и шириной полосы b.
Имя окна, например,
"triangle"или"rectangle", используется для поиска функцииwin_sw.Если win опущено, используется треугольное окно.
Если b опущено, используется
1 / sqrt (length (x)).См. также: spectral_adf.
- : Spencer (x)
Возвращает 15-точечную скользящую среднюю Спенсера для каждого столбца x.
- : y = STFT (x)
- : y = STFT (x, win_size)
- : y = STFT (x, win_size, inc)
- : y = STFT (x, win_size, inc, num_coef)
- : y = STFT (x, win_size, inc, num_coef, win_type)
- : [y, c] = STFT (…)
-
Вычисляет кратковременное преобразование Фурье вектора x с num_coef коэффициентами, применяя окно размера win_size и шаг inc.
Перед вычислением преобразования Фурье применяется одно из следующих окон:
"hanning"-
win_type = 1
"hamming"-
win_type = 2
"rectangle"win_type = 3
Имена окон могут быть переданы в виде строк или числом win_type.
По умолчанию используются следующие значения: win_size = 80, inc = 24, num_coef = 64, и win_type = 1.
y = stft (x, …)возвращает модули коэффициентов Фурье по положительным частотам согласно num_coef.[y, c] = stft (x, …)возвращает полную матрицу STFT y и 3-элементный вектор c, содержащий размер окна, шаг и тип окна, необходимый для функцииsynthesis.См. также: synthesis.
- : x = синтез (y, c)
-
Вычисляет сигнал по его кратковременному преобразованию Фурье y и 3-элементному вектору c, определяющему размер окна, шаг и тип окна.
Значения y и c могут быть получены посредством
[y, c] = stft (x , …)
См. также: stft.
- : [a, v] = yulewalker (c)
-
Оценивает модель AR (p) с использованием оценок Юла-Уолкера на основе вектора c автоковариаций
[gamma_0, …, gamma_p].Возвращает коэффициенты AR, a, и дисперсию белого шума, v.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Signal-Processing.html