Discussion:
[music-dsp] ITU 1770 RLB filter coefficients and biquad IIR filter
Uli Brueggemann
2011-04-26 06:13:32 UTC
Permalink
Hi,

I'm wondering about the RLB filter coefficients of ITU1770. They are
clearly specified for a samplerate of 48 kHz.
For other samplerates ITU expects the same shape of curve.

So for computing the coefficients for other samplerates of course a
good way is to reconstruct a IIR filter from the given coefficients.
An example can be found at
http://www-public.tu-bs.de:8080/~y0035293/ITU-R-BS.1770-1-filters.pdf
The method decribed here works very well for the prefilter.
But it seems that the RLB filter cannot perfectly be described by a
biquad IIR filter.

You can simply check this: ITU1770 defines the coefficient values
a0 = 1, b0 = 1, b1 = -2 and b2 = 1

Indeed the parameters high-pass gain factor Vh = 1, band-pass gain
factor Vb = 0 and low-pass gain factor Vl = 0 fit to the equations for
b0, b1 and b2.
But the equation
a0 = 1 = 1 + K/Q + K^2 requires that
K^2 = -K/Q

With K <> 0 (K=0 would not make sense, fc would be 0) we get
K = -1/Q
but a negative value for K also does not make sense.

Indeed using the data Vh, Vb, Vl, Q, Omega=K as published do not
exactly lead to the published filter coefficients, we get deviations
of up to 0.5%.

You may check out by yourself the formulas of the Audio EQ Cookbook.
You will step into the same problem.

So IMO the given RLB filter cannot be described by a biquad IIR filter
under aspects of perfect accuracy.
Which IIR filter will exactly fulfill the conditions specified by the
ITU 1770 RLB filter coefficients?

Uli
Thomas Rehaag
2013-01-11 19:27:31 UTC
Permalink
Hi Uli,

have you solved the RLB filter problem in between?
It looks as if the a coefficients have exactly the values they should
have if they were not normalized to b0.

Cheers,

Thomas
Post by Uli Brueggemann
Hi,
I'm wondering about the RLB filter coefficients of ITU1770. They are
clearly specified for a samplerate of 48 kHz.
For other samplerates ITU expects the same shape of curve.
So for computing the coefficients for other samplerates of course a
good way is to reconstruct a IIR filter from the given coefficients.
An example can be found at
http://www-public.tu-bs.de:8080/~y0035293/ITU-R-BS.1770-1-filters.pdf
The method decribed here works very well for the prefilter.
But it seems that the RLB filter cannot perfectly be described by a
biquad IIR filter.
You can simply check this: ITU1770 defines the coefficient values
a0 = 1, b0 = 1, b1 = -2 and b2 = 1
Indeed the parameters high-pass gain factor Vh = 1, band-pass gain
factor Vb = 0 and low-pass gain factor Vl = 0 fit to the equations for
b0, b1 and b2.
But the equation
a0 = 1 = 1 + K/Q + K^2 requires that
K^2 = -K/Q
With K <> 0 (K=0 would not make sense, fc would be 0) we get
K = -1/Q
but a negative value for K also does not make sense.
Indeed using the data Vh, Vb, Vl, Q, Omega=K as published do not
exactly lead to the published filter coefficients, we get deviations
of up to 0.5%.
You may check out by yourself the formulas of the Audio EQ Cookbook.
You will step into the same problem.
So IMO the given RLB filter cannot be described by a biquad IIR filter
under aspects of perfect accuracy.
Which IIR filter will exactly fulfill the conditions specified by the
ITU 1770 RLB filter coefficients?
Uli
--
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
robert bristow-johnson
2013-01-11 19:50:11 UTC
Permalink
Post by Thomas Rehaag
Hi Uli,
have you solved the RLB filter problem in between?
It looks as if the a coefficients have exactly the values they should
have if they were not normalized to b0.
Cheers,
Thomas
Post by Uli Brueggemann
Hi,
I'm wondering about the RLB filter coefficients of ITU1770. They are
clearly specified for a samplerate of 48 kHz.
For other samplerates ITU expects the same shape of curve.
So for computing the coefficients for other samplerates of course a
good way is to reconstruct a IIR filter from the given coefficients.
An example can be found at
http://www-public.tu-bs.de:8080/~y0035293/ITU-R-BS.1770-1-filters.pdf
The method decribed here works very well for the prefilter.
But it seems that the RLB filter cannot perfectly be described by a
biquad IIR filter.
You can simply check this: ITU1770 defines the coefficient values
a0 = 1, b0 = 1, b1 = -2 and b2 = 1
Indeed the parameters high-pass gain factor Vh = 1, band-pass gain
factor Vb = 0 and low-pass gain factor Vl = 0 fit to the equations for
b0, b1 and b2.
But the equation
a0 = 1 = 1 + K/Q + K^2 requires that
K^2 = -K/Q
With K <> 0 (K=0 would not make sense, fc would be 0) we get
K = -1/Q
but a negative value for K also does not make sense.
Indeed using the data Vh, Vb, Vl, Q, Omega=K as published do not
exactly lead to the published filter coefficients, we get deviations
of up to 0.5%.
You may check out by yourself the formulas of the Audio EQ Cookbook.
You will step into the same problem.
So IMO the given RLB filter cannot be described by a biquad IIR filter
under aspects of perfect accuracy.
is this a weighting curve that's supposed to fit human hearing data like
the fletcher-munson curves?
Post by Thomas Rehaag
Post by Uli Brueggemann
Which IIR filter will exactly fulfill the conditions specified by the
ITU 1770 RLB filter coefficients?
/music.columbia.edu/mailman/listinfo/music-dsp
i have no idea what an RLB is or what it does, but these two URLs
suggest something like:

