GOES Satellite Reception Project

We're getting interested in listening to the GOES geosync weather satellites, so this page is a collection of links to help get started with that project. We'll report on progress as it happens.

https://www.rtl-sdr.com/setting-up-a-goes-weather-satellite-antenna-system/
https://www.rtl-sdr.com/receiving-goes-weather-satellite-hrit-with-an-sdrplay-and-2-4-ghz-wifi-grid-antenna/

Detailed article: https://www.teske.net.br/lucas/2016/10/goes-satellite-hunt-part-1-antenna-system/

Good building options: https://www.rtl-sdr.com/building-a-low-cost-goes-weather-satellite-receiver-with-an-rtl-sdr/

Here's the link to an antenna: https://www.amazon.com/1850-1990-Parabolic-Antenna-Die-Cast-15dBi/dp/B06ZYJ3P82/ref=sr_1_2?ie=UTF8&qid=1536255463&sr=8-2&keywords=parabolic+grid+antenna+1.9

Link to antenna pointing from W2MMD: https://www.satellite-calculations.com/Satellite/Catalog/catalogID.php?41866

Info on GOES 16, the east-coast satellite: https://en.wikipedia.org/wiki/GOES-16

Video from ThoughtExperiment here: https://www.youtube.com/watch?v=jGWFg7EDnyY

9/10/18 - ordered this antenna and this filter for GOES. Also have a RTL-TCP program setup in a Raspberry Pi so we can remote everything at the antenna and use the station inside for the programming.

Link to site for satellite aiming: https://www.satellite-calculations.com/Satellite/lookangles.htm

Longer article: http://www.sdrplay.com/community/viewtopic.php?f=5&t=2674

Video of receiving HRPT signals ffrom NOAA satellites: https://www.rtl-sdr.com/receiving-almost-hrpt-with-the-adalm-pluto-and-a-wifi-grid-antenna/

9/13/18 - Got the antenna with the SAW filter in place. Here's the first plot of the signal from GOES 16:

9/15/18 Here's a photo of the antenna and RF setup The N connector on the antenna is connected directly to the SMA connector on the SAW filter, which is connected to the AirSpy. This keeps the RF path short. The black box bungeed onto the pole is a battery pack that's not currently in use.



Here's the dish - simply bolted to a length of PVC pipe that's stuck on top of a tripod mount. 

Our next quest is getting the decoding software. We'll probably go with the USA-Satnogs package - hoping to get a trial of it this week. Alternatively we could use the Linux software that's free, but I'm not good enough with Linux to try to put it together.

9/17/18 - Here's the description of how to get the Pi HRIT decoder working: https://gist.github.com/lxe/c1756ca659c3b78414149a3ea723eae2#file-goes16-rtlsdr-md

9/22/18 Some initial success

Today we were finally able to get the Pi-based HRIT decoder to show some decoded packets.  Changing a few parameters helped but I think the real step forward was anchoring the antenna in place and carefully aiming it for max signal. I drove some wooden stakes into the ground near the picnic table and placed the PVC mounting pipe on them and then tie-wrapped it to the table. This is pretty stable and the antenna seems to stay fixed.


For aiming I used the laptop and SDR console to find the maximum signal. It appears to be when the antenna is aimed slightly to the right of the light post as below:  (NOTE that might be GOES 17 - see below)
The receive setup is a preamp connected to the SAW filter into an AirSpy that drives the Pi as shown below. Everything is currently battery powered including the preamp that needs 3 volts (supplied by 2 2 AA batteries), so we'll obviously need to create a more permanent solution.




 Here's how the signal looks in the goestools decoder:




The decoder gets better the longer it runs - it starts out with Viterbi values around 2000 but will apparently adjust the freq to minimize retries.

Still no pictures yet, but this is better than when we started.

9/23/18 Some additional info

From DishPointer.com - here's the aiming of the dish for GOES 16:


Note how close GOES 17 is!!!




