You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
This code solves the generalized scattering matrix (GSM) of waveguide structures defined by series of symmetric discontinuities and homogenous sections of cylindrical waveguides.
The code is based on well known mode matching (MM) method theory, e.g.:
J. A. Ruiz-Cruz, et al., "Computer Aided Design of Waveguide Devices by Mode-Matching Methods" (2010), In book: Passive Microwave Components and Antennas, DOI: 10.5772/9403
The implemenation of coupling integrals is fully analytic.
Usage:
The main script is called 'mode_matching_spar.m'.
Scructure is defined by arrays 'a_wg' and 'l_wg', which holds the radiuses and lenghts of each of the waveguide sections. Optionally the relative dielectric constant can be defined for any section using 'er_wg' (by default er=1).
For example, following structure (cross section):
is defined using array values:
a_wg = [0.1,0.13,0.1,0.13,0.1];
l_wg = [0.1,0.1,0.3,0.1,0.1];
- 'n_modes_max' sets the maximum number of modes modes included in calculation. This variable is compromise between convergence accuracy and solving time and should be tuned experimentally based on maximum radius of structure under test.
- 'm' is azimuthal order of calculation and at most practical cases (when excitation is TE11 mode) should be left as m=1.
- 'freq_array' defines the calculation frequency points (in Hz).
- 'qm', 'qn' chooses which electrical mode port result to extract from GSM for visualization. For TE11 exctation qm = 1, and qn = 1.
The code is verified against comercial full wave solvers, for example, comparison between CST time domain solver and this code is shown in following pictures (exciation is TE11 mode).
Cite As
Marcis Bleiders (2026). Mode matching solver for cylindrical waveguide structures (https://in.mathworks.com/matlabcentral/fileexchange/96539-mode-matching-solver-for-cylindrical-waveguide-structures), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.0.1 (8.38 KB)
MATLAB Release Compatibility
- Compatible with R2015a
Platform Compatibility
- Windows
- macOS
- Linux