Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
Book: The Art of VA Filter Design
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Robin from www.rs-met.com
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 25, 2012 3:28 am reply with quote
Z1202 wrote:
Robin from www.rs-met.com wrote:
Z1202 wrote:
Robin from www.rs-met.com wrote:
edit: of course, this formula applies to the analog filter, for the digital one, one has to take frequency warping into account ....more work to do.
Personally, I'd assume at least 88kHz SR and ignore the "minor" warping in the audible range Smile


hmm...najaaa...neee. i'll see if i can work it out.
Well, you won't get a symmetric shape anyway Wink


of course not. but perhaps i can at least match the lower bandedge.
----
^ Joined: 08 Mar 2004  Member: #15959  Location: Berlin, Germany
Z1202
KVRist
- profile
- pm
PostPosted: Fri May 25, 2012 4:29 am reply with quote
Robin from www.rs-met.com wrote:
the formula at the bottom of the page to prescribe a desired bandwidth in octaves to calculate the damping coeff "R" did not give me the results, i expected.
Okay, it seems to be
R=abs(omega-1/omega)/(2*sqrt(K+1))
(simply forgot to take the square root of the denominator)
^ Joined: 11 Apr 2002  Member: #2472  
Z1202
KVRist
- profile
- pm
PostPosted: Fri May 25, 2012 4:32 am reply with quote
Robin from www.rs-met.com wrote:
the formula at the bottom of the page to prescribe a desired bandwidth in octaves to calculate the damping coeff "R" did not give me the results, i expected.
BTW, why don't you use complex arithmetics in your script? Will save you a bunch of manual work.
^ Joined: 11 Apr 2002  Member: #2472  
Robin from www.rs-met.com
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 25, 2012 4:32 am reply with quote
Robin from www.rs-met.com wrote:
...perhaps i can at least match the lower bandedge.


OK - actually that was conceptually easy, but computationally, it may be a bit expensive:

compute the unwarped lower bandedge frequency "fl" from center frequency "fc" and bandwidth "B":
fl = fc / 2^(B/2);

compute warped center frequency and warped lower bandedge frequency (as radian frequencies, but that is actually not important):
wc = (2/T)*tan(2*PI*fc*T/2); // prewarped radian center freq
wl = (2/T)*tan(2*PI*fl*T/2); // prewarped radian lower bandedge


T = 1/fs, fs being the sample-rate.

compute warped bandwidth from wc and wl:
B' = 2*log2(wc/wl);

...putting it all together into a single formula, the following mess results:
B' = 2*log2((tan(PI*fc/fs))/(tan(PI*(fc/pow(2,B/2))/fs)));
...variables in this formula are fc: center frequency, fs: sample-rate, B: unwarped bandwidth and the output is the warped bandwidth B'

in production code, it's probably better to somehow combine the partial steps from above because the warped radian frequency wc is needed anyway and would be recomputed here inside this formula (up to a factor) which is a waste of one call to tan(). it perhaps can be streamlined a bit (and WTF is this 2*stuff/2 in these tan-computaions? Embarassed). i didn't bother. however. blah. just in case, someone wants to use it.
----

Last edited by Robin from www.rs-met.com on Fri May 25, 2012 4:58 am; edited 2 times in total
^ Joined: 08 Mar 2004  Member: #15959  Location: Berlin, Germany
Robin from www.rs-met.com
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 25, 2012 4:33 am reply with quote
Z1202 wrote:
Robin from www.rs-met.com wrote:
the formula at the bottom of the page to prescribe a desired bandwidth in octaves to calculate the damping coeff "R" did not give me the results, i expected.
BTW, why don't you use complex arithmetics in your script? Will save you a bunch of manual work.


because i did it manually before (in my derivation, i needed a magnitude-response expression - so i had it around already). but yes, you are right. i just didn't think of it.
----
^ Joined: 08 Mar 2004  Member: #15959  Location: Berlin, Germany
Z1202
KVRist
- profile
- pm
PostPosted: Fri Jun 01, 2012 6:39 am reply with quote
The main link
http://ay-kedi.narod2.ru/VAFilterDesign.pdf
has been updated to revision 1.0.3 featuring minor fixes.
^ Joined: 11 Apr 2002  Member: #2472  
George
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri Jun 01, 2012 6:55 am reply with quote
Mirror at http://www.discodsp.net/VAFilterDesign.pdf updated Smile Thanks for your great work.
----
discoDSP — Home of CoronaDiscovery ProVertigo
^ Joined: 17 Jul 2002  Member: #3353  
safiire
KVRist
- profile
- pm
- e-mail
- www
PostPosted: Wed Jun 06, 2012 6:35 pm reply with quote
Thank you so much for writing this book and giving it to us. I have been searching for more information on this topic ever since reading the original thread.

I found quite a few papers that helped a bit, but I skimmed the book last night and it seems very comprehensive!

