File Exchange

image thumbnail

Electromagnetic Waves & Antennas Toolbox

version (120 KB) by Sophocles Orfanidis
Companion Software


Updated 09 Feb 2004

View License

A toolbox of functions to accompany the author's online book on "Electromagnetic Waves & Antennas". The book may be downloaded from the web page

The toolbox includes functions for the design and analysis of multilayer film structures, antireflection coatings, polarizers, omnidirectional mirrors, narrow-band transmission filters, birefringent multilayer films and giant birefringent optics; impedance matching methods, quarter-wavelength multisection Chebyshev transformers, stub matching, and L, Pi and T-section reactive matching networks; analysis of transmission lines and waveguides; S-parameters, Smith charts, stability and gain circles, noise figure circles, and microwave amplifier design; computation of directivities and patterns of linear and aperture antennas; horn design; computation of diffraction integrals and knife-edge diffraction coefficients; antenna array design methods for sector and narrow beams; numerical methods for the Hallen and Pocklington integral equations; computation of self and mutual antenna impedances; coupled antennas; various types of azimuthal and polar gain plots; and several movies showing the propagation of pulses on terminated transmission lines and on cascaded lines, reflections from reactive terminations, fault location by TDR, crosstalk signals on coupled lines, and time-evolution of the field radiated by a Hertzian dipole antenna.

Usage examples are found throughout the above text. The functions were developed with R11.1, but they work with R13.

Cite As

Sophocles Orfanidis (2019). Electromagnetic Waves & Antennas Toolbox (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (46)

Won Yang

Marvelous! Thanks a lot. I would like to ask you how I get your permission for using your codes in my book.

Muy buen toolbox, nos sirve mucho a los que estudiamos ingeniería.

A new version of this excellent toolbox is available at the link provided in File information above

Erda Wen

Thanks for the nice toolbox!

how can i calculate dipole impedance that is over lossy ground

Thanks for the nice toolbox!
One comment: multidiel2 seems to have a problem: If i use a complex refractive index with positive imaginary part (ZnO in my case), the reflecitivity turns >1, suggesting gain. If i take the imaginary refractive index *(-1) instead, i get a more believable result.

Zaid Ahmad

Very comprehensive set of functions to give good assignments to the students based on these functions



Dear Sophocles Orfanidis,

This toolbox is just amazing ! My whole thesis is working on this. Thanks a million.
Now, I am using the array() to get the antenna gains. I would like to calculate the total radiated power of the antenna from the g and phi values which are used in the dbz () function.
Please let me know, how do I calculate the total radiated power of the antenna.


Good Toolbox, I have used dslab.m and dguide.m files which are related to (TE modes in dielectric slab waveguide- TE-mode cutoff wavenumbers in a dielectric slab ), I wanted to reproduce that for TM modes, could you please help me how can I change that for TM modes?


Good toolbox. Note that there is an error in multidiel2.m. The line that causes an error should be: delta = 2*pi*f(i)*l(m) * sqrt(nf(m+1)^2 - nf(1)^2*sin(theta)^2); % note (m+1) and theta

With regard to file chebarray. It is my understanding that the central element excitation will always be the largest with odd number of elements. Your program doesn't show this when element size becomes > 11. Could you provide an explanation?

Ian Erwin

Dora Hu

This is really amzaing work. Worth the highest ranking.

Rafael Loayza

thanks you

Bill Zhang

safa nasser

i need the dipole block in my simulation

Josef Herclík

Ashwin Sundar

It saves my time for creating new programs

christine isaak

atul kausal

Lisheng XU

It is very useful.

Mark Manalangsang

Scripts are very useful.

domingo perez

Paul Ciszek

1) I did not mean to give this package a rating of "2"; is there anyway to remove my previous review?

2) There is a more recent version of the MATLAB code available on the book's website, It corrects the problem I mentioned in the previous review.

Paul Ciszek

Matlab tells me that the variable 'th' is undefined in line 55 of file multidiel2.m; sure enough, 'th' has not been defined in terms of anything else. Has anyone else run into this?

yo yo

Mohamed LASHAB

Well done I am very satisfied, I hope if there is some software for reflector antennas, the field I am interrested in, many thanks.

S Ziaee Amiri

Excellent Work ... espicially in antenna ...
I know it is easy to do myself with some operations but , it's better to write some other useful functions like : Field Pattern , Calculate HPBW and Antenna impedance Nomogramme .

sevda balk

Lokesh Kothari

Zaid Muhi-Eldeen

Excellent work includes alot of very helpful mfiles.

Sophocles Orfanidis

Regarding the user review dated 2005-03-16, I would like to point out that I did not write that review! The reviewer mistakenly used my name instead of his/her own name in submitting the review.

Henrique Silva

Comprehensive and very well detailed.
An amazing amount of work.

Orfanides Sophocles

This is simply the best reference to do antennas with MATLAB!

joel pelina

brian estremera

l a

s p

swap p

marcos y


Gonca cakir

Rooz Gorgin

Very comprehensive set of tools for computing various antenna parameters. Very useful.

Teu King Seng

MATLAB Release Compatibility
Created with R11.1
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: caffeinator13/ACTEM