Using SatNOGS to study the antenna patterns of antennas on the network


I have been working on making a simple python program to visualize the antenna patterns of Stations on the network using existing satellites. This would help plot out the nulls in antenna system along with obstructions. (They unfortunately appear the same the way I am working on.)

The basics of this work started as a little personal project to map out the nulls in my vertical antenna using the NOAA sats. I decided that if I pull data from the network for my station I could easily make this work on other stations.

The basic way it works is taking a polar plot and plotting the color as the intensity of the signal received. (In this case the NOAA APT signal) By stepping thru the pass and using FFT to find the signal in the audio points can be drawn on the plot in the correct location and also with a color representing the intensity. Doing this over many observations allow for building up a plot of the full sky.


You’d need to get the TLE that went with the observation to get the az/el at the timestamps from the ogg file. I’m not sure there’s an API point to get the TLEs though…

1 Like

I believe the TLE at the bottom of an observation page is the one used for it. I could also start from this point on. Logging the TLE sent with the jobs.

Actually, you can off course get the TLEs from and find the one closest to the observation time. That should be good enough to get az/el, as the orbits are pretty stable.

1 Like

TLEs are available on the jobs endpoint e.g.

As a check for dropped frames you might want to compare the length of the recording with the pass duration. I’ve had observations where the recording was shorter than the scheduled pass because something caused some dropped frames.

1 Like

Yep. They are but only for upcoming jobs. (That’s how I get them for my network activity map. )

The excellent work from @fredy is probably what you are looking for…


It will be like the plots Fredy made but it will focus on the signal instead of the amount of data extracted from signal.

This is why I plan on using NOAA Sats as the satellite used. Because its downlink is pretty constant and also has a simple signal to extract information about the signal strength.

1 Like

Signal levels among stations are not calibrated. That’s most probably why @fredy uses quantitative results to get this plots.

That’s why each plot would only be relevant to each station but not between stations.

This isn’t to compare how good stations are but to explore the antenna’s on the station and the environment around them just from observations. And also mostly for fun.

1 Like

I think that this will be much easier to do when the data-waterfalls will land on client and network.


@DL4PD, if we know the power of the satellite transmitter and the losses by using gr-leo, could we calculate the power that one station is receiving?

Approximately but not exactly. There’s humidity, clouds, temperature, ionization, etc pp.


You also don’t know the exact orientation of the satellite with respect to the ground station, or the actual antenna pattern of the sat antenna.