AnyMath 文档

[医]deconv

反向卷积变换(反卷积)通过 多项式除法。

库::`工程师`

语法

函数调用

* [参数:x],[参数:r]=deconv([参数:y],[参数:h]) -恢复矢量 [参数:h] 从捆绑 [参数:y] (执行反卷积)使用多项式列除法并返回商 [参数:x] 其余的 [参数:r] 这样, [参数:y]= conv的([参数:x],[参数:h]) + [参数:r]. 如果 [参数:y][参数:h] -多项式系数的向量,那么它们的反卷积相当于除以一个向量表示的多项式 [参数:y],在由向量表示的多项式上 [参数:h].

争论

输入参数

# *y*是 用于反卷积的输入信号

+ 向量资料

Details

用于去卷积的输入信号,指定为行向量或列向量。

数据类型

漂浮64, 漂浮物32</无翻译> 支持复数::是

# *h*是 用于反卷积的脉冲响应或滤波器

+ 向量资料

Details

用于去卷积的脉冲响应或滤波器被定义为行向量或列向量。 向量资料 [参数:y]h 它们可以具有不同的长度和数据类型。

*如果一个或两个向量 [参数:y]h 有一个类型 漂浮物32,那么输出向量也是类型的 漂浮物32. 否则,输出向量为类型 漂浮64.

*输入向量的长度必须满足条件 长度(h)⇐长度(<参数:y>>). 但是,如果 长度(h)>长度(<参数:y>>),则函数 *deconv* 返回表单中的输出参数 <参数:x>=0[参数:r]=<参数:y>>.

数据类型

漂浮64, 漂浮物32</无翻译> 支持复数::是

输出参数

# *x* — 从卷积或商中恢复的信号(除法的结果)

+ 向量资料

Details

从卷积(除法的结果)中恢复的信号或商,作为行向量或列向量返回,使得 [参数:y]=conv(x,[参数:h]) + [参数:r].

数据类型

漂浮64, 漂浮物32</无翻译>

# *r*是 的残差信号或除法的余数

+ 向量资料

Details

除法的残差信号或余数,作为行向量或列向量返回,使得 [参数:y]=conv(<参数:x>>,<参数:h>>) + r.

数据类型

漂浮64, 漂浮物32</无翻译>

例子:

多项式除法

Details

创建两个向量 yh 包含多项式的系数 相应地。 我们通过去卷积向量将第一个多项式除以第二个多项式 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])

文学作品

  1. Nagy,James G."Toeplitz矩阵的快速逆QR因子分解。"_SIAM Journal On Scientific Computing_14,no.5(September1993):1174-93. https://doi.org/10.1137/0914070.