[Fpga-synth] SVF Question
Scott Gravenhorst
music.maker at gte.net
Fri Jan 2 22:24:56 CET 2009
"The making of synthesizers in FPGAs." wrote:
>Scott Gravenhorst skrev:
>> Happy New Year all,
>>
>> Is there a web resource which explains why a digital SVF is
>best operated using low cutoff frequencies? > > I've read a small
>piece on Chamberlain who used a figure of 1/6 SR. Other people
>suggest 1/8 or even > 1/16 SR as an upper Fc limit, but the
>explanations I've read are sort of vague saying things like >
>"certain features aren't apparent in the digital version as are
>available in the analog version when > the digital version is
>used at higher cutoffs".
>
>I'm not quite sure that this is the answer you are looking for, but
>never the less, here is an attempt at it.
>
>If you just "map" your analog filter response into the digital world,
>the linear scale of jomega is curled up on itself. This causes a form of
>"frequency distorsion". For instance, when using the Bilinear transform
>[1] [2] (do google that one) you compensate by using pre-distorsion.
>Bilinear transformation is achieve by replacing the LaPlaceian s
>variables with
>
> 2 z - 1
>s <- - -----
> T z + 1
>
>Now, this causes the properties of a SVF filter to become much different
>then intended for higher frequencies, but for lower frequencies, at a
>fractional of the rate, the curvature of the unit circle becomes
>significantly less and a significantly simplified variant can be used in
>which
>
> 1
>s <- - (z - 1)
> T
>
>This is known as Forward Difference mapping [2].
>
>There is a whole set of more or less simple transforms trying to convey
>different aspects. However, they all fade to grey when faced with direct
>IIR or FIR synthesis made possible with computers. So while this may not
>give you a direct explanation, it can give you a feel of the complexity
>issue involved. In general, having sufficient oversampling eases many
>aspects of design, such that less of aliasing and filter warping occurs
>and more straight-forward method can be used. Thus, what you pay in form
>of oversampling (compared to what you would need in a Nyquist limited
>world) you gain in simplicity of design and calculations otherwise.
>
>Running sample-rates such as 768 kHz (16x48) thus give you head-room in
>the frequency domain. Comes at a cost (as all additional head-room) but
>gives you some benefits in the process.
>
>[1] http://en.wikipedia.org/wiki/Bilinear_transform
>
>[2] Rabiner & Gold "Theory and Application of Digital Signal Processing"
Thanks Magnus! And that did help, I will look at the references you gave and may
return here with more questions.
-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.
More information about the Fpga-synth
mailing list