由高斯响应卷积的数据的反卷积

Deconvolution of data convolved by a Gaussian response

我有一组实验数据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 测量系统会给出其脉冲响应)

然而,据我所知,作为探测器的高斯案例被证明是一个关键案例。当我将傅立叶 space 中的信号除以探头的 FT 时,高斯的翼会高度放大这些频率,我完全失去了初始信号而不是去卷积信号。

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

您正在尝试通过假设滤波器模型为高斯模糊来执行反卷积过程。
做反卷积的一些注意事项:

  1. 由于您的数据是真实的(非合成的)数据,因此它包含某种噪声。
    因此最好使用 Wiener Filter(即使假设低方差噪声)。否则,"Deconvolution Filter" 会显着增加噪音(因为它基本上是高通)。
  2. 在傅里叶域中进行除法时,将信号零填充到正确的大小或更好,但在时域中创建高斯滤波器,样本数与信号相同。
  3. 边界会产生伪影,开窗可能会有用。
  4. 通过在信号和噪声上定义更复杂的模型,有许多更复杂的反卷积方法。如果你有更多关于它们的先验数据,你应该寻找这种框架。
  5. 您始终可以为某些频率设置放大级别的阈值,如果需要的话。
  6. 尽可能多地使用样本。

希望对您有所帮助。

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

如果噪声是高斯分布的,则关键字是 Tikhonov regularization or Wiener filtering

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

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

合适的l>0。