```Hi Rune and Robert!
I finally found the normalisation factor for my nominator coefficients.
For every k pole of the filter transfer function Sk = Ak + iBk , the gain
factor is the summatory of the square modulus of each pole:
G = (A0^2 + B0^2)^2 + (A1^2 + B1^2)^2 + ... + (Ak^2 + Bk^2)^2
Of course, for even orders, the num coeffs must be also multiplicated by
the 10^(-0.05*Ap) factor before mentioned.
Thank you very much for your help!
ps: this is very well explained in the Andreas Antoniou book (page 489)
```
```Hi Rune and Robert!
I finally found the normalisation factor for my nominator coefficients.
For every k pole of the filter transfer function Sk = Ak + iBk , the gain
factor is the summatory of the square modulus of each pole:
G = (A0^2 + B0^2)^2 + (A1^2 + B1^2)^2 + ... + (Ak^2 + Bk^2)^2
Of course, for even orders, the num coeffs must be also multiplicated by
the 10^(-0.05*Ap) factor before mentioned.
Thank you very much for your help!
ps: this is very well explained in the Andreas Antoniou book (page 489)
```
```On 10 Feb, 11:59, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 10 Feb, 11:38, "superraton" <sillasyceril...@hotmail.com> wrote:
> > A= 0.082203847163826033
> > B= -1.4408999704847574
> > C= 0.67368409495431092
>
> > Against another filter design sofware (WFilter) with same specifications:
>
> > A&#2013266100;= 0.0411996348974
> > B&#2013266100;= -1.44089997048
> > C&#2013266100;= 0.673684094954
>
> > Well, if I divide my A's with GAIN = ((A+2A+A)/(1+B+C)) * sqrt(1+eps^2) ,
> > I get the same coefficients!
> > --> A&#2013266100; = A / GAIN
>
> > Do you still have the formulas of your filter coefficients? I might have
> > something wrong in my A's...
>
> Seems very likely. From what I can see, the numbers for B
> and C match to whithin printing precision.

I just looked up the Cheb 1 filters in Proakis & Manolakis.
The prototype s-domain filter function is on the form

H(s) = 1/polynomial

that is, only one constant coefficient in the numerator.

Since you have problems with the numerator coeffcients,
I'd suggest you have a look on the Bilinear Transform
routine. It might be easier to find a test case for the
BLT than for the full-scale cheb 1 design.

Rune
```
```On 10 Feb, 11:38, "superraton" <sillasyceril...@hotmail.com> wrote:

> A= 0.082203847163826033
> B= -1.4408999704847574
> C= 0.67368409495431092
>
> Against another filter design sofware (WFilter) with same specifications:
>
> A&#2013266100;= 0.0411996348974
> B&#2013266100;= -1.44089997048
> C&#2013266100;= 0.673684094954
>
> Well, if I divide my A's with GAIN = ((A+2A+A)/(1+B+C)) * sqrt(1+eps^2) ,
> I get the same coefficients!
> --> A&#2013266100; = A / GAIN
>
> Do you still have the formulas of your filter coefficients? I might have
> something wrong in my A's...

Seems very likely. From what I can see, the numbers for B
and C match to whithin printing precision.

> Or maybe you know a book where you can find these coefficients written?

Not the coefficients, but the formulas. The books I
know of, where these things are covered in some depth,
are

van Valkenburg: Analog Filter Design (1982)

Antoniou: Digital Signal Processing (2006)

There is some mentioning of these things in
intermediate-level books on DSP, like Proakis &
Manolakis, and Oppenheim & Schafer.

Rune
```
```>how is that "apart" from the previous?  for odd-order Tchebyshev
>(without this gain compensation you refer to), the gain at DC is 1.
>for even order, it's 1/sqrt(1+eps^2).

So I guess I have done something wrong, because my gain at DC is not one
for odd orders or 1/sqrt(1+eps^2) for even orders...
Just in case it might help I will copy the coeffs I get for e.g:
LP ord 2, Sampling freq=1Khz, Cutoff freq=100hz, Ripple = 0.99763 (for
Ap=-3dB) and H(z)= (A + 2Az^-1 + Az^-2)/(1 + Bz^-1 + Cz^-2)

A= 0.082203847163826033
B= -1.4408999704847574
C= 0.67368409495431092

Against another filter design sofware (WFilter) with same specifications:

A&acute;= 0.0411996348974
B&acute;= -1.44089997048
C&acute;= 0.673684094954

Well, if I divide my A's with GAIN = ((A+2A+A)/(1+B+C)) * sqrt(1+eps^2) ,
I get the same coefficients!
--> A&acute; = A / GAIN

Do you still have the formulas of your filter coefficients? I might have
something wrong in my A's...
Or maybe you know a book where you can find these coefficients written?
Thank you so so much for your help again!!!
SR.

```
```>how is that "apart" from the previous?  for odd-order Tchebyshev
>(without this gain compensation you refer to), the gain at DC is 1.
>for even order, it's 1/sqrt(1+eps^2).

So I guess I have done something wrong, because my gain at DC is not one
for odd orders or 1/sqrt(1+eps^2) for even orders...
Just in case it might help I will copy the coeffs I get for e.g:
LP ord 2, Sampling freq=1Khz, Cutoff freq=100hz, Ripple = 0.99763 (for
Ap=-3dB) and H(z)= (A + 2Az^-1 + Az^-2)/(1 + Bz^-1 + Cz^-2)

A= 0.082203847163826033
B= -1.4408999704847574
C= 0.67368409495431092

Against another filter design sofware (WFilter) with same specifications:

A&acute;= 0.0411996348974
B&acute;= -1.44089997048
C&acute;= 0.673684094954

Well, if I divide my A's with GAIN = ((A+2A+A)/(1+B+C)) * sqrt(1+eps^2) ,
I get the same coefficients!
--> A&acute; = A / GAIN

Do you still have the formulas of your filter coefficients? I might have
something wrong in my A's...
Or maybe you know a book where you can find these coefficients written?
Thank you so so much for your help again!!!
SR.

```
```On Feb 6, 2:57&#2013266080;am, "superraton" <sillasyceril...@hotmail.com> wrote:
> ... I was already aware that EVEN order filters gain
> must be compensated by the ripple factor.

why "must" it be so compensated?

> The thing is that apart from that, I get an extra gain factor which I must
> compensate in order to get gain 1.

how is that "apart" from the previous?  for odd-order Tchebyshev
(without this gain compensation you refer to), the gain at DC is 1.
for even order, it's 1/sqrt(1+eps^2).

> Do you know if that is the normal procedure in IIR chebyshev filter
> design?

"normal" is whatever you want it to be.  in audio, i have on past
occasions, done even-order Tchebyshev filters and i never compensated
that small deviation to the DC gain.  this compensation would boost
the passband gain to more than 1 at most other passband frequencies.

> Or I should get directly a filter with gain 1 after compensation of
> the ripple factor?

if, for some reason, this filter was in a feedback loop and DC was the
salient frequency, then you have to do whatever you must to keep the
feedback loop stable.  otherwise, i don't get what the necessity is.
so the DC gain is -10*log10(1+eps^2) dB.  other frequencies will also
have the same gain.  if you adjust the overall gain to fix that, then
there are other frequencies in the passband where the gain will be
more than 0 dB.  might be okay, maybe not.  depends entirely on the

r b-j
```
```Hi Rune and Robert!
Thanks for your replies. I was already aware that EVEN order filters gain
must be compensated by the ripple factor.
The thing is that apart from that, I get an extra gain factor which I must
compensate in order to get gain 1.
Do you know if that is the normal procedure in IIR chebyshev filter
design? Or I should get directly a filter with gain 1 after compensation of
the ripple factor?
Thanks again!
```
```On Feb 5, 11:44&#2013266080;am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 5 Feb, 17:28, "superraton" <sillasyceril...@hotmail.com> wrote:
>
> > I have a problem when I calculate the coeffs of my chebyshev IIR filters
> > (via Bilineal Transformation), and I hope someone can help me!
> > The thing is that when I compare my coeffs with other filter design
> > softwares, the denominator coeffs are correct but the numerator ones I get
> > are multiplied by a gain.
>
> This has to do with the order of the type I Chebychevs.
> For either even or odd order (I don't remember which)
> the gain at DC is 1, and for the other the gain at DC
> is the ripple factor.
>

oh, lessee which:

|H(j*w)|^2 = 1/( 1 + (eps*Tn(w))^2 )

where

Tn(w) = cos(n *arccos(w))       for  |w| <= 1

Tn(w) = cosh(n *arccosh(w))       for  w >= 1

Tn(w) = (-1)^n * cosh(n *arccosh(-w))       for  w <= -1

i think it's the case that

Tn(0) = cos(n * pi/2) = +/- 1 for even n, 0 for odd n

so it's the even order Tchebyshev that dips down to 1/sqrt(1 + eps^2)
at DC.

i dunno why that should be compensated (it would boost the gain in the
passband to more than 1), but that could easily depend on particulars
of the situation of which i know nothing of.

r b-j
```
```On 5 Feb, 17:28, "superraton" <sillasyceril...@hotmail.com> wrote:
> Hi everyone!!
> I have a problem when I calculate the coeffs of my chebyshev IIR filters
> (via Bilineal Transformation), and I hope someone can help me!
> The thing is that when I compare my coeffs with other filter design
> softwares, the denominator coeffs are correct but the numerator ones I get
> are multiplied by a gain.

This has to do with the order of the type I Chebychevs.
For either even or odd order (I don't remember which)
the gain at DC is 1, and for the other the gain at DC
is the ripple factor.

Check out what orders (even, odd) should not intersect
DC qith gain 1, and figure out what gain they should have.

Rune
```