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)

Reply by superraton●February 12, 20092009-02-12

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)

Reply by Rune Allnor●February 10, 20092009-02-10

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�= 0.0411996348974
> > B�= -1.44089997048
> > C�= 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� = 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

Reply by Rune Allnor●February 10, 20092009-02-10

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�= 0.0411996348974
> B�= -1.44089997048
> C�= 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� = 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

Reply by superraton●February 10, 20092009-02-10

>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´= 0.0411996348974
B´= -1.44089997048
C´= 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´ = 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.

Reply by superraton●February 10, 20092009-02-10

>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´= 0.0411996348974
B´= -1.44089997048
C´= 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´ = 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.

Reply by robert bristow-johnson●February 6, 20092009-02-06

On Feb 6, 2:57�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
particulars or your situation.
r b-j

Reply by superraton●February 6, 20092009-02-06

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!

Reply by robert bristow-johnson●February 5, 20092009-02-05

On Feb 5, 11:44�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

Reply by Rune Allnor●February 5, 20092009-02-05

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