Request feedback on the following -- filter design tool

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
We are seeking your comments/opinions on
the following. We are creating a tool,  
plain ANSI C based, that will return  
the ladder LC model filter coefficients  
for any input filter specification. The  
input specification would include e.g.,  
for a low-pass 5th order Chebyschev  
filter with pass-band ripple of 0.2dB,  
cut-off frequency of 500 MHz, The  
output is in SPICE text based input  
format, specifically a SPICE 'SUBCKT'
and consists entirely of discrete  
components, Our queries are:
1. Is a GUI needed ?
2. Any other points that we might be
missing.

All comments/opinions are welcome.  
Thanks in advance,
      

Re: Request feedback on the following -- filter design tool
1. Sure -- might show graphs, play with parts values, etc.

Basically, this: http://www-users.cs.york.ac.uk/~fisher/lcfilter/

Bonus points for being able to specify real parts (i.e., finite Q, and/or  
parasitic L/C).

2. Even better to start with a prototype design (such as one of the  
standard filter types), and adjust node and branch subcircuits.  AADE  
Filter Design allows this (more or less, but it doesn't seem to have a  
"remove stage" function, bizarrely).

Bonus points (and by "points", I mean real monetary bucks -- even I'd pay  
for this!) for parts value optimizations -- best fit or bounded constraint  
to a frequency (and/or phase or group delay) curve, using real valued  
components, or limited to selections from a database (e.g., E12 values,  
inventory stock).  Plotting first order derivatives would be cool too (not  
directly, but as part of evaluating parts value sensitivity).

I've heard of such features in super expensive suites, but they're so  
cryptic on interface and capability, not to mention price (if you have to  
ask?..), that I have no problem plodding along with meager tools without  
them.

Tim

--  
Seven Transistor Labs, LLC
Electrical Engineering Consultation and Contract Design
We've slightly trimmed the long signature. Click to see the full one.
Re: Request feedback on the following -- filter design tool
(Oh, boy! I havent written to Santa Claus in a looong time.)  

Dear Filta Claus:

Being able to specify constraints that are closer to what users actually ca
re about would be good too.  

Usually phase linearity is more about time domain overshoot and settling ti
me, except maybe with FM or fancy digital modulation schemes.  

Return loss is another very useful item--absorptive filters (or filters plu
s diplexers) really help the spurious signal performance of mixers. I'd pay
 money just for that. 20 dB return loss is a nice number.  

For super fancy filters, that might have to be trimmed, it would be useful  
to have plots of what temperature does to the response, and what size trimm
ers to use, where to put them, and approximately where in their range to st
art from. (Temperature is probably hard since capacitor tempcos are nonline
ar and hard to predict.)

Optimal matching networks are probably outside your interest, but maximizin
g power transfer from some weird source such as a photodiode over some spec
ified bandwidth is another thing I run into.  

There are theorems that tell you the maximum average efficiency for many co
mmon cases, but designing the right network is nontrivial.  

Oh, I forgot--I'd also like a pony. ;)

Cheers

Phil Hobbs

Re: Request feedback on the following -- filter design tool
On Thu, 7 May 2015 04:39:02 -0500, "Tim Williams"

Quoted text here. Click to load it

We bought the Nuhertz LC filter program. I think it cost around $1000
and paid for itself quickly. It does a zillion different filter forms,
many that we'd never heard of, and can design a filter using standard
L and C values. It works really well, but the user interface is
clunky. The guy who runs Nuhertz is brilliant and sort of crabby.

Somebody could make some money buying that and running solutions for a
fee. Few people need to design LC filters full-time.

I use the free Filterpro for active filters. V2 seems to be better
than later editions.


--  

John Larkin         Highland Technology, Inc
picosecond timing   laser drivers and controllers

We've slightly trimmed the long signature. Click to see the full one.
Re: Request feedback on the following -- filter design tool

Quoted text here. Click to load it
and there is this free tool

http://www.tonnesoftware.com/elsie.html

Mark

Re: Request feedback on the following -- filter design tool
Quoted text here. Click to load it

Do you still need a thingie that generates equivalent gate drive
 RLC ladder networks from MOSFET S parameters? I had some
 ideas.

