No other filter design software available at any price can do what S/FILSYN can do. For example, trying designing a wide "pseudo-elliptic" bandpass filter having equal ripple group delay in the passband like the one plotted below with any other filter design package.

## S/FILSYN (Tm) S/FILSYN is an interactive filter design, synthesis and analysis program available for personal computers, workstations and mainframe computer systems. It is offered in modules and comes with a number of utilities. The modules are structured for the design of: * Passive LC, crystal and microwave filters * Active RC and switched-capacitor filter * Digital filters of both IIR and FIR variety. COMMON CHARACTERISTICS All segments can handle lowpass, highpass, bandpass and band-reject filters, delay lines of degree up to 50 and up to 20 additional delay equalizer sections. FIR filters can have up to 10 bands and up to 512 taps. Passband characteristics can be: * Maximally-flat or equal-ripple loss * Maximally-flat or equal-ripple delay (lowpass or bandpass) * Sloping with specified slope (bandpass) * Arithmetically symmetrical (bandpass) * Arbitrary loss (and delay) shape Stopbands may have the following characteristics: * Monotonic to meet specifications * Equal-minima type to meet specifications * Specified transmission zeros, inc. complex ones * Arbitrary piecewise-constant specifications In most of the above cases, multiple transmission zeros may also be specified. Additionally, one may also specify: * Predistortion in passband and/or stopband * Arbitrary terminations, including extreme * Locations of reflection coefficient zeros * Complete transfer function * Parametric bandpass functions The above characteristics may be combined in any feasible way. Possible combinations include: * Arithmetically symmetrical bandpass with linear phase and equal minima stopbands. * Bandpass with sloping passband and specified transmission zeros in lumped or microwave (distributed parameter) forms * Parametric bandpass with minimum number of inductors of all equal values * Bandpass filters that have a topology of lowpass or highpass filters to match unequal terminations * Coupled-resonator bandpass filters of various forms and arbitrary bandwidths, with equal resonator L or C values (EXACT solution) * Delay-equalized quasi-elliptic bandpass filters meeting different requirements in the two stopbands PHYSICAL IMPLEMENTATIONS Passive LC and microwave filters Passive LC and microwave filters can be designed in the following forms: * Single lattice * Ladder with possibly embedded bridged-T or twin-T sections * Ladder with embedded lattices With the exception of the single lattice form, the program can select the initial configuration, or the user may specify his/her own. This configuration can then be modified using many operations, including Norton (impedance) transformations, Kuroda's identities including Levy's extensions (microwave case), extended tee-to-pi conversions, interchanging resonant branch locations, three-element branch conversions and many others. Results can be analyzed with or without losses, delay equalized, scaled, saved, transferred to other programs (SuperCompact, Touchstone, SuperStar, SPICE and PCFILT) and modified in many other ways. Time domain analysis is also available. Analysis results (both time and frequency) can be saved and/or displayed graphically in several ways. Intermediate results may also be saved and recalled at a later time for further work. Since bandpass filters are designed directly and NOT only by the lowpass-to-bandpass transformations, these bandpass filters are infinitely more flexible and general, with more options available. Together with the parametric option, filters with the absolute minimum number of inductors are available and the values of these inductors can also be prescribed. In microwave filters, unit elements (cascaded transmission-line segments) are a contributory part of the filter, although they may also be inserted later on. This feature provides one of the many design capabilities NOT generally available in other programs. As a result, S/FILSYN can also handle quarter-wave transformers and impedance matching circuits in several other forms. Filters from any other source may also be entered into S/FILSYN for analysis and further modifications. We can also add loss equalizer sections to the existing filter for analysis and documentation purposes. Active RC filters Active RC filters can be designed in the following forms: * Cascaded second order sections * As above with the 'leapfrog' type feedback to provide one of the several ladder simulation methods * As above but with the 'follow-the-leader' feedback. Pairing and ordering of the cascade implementation automatically provides the optimum dynamic range, but may be changed later as desired. The sequencing of the zeros in the feedback cases, which yield realizations insensitive to component inaccuracies, is also automatic, but may be overridden as needed. The resulting functions can be analyzed, scaled, delay-equalized, /saved and modified many other ways. Analysis results can be saved and/or displayed and design data can also be saved and recalled for further work. For specific implementations we have two general methods, one that uses capacitors and transconductance amplifiers as active elements, the other uses resistors, capacitors and operational amplifiers as active component. In the first instance the resulting configuration is unique, in the second we have more than two dozen sections available for circuit realization, where the program selects the proper implementation for each section. This may again be overridden. The final implementation can be written to a SPICE or SuperStar compatible file. Switched-capacitor filters As part of the active-RC filter segment, a special operation (the bilinear Z-transform) is available to convert the resulting transfer function to that of a switched-capacitor filter. This may be done with or without prewarping, hence the case of relatively low sampling rate may also be handled easily. All three of the structures listed above are available and the physical implementation used is that of Fleischer-Laker, which is proven to be completely parasitic-insensitive. These circuits can also be analyzed and circuit netlists for both the SCASY and SWITCAP programs can be generated. Filter function data from any other source may also be entered into the program. Digital filters IIR filters IIR filter functions are generated from the analog transfer function by one of the following transformations: * Bilinear (with or without automatic prewarping) * Impulse-invariant * Matching The resulting transfer functions can be implemented in the following forms: * Cascaded second order sections * Parallel second order sections * Gray-Markel lattice * Direct form * Differential allpass form * Several lattice or ladder wave-digital forms (through the use of the passive/microwave segment of the program) The second order sections can be implemented in either of the two normal forms. The resulting transfer functions can then be analyzed and modified in many ways including: * Frequency and time domain analysis (with specified word length, if desired) * Truncation or rounding * Optimal pairing and ordering of cascaded form * Scaling of cascaded form using several different policies * Delay equalization Analysis results can be saved and/or displayed, filter data may be displayed in decimal or hexadecimal formats, saved and recalled for further work. Transfer function data from any other source may also be entered into the program for analysis, design and further modification. FIR filters FIR filters may be designed either by the Parks-McClellan-Rabiner method with equal-ripple type characteristics, or by using the windowing methods. The equal ripple solution can handle filters with up to 10 bands, differentiators and Hilbert transformers. The passband shapes may be either constants or of specified arbitrary shape. The windowing method has about 20 different window types available, and can handle lowpass, highpass, bandpass and band-reject filters. Window types include the familiar Hamming, Hann, Kaiser, Gaussian and Chebyshev windows, among others. Both types of filters may have up to 512 taps. The resulting functions can be analyzed, factored, factors converted to minimum phase forms and recombined into one or more cascaded functions. The resulting implementation of a long FIR filter in the form of shorter cascaded ones yield implementations that are less sensitive to coefficient wordlengths. Truncation, rounding and hexadecimal display are among the many features and operations available. Filter data from other source may also be entered into the program for analysis and further operations. GENERAL FEATURES * As part of the program, we provide a stand-alone program called OPT, a preprocessing optimizer, to generate transfer functions to approximate any prescribed loss and possibly delay shapes for analog (passive LC or active RC) as well as microwave and IIR digital filters. This way completely arbitrary filter specifications can be handled by the programs in a routine fashion. * All of the analysis and modification segments, including the delay equalizer design segments, are available as stand-alone programs for the analysis and manipulation of existing filters, whatever their origin. Computed or measured delay may also be equalized by the program. * Data input to S/FILSYN is completely free format in either scientific or engineering notation; if large amounts of data are to be entered, they can also be read from previously prepared files. Most prompts are very clear and help messages are readily available. * The personal computer version of S/FILSYN comes with a full, context- sensitive help system and a number of other utilities to make program usage simpler. In particular, the Extended Batch Language (EBL Plus) utility allows us to offer a large number (70 +) of script files for more often used filter kinds. These simplify program usage by an order of magnitude. Users may also write their own script files. * All of our script files are also integrated into a wrap-around front-end menu system, to further simplify program operation. The menu system is also able to generate additional script files which can then be saved and/or modified for later reuse. OPTIONAL PROGRAMS COMPLEMENTING S/FILSYN Several programs are available separately from ALK Engineering which complement the capabilities of S/FILSYN. Some of these are: SCASY -- for the analysis of switched-capacitor filters from the circuit configuration and element values in the frequency domain. The program capabilities include sensitivity analysis and statistical methods. COMBLINE -- a post-processor for the design of equal diameter round-rod or rectangular-rod combline microwave filters. ECM -- another post-processor for the design of edge-coupled microstrip or stripline microwave filters. AVAILABILITY AND HARDWARE REQUIREMENTS S/FILSYN is available for mainframe computers, workstations (like SUN, HP9000, etc.) and personal computers (IBM or compatible). On personal computers a math coprocessor (8087, 80287 or 80387) is required. The complete program needs about 5 Mbytes of hard disk space and can make use of, but does not need, any extended or expanded memory. On personal computers S/FILSYN comes in several modules which can be used as stand-alone units and communicate through files with each other. Built-in graphics is of the character-graphics type, but high resolutions graphics is also available as a stand-alone unit. This program supports CGA, EGA, VGA and Hercules boards and can print to a number of laser and other printers. Other utilities include the EBL Plus language mentioned above, a backscroll and command line editing utility and others. On mainframe and workstation systems, the program is in a single executable file with graphics an integral part. PRE- AND POST-PROCESSORS The S/FILSYN program has several other programs working closely together to enhance its capabilities. These include the OPT preprocessor and the COMBLINE and ECM postprocessors. OPT Optimizing Preprocessor. Occasionally, filter designers are faced with the problem of designing a filter with a passband of prescribed, non-constant, loss shape, with optionally, a prescribed delay. Our optimizing preprocessor was developed to solve problems of this kind. OPT needs two data files, one containing a table of the required loss (and optionally, delay) values, versus frequency, the other containing the poles and zeros of a transfer function, that is the initial trial function. This trial function is most often generated by S/FILSYN itself as a flat passband approximation to the filter requirements. OPT has three optimization strategies built into it, which we can use interactively in any order and any number of times, observing the results as we go along. Up to 30 parameters of the transfer function can be selectively varied by the optimization. Once the results are acceptably close to the requirements, the program writes the final pole-zero data into an output file, that can subsequently be read back into S/FILSYN for synthesis. The program can automatically handle analog (LC or active RC) filters as well as microwave and digital (IIR) ones. COMBLINE Postprocessor S/FILSYN is capable of designing microwave filters (filters consisting of commensurate length transmission line segments) of any complexity, to meet any set of requirements. This design, however, stops with the calculation of the impedance levels of the individual line segments and converting these impedance values to a physical structure and compute the physical dimensions is not built into the program. COMBLINE is a stand-alone program that reads in a design already prepared by S/FILSYN and converts it to an equal-diameter rod combline filter. It then calculates and prints all physical dimensions, with the new equivalent electrical circuit. Combline performs a number of additional functions, including frequency domain analysis of the new equivalent circuit, storing and recalling data, modifying the parameters, preparing netlists readable by the SuperCompact or Touchstone programs, converting the round rod implementation to rectangular rod design as well as perform touch-up optimization to compensate for the effects of approximations. On personal computers, a script file is available to run the S/FILSYN main program as well as COMBLINE as a single unit. Included in the package is an additional program called by the script file, that offers help in selecting the number of resonators to meet specified requirements. ECM (Edge-Coupled Microwave) Postprocessor ECM is a stand-alone program that also takes its input from the S/FILSYN main program. On personal computers, a script file again helps in preparing this input just as in the COMBLINE case above. The resulting design is then converted in ECM into either a microstrip or a stripline edge-coupled microwave filter. Final physical dimension are printed and parasitic capacitance values are computed and printed. ECM also performs frequency-domain analysis and writes netlists to transfer the data to the SuperCompact or Touchstone programs. AVAILABILITY All three programs are available for personal computers, workstations or mainframe systems. SCASY Switched-Capacitor Analysis Program SCASY is a program for the frequency domain analysis of linear, switched-capacitor circuits, containing capacitors, clock-controlled switches and ideal voltage-controlled voltage sources (operational amplifiers). The program runs on mainframe and workstation computers as well as personal computers with at least 2 Mbytes of working memory and at least an 80386 processor with an 80387 math coprocessor. On workstation and mainframe computers the program limits are easily adjustable, while on personal computers the current limits are: * up to 80 capacitors * up to 20 operational amplifiers * up to 30 switches (not associated with capacitors) * up to 12 phases per clock cycle * up to 501 frequencies if sensitivity is not requested * up to 101 frequencies if sensitivity is required * up to 20 secondary outputs may be specified. Input may be entered from the keyboard, or most likely, from a previously prepared ASCII data file. Frequencies may be included in the data file, or may be entered directly from the keyboard to avoid the need for frequent editing of this file. Frequencies may contain linear or logarithmic ranges or individual frequencies or any of their combination. Sensitivities with respect to up to 80 of the capacitors and operational amplifiers may be requested. These sensitivities can subsequently be used by a companion program (SCMONTE) to perform Monte- Carlo type statistical analysis of the circuit. Program output consists of the tabulated loss, phase and delay versus frequency for the main (first) output, and only loss versus frequency for the additional (secondary) outputs. If the operational amplifier output points are specified as additional outputs, this data can be used to perform signal scaling for optimum dynamic range. If sensitivities are requested, they are also tabulated versus frequency. The SCMONTE companion program reads the sensitivities computed by SCASY, permits us to specify capacitor and op.-amp. tolerances (assuming linear or normal distribution) and number of samples to be computed. Additional samples may be requested later. The program then computes the required number of samples and tabulates the minimum, average, maximum and standard deviation of the loss (or delay) versus frequency. If bounds are also speci-fied, the program also computes the percentage yield (i.e. the percentage number of samples meeting the requirements). Any of these tabulated results may be saved in an ASCII file for documentation or other purposes. This tabulated data can also be displayed by the GRAPH utility program later.