Hi Dario, Thanks for asking. I've never seen such a cost-effective filter of this type!
My FFT analysis was done in Octave using faust2octave. Cheers, - Julius On Sat, Jul 6, 2019 at 7:48 AM Oleg Nesterov <o...@redhat.com> wrote: > > On 07/05, Julius Smith wrote: > > > > Do we know its copyright status? I think it would > > be worth adding to the library if we can determine this and author. > > I found it here: http://yehar.com/blog/?p=368 > > But see also the hiir library http://ldesoras.free.fr/src/hiir-1.20.zip > from Laurent de Soras mentioned in the page above. > See the comments at the top of hiir/PolyphaseIir2Designer.h which describe > the same design. > > You can get (almost) the same numbers using compute_coefs_spec_order_tbw(), > but don't forget that the code I sent uses c^2 so they can look different. > > Again, you can try > > hiir_hilber(N, T) = hilbert with { > coef = FPP(=N, =T) eval { > FILE: #include <hiir/PolyphaseIir2Designer.cpp> > init: > hiir::PolyphaseIir2Designer::compute_coefs_spec_order_tbw($c, 2*$N, $T); > decl: double $c[2*$N]; > exec: $c; > }; > > getc = FPP(i, n, =coef) { $coef[$i + 2*$n] }; > > hilbert = _ <: H(0), H(1)' with { > ap(a) = f ~ _ with { f(y, x) = a * (x + y') - x''; }; > H(i) = seq(n, N, ap(getc(i,n))); > }; > }; > > if you unzip that library and pass -Ipath/to/hiir to gcc. For example, > > process = 1-1' : hiir_hilber(4, 2*20.0/44100); > > generates almost the same responce. > > Oleg. > > -- Julius O. Smith III <j...@ccrma.stanford.edu> Professor of Music and, by courtesy, Electrical Engineering CCRMA, Stanford University http://ccrma.stanford.edu/~jos/ _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users