--  


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Re: Request feedback on the following -- filter design tool
snipped-for-privacy@gmail.com wrote:
Quoted text here. Click to load it

Maybe.  The problem with this is that it then becomes very specific to
a particular OS.  If you only want to support Windows, that's fine, but
you then get to make updates to track what Microsoft does to you.

For a while, Java was supposed to be the solution to cross-platform
GUIs, but it's sort of going away, these days.  Qt is a slightly newer
solution, but it 1) costs money for commercial use and 2) is a pain in
the butt to use.

If you make this program, I'd suggest writing the core program as a
command-line thing that takes input from the command line or a
configuration file.  Then, write a GUI to drive it.  This lets people
use the GUI if they want, or generate their own command lines or
configuration files to run the program directly.  The command-line
version can also be instantly ported to just about any OS people might
like to run.  Having the command-line version also makes it easier for
people to automate it with shell scripts, batch files, or equal.  They
could even put it on a server, make an HTML GUI, and use cgi-bin or
similar to drive it.

Matt Roberds


Re: Request feedback on the following -- filter design tool
On 07/05/2015 22:27, snipped-for-privacy@att.net wrote:
Quoted text here. Click to load it

Qt is free for commercial use if your program is not statically linked  
with Qt code.



Re: Request feedback on the following -- filter design tool
On Thursday, May 7, 2015 at 5:28:23 PM UTC-4, snipped-for-privacy@att.net wrote:
Quoted text here. Click to load it

Thank you very much for your suggestions.  
The core program is already working(please
see sample output posted with responses to
another message). As the output filter design
is in SPICE text format, the user is provided
the maximum flexibility to choose parameters
for performance analysis, - signal source,  
.AC, .TRAN analysis etc., I do agree with  
your comments on both Java and Qt.  

Re:Request feedback on the following -- filter design tool
snipped-for-privacy@gmail.com Wrote in message:
Quoted text here. Click to load it

Why would you use plain ANSI C to write a tool like this? That
 seems pathological.

--  


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Re: Request feedback on the following -- filter design tool
On Wednesday, May 6, 2015 at 8:43:11 PM UTC-7, snipped-for-privacy@gmail.com wrote:
Quoted text here. Click to load it

A1. Yes
A2. Yes, because it is not clear why you would bother writing an LC filter design program.

Why? Because FILSYN (S/FILSYN) is the single most powerful filter design tool ever written, particularly for LC filters, and it is now in public domain.  

See http://alkeng.com/

It is a bit quirky, can crash, and is not super-easy to use, but it is worth the effort to learn if you ever need anything beyond cookbook designs.  FILSYN will not export SPICE lists, but really, that is not so important compared to what it can do.

Output example:
 *** Filsyn ***  Filter Program
<New Passive Filter>   23-Feb-2015 16:43    
 1   +---R---+    50.000000  ohm
 3   +---C---+   300.000000 fF
 4   |       C    41.721050pF  
 5   +---C---+    11.576369pF  
     |     .-+.
 6   |     L  C   22.000000nH  res.frequency
     |     `-+'   21.765163pF  230.000000 MHz  
 7   +---C---+    24.284063pF  
 8   |       C   116.237958pF  
     +-L-.   |    33.000000nH  
 9   |   +-C-+   119.779503pF  res. frequency
     +-C-'   |    12.763563pF  245.232036 MHz  
11   +---C---+     3.000000pF  
12   |       C    32.133646pF  
13   +---C---+     4.309304pF  
     |     .-+.
14   |     L  C   22.000000nH  res.frequency
     |     `-+'   25.812482pF  211.200000 MHz  
15   +---C---+     8.191478pF  
16   |       C    64.289364pF  
     +-L-.   |    33.000000nH  
17   |   +-C-+    64.883740pF  res. frequency
     +-C-'   |    24.826674pF  175.834421 MHz  
19   +---C---+     2.500000pF  
20   |       C    40.204568pF  
21   +---C---+     1.714493pF  
     |     .-+.
