如何将这个简单的拉普拉斯方程转换为 Z 域?

信息处理 过滤器 z变换 拉普拉斯变换
2022-01-26 18:41:03

DSP 相关 - JULIUS O. SMITH III - 物理音频信号处理 - 用于虚拟乐器和音频效果 - 两个耦合字符串中提供了耦合弦的基本模型(例如钢琴)

在此处输入图像描述

原理是它有两个相同的字符串模拟,每个模拟由延迟线和 LPF 组成。这些输出在中心的“桥”处相加。总和乘以得到电桥输出,然后从每个弦乐循环中减去该输出,以模拟因电桥能量损失而产生的阻尼。Hb(s)

电桥方程为:

Vb(s)=Hb(s)(V1+(s)+V2+(s))

Hb(s)22+Rb(s)/R

其中Rb(s)是电桥的阻抗,R是串的阻抗。

因此,为了实现这一点,我需要将Hb(s)(和/或Vb(s))从拉普拉斯方程转换为 Z 域方程。

我开始了解拉普拉斯和 Z 域的一些原理,但我以前从未转换过任何东西,我不知道如何做到这一点。我如何获得这种用法的Hb(z)

一旦我有了Hb(z),我是否只需将它乘以两个字符串输出的总和,然后从字符串循环中减去该结果?

另外,为什么串的阻抗只是R而电桥的阻抗是Rb(s)电桥的阻抗是拉普拉斯函数,暗示其阻抗可能随频率变化吗?(而串阻抗将与频率无关。)如果是这样,如何简化将电桥阻抗也视为频率无关的事情?

2个回答

迈克,我相信您的问题的答案很可能是Bilinear Transform确保您确定了重要频率(可能是 LPF1 和 LPF2 或的谐振频率,并对该频率应用预变形,以便数字滤波器与模拟滤波器在同一位置命中。记住两条延迟线是。或者,在 s 域中,其中是采样周期或倒数采样率。Hb(s)zN1zN2eN1sTeN2sTT

答案是根本不需要包含采样率。由于我使用的是 Hb(s) 为常数的简单情况,因此我只需将其与求和的样本相乘,然后从两条延迟线中减去结果。它的工作原理与采样率无关。我尝试了 11 kHz 和 96 kHz 的采样,听起来一样。

我真的不明白为什么。我会想如果我从循环中减去每个样本的总和的百分比,那么我会在更高的采样率下更频繁地减去它,从而更快地阻尼循环,但它似乎并没有以这种方式工作。在这种简单的情况下,它以某种方式完全独立于采样率。

无论如何感谢所有的答案。我学到了很多关于拉普拉斯等的知识,无论如何我都需要知道。它仍然具有教育意义。