以数字方式撤消硬件过滤器

信息处理 过滤器
2022-01-28 22:08:52

我有一堆数据在被数字化之前通过了硬件过滤器。数据采用这种方式已经有很长一段时间了,每个人都对此感到满意。现在,有一个正在开发的新应用程序需要未经过滤的数据。与其等待一年来收集新数据,不如“取消过滤”这些旧数据。硬件滤波器的传递函数为:

H(s)=24.2s+12.2s+1

我的第一个想法是取这个传递函数的倒数,并通过应用 Eurler 近似直接进入 z 域。

fs=30Hz

H(z)=6766z1727726z1

转换为差分方程:

Vin[n]=10.8507Vout[n]10.8538Vout[n1]+0.9851Vin[n1]

我已经通过 Scilab 中的差分方程运行数据,并得到了结果。我想通过原始滤波器的差分方程运行结果来验证差分方程,但我无法从第二个差分方程中得到原始数据。

这让我产生疑问,我在这里所做的是否有效?我想要做的甚至可能吗?

1个回答

使用欧拉近似,s-平面和z-平面将是:

sz1T
在哪里1/T=fs=30(因此s30(z1))。

代回原始传递函数得到:

H(z)=24.230(z1)+12.230(z1)+1=726(z1)+166(z1)+1=726z72566z65=726725z16665z1

转换为差分方程的是:

Vin[n]0.0909Vout[n]0.0895Vout[n1]+0.9986Vin[n1]

至于是否可以检索原始信号,部分取决于原始信号是否实际上不包含上述显着能量fs/2.