22   |     L  C   22.000000nH  res.frequency
     |     `-+'   26.741230pF  207.500000 MHz  
23   +---C---+     1.772733pF  
24   |       C    50.028972pF  
     +-L-.   |    33.000000nH  
25   |   +-C-+    72.006394pF  res. frequency
     +-C-'   |    25.996699pF  171.832005 MHz  
27   +---C---+     7.371066pF  
28   |       C   236.624737pF  
29   +---C---+     2.951900pF  
     |     .-+.
30   |     L  C   22.000000nH  res.frequency
     |     `-+'   24.227277pF  218.000000 MHz  
31   +---C---+     3.996633pF  
32   |       C    38.733111pF  
33   +---C---+     4.000000pF  
35   +---R---+    50.000000  ohm

Band-pass filter                
  Equal-ripple pass band
     Bandedge loss                       =   0.500000 dB.
     Lower passband edge frequency       = 107.000000 MHz  
     Upper passband edge frequency       = 194.000000 MHz  
  Specified stopband type
     Parametric bandpass
     Multiplicity of zero at zero        =   1
     Multiplicity of zero at infinity    =   1
     Number of finite transmission zeros =   7
     Overall filter degree               =  16
     Transmission zeros
           real part   imaginary part
        0.0000000D+00  8.8500000D+07
        0.0000000D+00  7.6100000D+07
        0.0000000D+00  9.2500000D+07
        0.0000000D+00  2.0750000D+08
        0.0000000D+00  2.1120000D+08
        0.0000000D+00  2.1800000D+08
        0.0000000D+00  2.3000000D+08
     Value of freal              = 144.076369 MHz  
     Input termination           =  50.000000  ohm
     Output termination          =  50.000000  ohm
     Requested termination ratio =   1.0000000D+00

--------------
Try doing the above with anything else.  You can't.  Only QuikFil comes close on the LC alone basis, and it is a DOS program. BTW, QuickFil is in public domain too.  You'd need DOSbox for it.

Re: Request feedback on the following -- filter design tool
On 05/08/2015 03:39 PM, Simon S Aysdie wrote:
Quoted text here. Click to load it

Awesome!

Cheers

Phil Hobbs

--  
Dr Philip C D Hobbs
Principal Consultant
We've slightly trimmed the long signature. Click to see the full one.
Re: Request feedback on the following -- filter design tool
Quoted text here. Click to load it

Since these things are public domain, it seems the above flaws
 could be rectified using the appropriate wrapper
 scripts.

--  


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Re: Request feedback on the following -- filter design tool
On Friday, May 8, 2015 at 4:46:32 PM UTC-7, bitrex wrote:  
Quoted text here. Click to load it

