Skip to content

jessehamner/FourThirdsPaper

Repository files navigation

FourThirdsPaper

Four-thirds radio propagation graph paper, made using [GNUplot] (http://www.gnuplot.info/) and, for some items, LaTeX.

If you don't know what radio propagation paper is, or what the 4:3 ratio even means, read this Wikipedia Article first.

You might also want to read NAVELEX 0101,112, from May 1972 as a useful extra study, found at navy-radio.com, virhistory.com, and doubtlessly elsewhere.

I found that I needed this paper and couldn't find any online (EDIT: added links below).

There is an example in the International Microwave Handbook, second edition (Andy Barter, G8ATD, ed.), Figure 1.1. I re-did the math myself (caveat emptor) and confirmed that the tangents matched up pretty well.

I did find two downloadable sheets at eeweb.com -- this one and this one, so interested users might like those as well.

--Jesse Hamner, June 2015

Revision 1, Jul 24 2015:

Added a variant of the script that allows users to include an elevation profile that will be plotted on the page in red, along with the option for labels identifying relevant locations along the profile.

The profile automatically adjusts its minimum elevation to be zero, so for those of you who live at 3000 meters elevation, your lowest profile elevation will still be zero meters.

I made my profiles using GRASS GIS, specifically its r.profile module.

To make this elevation profile, I used GRASS GIS and the GTOPO30 DEM global elevation data set (small Wikipedia stub is here). Thus the r.profile command includes a map and GRASS LOCATION name that are specific to that elevation raster. I expect yours will be different.

GTOPO30 DEM (digital elevation model) binary files are mostly 40 degrees wide (E-W) and 50 degrees tall (N-S), with exceptions near the South Pole that I won't go into.

Without seeking to become a serious tutorial on GRASS GIS (see the GRASS-WIKI for that), to import a single GTOPO30 DEM, you would create a proper MAPSET and LOCATION, with a spatial (raster) resolution of 0.0083333 degrees, and type:

g.region --o save="GTOPO_earth" n=90 s=-60 w=-180 e=180 res=0.0083333333333 --o

r.in.bin -s -b  --o input=W100N40.DEM output=W100N40 title="GTOPO DEM W100N40" bytes=2 cols=4800 anull=-9999 north=40 south=-10 east=-60 west=-100 rows=6000
r.colors map=W100N40 rules=elevation

You should pick your endpoints and use decimal degrees (noting that West and South are expressed as negative values). I use two example endpoints here.

Then, in GRASS, type:

r.profile --verbose input=W100N40@gtopo1 output=profile.txt profile=-80.8328,35.4911,-82.5558, 35.5800 res=0.011014

Note the resolution isn't critically important; I was doing that to try and get about 1 km of distance per data point as the crow flies, but the script doesn't care.

Similarly, to properly handle the labeling, one must create a separate file called labels.txt If you know your start and end points, you can use head and tail to create at least two of the points. You can add, by hand, other points along the profile as desired.

echo `head -n 1 profile.txt` " Davidson" > labels.txt
echo "86500.000 390 \"Blue Ridge Distilling Co\" " >> labels.txt
echo `tail -n 1 profile.txt` " Asheville" >> labels.txt

Mostly as a public service, but also as a note to myself, here's a nice way to use ImageMagick to convert the LaTeX pdf output to a nice-enough-looking PNG file.

convert -trim -background white -alpha off -density 400 -border 20 -bordercolor white FourThirdsPropagationPaper.pdf 43prop.png

Here's the result:

Image of Four Thirds Paper