E0=0; % indicate that we use r0, not sig2 jout = 0; [a,jout]=module_ar_mlx(x,jout,P,E0); [k,jout]=module_ar2rc(a,jout); [z,jout]=module_bilinear(k,jout);This can be inverted using:
E0=0; % indicate that we use r0, not sig2 k = module_bilinear_synth(z); r=module_acf2rc_synth(k,E0); y=module_acf_synth(r,N); x=module_dftmsq_synth(y,N);To use instead of , let E0=1.
If intermediate spectrum is needed, use the alternative chain:
E0=0; % indicate that we use r0, not sig2 [y,jout]=module_dftmsq(x,jout); [a,jout]=module_ar_ml(y,jout,P,E0); [K,jout]=module_ar2rc(a,jout); [z,jout]=module_bilinear(K,jout);although it is a tiny bit slower. For non-circular spectral models, use
[r,jout]=module_acfx(x,jout,P); [k, jout] = module_acf2rc(r, jout); [z, jout] = module_bilinear(k, jout);