ziruo2002ab 发表于 2021-12-7 03:21:17

DSP小白请教大佬们如何从滤波后的信号恢复原始信号?

本帖最后由 ziruo2002ab 于 2021-12-7 04:56 编辑

传感器信号采样,为了方便会先进行滤波再采样。有时候,又想得到滤波前的原始信号,怎么操作最简单?滤波器是很简单的高通滤波器。

xi * filter = yo, 其中*为卷积。经过傅里叶变换后Xi * Filter = Yo,其中*为直接相乘

可能的方案:

1. 已知滤波器函数->求滤波器冲激响应,然后xi=yo * filter-1?

    能够直接求得滤波器的冲激函数的逆,然后在做一次卷积,获得xi,即原始信号?

2. 对采样值进行fft,得到Yo,则Xi=Yo/Filter,然后对Xi做ifft,求得原始信号?

哪一种可行,或者哪一种计算最方便,计算量最小,计算最精确?

一次采样大概100kHz*1s=10万个点吧,单个数据位数16位以上,滤波器不妨假设为1阶高通滤波器,截止频率1Hz。

现在的目标其实是,把截止频率从1Hz调整到0.01Hz甚至0.001Hz。

这个反卷积能不能搞出类似FIR或IIR滤波器的系数,然后可以方便的计算?

ziruo2002ab 发表于 2021-12-8 02:18:56

资料说,这是一个病态问题,也就是问题的解很可能相当不稳定。

gzhuli 发表于 2021-12-8 03:20:31

举个简单的栗子,打了马赛克的爱情动作片如何恢复成步兵片?答案是无解,除非像黑客入侵蚊香社拿到原片,又或者靠AI补上一只假鲍鱼充数…… {:titter:}

下一页 发表于 2021-12-8 10:24:14

你得看你的滤波器性能如何了,如果滤波器截止频率很好,不要的频率已经全部截断了,那么怎么恢复也没办法了。

1a2b3c 发表于 2021-12-8 13:05:11

这个问题,我觉得不是像加密解密那样可逆的
你的数字信号进行滤波啥的其实在我看来和硬件物理上的滤波完全一回事:两个信号进去,被滤掉了一个,出来只有一个了,那么这个时候你说要再恢复成原始进去的信号,,,这也太难了,谁知道以前进来有啥信号?
因为你的最后表征特性完全不可知道原始的东西啊,如果你的滤波器是理想值的话,那么除了你需要的东西外,其它连噪声都没有了,你叫我恢复啥:(

ziruo2002ab 发表于 2021-12-8 23:44:27

看来这个问题应用的不多。我还以为这是一个工程上经常遇到的共性问题。
这个问题并非热点,有限的资料都是十几二十年前的了,几乎没有什么进步。
怎么说呢?在一定的边界条件下,这个问题是有解的。特别是传递函数是已知的,并假设扩展区域没有任何附加信息。
更复杂的情况,涉及盲反卷积,也就是还需要自适应的估算传递函数,这个就更复杂了。图像恢复、雷达、光谱分析、地质勘查很多都设计这个问题,不是一般人能搞定的。
我好奇的是,在假定传递函数是已知的,并假设扩展区域没有任何附加信息的条件下,有没有什么特别容易的算法解决这个问题,特别是只需要在时域计算的最简单的算法?(因为一旦涉及频域,fft和ifft的计算量就很让人难受)

gzhuli 发表于 2021-12-9 04:12:13

ziruo2002ab 发表于 2021-12-8 23:44
看来这个问题应用的不多。我还以为这是一个工程上经常遇到的共性问题。
这个问题并非热点,有限的资料都是 ...

你这个需求属于信号增强吧,对于特定的信号和传递函数(例如人声和电话信道模型),尽可能将失真的信号还原。
这个在特定条件下确实是有解的,不过既然是DSP,最高效的做法还是FFT/iFFT了吧,时域处理往往更不利于发挥DSP的优势。
页: [1]
查看完整版本: DSP小白请教大佬们如何从滤波后的信号恢复原始信号?