Hi

If I can get my head round this (and as I'm _really_ not a guru at filter design that's going to take some doing) I'll give it a go. As Geoffrey says, the existing design really only works properly at higher sampling rates tho' another design I have been playing with seems to work better at the lower sampling rates. This is the Hilbert from CSound which uses poles from Bernie Hutchin's "Musical Engineer's Handbook", but multiplied by a factor of 15. The curious thing about that is that it doesn't seem to do any warping unless it's already buried in the pole frequencies!

I'm also impressed with Fon's implementation (no surprise there) which I put into my code this morning out of curiosity to see how well it does in comparison - and it works very well indeed. The only problem with Fon's code is that the filter poles are pre-optimised for a limited range of sample rates (44.1/88.2 and 48/96) and I'd like more even more choice. It shows a little bit more phase difference variance at the higher frequencies than the CSound implementation but unless I am missing something it is only a four pole per leg implementation, as opposed to CSounds (and Geoffrey's) 6 poles per leg. In both cases, however, the low end (under a hundred Hz) becomes problematic at the higher sampling rates, tho' if I reduce the multiplying factor of 15 mentioned above I can improve the performance of the CSound based Hilbert without doing too much damage to its high end response. What I'd be really interested in is if anyone has any code (Scilab, Octave or even Matlab) to optimise the choice of poles....

   Dave

On Jan 15 2011, Peter Craven wrote:

Geoffrey wrote:,

These are probably ok at 96 or 192, but at 44.1/48 I think they
will wander off at high frequencies due to warping.
A better approach is to look for a solution which is symmetrical
about fs/4.

If the bilinear transformation is used, then a 90 degree analogue
relative phase-shift becomes a 90-degree digital relative phase shift.

(Frequency warping will cause the roundabout to spin faster as we
approach Nyquist, but the two horses will remain 90 degrees apart !)

The "symmetrical about fs/4" design can be derived in this way.  If
one starts with a set of logarithmically-spaced analogue poles and
zeroes (adjusted for end-effects a la Gerzon) and scales them to be
symmetrical about s=1, so that for each zero (or pole) at s=-k there
is another at s=-1/k, then when you take the two factors (1+s*k) and
(1+s/k), multiply them and put them through the bilinear
transformation s=(z-1)/(z+1), you find that the numerator is
   (k^2+2*k+1)*z^2 - (k^2+2*k-1)
Thus there is no term in z, and the whole thing becomes a function of
z^2 only.

Hence the symmetry about fs/4.  And some economy - especially if the
DSP platform can implement z^-2 can be implemented at less than twice
the cost of z^-1.

Peter
------------------------------------------------------------

Saturday, January 15, 2011, 10:38:34 AM, Geoffrey wrote:

On 14 Jan 2011, at 17:00, sursound-requ...@music.vt.edu wrote:

Message: 7
Date: Fri, 14 Jan 2011 08:52:17 +0000
From: Dave Malham <d...@york.ac.uk>
Subject: Re: [Sursound] Available UHJ encoders?
To: Surround Sound discussion group <sursound@music.vt.edu>
Message-ID: <4d300ec1.7080...@york.ac.uk>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed



On 14/01/2011 01:54, J?rn Nettingsmeier wrote:

under linux, you can run jconvolver with the uhjenc plugin, sounds very good, but introduces 2048 samples of latency. and fons has recently added an IIR-based uhj encoder to the AMB plugin set (with zero latency but likely some compromises in sound quality), i haven't had the chance to test it carefully, but a quick run-through showed it does the job, although i prefer the sound of the convolution one.

D*mn, I'm just finishing off a (VST/AU) encoder myself using an IIR filter set based on the analogue all pass filters in the original Calrec unit (as designed by Geoffrey)-

Nice to know something I did 30 years ago is still worth ripping off :-)

These are probably ok at 96 or 192, but at 44.1/48 I think they will wander off at high frequencies due to warping. A better approach is to look for a solution which is symmetrical about fs/4. That version is only about 20 years old :-) Used with backwards dubbing gives partitioned convolution a run for its money.

rgds, Geoffrey -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://mail.music.vt.edu/mailman/private/sursound/attachments/20110115/5ca3ac54/attachment.html> _______________________________________________ Sursound mailing list Sursound@music.vt.edu https://mail.music.vt.edu/mailman/listinfo/sursound


_______________________________________________
Sursound mailing list
Sursound@music.vt.edu
https://mail.music.vt.edu/mailman/listinfo/sursound


_______________________________________________
Sursound mailing list
Sursound@music.vt.edu
https://mail.music.vt.edu/mailman/listinfo/sursound

Reply via email to