The entries that follow purposely exclude the high-end / expensive tools that designers are probably already familiar with.
(Under Construction)
General Calculation
Many people use MATLAB and C++ as their computational tools of choice, but there are quite a few alternatives available, many in open-source format. Here are a few leads to get the curious going:
Python with NumPy / Scipy
Python with matplotlib
Freemat (high degree of compatibility with MATLAB)
Maxsima
Scilab
PTOLEMY out of UC Berkeley
A couple of more extensive discussions about alternatives to MATLAB can also be found here and here.
A rather eye-opening example about computation times is provided here. As others have noted, most languages have a quirk or two about them and seemingly simple calculations can on occasion take forever. A skilled user can often navigate around these issues, so any benchmark comparisons like the ones that follow should be taken with a grain of salt.
For an example, we will consider is a simple case of solving the 2D Laplace equation using an iterative finite difference scheme (four point averaging, Gauss-Seidel or Gauss-Jordan). The formal specification of the problem is as follows. We are required to solve for some unknown function u(x,y) such that ∇2u = 0 with a boundary condition specified. For convenience the domain of interest is considered to be a rectangle and the boundary values at the sides of this rectangle are given.
It can be shown that this problem can be solved using a simple four point averaging scheme as follows. Discretise the domain into an (nx x ny) grid of points. Then the function u can be represented as a 2 dimensional array – u(nx, ny). The values of u along the sides of the rectangle are given. The solution can be obtained by iterating in the following manner.
for i in range(1, nx-1):
for j in range(1, ny-1):
u[i,j] = ((u[i-1, j] + u[i+1, j])*dy**2 + (u[i, j-1] + u[i, j+1])*dx**2)/(2.0*dx**2 + dy**2))
The rather remarkable computation times that were reported follow:
| Solution Method | Execution Time (sec) |
|---|---|
| Python (estimate) | 1500.0 |
| Python + Psyco (estimate) | 1138.0 |
| Python + NumPy Expression | 29.3 |
| Pryrex | 2.5 |
| MATLAB (estimate) | 29.0 |
| Octave (estimate) | 60.0 |
| Pure C++ | 2.16 |
Circuit Analysis & Simulation
LTspice IV (by Linear Technology) A remarkably capable analysis tool that is truly free.
Mesh Electronic Circuit Analysis 2.0
Top Spice (I personally own and use this product and am pleased with it.)
AppCad for RF & Microwave circuit analysis. Originally developed by the staff of Hewlett-Packard
Filter Design
RF & Microwave Filter Design
FilPro- with a rather remarkable software manual
Digital Filter Design
Frequency Planning
Mixer Spurious Performance
Antennas
Electromagnetic modeling tools at Clemson University
Wire Antennas
Microstrip Antennas
Other
Other Sites with Listings