[a0 a1 a2] = [1 -1.99004745483398, 0.99007225036621];

[b0 b1 b2] = [1 -2 1];

and something else for a "pre-filter".


http://www.scribd.com/doc/49991813/ITU-R-BS-1770-1-filters

http://compgroups.net/comp.dsp/rlb-weighting/312451

dunno what they're supposed to fit, though.
--
r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Thomas Rehaag
2013-01-12 18:49:14 UTC
Permalink
Hi Robert,

sorry to have bothered you with my confusion about the coefficients.
Filter curve on page 5 of this document:
http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-3-201208-I!!PDF-E.pdf
seems to show a gain of 0dB for the high frequencies. The given
coefficients lead to a higher gain - but it's at ~ 0.045dB and that
surely fits into the line of the curve ;)

The remaining big question is why ITU doesn't provide the reader with
filter parameters like e.g. the corner frequency. Recalculating the
coefficients for different sample rates probably isn't a big job for you :)
But in my case it took hours.
Post by robert bristow-johnson
Post by Uli Brueggemann
...
So IMO the given RLB filter cannot be described by a biquad IIR filter
under aspects of perfect accuracy.
is this a weighting curve that's supposed to fit human hearing data like
the fletcher-munson curves?
that's what I found about it:
http://psysound.wikidot.com/system:revised-low-frequency-b-curve-soulodre

Best Regards,

Thomas
robert bristow-johnson
2013-01-14 21:38:36 UTC
Permalink
Post by Thomas Rehaag
Hi Robert,
sorry to have bothered you with my confusion about the coefficients.
http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-3-201208-I!!PDF-E.pdf
seems to show a gain of 0dB for the high frequencies. The given
coefficients lead to a higher gain - but it's at ~ 0.045dB and that
surely fits into the line of the curve ;)
The remaining big question is why ITU doesn't provide the reader with
filter parameters like e.g. the corner frequency. Recalculating the
coefficients for different sample rates probably isn't a big job for you :)
But in my case it took hours.
well, if you're trying to match a filter to some given arbitrary curve,
it is not an issue of a single corner frequency or resonant frequency.
of course, if you're trying to match a single biquad to it, and if the
biquad Q is greater than 0.707, then there *is* a resonant frequency but
it might not align well to whatever bump in the curve.

i dunno what it's all about but that document seems to tell me that they
are trying to define and standardize a weighting curve as a 2nd-order
high pass filter. in cases like these, you try to match it to whatever
data the best you can, and *then* fix the standard into stone. but of
course, just specifying the coefficients is not enough, if your
application might have a different sampling rate. they should have had
a table of standard coefficients for a variety of different common audio
sample rates.

if i were to try to re-calculate the coefficients, i would first factor
out the constant gain, then factor both numerator and denominator into
discrete-time poles and zeros. then map those poles and zeros back to
analog poles and zeros using, i suppose the inverse bilinear transform
(with warping). then re-transform back with the bilinear transform with
the new sampling rate.

i dunno. that's how i might approach it.
--
r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Loading...