Building an 802.11b TVRO Dish


Wireless Internet is amazing. It allows people to get access to the Internet or network without wires. Most of the time people, who think about wireless think about installing wireless in their home or office place; however, it is possible to establish wireless connections over greater distances. I have a need for such a system. I live approximately 16.1 miles from my school, which has wireless 802.11b access points setup. I desire to be able to connect to these access points from my house. I have line-of-site visibility to them. The problem is getting a antenna with enough gain to maintain a connection. Having tried small 24db dishes, I knew that establishing a link was possible.

(I usually had 3-5 SNR with a small dish.) I need around 14-20 SNR to maintain an acceptable connection. After discussing the problem with my Propagation and Radiation teacher (Rob Frohne), I decided to adapt an old TVRO dish to work on the 2.4 GHz band. Hopefully this would give me enough gain to achieve a link from my house to the college.

I should also mention that I built this antenna as a lab requirement for one of my Engineering Electives (Propagation and Radiation) at Walla Walla College.

As a requirement for the lab, I had to write a proposal for my antenna which is available here: antennaprop

Choosing an Emitter:

After doing a little googling, I discovered Trevor Marshall’s biquad feed that he used for his primestar dish. I decided to adapt this design to my dish. The main adaption I did was to remove the side wings. I did this for two main reasons. The first is that it made the emitter easier to make, and the second is because I need to get as much dish as possible in the emitters shadow (More on this problem below).


A first Attempt:

After deciding on a building a large dish, I was asked to create a working NEC simulation of the it. I downloaded the source for Trevor Marshall’s biquad feed emitter and coupled it with a dish I built using 4nec2’s parabolic dish building system. The problem is that my dish, which is 10 foot at aperature, consists of a small mesh backing. In order to simulate this backing, I needed wires every 0.5 inches. If I told 4nec2 to create such a backing, it complained that it contained too many segments.

Back to the old drawing board.

I decided to make use of polarization. That is to say, I could build a dish that had many cross members in one direction, and only a few cross memeber in the other. I ran a simulation of the emitter and found that it was horizontally polarized. I made my horiziontal spacing bigger and was able to build a dish+emitter simulation that was just under 11000 segments. Now that I had a NEC file that was less than 11000 segments (which was the max 4nec2 could have in a design), I decided it was time to simulate. I downloaded and compiled nec2dx. Unfortunately, my Linux box wouldn’t even compile nec2dx. After much fiddling and talking to my instructor, I learned that one has to rename to NEC2DPAR.INC as Linux is case sensitive. Besides that, I had to rename nec2dx.f to nec2dx.fpp to get the g77 preprocessor to run over it. It then compiled giving only small errors about some time functions not existing. When I tried to simulate my dish, it said I had too many segments. I looked at the NEC2DPAR.INC file and noticed that I could increase the MAXSEG and MAXMAT numbers. I increased both to 11000 and recompiled resulting in a nec2dx that would instantly segfault. I decided that I was past some fundamental limitation and wondered if it would work under a 64bit architecture. The next day I loaded my nec2dx source on one of the schools Sun boxes. It complied and ran great. The only problem was it kept running and running. It ran for two weeks and then I killed it. I later determined that it would take around 4 weeks to run.

I determined that for NEC the time required goes as n^3 (where n is the number of segments). Since I was designing a dish, I could make use of symmetry. If I used symmetry twice, the total number of elements would go down by 1/4, which means the time would go down by 1/4^3 or by a factor of 64. On top of all this, it would allow nec2dx to to compile and run on my Intel box (by setting MAXSEG to 11000 and MAXMAT to 5400, which didn’t result in the segfault).

In order to get symmetry working, I had to completely redo the emitter and the dish. I had to get everything into one quadrant. I redid the emitter manually and arrived at this NEC file.


Before Mirroring
After Mirroring


A simulation of just this modified emitter showed promising results:



Now I just had to deal with the dish part itself. I wasn’t thrilled at the idea of going through all 9457 elements manually and trying to find which quadrant each segment was in. Since I am lazy, I wrote a small Python program to check every line for me. It is available here. All this program does is figure out where each GW card lies, and if it isn’t in the +y,+z quadrant, it filters it out. Now the problem I had was that I had all of these segments, but none of them had linear ID tags.

As a result, when I rotated it I would get weird things happening (like random segments getting excited, etc). To fix this, I wrote another program to linearize my file (available here). Be careful with this program as it doesn’t update link tags (like EX, etc).

Now that I had a NEC file with all the segments in one quadrant, I put in just the segments that would be needed after rotation. This resulted in the following geometry:


Before Mirroring
After Mirroring


