deconv
Обратное преобразование свертки (деконволюция) методом полиномиального деления.
| Библиотека |
|
Синтаксис
Вызов функции
-
x,r = deconv(y,h)— восстанавливает векторhиз сверткиy(выполняет деконволюцию) с помощью полиномиального деления столбиком и возвращает частноеxи остатокrтакие, чтоy = conv(x,h) + r. Еслиyиh— векторы полиномиальных коэффициентов, то их деконволюция эквивалентна делению полинома, представленного векторомy, на полином, представленный векторомh.
Аргументы
Входные аргументы
#
y —
входной сигнал для деконволюции
вектор
Details
Входной сигнал для деконволюции, заданный как вектор-строка или вектор-столбец.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
h —
импульсная характеристика или фильтр, используемый для деконволюции
вектор
Details
Импульсная характеристика или фильтр, используемый для деконволюции, заданный как вектор-строка или вектор-столбец. Векторы y и h могут иметь разную длину и тип данных.
-
Если один или оба вектора
yиhимеют типFloat32, то выходные векторы также имеют типFloat32. В противном случае выходные векторы имеют типFloat64. -
Длины входных векторов должны удовлетворять условию
length(h) <= length(y). Однако, еслиlength(h) > length(y), то функцияdeconvвозвращает выходные аргументы в видеx = 0иr = y.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Примеры
Полиномиальное деление
Details
Создадим два вектора y и h, содержащие коэффициенты многочленов и соответственно. Разделим первый многочлен на второй, выполнив деконволюцию вектора h из вектора y. В результате деконволюции получим коэффициенты частного, соответствующие многочлену , и коэффициенты остатка, соответствующие многочлену .
import EngeeDSP.Functions: deconv
y = [2 7 4 9]
h = [1 0 1]
x, r = deconv(y, h)
([2.0 7.0], [0.0 0.0 2.0 2.0])
Литература
-
Nagy, James G. «Fast Inverse QR Factorization for Toeplitz Matrices.» SIAM Journal on Scientific Computing 14, no. 5 (September 1993): 1174–93. https://doi.org/10.1137/0914070.