Geodesic Parabolic Antenna - For 802.11b Wireless Application


The Idea

Well, first I'm going to go buy a nice 24dBi parabolic dish, after I save up enough for it. Then I'm going to build a better antenna. (Yeah, right! It couldn't be that hard.)

The Math

In a word, Projection. There's a million ways to calculate geodesic coordinates. This one is useful because you can use it for any surface: spherical, elliptical, parabolic, etc.

Start off by calculating all the vertexen of an icosahedron. This can be fun and for now (until I get time to type it all in) this is an excercise left for you to enjoy. (Hint: start with 1 edge = 1 unit then translate the radius of the sphere = 1 for your final coordinate values) This is more easily done in spherical coordinates than in (x, y, z) systems. Eventually however, if you want to do things like trace them in povray, you should orient your icosa with one vertex at (0,1,0) and centered on the origin.

Next, for each of the "edges" on your icosahedron (or tetrahedron, or octahedron, or rhombododecahedron, or spherical giraffe, or ...), you will need to detemine a vector that is the direction from one end to the other, it does not matter which, but you need to know which point you started from. You need to know the distance along one edge before doing your frequency breakdown calculations. Divide the edge by your chosen frequency and calculate all the points on that edge using your starting point and directional vector. Once you have done this for two adjacent edges (having a common point) you will have the starting points for an almost fractline method of calculating all the points in the middle of that polyhedral face. Once you have all the points for your polyhedra, you simply project these points out onto your surface. Spheres are the easiest. Normalize the vectors and you have a sphere. If you project it out to the surface of a parabola, you have all the points needed mathematically describe a nice antenna.

It was fairly easy to code up in perl. Also, there's some random bits of C floating around there on the net that I've seen that do a nice job of building coordinate systems for spheres, that could be modified.


clapp@aeonic.com -:- Home -:- Resume