[Fpga-synth] Simple Filter Question
Rick Huang
rhuang at newsguy.com
Tue Jun 19 05:08:53 CEST 2007
I can't help it but to put it through the matlab...
Rick
Magnus Danielson wrote:
> From: Scott Gravenhorst <music.maker at gte.net>
> Subject: [Fpga-synth] Simple Filter Question
> Date: Mon, 18 Jun 2007 13:35:14 -0700
> Message-ID: <200706182035.l5IKZEcr003383 at linux7.lan>
>
> Hi Scott,
>
>
>> The terrormouse PDF specifies that the filter used at the end of the delay
>> line is a "simple first order IIR". It then gives this to describe it:
>>
>> -1
>> 0.8995 + 0.1087z
>> H(z) = ------------------
>> -1
>> 1 + 0.0136z
>>
>> >From what I understand, this makes:
>>
>> a0 = 0.8995 a1 = 0.1087
>> b1 = -0.0136
>>
>> There was no explanation for the values chosen except that they "sound like
>> an acoustic guitar string".
>>
>> What I don't understand is that this matches neither a first order lowpass
>> nor highpass. Lowpass should have only a0 and b1 terms and highpass has a1
>> = - a0 (at least).
>>
>> I am assuming this is supposed to be a lowpass filter of some kind.
>>
>> When I did my testing, I used the first order lowpass as described at
>> www.dspguide.com, in the recursive filters PDF. It's not the same filter,
>> but it works.
>>
>> A resource that explains this would be most appreciated ... ?
>>
>
> Will the list-admin do?
>
> Hmm...
>
> 0.8995 z + 0.1087
> H(z) = -----------------
> z + 0.0136
>
> z_z = -0.1087/0.8995 = -0.1208
> z_p = -0.0136
>
> i.e.
>
> z + 0.1208
> H(z) = 0.8995 ----------
> z + 0.0136
>
> Now, what is this creature? Plot the pole and zero in the z-plane
>
>
> ^ jw
> |
> | _
> | o
> ---o---x-+-------->
> |
> |
> |
>
> This is a clear case of a low-pass filter.
>
> For low frequency (i.e. z = 1) the pole is nearer than the zero, so the pole
> dominates and the gain for this case is 0.9947 (insert z = 1 in H(z)).
> As you move along the unit circle you come closer to the zero and at the
> Nyquist frequency (i.e. z = -1) the zero dominates and the gain is 0.8017
> (insert z = -1 in H(z)). This is similar to a shelving filter.
> Midways we have a gain of 0.9125 (insert z = j in H(z) and take absolute
> value of complex value) at half the Nyquist frequency.
>
> You can view this as a shelving filter. which lowers the high frequency with
> about -1.9 dB.
>
> Did that make any sense?
>
> Cheers,
> Magnus
> _______________________________________________
> Fpga-synth mailing list
> Fpga-synth at rubidium.dyndns.org
> http://rubidium.dyndns.org/cgi-bin/mailman/listinfo/fpga-synth
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: terrormouse.PNG
Type: image/png
Size: 6373 bytes
Desc: not available
Url : http://rubidium.dyndns.org/pipermail/fpga-synth/attachments/20070618/3335e11a/attachment.png
More information about the Fpga-synth
mailing list