In the book it is mentioned that to mitigate aliasing introduced by NLP one should use "oversampling", without going into much detail.
Now, for a regular biquad, I would normally e.g double sample it by feeding it the same input sample twice and then averaging the result, yielding the same overall frequency response for a cutoff * 1/2. (I could also four or more samples and perhaps even use higher quality FIR decimation.)
However, when doing the same for a filter in this book (the K35), I notice a slightly different frequency response, where it dips near Nyquist, compared to the non-oversampled filter. The same applies to the Moog filter. I can see and even hear the difference when feeding it whitenoise, although it is subtle.
Is this a peculiarity of zero delay topology?
and is there a better suited oversampling technique that is not too expensive ?
There are several ways to do sample rate conversion. There is only one proper and legal way to do it, and I detail that in the Polyphase App Note:
There are numerous other ways to do it that range from "cheap" to almost free, but will usually still lead to aliasing with high gain and input frequency.
The averaging you are doing is a 2nd order Moving-Average LPF (see FX book Fig 8.29 where M = 5) as the anti-aliasing filter (see app note) which is poor in anti-aliasing selectivity. There are also ways to use IIR filters to do the anti-aliasing (that sometimes involve temporarily reversing time) but the linear phase FIR is the right way to go.
In about a month I will be releasing RackAFX7 with ASPiK. Included in ASPiK projects (which are actually separate from RackAFX itself) is a collection of 54 C++ objects that do signal processing and even custom views (display a spectrum or audio histogram, for example). If you install FFTW on your computer, you can enable "Link to FFTW" which will allow access to the FFTW-based C++ objects. Within those, I've included interpolator and decimator objects along with preset FIR coefficients for a variety of FIR lengths, sample rates, and sample-rate conversion ratios. I've been running my triode tube simulations with 4X oversampling. In release mode with FFTW, the CPU usage is quite nominal. I also ran the Envelope Follower (that is one of the 54 objects) with the 2nd order VA SVF and cranked the nonlinear saturation - sounded fantastic.
Thanks! Although I only have the synth book, not the fx book.
I will however look at the polyphase stuff, just afraid it might be too expensive for just 2x oversampling.
I'm also still puzzled as to why a movring average works fine for regular biquad like http://www.earlevel.com/main/2.....-formulas/
but not for the zero delay based filters (korg, moog, svf).
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Moderators: W Pirkle: 656