Now I had a NEC file that not only encoded the dish and the emitter, it also had symmetry in it twice (I.E. GX xxxx 011). This allowed my dish to be run in nec2dx quite rapidly (7 hours) on my 2.4 GHz Intel workstation.

The Overall Simulation Results

Unfortunately, the simulation of the dish and the emitter isn’t working as desired. According to the output, my dish has infinite gain in all directions. I am afraid that NEC is not capable of working with so many reflective bodies. From the research I have done into NEC, I am pushing its limits and I think that a different version of NEC might be able to solve it. However, what I have done it isn’t going to work. If anyone has any thoughts on this, please feel free to comment. Even if I had gotten a successful simulation, due to some of the interesting approximations I have made, I would be leery of blindly trusting simulation data. However, it would have been interesting to compare it to experimental data.

That said, it is a most impressive structure when loaded in xnecview…..



Building the Beast:

Even though I couldn’t get the dish to simulate, I still decided to build it. I started out by building the emitter. I did this mostly by following the guide at

These instructions are really well written and I don’t have much to add to them. I used a milling machine to notch out the end of the pipe, and I drilled a hole in the side of the pipe and soldered the coax shield to it. Unfortunately, I couldn’t find a nice BNC end for my cable, so I ended up using a rather funky one, but it still works. Overall, it took me about 4 hours to make.

Next, I hooked it up to the schools network analyzer and manipulated it as effectively as possible to obtain a good

impedance match (41 Ohms). After that, I put the emitter in the dish and proceeded to test its SNR at different angles. These SNR readings were taken from about 50 feet from the dish by an Orinoco silver card that was positioned to receive max SNR. Note that the environment wasn’t perfect for doing this test. As you can see from the pictures below, there was a large metal shop that acted as a reflector and messed up the test results, but the dish is not easily movable.

Experimental Results


Angle SNR Measured
0 54
4 44
8 31
12 28
16 23
20 26
24 28
28 27
32 26
36 27
40 32
45 29
49 25
53 30
57 26
61 29
65 26
69 24
73 31
77 24
81 23
85 31
90 23
94 24
98 20
102 22
106 22
110 22
114 22
118 18
122 15
126 16
130 17
135 20
139 16
143 13
147 15
151 15
155 14
159 12
163 15
167 14
171 10
175 13
180 14
184 14
188 15
192 10
196 9
200 9
204 9
208 13
212 14
216 17
220 13
225 17
229 10
233 12
237 10
241 10
245 12
249 16
253 11
257 12
261 21
265 26
270 29
274 31
278 31
282 25
286 30
290 34
294 34
298 35
302 35
306 30
310 29
315 29
319 31
323 32
327 34
331 31
335 32
339 32
343 35
347 32
351 38
355 40


Graphically this looks as follows:

As you can see, I definitely have a stronger radiation pattern in the direction of the dishes focus (0 degrees), but I have some weird side lobe “virtual radiation”, most likely caused by reflections off of the metal shop that was next to the dish test area. See the pictures section to get a better idea of what I am talking about.



Experimental VS Theoretical

From my test position, I had an SNR of 31db using just the emitter. As you can see from the simulation of my emitter alone, it raised the SNR 7.6 db. This means that my antenna had an isotropic power reference of 23.4db (31-7.6). Since I had a max SNR into the load of 57db, I was getting 33.6db (57-23.4) boost by using the dish. From page 19-41 in the ARRL Antenna Handbook, the theoretical gain for a 10 foot dish at 2.4 GHz is approximately 35db. Providing I haven’t made any mistakes in my calculations, this looks very good. I would have loved to get a working simulation for my complete dish. Unfortunately, that hasn’t happened as of yet.

Problems to Avoid

  • Check the polarization: When I rotated the emitter 90 degrees, my SNR dropped from 54db to 30db. Make sure your polarization is lined up with the receiving antenna
  • Be symmetric in your design
  • Avoid having large reflective structures in your test area 🙂
  • Avoid trying NEC simulations with large numbers of segments

Possible Improvements

This antenna is still a work in progress. Some of the things I would like to do include:

  • Try to match the input impedance a little better
  • Experiment with different coaxial connections to the emitter


This antenna was a learning experience. I was really impressed with the emitter. It was
fairly easy to make, and it seemed to work really well. I had an SNR of about 31db at my
test position by using just the emitter. Coupling it with the dish brought the SNR
up to 57db. Unfortunately, my class schedule coupled with the fact that my TVRO dish
isn’t easily accessible has pushed my installation of this system to the summer of 2004.

Check back for updates and see if I am able to connect to the access points at my school.


I took the class with several friends who setup web pages for the antennas they made. Check them out!

(Last Updated 03/14/04)