Some very interesting references.

I'm curious what uses people find for the Hilbert transform for in audio.
An instantaneous amplitude envelope, for use in compressors and other
envelope-driven effects? Or something else?

-Ethan



On Sun, Feb 5, 2017 at 10:13 AM, Eric Brombaugh <ebrombau...@cox.net> wrote:

> Yes, I'm using the Hilbert transform to generate an analytic signal for
> use in a Bode-style frequency shifter and also in single-sideband modulator
> and demodulators. The image rejection metric is a critical aspect of the
> performance of these systems and is related to the error from true 90deg
> phase shift.
>
> For my optimization I started with the original 8th order set that was
> given and then used a polynomial curve fit to interpolate those values from
> 8th order to 12th order. Then using those values as a starting point, I
> went into an iterated optimization which dithered the coefficients and
> evaluated the phase shift error, saving any set that reduced the error. The
> end result provided a noticeable improvement in the image rejection and
> I've been using those coefficients in some of my radio designs. One of them
> is in github here:
>
> https://github.com/emeb/iceRadio/blob/master/MCU/f303_ice5_rxadc/audio.c
>
> As I said earlier, this approach to extending the performance of the
> filter is rather "brute force and ignorance", but it got the job done and
> the shift from 8 to 12 poles didn't present a significant increase in the
> computational cost - I've been using ARM Cortex M4F processors with
> single-precision floating point hardware to implement these filters and
> they work well.
>
> Eric
>
> On Feb 4, 2017, at 11:25 PM, robert bristow-johnson wrote:
>
> >
> > by "image rejection", do you mean, for an analytic filter:
> >
> >     a[n] = x[n] + j*y[n]
> >
> >    where y[n] = Hilbert{ x[n] }
> >
> > the gain difference between the positive and negative frequencies?
> >
> > i guess you're right.  looks like -44 dB on Olli's graph.  that's not so
> great, i guess.
> >
> > is your optimized filter 8th order?  8 real poles or are there some
> complex-conjugate poles in there? i haven't groked why Olli seems to think
> that real poles, symmetrical about the origin, is the best way. it seems
> like a restriction that might cause one to miss the optimum.
> >
> > can you tell us how you designed or optimize the pole loci, Eric?  other
> than some kinda brute force method (perhaps Greg's FDLS) i am still
> thinking about how to approach that.  APFs so the gains stay 1 and we don't
> care about the phase as long as the difference is 90°.  still don't know
> how i might set up an optimization problem.  probably the best measure is
> the negative frequency rejection with regard to the positive frequency gain.
> >
> > r b-j
> >
> >
> >
> > ---------------------------- Original Message
> ----------------------------
> > Subject: Re: [music-dsp] ± 45° Hilbert transformer using pair of IIR APFs
> > From: "Eric Brombaugh" <ebrombau...@cox.net>
> > Date: Sat, February 4, 2017 10:28 pm
> > To: r...@audioimagination.com
> > music-dsp@music.columbia.edu
> > ------------------------------------------------------------
> --------------
> >
> > > IIRC, when I implemented Olli's coefficients I was seeing about 40dB
> image rejection. My optimized filter gave more like 58dB.
> > >
> > > Eric
> > >
> > > On Feb 4, 2017, at 7:25 PM, robert bristow-johnson wrote:
> > >
> > >>
> > >> sunuvubych Olli. i shoulda known about this.
> > >>
> > >> i dunno Eric, 2/100 radian is about ±0.5°. that's what Olli is
> indicating on Figure 3. appears to be an 8th-order using 4 pole pairs about
> the origin on the real line. (i'm just now groking his design methodology.)
> and he seems to have exceedingly low amplitude variation in the Analytic
> Filter magnitude response. dunno what is lackluster about that. (but i
> haven't checked this out, yet.)
> > >>
> > >> i know that because you can sorta treat group delay (which is a
> function solely of phase) like gain in an all-pass filter, for the purposes
> of optimal filter design technique (like Parks-McClellan or Prony). maybe
> that's what Olli is doing.
> > >>
> > >>
> > >> --
> > >>
> > >> r b-j r...@audioimagination.com
> > >>
> > >> "Imagination is more important than knowledge."
> > >>
> > >>
> > >>
> > >> ---------------------------- Original Message
> ----------------------------
> > >> Subject: Re: [music-dsp] ± 45° Hilbert transformer using pair of IIR
> APFs
> > >>
> > From: "Eric Brombaugh" <ebrombau...@cox.net>
> > >> Date: Sat, February 4, 2017 8:55 pm
> > >> To: music-dsp@music.columbia.edu
> > >> ------------------------------------------------------------
> --------------
> > >>
> > >> > The original Csound source has a set of coefficients for this type
> of
> > >> > hilbert transform but they don't say how the coefficients were
> derived
> > >> > and the performance is fairly lackluster. The only reference I've
> come
> > >> > across for this was Olli Niemitalo's:
> > >> >
> > >> > http://yehar.com/blog/?p=368
> > >> >
> > >> > He gives a bit of theory, but the filter pair he provides doesn't
> give
> > >> > great performance.
> > >> >
> > >> > I was able to use Olli's filter as a starting point for
> optimization of
> > >> > a higher order AP set that gave almost 20dB better image rejection.
> I
> > >> > interpolated the originals to a higher order and then used simulated
> > >> > annealing with a cost function that included the bandwidth and image
> > >> > rejection. Rather brute-force, but it worked.
> > >> >
> > >> > Eric
> > >> >
> > >> >
> > >> > On 02/04/2017 04:32 PM, robert bristow-johnson wrote:
> > >> >> hey guys,
> > >> >>
> > >> >> what's the best online reference you can tell me for theory and
> practice
> > >> >> of designing APF pairs with ± 45° phase (+ a linear phase that
> > >> >> represents causality delay) to result in a Hilbert pair for audio
> > >> >> processing. i know how to do this for FIR and to use half-band
> > >> >> symmetry, but i wanna make a MATLAB program where i can specify
> order
> > >> >> and come up with an optimal pair of IIR APFs that have virtually
> 90°
> > >> >> phase difference over the widest possible frequency range. also
> some
> > >> >> discussion of error metric would be good (how do we decide what is
> > >> >> "optimal"?). eventually, i wanna compare computational effort with
> the
> > >> >> half-band FIR Hilbert transformer.
> > >> >>
> > >> >> anyone have a good, definitive reference?
> > >> >>
> > >> >> thanks.
> > >> >>
> > >> >> --
> > >> >>
> > >> >> r b-j r...@audioimagination.com
> > >> >>
> > >> >> "Imagination is more important than knowledge."
> > >> >>
> > >> >>
> > >> >>
> > >> >> _______________________________________________
> > >> >> dupswapdrop: music-dsp mailing list
> > >> >> music-dsp@music.columbia.edu
> > >> >> https://lists.columbia.edu/mailman/listinfo/music-dsp
> > >> >>
> > >> >
> > >> > _______________________________________________
> > >> > dupswapdrop: music-dsp mailing list
> > >> > music-dsp@music.columbia.edu
> > >> > https://lists.columbia.edu/mailman/listinfo/music-dsp
> > >> >
> > >> >
> > >>
> > >> _______________________________________________
> > >> dupswapdrop: music-dsp mailing list
> > >> music-dsp@music.columbia.edu
> > >> https://lists.columbia.edu/mailman/listinfo/music-dsp
> > >
> > >
> >
>
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
>
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to