Spec-Zone.ru › Octave 7

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, fft2, fftn, fftw.

: 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.

См. также: fft, ifft2, ifftn, fftw.

: fft2 (A) ¶
: fft2 (A, m, n) ¶

Вычисляет двумерное дискретное преобразование Фурье A с использованием алгоритма быстрого преобразования Фурье (FFT).

Необязательные аргументы m и n могут использоваться для указания количества строк и столбцов A для использования. Если любой из них больше размера A, A изменяется в размере и дополняется нулями.

Если A является многомерной матрицей, каждая двумерная подматрица A обрабатывается отдельно.

См. также: ifft2, fft, fftn, fftw.

: ifft2 (A) ¶
: ifft2 (A, m, n) ¶

Вычисляет обратное двумерное дискретное преобразование Фурье A с использованием алгоритма быстрого преобразования Фурье (FFT).

Необязательные аргументы m и n могут использоваться для указания количества строк и столбцов A для использования. Если любой из них больше размера A, A изменяется в размере и дополняется нулями.

Если A является многомерной матрицей, каждая двумерная подматрица A обрабатывается отдельно.

См. также: fft2, ifft, ifftn, fftw.

: fftn (A) ¶
: fftn (A, size) ¶

Вычисляет N-мерное дискретное преобразование Фурье A с использованием алгоритма быстрого преобразования Фурье (FFT).

Необязательный векторный аргумент size может использоваться для указания размерностей массива, который будет использоваться. Если элемент size меньше соответствующей размерности A, то размерность A усекается до выполнения FFT. В противном случае, если элемент size больше соответствующей размерности, то A изменяется в размере и дополняется нулями.

См. также: ifftn, fft, fft2, fftw.

: ifftn (A) ¶
: ifftn (A, size) ¶

Вычисляет обратное N-мерное дискретное преобразование Фурье A с использованием алгоритма быстрого преобразования Фурье (FFT).

Необязательный векторный аргумент size может использоваться для указания размерностей массива, который будет использоваться. Если элемент size меньше соответствующей размерности A, то размерность A усекается до выполнения обратного FFT. В противном случае, если элемент size больше соответствующей размерности, то A изменяется в размере и дополняется нулями.

См. также: fftn, ifft, ifft2, fftw.

Octave использует библиотеки FFTW для выполнения вычислений FFT. Когда Octave запускается и инициализирует библиотеки FFTW, они считывают общесистемный файл (в Unix-системах это обычно /etc/fftw/wisdom), который содержит информацию, полезную для ускорения вычислений FFT. Эта информация называется wisdom. Общесистемный файл позволяет обмениваться wisdom между всеми приложениями, использующими библиотеки FFTW.

Используйте функцию fftw для генерации и сохранения wisdom. Используя утилиты, предоставляемые вместе с библиотеками FFTW (fftw-wisdom в Unix-системах), вы можете даже добавить wisdom, сгенерированный Octave, в общесистемный файл wisdom.

: method = fftw ("planner") ¶
: fftw ("planner", method) ¶
: wisdom = fftw ("dwisdom") ¶
: fftw ("dwisdom", wisdom) ¶
: fftw ("threads", nthreads) ¶
: nthreads = fftw ("threads") ¶

Управление данными «мудрости» FFTW.

Данные «мудрости» могут быть использованы для существенного ускорения вычисления БПФ, но предполагают начальные затраты на их вычисление. При инициализации библиотек 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 для этого функционала. По умолчанию используется количество процессоров, доступных текущему процессу.

См. также: fft, ifft, fft2, ifft2, fftn, ifftn.

: fftconv (x, y) ¶
: fftconv (x, y, n) ¶

Вычисление свертки двух векторов с помощью БПФ.

c = fftconv (x, y) возвращает вектор длиной, равной length (x) + length (y) - 1. Если x и y являются векторами коэффициентов двух многочленов, возвращаемое значение является вектором коэффициентов произведения многочленов.

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

См. также: deconv, conv, conv2.

: fftfilt (b, x) ¶
: fftfilt (b, x, n) ¶

Фильтрация x с помощью FIR-фильтра b с использованием БПФ.

Если x является матрицей, фильтруется каждый столбец матрицы.

При наличии необязательного третьего аргумента n, fftfilt использует метод наложения-складывания для фильтрации x с помощью b с использованием БПФ размера N. Размер БПФ должен быть чётной степенью 2 и должен быть больше или равен длине b. Если указанное n не удовлетворяет этим критериям, оно автоматически корректируется до ближайшего значения, которое удовлетворяет.

См. также: filter, filter2.

: 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=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

См. также: filter2, fftfilt, freqz.

: 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 имеет значение 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 выводится на экран.

: 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. Time Series: Theory and Methods. 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, Discrete-Time Signal Processing.

: hanning (m) ¶
: hanning (m, "periodic") ¶
: hanning (m, "symmetric") ¶

Возвращает коэффициенты фильтра окна Ханнинга длины m.

Если необязательный аргумент "periodic" задан, возвращается периодическая форма окна. Это эквивалентно окну длины m+1 с удаленным последним коэффициентом. Необязательный аргумент "symmetric" эквивалентен отсутствию второго аргумента.

Для определения окна Ханнинга см., например, A.V. Oppenheim & R. W. Schafer, Discrete-Time Signal Processing.

: 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.

См. также: spline, ppval, mkpp, unmkpp.

: [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/v7.2.0/Signal-Processing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API