[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