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. При запуске и инициализации Octave, библиотеки FFTW считывают системный файл (в системе 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)
-
Свернуть два вектора, используя FFT для вычислений.
c = fftconv (x, y)возвращает вектор длиной, равнойlength (x) + length (y) - 1. Если x и y являются векторами коэффициентов двух полиномов, возвращаемое значение — это вектор коэффициентов произведения полиномов.Вычисление использует FFT, вызывая функцию
fftfilt. Если указан необязательный аргумент n, используется FFT с N точками.
- fftfilt (b, x)
- fftfilt (b, x, n)
-
Фильтр x с помощью FIR-фильтра b с использованием FFT.
Если x является матрицей, фильтруется каждый столбец матрицы.
При наличии необязательного третьего аргумента n,
fftfiltиспользует метод перекрытия-сложения для фильтрации x с помощью b с использованием FFT с N точками. Размер FFT должен быть чётной степенью 2 и должен быть больше или равен длине 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-D к данным 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=length(a)-1 и M=length(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-D 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 имеет значение true, вектор частот w выражен в единицах нормированных радиан. Если freq_norm имеет значение false или не указан, то 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 минус функция распределения этого распределения в 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.
Для определения окна Бартлетта см., например, А.В. Опенгейм и Р.В. Шафер, Цифровая обработка сигналов во временной области.
- blackman (m)
- blackman (m, "periodic")
- blackman (m, "symmetric")
-
Возвращает коэффициенты фильтра окна Блэкмана длиной m.
Если необязательный аргумент
"periodic"задан, возвращается периодическая форма окна. Это эквивалентно окну длиной m+1 с удалённым последним коэффициентом. Необязательный аргумент"symmetric"эквивалентен отсутствию второго аргумента.Для определения окна Блэкмана см., например, А.В. Опенгейм и Р.В. Шафер, Цифровая обработка сигналов во временной области.
- 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.
Ссылка: П. Дж. Броквелл и Р. А. Дэвис. Временные ряды: теория и методы. 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] = periodogram (x)
- [Pxx, w] = periodogram (x, win)
- [Pxx, w] = periodogram (x, win, nfft)
- [Pxx, f] = periodogram (x, win, nfft, Fs)
- [Pxx, f] = periodogram (…, "range")
- periodogram (…)
-
Возвращает периодограмму (спектр мощности) 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
"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.
- sinetone (freq, rate, sec, ampl)
-
Возвращает синусоидальный тон частоты freq длиной sec секунд с частотой дискретизации rate и амплитудой ampl.
Аргументы freq и ampl могут быть векторами с одинаковым размером.
Значения по умолчанию: rate = 8000, sec = 1, и ampl = 64.
См. также: sinewave.
- 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 = synthesis (y, c)
-
Вычислить сигнал по его кратковременной фурье-трансформации y и 3-элементному вектору c, определяющему размер окна, приращение и тип окна.
Значения y и c могут быть получены с помощью
[y, c] = stft (x , …)
См. также: stft.
- [a, v] = yulewalker (c)
-
Приблизить модель АР (p) с оценками Юла-Уокера, заданными вектором c автоковариаций
[gamma_0, …, gamma_p].Возвращает коэффициенты АР, 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/v5.2.0/Signal-Processing.html