**EMRFD Message Archive 2000**

MessageDateFromSubject2000 2008-09-04 13:48:26 timshoppa GPLA for plotting group delay? OK, obviously I'm spending too much time in front of the computer with

Zverev and XLAD and GPLA instead of on the radio, but wow this is fun.

Silly question: how do I use GPLA for plotting group delay through my

newly designed filters?

If I have phase shift through the filter from LTSpice, is group delay

something simple like the derivative or slope of the phase shift vs

frequency? I remember something like that from school days...

Tim N3QE2001 2008-09-04 19:02:53 victorkoren Re: GPLA for plotting group delay? Group delay is always the derivative of phase to Omega (2*Pi*F):

d(phi)/d(W)

Victor 4Z4ME

2003 2008-09-04 19:51:40 Wes Hayward Re: GPLA for plotting group delay? Hi Tim and gang,

Many thanks for the interesting questions. Let me make a few

comments.

First, XLAD does indeed have code that generates the k and q values

for both Butterworth and Chebyshev filters. The Butterworth

expressions are simple and easy to program. Chebyshev is more

complicated, for the relationships for component values are

interrelated. They are still simple enough. See section 2.7 of

Intro to RF Design for all the gore. This analysis provides the

normalized component values for the low pass filters, which are the

prototypes for the bandpass filters.

Once you have the g(n) values for the normalized low pass components,

the next step is to translate these to k and q values. Years ago I

recall learning about this in one of my first exposures to Zverev.

At one place, and I don't remember just where it was, he describes

the design of a low pass filter from k and q tables. These tables

are normally used for bandpass filters, but that is not the only

application. Anyway, once I found this design scheme, I was able to

go through it to work backwards. Once I had values for a normalized

low pass, the backwards process will provide the k and q values. It

all comes down to using the mathematical definitions of the k and q

for a given filter. This is what is embedded within XLAD.

XLAD does not go beyond the Butterworth and Chebyshev filters. (My

private version includes Cohn.) Evidently, from what you say Neil

has not provided code to go further in the AADE programs either. I

have not found any closed forms for the Gaussian components and other

filter forms, but I'm sure they are out there and I can see how one

might derive them from some of the basic transfer functions.

It is not necessary or even desired that you know anything about

MathCad when doing any of this work. It is mathematics, pure and

simple. I happen to use MathCad as a tool for some of my work, for

I have become somewhat familiar with the way to drive the program.

It produces equations that look good in print or in the web. But

the stuff that is in EMRFD that came from MathCad is nothing more

than a series of equations that the reader can use with a slide rule,

hand calculator, spread sheet, MatLab, Mathcad, Maple, or

Mathematica, or any of many programming languages.

The really important thing about q0 is the definition, which is the

ratio of the unloaded Q of a resonator to the Filter Q. This is the

thing that makes the discussion general, transcending resonator type.

The filter Q is just the reciprocal of the fractional bandwidth.

Consider an example. We have a pile of 8 MHz crystals that we have

measured and have found that the unloaded Q is 75,000. These are

useful, but far from stellar parts. We wish to make a SSB filter

from these with a bandwidth of 2 kHz. The fractional bandwidth is