Thanks so much Smile
^ Joined: 05 Jul 2010  Member: #235109  
Wolfen666
KVRist
- profile
- pm
- e-mail
PostPosted: Wed Jun 20, 2012 7:31 am reply with quote
Thanks a lot for this book ! I have used for years DF2 for SVP filters, it gaves me the will to try the other implementations
^ Joined: 11 Aug 2004  Member: #36705  
andy_cytomic
KVRian
- profile
- e-mail
PostPosted: Fri Jul 13, 2012 4:22 am reply with quote
Z1202 wrote:
The main link
http://ay-kedi.narod2.ru/VAFilterDesign.pdf
has been updated to revision 1.0.3 featuring minor fixes.


Hi Vadim, can you please let me know how you derived the equations for the non-linear filter in section 4.6 and 4.7 of your document?
----
The Glue, The Drop - www.cytomic.com
Synth Squad - www.fxpansion.com
^ Joined: 03 Dec 2008  Member: #195019  
andy_cytomic
KVRian
- profile
- e-mail
PostPosted: Fri Jul 13, 2012 4:34 am reply with quote
Hi Vadim,

I just read your first post in this thread and it says you got the equations from Antti's paper and from Marco Civolani / Federico Fontana paper. It is traditional to give references to people that came up with ideas by naming them and having a citation so people can look at the original paper. This is pretty easy to do eg:


---- snip from Vadim's pdf file http://ay-kedi.narod2.ru/VAFilterDesign.pdf section 4.6 ---
4.6 Advanced nonlinear model

The nonlinearity introduced in Fig. 4.9 does a good job and sounds reasonably close to a hardware analog transistor ladder lter, however this is not how the nonlinearities in the hardware ladder really work. Antti Huovilainen [11] has proposed a more advanced method that introduces nonlinearities into the underlying 1-pole lowpass filters as follows (Fig. 4.11).

-----

Then in the appendix something like:

[11] Antti Huovilainen, "NON-LINEAR DIGITAL IMPLEMENTATION OF THE MOOG LADDER FILTER"
Proc. of the 7th Int. Conference on Digial Audio Effects (DAFx'04), Naples, Italy, October 5-8, 2004
----
The Glue, The Drop - www.cytomic.com
Synth Squad - www.fxpansion.com
^ Joined: 03 Dec 2008  Member: #195019  
Z1202
KVRist
- profile
- pm
PostPosted: Fri Jul 13, 2012 5:15 am reply with quote
Hi Andy

Generally you are right. Although a couple of remarks:

- I didn't use their results. They just happened to publish them (or possibly also obtained them) earlier than me. I have developed the ZDF approach and a nonlinear model of the Moog filter completely on my own. For that matter, I didn't use any sources (at least not directly) when writing the book or deriving the materials. So it's about crediting the pioneering work, not the sources.

- In this regards, IIRC my first post, I was also asking for the community advice regarding other pioneering acknowledgements I was missing (and I'm pretty sure, I'm unaware of most of them), and I'd rather address at least several such issues in one go. Since you raised this question anyway, I wonder, what are your ideas in this regard, or whether you can point me to more pioneering work items.

- I also wonder, whether then it's more appropriate to credit the pioneering work in the acknowledgements section, next to crediting Bob Moog's VCF invention Smile

Edit: I'm currently aware of a number of works at least partically related to (just some of) the topics covered. But then I even didn't read most of those articles in detail, just glanced through them. Frankly speaking I'm not too eager to read all of them, just to make sure which invention was first published where (in order to make a proper reference). And in most cases I guess it's not as straightforward as in Antti's model case. That's the reason I'd rather just do "a pile of credits" in the acknowledgements section. But then I was hoping someone would point me to the works I missed so far (like you just did with Antti's model Wink )

Regards,
Vadim
Last edited by Z1202 on Fri Jul 13, 2012 5:29 am; edited 1 time in total
^ Joined: 11 Apr 2002  Member: #2472  
Z1202
KVRist
- profile
- pm
PostPosted: Fri Jul 13, 2012 5:21 am reply with quote
andy_cytomic wrote:
Hi Vadim, can you please let me know how you derived the equations for the non-linear filter in section 4.6 and 4.7 of your document?
So, does this question still hold (i.e. do you want to know how exactly did I analyse the circuits)? Or was this basically asking about my sources?

Regards,
Vadim
^ Joined: 11 Apr 2002  Member: #2472  
Z1202
KVRist
- profile
- pm
PostPosted: Fri Jul 13, 2012 5:28 am reply with quote
[Written new message with quoting instead of editing, removing this one]
^ Joined: 11 Apr 2002  Member: #2472  
andy_cytomic
KVRian
- profile
- e-mail
PostPosted: Fri Jul 13, 2012 5:44 am reply with quote
Z1202 wrote:
andy_cytomic wrote:
Hi Vadim, can you please let me know how you derived the equations for the non-linear filter in section 4.6 and 4.7 of your document?
So, does this question still hold (i.e. do you want to know how exactly did I analyse the circuits)? Or was this basically asking about my sources?

Regards,
Vadim


I didn't want to put words in your mouth, since I was not sure if you derived the equations independently or not, which is why I asked the question as I did. I'll reply in a new post now to the more important points.
----
The Glue, The Drop - www.cytomic.com
Synth Squad - www.fxpansion.com
^ Joined: 03 Dec 2008  Member: #195019  
All times are GMT - 8 Hours

Printable version
Page 6 of 9
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012