optical-filter-design-tool
What is the lowest insertion loss for a double-ring bandpass filter? How narrow the bandwidth can be made? These two factors are closely connected with the passband shape of the spectrum. This calculator helps you to visualize this, as well as designing a filter. If you used this tool in your work, please cite the paper in "Cite this repository".
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.9%) to scientific vocabulary
Repository
What is the lowest insertion loss for a double-ring bandpass filter? How narrow the bandwidth can be made? These two factors are closely connected with the passband shape of the spectrum. This calculator helps you to visualize this, as well as designing a filter. If you used this tool in your work, please cite the paper in "Cite this repository".
Basic Info
Statistics
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
An App for Optical Filter Design & Optimization
Introduction
This app helps you extract the optimal design of filter, as illustrated in the paper (i.e. minimum insertion loss, optimal transfer function shape, etc.). You will need TWO parameters before you start: 1. the cavity loss Q or loss rate r0; 2. your desired 3-dB bandwidth.
This tool well soon update a Matlab based GUI to implement the design functions for N-dB bandwidth input.
It is constructed using dash, a Python library that supports interactive graphing. Most importantly, this app is farely easy to use. Though it is published as source codes, only few steps needs to be done for setup, which will be illustrated in the following section.
Currently, this interactive design tool (filter_visualization.py) supports the design with fixed 3-dB bandwidth with no passband ripple.
For arbitrary fixed N-dB bandwidth as well as Chebyshev passband (with ripple), please use paraconv.m. example.m illustrate how to use paraconv.m step by step.
Two .lsm files are attached to this design tool for validation of the theory model, which shows a transmission spectrum has a satisfactory agreement between the simulated and theory results on passband shape, bandwidth, and absolute insertion loss.
Environment setup & Installation
- To make the code running, Python along with some affiliated packages needs to be installed on your own computer. This can be done easily with the help of Anaconda. To install it, follow the link and go to its official website and download the version corresponding to your operational system. It is same as installing any other software on your own machine.
- After sucessfully installing Anaconda, the environment should be set up properly automatically. Since the packages used in the code is usually preinstalled along with Anaconda.
- Then download the code and put it under some convinient directory on your computer.
- Open the Terminal of your computer, type
conda activateand Enter. If you are using Windows, then open Anaconda Prompt and do the same thing. - Type
python _directory_of_your_downloaded_code_/filter_visualize.pythen Enter. - Several new lines will appear on the screen. Copy the URL (in the red box of figure below) and paste it into browser. The app is available to you.

##### Trouble shooting If some error likeModuleNotFoundError: No module named 'dash'appears on screen, following this to install dash. ### Demostration First, input the bandwidth here, then press PLOT button. A contour map like the one in paper will show up.
Then, you can tune the shape parameter S and impedence match M through either input a value or play with the slider. You can see the trend by tunning the slider. Real-time values and graphes will keeps updating when you are changing the parameter. You can also change the spectrum by modifying the coupling coefficients on the other side of the spectrum. The graph of two rings and waveguides at the corner gives an intuitive illustration of how strong the coupling is.
The app also lets you calculate ro (loss coupling rate) of the ring:
Owner
- Login: Xinchang233
- Kind: user
- Repositories: 1
- Profile: https://github.com/Xinchang233
Citation (citation.cff)
cff-version: 1.2.1
message: "If you find this design tool useful, please cite the accompanying paper as follows."
authors:
- family-names: "Zhang"
given-names: "Xinchang"
- family-names: "Singh"
given-names: "Manuj"
- family-names: "Li"
given-names: "Dingning"
- family-names: "Popović"
given-names: "Miloš A."
title: "Optical filter design tool"
url: "https://github.com/Xinchang233/Optical-Filter-Design-Tool"
preferred-citation:
type: article
authors:
- family-names: "Zhang"
given-names: "Xinchang"
- family-names: "Singh"
given-names: "Manuj"
- family-names: "Li"
given-names: "Dingning"
- family-names: "Popović"
given-names: "Miloš A."
doi: "10.1364/OL.525476"
journal: "Optics Letters"
# month: 7
# start: 1 # First page number
# end: 10 # Last page number
title: "Engineering the passband shape of coupled-cavity bandpass filters for low loss and/or narrow bandwidth"
issue: 49
volume: 13
year: 2024
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2