2/8000 = 2.5 E-4. (That's 2.5 times 10 raised to the -4 power.)

The reciprocal of this is 4000. So q0 is 75000/4000=18.75. If we

go to the Zverev tables, we find that this is going to be a pretty

easy filter to build so long as we don't need too many crystals.

Specifically, from the tables, you could realize a 7 element filter

with these crystals, but no more, if designing for a 0.1 dB Chebyshev

shape. Eight elements would go with a .01 dB Chebyshev or a

Butterworth. Bill Carver covered this, as you pointed out.

Say we wanted to use those same crystals for a 200 Hz wide CW

filter. The filter Q would then be 40,000 and q0 is only 1.9. We

would be hard pressed to make much of a CW filter with these low Q

rocks. (Well, it would work with two crystals.)

Many builders have examined only the Min-Loss (Cohn) crystal

filter. It's not a bad choice. On the other hand, it is not that

difficult to design something else. The Min Loss filter grows ugly

bumps on the skirts when the order goes beyond 5.

The Zverev tables often have a wide variety of values for each

filter. For example, the N=8 Butterworth response shows four sets

of k and q for each q0 value considered. The question of which k

and q set to pick among the many offered is a good one. I've done

comparative simulations of filters that use all available sets for

one case and saw no difference, which is of course implied by the

text. I've heard the comment that the better choice is one where q1

is close to qn, but that is not vital. Lower values of q1 and qn

may be more easily realized. Generally, you want to end up with a

low value of "native resistance," for want of a better term. This is

the R mentioned Eq 3.12 in EMRFD. The lower that value is, the

greater flexibility you have during the design.

The Zverev tables use "predistortion". The distortion we refer to

here is a alteration or compromise in the shape of a filter as a

result of component loss. If we know that this is going to occur, we

can plan for it, and this planning is predistortion. Use

predistortion if you wish to obtain the exact specified shape. For

example, if you happen to pick predistorted 0.1 dB ripple Chebyshev,

you want to have a filter that is nearly flat with only these minor

0.1 dB ripples within the passband. If you have crystals with

enough Q, this can be achieved. But predistortion comes with a cost,

usually in excess filter loss. You can simulate all of this. The

predistorted k and q tables of Zverev give you the data you need for

such a design.

Most of the filters that I build are not predistorted. That was not

always the case. I was really hung up on predistortion back in the

mid 1970s SSD era. But building filters illustrated the price to be

paid for the accurate shape. Comments from some friends and

colleagues also helped. For example, Bill Sabin commented that he

rarely used predistortion in filters for the radios he built, on and

off the job. The k and q values generated by XLAD are not

predistorted.

We don't usually need a precise shape. If a SSB filter happens to

have a little ripple, we won't even hear it, so long as it is not

excessive. I would say that 0.5 to 1 dB ripple in a SSB filter

would rarely be a problem. That is, of course, a subjective

number. Other folks often have more discerning ears than mine.

We give a lot of lip service to ringing and one shape over another.

Any filter is going to ring. Even the FIR filters that we usually

realize with DSP ring, but the ringing then is confined to a limited

number of cycles. Our more general observation for CW filters is

that filters will sound good if they have a rounded peak shape rather

than one that is flat. It is not that important to go for one exact

shape over another, for it is going to be difficult to actually

realize an exact shape anyway. (I can envision debate on this from

some folks.)

As mentioned, these are subjective details that bridge between the

mathematics, the designs that follow and the actual perceptions.

Various folks have different requirements and interests.

The transitional filters such as the Gaussian to 6 dB will have quite

different values for q1 and qn, which means that the native

resistances will also be different. I've built some filters such as

that in EMRFD Fig 7.60 where the termination is 500 Ohms at each end

even though there are different native resistance values each end.

Any of these filters, be they LC, crystal, or whatever other

resonator you might want, can be built with impedance transforming

properties. That is, you could design one with a 500 Ohm

termination at one end and 1500 at the other. There is an LC

example of this in the manual that comes with the software in

EMRFD. The manual is a text file on the CD. If you do a crystal

filter with unequal terminations at the two ends, some careful tuning

will be required. This can be done with Meshtune, the tuning

program that is also on the CD.

The transitional filters such as the Gaussian to 6 differs

considerable from the Chebyshev in that the symmetry that is usually

present with a Butterworth or Chebyshev is no longer there. So a

transitional filter will have all coupling capacitors different.

While this is sometimes a practical frustration, there is also a

positive to these filters: They tend to be quite tolerant of

component variations. This becomes apparent if you play with these

filters in a simulator such as GPLA. In fact, you could do an

analysis in a general purpose simulator using Monte Carlo analysis

and see the impact of component variations.

This is probably a good place to inject another practical

observation. I recently became the owner of a vector network

analyzer. I ended up with one of those from N2PK, and it is a

wonderful tool. Among the first things I examined were some

crystal filters. They were built from a variety of crystals on hand

at 5, 7.373, 10, and 11.06 MHz. One of the things that quickly

emerged was that a Butterworth shaped SSB filter with N=6 was

especially easy to realize. The correspondence with simulation was

outstanding. I also got good results with a 0.1 dB Chebyshev design

with N=8, although I had to be more careful with component values and

end tuning.

I did not include phase or group delay analysis as a part of GPLA.

It could have been done, but I just didn't take the time when writing

the code. The software that comes with IRFD has a DOS versi