Also - try orienting the dish this way (from this helpful blog: http://www.sdrplay.com/community/viewtopic.php?f=5&t=3262&hilit=xrit&start=30) NOTE - we decided later that this wasn't right for our location.


Also note: The frequency of operation for GOES 15 LRIT is 1.691GHz and the frequency of operation for GOES 16 and 17 HRIT is 1.6941 GHz

Here's an example of how it would look when it's working:



Another quick update - just got an updated copy of the Windows HRIT decoder that doesn't crash with a .Net failure like the previous version did! I'm eager to try that tomorrow when the weather is better after reorienting the antenna as shown above.


1830: I switched the antenna to the above position and ran the XRIT decoder - see the pic below.  Not sure if it's decoding anything - have to compare this with the other results.  Enough for today...


9/24/18: The AirSpy appears to be losing connection with the computer thru the long extender cable. I've also found that there's a different program from SpyServer that will serve for an SDR Pro device so I'm going to swap that out later today. I want to see if the antenna orientation improved the signal using the laptop since for some reason running SDR Console inside the clubhouse doesn't show the signals properly.  



9/29/18: Downloaded our first images from GOES 16! 


Here's an example:




Here's one apparently from GOES-15. Not sure how it showed up - we're not pointing at that satellite so perhaps it's being relayed by GOES-16:

Here's the data flowing from the decoder software on the Pi:
Optimal signal is when the Viterbi count is less than 400 - it varies significantly over time. Also it's better when dropped packets are 0 - that varies a lot too.

The data is decoded by the Pi (more about that later) into subfolders in the GOES16 folder according to the channels of data.  Here's a channel list:




Later - K2QA and I tried various antenna orientations but concluded that horizontal is best. That seems to be corroborated by the fact that GOES-16 is at 75 degrees west longitude, about the same as the clubhouse, so the inclination of the antenna should be about horizontal. So it looks like there's not much else to squeeze out of the RF side of the process although someone else may have some good suggestions. With that configuration we still didn't get good signal quality with the USA-Satcom HRIT decoder, so we decided to abandon it until/unless we can improve the RF signal. So next we turned to the Pi-based HRIT decoder, which appears to work better in our configuration, and you can see the results above.


Next steps are to continue to download images to see what we get over a few days. This satellite sends some amazing whole-earth images, which we hope we'll see.  We'll also make a few tweaks to the software parameters so see if we can improve the decoding. But given that the satellite is further away than anything on earth can possibly be, I think we now hold the GCARC SWL DX record!


9/30/18 - More images:





10/4/18 - it's TEN-FOUR, good buddy! Had no new signals for a couple of days. Came over and found the preamps were soaking wet in the bag that I had used to try to keep them dry! Another experiment failed. Tried a few different preamp/filter combinations but putting the preamp before the SAW filter gives a signal like this: 

That shows 10 db above noise - but it seems to stabilize about 4 db. I'll leave that configuration for now. Also need to cool the Pi better - ordered a heat sink kit that should help.

10/8/18: Heat sink kit installed on the Pi - seems cooler now. Moved the preamp directly to the antenna and connected it to a SMA cable to bring the SAW filter inside. That seems to work well - see the decoder stats below. Next step is to see if we can inject bias-t voltage to run the preamp so we can dispense with the AA batteries that are currently running it.

Finally - a pic with the entire western hemisphere in sunlight:

10/8/18: Something apparently happened on Saturday that significantly improved the reception. I tweaked the antenna a couple of degrees but I don't think that was significant. I also moved the preamp directly to the antenna, removing about 2 feet of coax in between the antenna and preamp. Maybe there was significant loss in that coax - hard to believe. The other change was to put the Pi into this case that has a large heat sink and 2 fans. The Pi gets pretty warm and some blogs had suggested that cooling it might help. If so, that might have made a significant difference. Hard to think of anything else.

10/10/18: The site is now offline (nothing being decoded), which I'm pretty sure is because the batteries for the preamp finally ran down. I replaced them on Sunday so it looks like we get about 2-1/2 days out of a set. I'm building a voltage regulator that will let me replace the AAs with a 12V SLAB battery that should last a lot longer but it's not done yet. I'll head over to the clubhouse later today and replace the AAs.

More from 10/10 - here are some shots of the hurricane moving above Florida and into Georgia:


And we also get shots relayed from other satellites - here's one from the Himawari 9 satellite over the Pacific:


Command to start the HRIT receiver:  
goesrecv -v -i 1 -c ~/goesrecv.conf


Command to start the image processor:

goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet  --subscribe tcp://127.0.0.1:5004

Command to watch the process if it's running in background:
cd logs
tail -f goesrecv.log

Command to kill the background process:

ps -ef | grep goes

Note process ID, then

sudo kill -9 PID# for each process

10/20/18: Decoder is really working well:

10.24.18 - Hurricane over Mexico:
A shot of the south Pacific from the Himiwari satellite relayed by GOES 16
And finally a beautiful GOES 16 shot of the hemisphere


Here's a WinSCP script to download the JPG and other files from the Pi to a local file share. It only downloads files that don't exist on the destination drive. It's created automatically with the scripting function in WinSCP and will auto-login if you specify that parameter. It assumes you have a local or VPN connection to the Pi.

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\Ham\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://pi:raspberry@192.168.50.146/ -hostkey=""xxxxxxxx"" -rawsettings FSProtocol=2" ^
    "get /home/pi/goes15/*.* z:\GOES_Pictures\goes15\*.* -neweronly" ^
    "get /home/pi/goes16/*.* z:\GOES_Pictures\goes16\*.* -neweronly" ^
    "get /home/pi/himawari8/*.* z:\GOES_Pictures\himiwari8\*.* -neweronly" ^
    "get /home/pi/nws/*.* z:\GOES_Pictures\nws\*.* -neweronly" ^
    "get /home/pi/text/*.* z:\GOES_Pictures\text\*.* -neweronly" ^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

exit /b %WINSCP_RESULT%

Comments

Post a Comment

Popular posts from this blog

How We Built the GOES Reception Project

Building the Raspberry Pi NOAA Satellite Station