of course not. but perhaps i can at least match the lower bandedge.Z1202 wrote:Well, you won't get a symmetric shape anywayRobin from www.rs-met.com wrote:hmm...najaaa...neee. i'll see if i can work it out.Z1202 wrote:Personally, I'd assume at least 88kHz SR and ignore the "minor" warping in the audible rangeRobin 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.
Book: The Art of VA Filter Design 2.1.2
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4291 posts since 8 Mar, 2004 from Berlin, Germany
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
Okay, it seems to beRobin 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.
R=abs(omega-1/omega)/(2*sqrt(K+1))
(simply forgot to take the square root of the denominator)
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
BTW, why don't you use complex arithmetics in your script? Will save you a bunch of manual work.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.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4291 posts since 8 Mar, 2004 from Berlin, Germany
OK - actually that was conceptually easy, but computationally, it may be a bit expensive:Robin from www.rs-met.com wrote:...perhaps i can at least match the lower bandedge.
compute the unwarped lower bandedge frequency "fl" from center frequency "fc" and bandwidth "B":
Code: Select all
fl = fc / 2^(B/2);
Code: Select all
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
compute warped bandwidth from wc and wl:
Code: Select all
B' = 2*log2(wc/wl);
Code: Select all
B' = 2*log2((tan(PI*fc/fs))/(tan(PI*(fc/pow(2,B/2))/fs)));
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? ). i didn't bother. however. blah. just in case, someone wants to use it.
Last edited by Music Engineer on Fri May 25, 2012 12:58 pm, edited 2 times in total.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4291 posts since 8 Mar, 2004 from Berlin, Germany
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.Z1202 wrote:BTW, why don't you use complex arithmetics in your script? Will save you a bunch of manual work.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.
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
The main link
http://ay-kedi.narod2.ru/VAFilterDesign.pdf
has been updated to revision 1.0.3 featuring minor fixes.
http://ay-kedi.narod2.ru/VAFilterDesign.pdf
has been updated to revision 1.0.3 featuring minor fixes.
-
- KVRAF
- 5427 posts since 18 Jul, 2002
Mirror at http://www.discodsp.net/VAFilterDesign.pdf updated Thanks for your great work.
-
- KVRist
- 53 posts since 5 Jul, 2010
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
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
-
- KVRian
- 1153 posts since 11 Aug, 2004 from Breuillet, France
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
- KVRAF
- 2637 posts since 3 Dec, 2008
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?Z1202 wrote:The main link
http://ay-kedi.narod2.ru/VAFilterDesign.pdf
has been updated to revision 1.0.3 featuring minor fixes.
The Glue, The Drop - www.cytomic.com
- KVRAF
- 2637 posts since 3 Dec, 2008
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
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
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
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
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 )
Regards,
Vadim
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
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 )
Regards,
Vadim
Last edited by Z1202 on Fri Jul 13, 2012 1:29 pm, edited 1 time in total.
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
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?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?
Regards,
Vadim
- KVRAF
- 2637 posts since 3 Dec, 2008
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.Z1202 wrote: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?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?
Regards,
Vadim
The Glue, The Drop - www.cytomic.com