反卷积
- 更新时间2025-07-30
- 阅读时长3分钟
计算输入序列X * Y和Y的反卷积。
使用傅立叶变换进行反卷积运算。

输入/输出
X * Y
—
X * Y是输入数据的集合。X * Y的元素数必须大于等于Y的元素数,n大于等于m。 如X*Y的元素少于Y的元素,VI可设置X为空数组并返回错误。
Y
—
Y是由因变值组成的数组。
X
—
X是X * Y和Y的反卷积序列。 X的元素数(大小)= n–m+1,n是X*Y的元素数,m是Y的元素数。
错误
—
错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。 |
该VI可使用傅立叶变换实现卷积操作,因为
x(t) * y(t) ⇔ X(f) Y(f)是傅立叶变换对,*符号代表卷积,反卷积是卷积的逆向运算。如h(t)是信号x(t)和y(t)反卷积的结果,该VI使用下列等式获取h(t):
,X(f)是x(t)的傅立叶变换,Y(f)是y(t)的傅立叶变换。
该VI通过下列步骤离散实现反卷积。
- 计算输入序列X * Y的傅立叶变换。
- 计算输入序列Y的傅立叶变换。
- 使X * Y的傅立叶变换除以Y的傅立叶变换。调用新的序列h。
- 计算h的逆傅立叶变换,获得反卷积序列X。
注: 反卷积是一种不稳定的数值运算,所以从数值上解决问题不是完全可行的。通过FFT计算反卷积是最稳定的通用算法,不需复杂的DSP技巧。但是,上述方法也会产生错误,如在傅立叶变换的输入序列Y中出现零。
X * Y
—
X
—
错误
—