For FILSYN, all the "canned" filters (see
http://alkeng.com/newmenu.gif) ar
e derived via compiled scripts.  If one purchases Winbatch (another vendor)
, they can develop their own scripts.  I have never done that.  The "front-
end" scripts drive the FILSYN engine.

However, I should mention one of the main quirks, and this will probably an
noy people, is that the scripting starts filling out the fields in the GUI  
and pop-ups for the main engine.  If you click in another program while it  
is doing this, say Excel for example, the script input will then be re-dire
cted to the other program, and start filling in cells.  That is not good.  
It is not "multi-task."  You have to wait for it to finish.  If the program
 is run in a VM, then the problem is circumvented.  

It is strange, but for me it is easy to look past given what is otherwise o
ffered... for free.  It isn't that hard to work around.

The program was written by George Szentirmai.  Work on the program began in
 the '60's.  


Re: Request feedback on the following -- filter design tool
On Sunday, May 10, 2015 at 8:59:08 AM UTC-7, Simon S Aysdie wrote:
Quoted text here. Click to load it

I should say that one can also drive the main engine by direct entry.  Scri
pts are not required.  I do direct entry often.  (The filter I showed was d
esigned that way.) The scripting quirk is never seen for direct entry becau
se there is no script to be run.

Re: Request feedback on the following -- filter design tool
On Friday, May 8, 2015 at 3:39:16 PM UTC-4, Simon S Aysdie wrote:
Quoted text here. Click to load it

Dear Sir,
Our package was developed on a multitasking
platform (Linux) and has been easily ported  
to Windows 7. On Windows, it can be run under
the native Visual Studio .NET framework, or
the far more convenient Cygwin/MingW framework.
The choice is yours. Our teste so far do not
show ANY of the quirks that you have mentioned
in your posts. The main strength of our package  
is that the output is in SPICE format text file
that can easily be used for performance anaylsis,
after making simple modifications to the SPICE
file to add in signal source, analysis directives
(e.g. .AC, .TRAN etc.,) We use Ngspice-26.  
The workflow is simple(please check below for  
sample input/output). We provide the user two  
options to design a band-pass filter.

1. User specifies filter specifications in a  
simple text file to be used as input to the  
program. This input text file contains  
cut-off frequency (low/high Butterworths/
Chebyschev), pass-band ripple (Chebyschev)
filter name(Butterworths/Chebyschev),
bandwidth/center frequency(band-pass filter)  
filter type(band-pass, high-pass, low-pass)  
and of course filter order
(1|2|3|4|5|6|7|8|9|10)

2. The output is in a SPICE input format text
file.    
EXAMPLES:
(A)
To create a 8th irder Butterworths low pass filter, provide the specification in a text
file:

8 950000000 50 bw 0.0 l 0.0 0.0

Program prints name of SPICE format output  
file:
Filter order 8
bw8O50950000000l.cir

8th Order Butterworths filter in SPICE format:

.SUBCKT bw8OLP 1 7
* 1 IN
* 7 OUT
R0 1 3 50.00
C0 3 0 1.307390e-12F
L1 3 4 9.307827e-09H
C2 4 0 5.572059e-12F
L3 4 5 1.643173e-08H
C4 5 0 6.572692e-12F
L5 5 6 1.393015e-08H
C6 6 0 3.723131e-12F
L7 6 7 3.268474e-09H
R1 7 0 50.000000
.ENDS

(B)
To create a 9th order Chebyschev high-pass  
filter:
  
9 750000000 50 ch 0.2 h 0.0 0.0

Program prints name of SPICE format output  
file:
Filter order 9
ch9O50750000000h.cir

9th Order Chebyschev filter in SPICE format

.SUBCKT ch9OHP 1 7
* 1 IN
* 7 OUT
R0 1 3 50.00
L0 3 0 4.531451e-09H
C1 3 4 6.295026e-13F
L2 4 0 6.484057e-09H
C3 4 5 1.048847e-12F
L4 5 0 8.813392e-09H
C5 5 6 1.348006e-12F
L6 6 0 1.151138e-08H
C7 6 7 1.973626e-12F
L8 7 0 2.867196e-08H
R1 7 0 50.00
.ENDS

Work is still very much in progress.





Re: Request feedback on the following -- filter design tool
On Tuesday, May 12, 2015 at 7:56:03 PM UTC-7, snipped-for-privacy@gmail.com wrote:
Quoted text here. Click to load it
ter design program.
Quoted text here. Click to load it
n tool ever written, particularly for LC filters, and it is now in public d
omain.  
Quoted text here. Click to load it
worth the effort to learn if you ever need anything beyond cookbook designs
.  FILSYN will not export SPICE lists, but really, that is not so important
 compared to what it can do.
Quoted text here. Click to load it
 close on the LC alone basis, and it is a DOS program. BTW, QuickFil is in  
public domain too.  You'd need DOSbox for it.
Quoted text here. Click to load it
tion in a text
Quoted text here. Click to load it

Spice lists are convenient, no doubt about that. So is automatic input to A
WR, or similar tools.  If desired, these listings could be generated by scr
ipt processing the text output of FILSYN, for example, or the text output o
f other programs.  A spice listing is a trivial part of the more general fi
lter problem.  Formulaic synthesis of Butterworth and Cheby has been known  
since the 1950's.  The Amstutz method for elliptic designs has been known s
ince the late 70's (iirc).  What you've mentioned is simply canned/cookbook
 stuff that is not that important given that these things are widely availa
ble for free.  

FILSYN is a *general* synthesis and manipulation program.  It goes so far b
eyond cookbook basics that it is not proper to compare it to cookbook-only  
programs. It is like comparing a child T-ball star to Hank Aaron.  

Do you understand the scope of what a "full-featured" synthesis program ent
ails? (Plus, there is "no money" in that business.) A spice listing is fros
ting on the smallest sliver of cake.  I mean, when you are reporting a Butt
erworth/Cheby output as notable progress, I think you are 1/1000th of the w
ay "there."  Have you done Butterworth and Cheby yet with unequal terminati
ons? (Your listing shows equal terms.) Heck, I did the Butterworth/Cheby sy
nthesis in m-code years ago.  I never use it.  Very good LC filter programs
 have already been written, and are cheap or free.  The only "new stuff" is
 along the lines of the cross coupling approach such as that of GWT.  But t
hat is for a restricted class of filters.





Re: Request feedback on the following -- filter design tool
On Wednesday, May 13, 2015 at 2:36:59 PM UTC-4, Simon S Aysdie wrote:
Quoted text here. Click to load it
e:
Quoted text here. Click to load it
ilter design program.
Quoted text here. Click to load it
ign tool ever written, particularly for LC filters, and it is now in public
 domain.  
Quoted text here. Click to load it
s worth the effort to learn if you ever need anything beyond cookbook desig
ns.  FILSYN will not export SPICE lists, but really, that is not so importa
nt compared to what it can do.
Quoted text here. Click to load it
es close on the LC alone basis, and it is a DOS program. BTW, QuickFil is i
n public domain too.  You'd need DOSbox for it.
Quoted text here. Click to load it
cation in a text
Quoted text here. Click to load it
 AWR, or similar tools.  If desired, these listings could be generated by s
cript processing the text output of FILSYN, for example, or the text output
 of other programs.  A spice listing is a trivial part of the more general  
filter problem.  Formulaic synthesis of Butterworth and Cheby has been know
n since the 1950's.  The Amstutz method for elliptic designs has been known
 since the late 70's (iirc).  What you've mentioned is simply canned/cookbo
ok stuff that is not that important given that these things are widely avai
lable for free.  
Quoted text here. Click to load it
 beyond cookbook basics that it is not proper to compare it to cookbook-onl
y programs. It is like comparing a child T-ball star to Hank Aaron.  
Quoted text here. Click to load it
ntails? (Plus, there is "no money" in that business.) A spice listing is fr
osting on the smallest sliver of cake.  I mean, when you are reporting a Bu
tterworth/Cheby output as notable progress, I think you are 1/1000th of the
 way "there."  Have you done Butterworth and Cheby yet with unequal termina
tions? (Your listing shows equal terms.) Heck, I did the Butterworth/Cheby  
synthesis in m-code years ago.  I never use it.  Very good LC filter progra
ms have already been written, and are cheap or free.  The only "new stuff"  
is along the lines of the cross coupling approach such as that of GWT.  But
 that is for a restricted class of filters.

Thanks for the feedback. A few points:

1. Most of what we EEs(UNLIKE physicists)  
do is "cookbook". Digital IC designers  
rely heavily on "standard cell libraries"  
and the CAD tool pulls out those particular standard cells that can be opti
mized for  
a particular design. An engineering mahager
would not like his/her subordinates spending  
days writing out/verifying the transfer  
function for say a 10th order band pass  
filterand then finding all the poles/zeros  
etc., Even the design for a single transistor
RF amplifier runs over 8 - 10 pages, - one
small error, and the design goes down the  
drain. Given that no one does filter design
full-time, a reliable tool is essential.

2. Just because examples provided are based
on the common Butterworths and Chebyschev  
filters, DOES NOT mean that we ignore Bessel, Cauer/Zolatarev etc., filters
.
3. We are happy that you think that "you  
are 1/1000th of the way "there." ". That  
is progress.  

4. Sure a lot of packages are "free" but  
come with their own quirks(a few of which
you point out for FILSYN). I have used  
Linux all my career, but that definitely  
does not mean that all distributions of  
Linux are bug-free. Let us not even get  
into Microsoft's products.  

5. Oh yes, we are aware of Guided Wave  
Technology and we do have definite plans  
of adding hard-core microwave related  
features in the near future.

Thank you      

Site Timeline