# How do I add more resolution / taps to an analog -> digital filter?

(I am trying to create an IIR audio filter that adds reverb to an initial sample)

Say I designed an analog filter to model acoustic attenuation based on the following mathematical model:

$$I = I_0 e^{pt},$$

Where $$p$$ is some constant such that $$-1 \leq p < 0$$.

In the laplace domain, this is simply

$$\mathfrak{L}\{I\} = \dfrac{1}{s-p}$$

Using the impulse invariant transform, I get the digital equivalent

$$Z\{I\} = \dfrac{z}{z-e^{pT_s}},$$

Which inherently has one pole.

How do I add more resolution to this filter? Implementing this as a digital filter makes my audio sample sound like garbage. Would adding arbitrary taps keeps it from modeling the original analog decay?

Using experimental attenuation data and frequency sampling for an FIR equivalent, I can easily obtain 50000 poles and create a very clear reverb-adding filter.

Both IIR and FIR methods were tested in MATLAB, with the FIR using MATLAB's built-in church impulse response.

(Sorry if the question is unclear, I'm a bit new at this.)

• What are the two poles in Z{I} given $e^{pT_s}$ is a real number? Please provide more details on the filter implementation that resulted in garbage including sampling rate, p that was used and the quantization for all signals. – Dan Boschen Nov 26 '18 at 17:37
• Sorry for the delay (no pun intended). I was thinking in terms of the Matlab implementation, which requires two polynomial coefficients. Upon reflection I realize I made the mistake of thinking this meant there were two poles. It should be one pole. I used Ts = 0.01. Matlab code is here: pastebin.com/j2PHzN9f – ntjess Nov 26 '18 at 20:15