通过分析其输入和输出之间的差异对现有 DSP 滤波器进行建模

信息处理 反卷积 系统识别
2022-02-10 18:31:52

DSP 滤波器总是产生相同的输出。

wav fileDSPwav file(modified)

DSP 是一个黑匣子,因为我无法访问其代码,但我可以访问原始和修改后的 wav 文件。

问题:

  1. 可以通过比较原始和修改的 wav 文件对 DSP 滤波器进行数学建模(例如在 MATLAB 中)吗?
  2. 如果是这样,当应用于任何 wav 文件时,生成的建模 DSP 是否会生成与原始 DSP 生成的 wav 相同的 wav?
2个回答

如果我理解正确,您有一个信号和一个未知的离散时间 LTI 滤波器,因此您可以查看滤波器的输出。现在您正在寻找滤波器的脉冲响应。x[n]y[n]h[n]

输出遵循卷积规则 ,给定称为反卷积有一些方法可以做到这一点。

y[n]=x[n]h[n]=m=x[m]h[nm]
h[n]x[n]y[n]

例如,如果存在信号的傅里叶变换,利用卷积定理,卷积可以转化为频域的乘积: 因此, 但是你应该小心的零点。如果可以作为一个选项,那么您应该选择它,以便它可以在所有频率上激发系统,以便您可以探测您感兴趣的所需频率范围

Y(ω)=X(ω)H(ω)
H(ω)=Y(ω)X(ω)
X(ω)x[n]H(ω). 或者,您可以以不同的频率重复多次激励滤波器,这可以解释为对频率响应进行采样。这将为您提供一个采样频谱,因此如果您知道滤波器在采样频率之间没有奇点,那么您可以通过具有所需阶数的 LTI 滤波器对其进行建模(取决于您可接受的近似误差)。

在回答您的第二个问题时,在您获得脉冲响应的近似值(例如后,您可以使用卷积将其应用于任何所需的输入。h^[n]

电气工程(和信号处理,但控制理论的人也参与其中)的这个子领域的名称是“系统识别”

msm的回答很好。但是我记得在西北大学,这已经足够了,有一整个研究生水平的课程。

进行系统识别的另一种方法是使用LMS归一化 LMS 自适应滤波器

我想我可以抛出方程式,但我最好去查一下,以确保我不会在重复时犯错。