- Author
- J.M.Rius, J.Mateu, J.M.Tamayo, C.Collado, A. Padilla and J.O'Callaghan,
Dpt. Signal Theory and Communications, Universitat Politècnica de Catalunya (UPC),
Copyright © 2009 Universitat Politècnica de Catalunya (UPC).
Contact:
- lossy.nosp@m.filt.nosp@m.ers@t.nosp@m.sc.u.nosp@m.pc.ed.nosp@m.u
http://www.tsc.upc.edu/lossyfilters
- Version
- 2.0.3
- Date
- June 11, 2013
Acknowledgement:
- The software was developed in the frame of contract 21398/08/NL/GLC with the European Space Agency (ESA). Technical Offer was Christoph Ernst. Further features were developed under contract UPC-C7767 with Thales Alenia Space España (TAS-E).
- Contributions to the definition of the software functionality and testing have been made by Christoph Ernst, Mónica Martínez Mendoza and other ESA-ESTEC personnel, and Santiago Sobrino and Luis Roglá from TAS-E.
Synthesis of microwave lossy filters
See Synthesis of microwave lossy filters for a brief introduction about synthesis of microwave lossy filters.
License
See License terms page.
Installation
See separate installation instructions in files README.txt, README.pdf or readme/html/README.html
Software description:
The LossyFilters software package has been written to synthesize filters following various forms of classical (no-loss considered in the synthesis), pre-distortion and prescribed insertion loss synthesis. This software obtains the coupling matrix of several network topologies for a given response and allows performing rotations on them to find the desired topology. Additionally, the software allows to evaluate the effect of loss in the networks resulting from the synthesis, even in those cases where the synthesis results in an ideal lossless network (i.e., classical and pre-distortion synthesis).
The software package has been divided in two parts:
- <B>Open-source GUI and free libraries:</B> The graphical user interface (GUI) MWfiltersGUI, the 'Free Filter Library' and the 'Common Functions Library' are free open-source software with capability to edit the input parameters, synthesize Butterwork, Chebyshev and Quasieliptic filters with minimum insertion loss, rotate and save the filter coupling matrix and display and save the [S] parameters. The GUI will also run the non-free libraries if they are installed in the system.
- <B>Non-free libraries:</B> The non-free libraries are not required but, when they are installed in the system, allow the synthesis of Generalized Chebyshev filters with prescribed transmission zeros and linear phase optimization ("Library of Extra Filters") and the synthesis of lossy filters with the pre-distortion and prescribed insertion loss techniques ("Library of Lossy Filters).
Functionality of the free GUI and libraries
- The GUI is full-featured with complete functionality to open, edit, save and execute parameter files, as well as plot [S] parameters and manually edit coupling matrices:
- Actions can be launched by menus, toolbar buttons or keyboard shortcuts.
- There are tooltips in the parameters edit widgets.
- Application output in main window log widget and status bar.
- Modeless parameter edit dialog window with Accept / Compute / Discard buttons, to allow the computation with trial parameter values without closing the dialog.
- Preventive data validation at the parameters edit widgets in order to prevent the user introducing invalid data.
- Frequency parameters edit widgets allow the user to set THz, GHz, MHz, kHZ, Hz units.
- The parameter edit window detects if there are changes in the parameters, so that the application can warn the user if he is going to destroy non-saved changes.
- Plots S-parameters graph with phase or group delay in right-axis.
- Plots support adding, moving and deleting markers.
- Select which results to plot.
- Zoom S-parameter plot.
- Manual and autoscaling for each axis of S-parameter plot.
- Print S-parameter plot to printer or PDF file.
- Display coupling matrices and Q of resonators.
- Edit coupling matrix topology for non-zero elements optimization.
- Coupling matrices window: Manual rotation, node scaling, element anhilitation, add non-resonant nodes, edit matrix entries or Q values, file load/save, etc. There are facilities to undo and revert to any previous state.
- Plot S-parameters computed from the current coupling matrix compared with S-parameters computed from the characteristic polynomials. Display the average error in dB.
- Read [S] parameters from Touchstone format file.
- Store, recover and compare results from different computations or read from Touchstone format file.
- Specification mask read from file and plotted.
- Sensitivity analysis.
- User-selectable predistortion zeros.
- Code fully documented with Doxygen.
- The free libraries have functionality to:
- Read and parse parameters file.
- Write parameters file.
- Printing strings to:
- Console, when called from the command line.
- Main window log widget, when called from the GUI.
- Catches syntax errors in the parameter file.
- Correctly handles non-ASCII characters. Reads and writes UTF-8 format parameter files, accepts non-English characters in the GUI and in console output. When python reports that an output device is not able to print non-ASCII characters, the console interface replaces 8-bit characters by "?" in the output.
- Filter synthesis: Butterworth, Chebyshev and Quasielpitic filters.
- Generation of transversal coupling matrix (TCM) N+2.
- Functions to generate rotation matrices and to find the angle that zeroes a given coupling matrix element.
- Transformation from transversal coupling matrix (TCM) to folded coupling matrix (FCM) and to many other types of coupling matrices.
- Calculation of the passband coupling matrix, which is obtained from the low-pass one by a scaling. The resulting passband coupling matrix can be directly related to design parameters used for the filter design, such as the coupling between resonators.
- Optimize coupling matrix elements for a given topology and resonator Q, adjusting [S] parameters to the polynomials [S] parameters or to a specification mask.
- Prescribed flatness for lossless-like filters with flat passband response. The quality factor of a filter to emulate is specified in order to append additional resonator losses.
- Displays Q of resonators.
- Compute energy stored at resonators and reactive couplings and power dissipated at resonators and resistive couplings.
- Reports roundoff errors in polynomial roots and partial fraction expansion.
- Reports error in S-parameters computed from transversal and folded coupling matrices compared with S-parameters computed from the characteristic polynomials.
- Code fully documented with Doxygen.
Functionality of the non-free libraries
- The "Library of Extra filters" provides the following additional functions:
- Generalized Chebyshev transfer function with arbitrary transmission zeros [from Cameron, chapter 6].
- Linear phase equalization, optimizing the position of real and/or complex transmission zeros.
- Code fully documented with Doxygen.
- The "Library of Lossy filters" provides the following additional functions:
- Filter losses: predistortion (conventional or adaptive).
- Filter losses: "Prescribed insertion loss" with non-Uniform Q case 1 (k21+k11+k22 asymmetrical), case 2 (k21) and case 3 (k21+zero/pole).
- FCM matrix rotation to obtain uniform Q in resonators for Lossy Filter case-1 (kS11 + kS21), N=4 and N=6 and case-3 (kS21 + pole/zero), N=6. Automatic symmetrization of transmission zeros if necessary.
- Code fully documented with Doxygen.