通过高斯响应卷积的数据的反卷积

时间:2015-02-23 17:04:59

标签: matlab filtering signal-processing fft

我有一组实验数据s(t),它由一个向量组成(81个点作为时间t的函数)。

从物理学来看,这是系统响应e(t)与探测器p(t)卷积的结果,探测器是高斯(实际上是激光脉冲)。在矢量方面,其FWHM涵盖了大约15个时间点。

我想使用卷积定理在Matlab中对这些数据进行去卷积:FT{e(t)*p(t)}=FT{e(t)}xFT{p(t)}(其中*是卷积,x是产品,FT是傅里叶变换。

程序本身没有问题,如果我假设Dirac功能作为我的探头,我会准确恢复初始信号(这是有道理的,测量带有Dirac的系统给出其脉冲响应)

然而,就我所理解的而言,高斯案例作为一种探索证明是一个关键的案例。当我通过探头的FT将傅里叶空间中的信号分开时,高斯的翼高度放大了那些频率,我完全松开了我的初始信号而不是去卷积的信号。

根据您的经验,这里可以使用哪种方法(如汉明窗或任何窗口技术,或......)?这看起来相当简单,但我没有找到任何简单的信号处理方法,这不是我的领域。

2 个答案:

答案 0 :(得分:0)

你试图通过假设滤波器模型是高斯模糊来进行反卷积过程 进行解卷积的几点注意事项:

  1. 由于您的数据是真实的(非合成)数据,因此它包含某种噪音 因此,最好使用维纳滤波器(即使假设低方差噪声)。否则,“反卷积滤波器”将显着增加噪声(因为它基本上是高通)。
  2. 在傅里叶域中进行除法时,将信号填充到正确大小或更好的信号,然后在时域中创建高斯滤波器,并使用与信号相同的采样数。
  3. 边界将创建工件,窗口可能很有用。
  4. 通过在信号和噪声上定义更复杂的模型,还有许多更复杂的解卷积方法。如果你有更多关于它们的先前数据,你应该寻找这种框架。
  5. 您可以随时为某些频率设置放大水平的阈值,如果需要,也可以这样做。
  6. 尽可能多地使用样本。
  7. 我希望这会对你有所帮助。

答案 1 :(得分:0)

你的实验数据中有噪音,对吗?那么问题是不适定的(非唯一可解决的),你需要正规化。

如果噪音为高斯,则关键字为Tikhonov regularizationWiener filtering

基本上,添加一个充当低通滤波器的正正则化因子。在你的符号中,真实曲线o(t)的估计变为:

o(t)= FT ^ -1(FT(e)* conj(FT(p))/(abs(FT(p))^ 2 + 1))

具有合适的l> 0。