image thumbnail

Mode matching solver for cylindrical waveguide structures

version 1.0.1 (8.38 KB) by Marcis Bleiders
Scattering matrix solver for cylindrical waveguide structures based on analytical implementation of mode matching method.


Updated 27 Jul 2021

View License

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.
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 (2021). Mode matching solver for cylindrical waveguide structures (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with R2015a
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!