SatDump Changelog

What's new in SatDump 1.1.4

Feb 20, 2024
  • New Features:
  • Autotrack/Scheduler improvements:
  • The most notable change this time around are the improvments to the autotrack/scheduler functionality. Previously, SatDump the scheduler could only decode one downlink at a time. This was a problem: what if you have an omnidirectional antenna and there are multiple satellites in the sky at once? Or: what if you want to get NOAA APT and DSB at the same time?
  • Before, this was impossible - but now you can do it! By enabling “Multi Mode”, all configured pipelines will run, even if more than one satellite is overhead at a given time. As you can see here, you can also easily configure both APT and DSB:
  • As a note, CLI (headless) autotrack configurations have changed significantly since the last version of SatDump. Please refer to https://docs.satdump.org/autotrack.html and update your configurations as necessary. Along with multi-mode, there have been additional changes in the CLI: for example, recording basebands has been implemented. The pass schedule is now shown in autotrack’s web interface as well:
  • Future releases will extend multi-mode support to non-scheduled processing in the UI as well. Stay tuned for more!
  • TUBIN Raw/Video Mode:
  • Thanks to data captured on X-Band by Fred Jansen, Aang23 was able to add a decoder for TUBIN’s RAW mode! This type of downlink can be used to send short videos, such as the one seen here: https://twitter.com/aang254/status/1753157764522582308.
  • ESA Cluster support:
  • Support for several Cluster-IIFM’s S-Band downlink, both low and high rate, have been added. Special thanks to OK9UWU for adding his WBD decoder for the high rate link, which outputs some basic statistics, as well as “the sounds of our magnetosphere!”
  • Additional Pipelines:
  • The following additional pipelines have been added in 1.1.4. As of now, these pipelines only demodulate the data, or get it down to frames:
  • Peregrine X-Band TLM
  • The IM-1 Moon mission
  • PRETTY S-Band Dump
  • Theming Support:
  • SatDump has a new face - well, three new faces, to be exact! Version 1.1.4 adds theming support to SatDump UI, so you can make basic changes to the interface (like making the constellation dots yellow instead of green), or give it a whole new look and feel.
  • The following themes are included with this release:
  • Dark (Default): The original SatDump style we all know and love.
  • Light: A light-mode theme, made to compliment to the default dark mode. This theme is an improved version of the old “light mode” setting, and is excellent for use in direct sunlight.
  • Phosphor: An orange/amber theme designed to simulate the monochrome CRT monitors of yesterday. Made by JVital2013. For Science.0
  • Win98: Do you miss the look of older SDR software such as SpectraVue, or Windows 98 in general? Fear no more, for you can live in the past when decoding satellites with this theme by Lego11. Dial-up modem not included.
  • Select your desired theme under Settings > User Interface > Theme. New themes can be added by creating a .json file under resources/themes. Theming is limited to colors, fonts, and item sizing/rounding.
  • Android improvements:
  • SatDump on Android received a fair amount of attention this time around. The first change of note is really an omission in 1.1.3 - we forgot to add RTL-SDR Blog v4 support, while we added it for all other versions of SatDump! The omission has been corrected in this release, and all commonly available RTL-SDR variants will work with SatDump for Android.
  • Additionally, OpenCL support has been added for Android 🎉! SatDump uses OpenCL for projections - it can project satellite imagery much faster on the GPU, than traditional code can on the CPU. By adding OpenCL to Android, imagery projection times are around 15x faster than before. Even if you just use SatDump to do live decoding, the post processing will now run faster since SatDump automatically makes some projections at that time.
  • There are some things to keep in mind with OpenCL on Android:
  • SatDump’s UI may freeze for a few seconds while processing with OpenCL. The program should return to normal operation in a second.
  • Not all Android phones support OpenCL - it’s not an official Android feature. But, it seems work on most phones! If your phone does not support OpenCL, the only option under Settings > General SatDump > OpenCL Device will be “None”.
  • We have encountered one example of an old, low-end Android phone that supported OpenCL - but it locked up the app, resulting in a crash. If you have issues when processing satellite data/projecting imagery, turn off OpenCL in settings.
  • Finally, external SD card support has been added to SatDump for Android - perviously, you could only save data to internal storage.
  • Please note external storage access is still a work in process: on some phones, SatDump will crash if you try to save data to external media, while saving to internal storage works fine. If this happens, use the Android/data/org.satdump.SatDump subfolder on your SD card to work around the issue.
  • Added composites
  • Lego11 and Marhmarchi have been busy again, adding composites to various satellite imagery! This time around, we have:
  • AVHRR: Fog BTD has been added to AVHRR, which is designed to detect Fog. Using ch3a and ch4, it even works with APT! This composite is experimental.
  • VIIRS: a panchromatic day composite has been added, along with an ice-detecting shortwave IR composite, similar to ABI channel 6.
  • MERSI-III: To facilitate use along side AVHRR data, 221 False Color, 3a21 False Color, and Day Microphsyics composites are now available. On MERSI-II, several of these composites have been improved as well.
  • MERSI-RM: an AVHRR 543b-style IR False Color has been added.
  • MODIS: If you’re sensing a theme, you’re right - it’s continuing here. MODIS now has a AVHRR-style 3a21 False Color composite.
  • Other Features:
  • Some minor features include:
  • Native builds for Apple Silicon Macs are now available! You no longer need to build SatDump yourself, or run it through Rosetta with a performance penalty, on modern macs.
  • The NOAA APT decoder has graduated from WIP status, and is considered ready for daily use! Additionally, the APT decoder will now save the “unsynchronized” raw image, in case the signal is weak and it cannot be properly synchronized.
  • Added a “Data Stores / Archives Formats” plugin/pipeline, which can decode archival satellite data available online. Right now, it only supports data from EUMETSAT, but support for data from other repositories such as NOAA CLASS is planned.
  • Changing the DPI scaling, theming, or selected OpenCL device now take effect without re-launching the UI.
  • When using the scheduler/autotrack, there is now an option to stop the SDR when a pass ends. The SDR will start automatically for the next pass.
  • Inmarsat: added word wrapping in the messages UI, and added a station_id field when sending messages over UDP
  • Added support for loading products/datasets over http(s). To use this feature, enter the URL of your data into the dataset/product field in the SatDump viewer, then click “Load”. This could be useful to analyze data from remote automated stations, without having to download or pregenerate it.
  • Added a “Generic Analog Demodulator” pipeline as a simple way to record/listen to signals. Right now, only narrow FM demodulation is supported.
  • Bugs fixes:
  • The only good (software) bug is a dead (software) bug - here are the ones we killed with abandon this release:
  • The switch to jemalloc:
  • Starting with version 1.1.4, SatDump now uses jemalloc as its memory allocator on Linux and macOS. When using the system memory allocator on some systems (with either glibc and musl libc), we observed what appeared to be a memory leak at first - most notably when using CLI autotrack. After fixing several minor memory leaks, we finally realized the real problem was memory fragmentation. Switching to jemalloc was a natural fit here, as one of its core goals is to combat this very problem. After the switch, benchmarks ran at the same speed, but memory usage was overall reduced. Great!
  • If you build SatDump from source, make sure you have installed the jemalloc library. On modern Debian-based systems, it is libjemalloc-dev.
  • Reduce error spam in the UI:
  • To prevent lag - and sometimes crashes - caused by repeated error messages, SatDump UI will now simply display a count for repeated error messages in the popup notification. The log remains unchanged.
  • Other smaller fixes:
  • The Windows installer will now remember the last-used install directory, making it easy to update SatDump in-place
  • Fixed a few crashes caused by processing a very weak signal, or an empty frames/CADU file. Thanks to @ericye16 for originally finding this issue in METEOR decoders, which we later expanded to other satellites as well
  • Added some safety checks in the Android app to prevent saving files to the inaccessible internal data directory. However, it is still recommended that you configure all output directories before use.
  • Improved performance of some pipelines on low-end hardware. Thanks to RTL-SDR Blog for helping us to track this down!
  • Prevent scrolling in the Scheduler UI from changing the selected frequency
  • Improved performance and memory usage of GOES-R HRIT decoder - and fixed some crashes to boot!
  • Himawaricast: fix some files being saved with the wrong filename or overwritten. Thanks to @eswnl on GitHub for your help!
  • Cleaned up errors in the automatic products processor to reduce notification spam
  • Fixed SatDump crashing when ~/.config was not writable on nix-like systems
  • Fixed several bugs with HackRF, BladeRF, and LimeSDR
  • Other minor fixes (you need to let some stuff out with 280+ commits!)

New in SatDump 1.1.3 (Jan 7, 2024)

  • New Features:
  • NOAA APT improvements:
  • This release brings a large number of changes to NOAA APT. One major change is that SatDump now identifies the channels you are receiving on APT. Instead of simply seeing Channel A/Channel B, each side of the transmission is identified as Channel 1, 2, 3b, 4, or 5.
  • Additionally, and more importantly: NOAA APT data is now calibrated 🥳! This means APT data should match its higher data rate cousins on HRPT, and can be used together with it in projections and data analysis. This has enabled us to add a Thermal composite, similar to what you may find in other software.
  • Finally, the APT Noise Reduction by Ryzerth from SDR++ has been added to SatDump! The noise removal does a great job of reducing “speckling” in APT images when the signal is a bit weak, without resorting to a more destructive Kuwahara filter or median blur.
  • Added TIP telemetry decoder:
  • Thanks to thomasdouwes, NOAA TIP telemetry can now be decoded from NOAA 15, 18, and 19’s HRPT, DSB, and GAC downlinks. The telemetry includes a lot of internal operational data about the satellite, including one relevant piece: the AVHRR Scan Motor Current. The ability to access this information is useful in tracking the health of the motor, which has caused issues in the past with NOAA 15. Thanks Thomas!
  • Added MODIS calibration:
  • New to the calibrated data club, we welcome MODIS! Included on Aqua and Terra, the emissive channels have been calibrated for use in data analysis. Reflective channels have not yet been calibrated, but calibration is planned for all MODIS channels.
  • Added AMSAT-F Spino, Stratosat TK-1, and Geoscan-Eldeveis support
  • Initial, still to be considered experimental support for decoding a few Cubesats has been added. This is in addition to Lucky-7 support, which was added in 1.1.0.
  • Added Hinode/Solar-B support:
  • Thanks to some lucky findings by OK9UWU and his data, Aang23 was able to decode the XRT/EIS instruments on the Hinode / Solar-B satellite. Right now, all data is transmitted on S-Band due to a failure of the X-Band transmitter, and it dumps to ground stations all over the world.
  • Auto-tracking improvements:
  • A new work-in-progress feature has been added to the SatDump CLI: autotrack. CLI autotrack makes it easy to build an automated satellite station that can run on a Raspberry Pi or similar device. All you need to do is write a config file and start the program, and all scheduled satellite passes will be automatically recorded or decoded. To make monitoring easier, CLI autotrack provides a webpage on http://your-ip:8081/ that shows its current status.
  • Another new feature of auto-tracking is “rotator parking,” which returns your dish to a parked location until a pre-defined amount of time before the next scheduled pass.
  • Finally, if you used the Autotrack in the SatDump UI before this update: you will need to re-save the configured frequencies after updating. Once you set the frequencies again, autotracking should continue to work as normal.
  • Added composites:
  • As has become a trend, Lego11 and Marhmarchi have added a number of new composites in this version, including:
  • Color convection longwave IR: This enhancement uses a look-up table to better make convective phenomena stand out, such as cumulonimbus clouds.
  • Enhanced IR: This enhancement uses a look-up table to highlight certain temperatures in the clouds. This is often presented as a product from various meteorology agencies.
  • NDWI: a simple enhancement used to monitor changes in water content of leaves using the difference of the two channels used by this enhancement (1.61 and 0.863 µm).
  • Thunderstorm Detection: This enhancement uses the 157 and 183 GHz channels to detect towering cumulonimbus clouds and significant thunderstorm nuclei.
  • Nighttime Fire Detection: A work in progress, this composite uses AVHRR data to detect fires using an adaptation of the NOCTURNAL THRESHOLD MODEL by S. Boles and D. L. Verbyla.
  • MCIR For METEOR: MCIR, the beloved cloud-overlay composite, has been added for METEOR MSU-MR
  • MTVZA Vegetation: This enhancement uses METEOR-M2-x’s MTVZA channels 16, 15 and 17 (53.3 GHz, 52.8 GHz and 53.8 GHz) to detect vegetation and snow.
  • ATMS Brightness Temperature: This is a composite based on the JPSS-1 ATMS Level 1B Brightness Temperature V2. Calibrated temperature values from channel 2 (31.4 GHz) are used.
  • CIR (Color Infrared): CIR is perhaps the most widely used enhancement for earth observation, and is used with MODIS. It has its roots from aerial orthophotography, as it shows contours as well as vegetation better and also avoids using the blue band which is affected by scattering.
  • MODIS composites: Geology, Agriculture, Bathymetric, and AVHRR-style 543b, and other traditional NOAA enhancements have been added for MODIS
  • Along with these additions, a number of LUTs have been replaced/updated for accuracy, and composites have been tweaked for better results. A lot of work went into this, this time around!
  • Improved Viewer Rendering:
  • Old versions of the SatDump viewer had issues with some image features, such as map overlay lines, “disappearing” as you zoomed out or panned around the image. This has been resolved in the new version, making for a much smoother experience when viewing satellite Data in SatDump.
  • Additionally, optimizations have been added to show map overlays faster after the initial render.
  • Added composite descriptions:
  • While we’re talking about the viewer, we have also added descriptions for many of the RGB composites we provide in the viewer. The descriptions talk about how the composite is made, what to look for in it, and its use. It may also give you some great fun facts to tell at parties. If you do: trust us, you’ll be the life of that party.
  • Improved Frequency Selection:
  • You asked, and we listened: SatDump now has a better quality frequency selection! Modeled after SDR# and SDR++’s frequency input, SatDump’s implementation lets you scan the spectrum with ease. You can now change the frequency in the recorder and autotrack scheduler in the following ways:
  • Click on the top/bottom of a frequency digit to make it go up/down
  • Use the mouse wheel/trackpad scrolling on a frequency digit to change it
  • Arrow keys to change digits/navigate between them
  • Point to the frequency, and start typing
  • Right-click on a frequency digit, or press enter, to reset it and all digits to the right to 0
  • Click on the Hz button, or tab into the frequency field, to access the legacy text input
  • New Documentation Website:
  • As a sidenote, we have started migrating all documentation to https://docs.satdump.org/. Here you can find a FAQ/troubleshooting page, SDR support lists, pipeline parameters, and more. It’s still a work in progress, so there’s more to come there!
  • Other Features:
  • Improved detection of samplerate, frequency, and timestamp for offline decoding based on the input file name.
  • Stopping a SDR with a switchable Bias-T now turns off the Bias-T power.
  • Implemented manual baseband filter selection for HackRF SDRs.
  • Added support for RTL-SDR Blog v4 on Windows and macOS; Linux users need to make sure their installed version of librtlsdr is v4 compatible.
  • Improved RTL-SDR sample processing to reduce the DC spike without the need for DC block.
  • Added an experimental SoapySDR plugin. It is not recommended at this time, but if you want to try it, you need to build SatDump yourself with the -DPLUGIN_SOAPY_SDR_SUPPORT=ON in cmake.
  • Added new “viridis” colormap to the recorder waterfall (thanks 777arc!)
  • Added option to mute audio in pipelines that support it, such as NOAA APT.
  • Added option to remember UI size/position on screen.
  • The QTH map label can now be customized
  • Changed FFT “Average Rate” to a more user-friendly “Average Number”
  • Calibration coefficients have been added for NOAA 15 AVHRR.
  • Various UI changes: decoding pipelines are now sorted alphabetically, viewer composite presets are now searchable, and more!
  • Bugs fixes:
  • In addition to these new features, the following bugs have been fixed in 1.1.3:
  • TLE Fix:
  • About a week ago, CelesTrak removed legacy URLs to access static TLE files. SatDump was relying on one of them (active.txt) as its primary TLE source. In this release we have internally updated the URL; if you have the error shown below in an older version of SatDump, please update to resolve it. TLEs update daily by default in the latest version of SatDump, as this is the recommended setting.
  • The last minute fix:
  • While I was writing this changelog, one more major fix was slipped in: there was serious a bug in a function used as part of the decoding of many satellites which would result in more or less significant hit to decoding at lower SNR in some situations. The most affected missions were FengYun-3, and many others in much less noticeable fashion such as MetOp, JPSS, etc.
  • Other smaller fixes:
  • Fixed several bugs with Horizons data in the tracker
  • Fixed bug where floating windows could go behind the main UI
  • There were a number of bugs present when running SatDump on a 32-bit platforms, including 32-Bit Raspberry Pi OS. These have been fixed.
  • Fixed bug in MetOp AVHRR calibration
  • Some error messages would linger in the UI for longer than they should. Error/confirmation messages now clear themselves after 5 seconds.
  • Fixed a bug where the viewer would fail to load large images on older graphics cards
  • The “correct” option was available in the viewer for NOAA APT, which does not make sense since APT is already corrected onboard. This option has been removed.
  • Fixed opening web links on Android
  • Fixed “normalize” function in the viewer
  • Fixed many stability and reliability bugs in SatDump SDR Server. Special thanks to F6BVP for his help in tracking these down!
  • Fixed many bugs in edge cases, such as attempting to decode data at 0 SPS
  • Some more bugs were fixed that are not worth mentioning… there were so many bug fixes

New in SatDump 1.1.2 (Nov 10, 2023)

  • New features:
  • Automation improvements:
  • It is now possible to very easily build an automated station for APT or LRPT satellites, advantageously replacing previous setups that required anywhere from 5 to 12 separate pieces of software.
  • lego11 has made a detailed configuration guide for such a station.
  • Later, additional features such as simultaneous reception of NOAA APT and DSB, or LRPT and APT, are planned.
  • A lot of image enhancements:
  • We added a lot of enhancements for AVHRR this time.
  • APT and HRPT had all the «traditional» NOAA enhancements added by lego11. Included are: BD (Hurricane), MD, MB, CC, EC, HE, HF, JF, JJ, ZA, TA. This means that SatDump has now complete feature parity with WXtoImg with respect to the meteorologic capabilities.
  • Additionally, Marhmarchi has made an experimental night time fire detection enhancement based on the brightness temperature of AVHRR channels 3b and 4. It appears to work quite well, but more data is necessary to validate it.
  • Alpha channels in composites:
  • It is possible to have an alpha channel in the composite’s equations, making it possible to build transparent composites that are designed to be overlaid on top of other channels.
  • A typical use case would be overlaying and projecting MHS data over AVHRR in the Viewer, for example.
  • A Rainfall (transparent) composite that makes use of the alpha channel is already included in SatDump if you want to try it out.
  • A cheatsheet for the composite system is available here, should you wish to experiment.
  • New APT projections:
  • Aang23 reworked the APT projections, which are now much better and more precise than with the previously used algorithm.
  • JPSS-1 DNB projections:
  • JPSS-1’s DNB channel can now be projected correctly.
  • JPSS (HRD) Reed-Solomon checks enabled:
  • HRD has Reed-Solomon checks enabled by default to ensure data integrity. This also fixed another issue: corrupted ephemeris data could lead to unexpected results on JPSS projections. This is no longer the case.
  • ATMS calibration:
  • ATMS is now calibrated on all JPSS satellites (including little SUOMI NPP) and can be used for science work, providing higher resolution and more channels than the older instruments used by NOAA: MHS and AMSU.
  • Among others, a transparent AMSU-like snow cover algorithm has been added, and the difference in resolution between the 1980s vintage AMSU-A and ATMS is quite stunning.
  • Transparent composites have been made for ATMS too, including an experimental Snow cover algorithm.
  • Arbitrarily long APT passes support:
  • SatDump now supports arbitrarily long APT passes, which could happen if you forgot to stop the recording before switching to another satellite. Previously, the limit was 20 minutes.
  • The decoded image preview has been updated to also support this, so the image will not be cut off!
  • Map overlay improvements:
  • Aang23 made it possible to save default color and labels settings for the map overlay. Settings are saved on a per-instrument basis: this means, for example, you can have WXtoImg like colors on AVHRR APT, and a different color palette for AVHRR HRPT.
  • In the viewer, you can reset the colors to their defaults with a simple click.
  • Additionally, it is now possible to show the location of your QTH on the map. Of course, it can be displayed in any color you like.
  • This composite, made by Carl Reinmann, combines Meteor-M N°2-3 polar-orbiting imagery with geostationary satellites imagery. It really showcases the capabilities of the viewer and projection system following the upgrades it has recently had!
  • GUI backend improvements:
  • JVital2013 has made several improvements to the GUI system, improving compatibility with older graphic cards and Android systems and reducing the chance of the dreaded gray or corrupted screens appearing.
  • This also increased compatibility with Windows 7 systems.
  • Additionally, Raspberry Pi users no longer need to have the MESA_GL_OVERRIDE flag to run SatDump!
  • Despeckle noise reduction algorithm:
  • JVital2013 implemented a despeckle noise reduction algorithm based on a Kuwahara filter. Compared to median blur, it can help reduce noise with less degradation of the image sharpness and quality.
  • Proba V-CC pipeline update:
  • The Proba V-CC’s pipeline has been updated. The satellite is still in the commisioning phase, so further updates are expected.
  • Manual bandwidth choice on LimeSDR:
  • LimeSDR users can now choose a custom, manually specified bandwidth for their SDR.
  • List of poor bugs we killed (yet again):
  • HackRF crash:
  • If the HackRF was in use by another program, SatDump could crash. This was fixed.
  • Error messages notification crash:
  • Too many error messages (toast notifications) could cause a crash in certain circumstances. That has been fixed too.
  • Bug with Aqua:
  • A bug introduced in 1.1.1 has been fixed with the Aqua satellite decoder.
  • LRPT and GOES-R fixes:
  • JVital2013 did a bunch of LRPT and GOES-R fixes!

New in SatDump 1.1.0 (Sep 24, 2023)

  • Added features:
  • Lua support:
  • We’ve decided that it’s about time we add some scripting capabilities to SatDump. We chose Lua for this purpose - it’s versatile, easy to use and fast when compiled using LuaJIT.
  • But… what is the scripting about!?
  • Calibration:
  • Calibration has been a hot topic for a while in SatDump’s backstage. For a long time we were debating the best way to handle all the different instruments we support and plan to add in the future, while still keeping it simple and as fast and efficient as possible. We’ve come up with a system that utilizes both C++ and Lua giving us optimal performance paired with ease of use (for users and developers!).
  • But what does that mean in practice? SatDump can now generate level 1b products for selected instruments (for now these include AVHRR and MHS, but other instruments such as AMSU-A or HIRS are WIP). Put differently: SatDump can now display radiance (and brightness temperature, or percentage of albedo for visible channels) from instruments that have been calibrated. This is a big deal, as raw counts from these instruments are not linear to temperature or even albedo (in case of AVHRR which uses a dual-gain setup) and allows for the further generation of scientific products such as land and sea surface temperature maps.
  • Lua composites:
  • Calibration is not the only feature that uses the new possibilities Lua gives. We’ve realized that the simple equation-based composite system can be very limiting at times as it only has access to a single pixel at a time. This is solved by giving the user the ability to write their own processing code in Lua. To make it faster, we made sure to bind all of the image processing functions from SatDump. Note that this is much more complicated and involved than the old system, thus it is not recomended for simple tasks and new users. However, it allows doing much more advanced and custom things than the basic system, which is more intended for simple RGB combinations.
  • (Auto) tracking:
  • Tired of using multiple programs when decoding satellites? Fear no more, we got you covered.
  • SatDump can not only predict passes now, it can also take over the control over your rotor. If you are especially lazy, you might want to check out the new autotrack function. Just tell SatDump the satellites you are interested in, and it will automatically calculate the best passes, control your rotor and start decoding without you having to do anything!
  • APT enhancements & Cloud overlays:
  • After APT decoding was introduced in version 1.0.3, the option to underlay created images with a RGB map was added, allowing for stunning APT composite images!
  • The NOAA NO (precipitation likelyhood), MSA and MCIR enhancements found in WXtoIMG have all been implemented into SatDump. SatDump now also supports a lot more filename patterns that are used for map overlay and composite images, increasing compatibility with third party software.
  • CCSDS LDPC Decoding:
  • Support for CCSS LDPC codes was finally added, allowing to decode Orion, LandSat-9 and other satellites utilizing these standards.
  • TUBIN X-Band decoding:
  • Thanks to a recording by Fred Jansen, it was finally possible to develop a decoder for TU Berlin’s TUBIN satellite. It was launched in 2021 with the primary mission of monitoring wildfires. TUBIN takes images of the earth in the visible spectrum with a resolution of 40m/px aswell as thermal images with 170m/px.
  • FengYun-3G support:
  • In April of 2023, China launched a new FengYun-series satellite, FengYun-3G. Soon after, support for the MERSI-RM, MWRI-RM and PMR instruments was added to SatDump.
  • Since SIPMAI and HAOC are not yet activated on 3G, no decoder is available (yet). Once these are online, a decoder for these will be added!
  • FengYun-3F support:
  • 4 Months after FengYun-3G, FengYun-3F was launched, carrying instruments such as the new MERSI-III. Since it is quite similar to 3D/E, support was quickly added, despite some instruments still beeing offline to this day. They will be added once they become available. However the signal seems much weaker than 3E at the moment, it’s a bit early to tell but onboard antenna issues do seem like an option unfortunately.
  • METEOR-M N°2-3 support:
  • After the failure of METEOR-M N°2 in December 2022, Roscosmos launched METEOR-M N°2-3 as a replacement in June 2023. Support for HRPT and LRPT (both 72k and 80k modes) was added. Furthermore, Fred Jansen managed to get a Meteor X-Band dump to Moscow, which was found to contain recorded MTVZA data. This lead to the development of working global MTVZA coverage and projections, as well as adding back MTVZA to HRPT which was previously thought to be inactive.
  • Geonetcast support:
  • Similar to EUMETSAT’s EUMETCAST system, GOES satellites transmit DVB-S2 modulated image data using the GEONETCAST platform. Initial support for this service has been added to SatDump, but is not yet completed. Thats why it is WIP. First tests look very promision though, and we hope to have full support implemented in the near future.
  • GOES RAW:
  • Thanks to SnazzLazz, who managed to get some RAW X-Band Data from GOES-16, Aang23 was able to develop a decoder for raw SUVI images from GOES.
  • STEREO support:
  • STEREO-A had an inferior conjunction with Earth this year, making it possible to receive and decode its low rate signal even on smaller dishes. Support was added in SatDump to make this possible.
  • DSCOVR EPIC support:
  • After Scott Tilley and AMSAT-DL provided nice baseband files of the DSCOVR signal, a image decoder for the EPIC instruments was added. It’s still work-in-progress and unfortunately you will need a very large dish (10 meters or more) to capture the high-rate signal containing most of the image data
  • Lucky-7 support:
  • One of the more frequently requested improvements was to implement some decoders for Lucky-7 and other cubesats. Thats why we added a Image decoder for Lucky-7. More cubesats to come soon!
  • ELEKTRO-L N°4 support:
  • Roscosmos launched a new geostationary weather satellite in January, Elektro-L N°4, positioned over the Pacific Ocean. SatDump can now decode xRIT just like on Elektro-L N°3. This decoder should also already work for the N°5 satellite when it is launched.
  • Inmarsat STD-CL:
  • Inmarsat STD-C decoding was added! This allows decoding EGC broadcast messages, and sending packets over UDP to parse in other software.
  • Decimation:
  • One of the more frequently requested features was the decimation option. That’s why we are happy to announce that it is a thing now! Decimation can be used to artificially lower the samplerate of a SDR, saving a lot of space during baseband recording and processing power, as well as to mildly increase the SNR with very narrow signals such as STD-C or STEREO-A. The decimation feature can be found in the Recorder tab, directly under the device selection box.
  • Instrument Bonanza:
  • A lot of instruments are now projectable, including MTVZA and IASI. Together with tons of new composites by lego11, you can get some amazing scientific data like atmospheric water vapor, air temperatures at different layers or even soil moisture. HIRS, AMSU, MWRI, MWHS, VIRR and lots more got new composites and more will come in the near future. Thanks!
  • LO Frequency offset:
  • When using a downconverter or upconverter, the user can now put in the LO frequency and select the target frequency normally, without having to calculate the needed SDR frequency in the head :D
  • Basic UmKA-1 support:
  • The UmKA cubesat will send images of the stars on 2.4 GHz. It is not operational yet, but a decoder is ready for when this is the case.
  • PROBA-V GPS:
  • Apart from the vegetation images that were added in a previous release, we noticed that the PROBA-V downlink also appears to contain GPS information. SatDump dumps these GPS logs to a file now.
  • SDR Server:
  • While this is still an early feature and could potentially evolve significantly in the future, SatDump now has its own remote SDR system for cases where you intend on having the SDR accessed over the network.
  • If intending to access devices present in your local network, simply starting the server (in CLI, or on Windows starting the executable) with your SDR(s) plugged in, and then refreshing the device list in SatDump will have them show up.
  • Other Improvements:
  • NOAA-15 love:
  • Since NOAA-15 is going through a rough phase at the moment, lego11 decided to send it some love by adding a “days in orbit” counter.
  • Fixed projections:
  • Enabled projections for NOAA-DSB HIRS images and retuned FengYun MERSI & NOAA-18 AVHRR projections.
  • Bugs fixed:
  • This release comes with many, many bug fixes. Some of the notable ones are:
  • MSU-MR images from METEOR-M showed up in completely wrong locations due to the timestamps being parsed wrong (in very specific cases). This is fixed now.
  • When the user tried to correct a non-correctable image (in specific cases), SatDump crashed. That doesn’t happen anymore.
  • A memory leak caused random crashes. Its not leaking anymore, and SatDump should work a lot more consistent now.
  • A small issue with a mutex caused SatDump to crash when attempting to do two things at once, which is now fixed.
  • A small bug has been fixed in the FFT code sometimes caused SatDump to write FFT beyond its allowed space, causing random crashes.
  • When using a SDR++ Server as a sample source, SatDump segfaulted when trying to exit it.
  • Fix Waterfall scaling when live processing
  • PROBA-2 is handling timestamps differently now for some reason. This resulted in only one image decoded per pass. The Timestamp parsing has been fixed, all images are docoded properly now.
  • ASCAT images from MetOp satelles were projected upside-down on southbound passes.
  • Fixed a potential bug with NOAA DSB
  • Quite a few fixes about SIMD handling that could cause crashes on machines without AVX2
  • Corrected a bug that could make M&M clock recovery crash if too little data was provided
  • Fixed FY-2 S-VISSR decoder discarding partial scans
  • RTL-SDR Bias-Tee fix
  • DMSP F-17 offsets on OLS had changed
  • Prevent some pipelines crashing if no images were produced (eg, LRPT)
  • Fixed DPI Scaling
  • Better handling of various TLE-related errors
  • Performance stuff:
  • CCSDS decoding has been made lighter and the DSP has been cleaned up. Correlation can now be handled by the GPU. All in all SatDump should work a lot smoother now.
  • UI changes:
  • The Viewer and Recorder UI’s have been rewritten using ImGui’s native elements making it more stable and predictable (after some weird behavior when floating windows were introduced). Many inputs have also been updated to make them more user-friendly:
  • Most frequency and samplerate input fields now support scientific notation, MHz suffixes, etc.
  • Timestamp fields now accept a human-readable date time

New in SatDump 1.0.3 (Dec 12, 2022)

  • Added features:
  • NOAA APT Support:
  • As I said in my initial announcement of this feature… Ironically APT was by far one of the most requested downlinks to be supported.
  • Well, support has been implemented down to the ability to project the imagery like many others satellites.
  • Please excuse the noisy APT. My VHF ain’t great here!
  • It can processed either from the usual .wav audio files, or from baseband directly like any other satellite in SatDump.
  • FFT/Waterfall changes (to be considered unfinished):
  • The FFT and waterfall have undergone some pretty major rewrites.
  • First of all, the palettes can now be changed by the user. The format is identical & compatible with SDR++’s .json, so you can add/write more than the 3 ones currently included if you wish to do so.
  • The algorithm in itself has also been heavily modified, so the behaviour IS very different, but this comes with performance improvements, customizability and so on.
  • The main parameters to play with and balance will be the FFT Rate (how many are done and averaged per second), and averaging. The higher the rate and the higher the averaging, the smoother and clean it will look, at a (pretty minimal) performance cost. Less averaging is better to observe fast-changing signals, but it will not look as clean, etc.
  • Feedback on the FFT changes / Suggestions will be greatly appreciated :-)
  • Saving projections settings:
  • Projections configurations set by the user in the viewer will now be saved, in order to not require re-entering everything everytime.
  • MATS Support:
  • The newly-launched MATS satellite - focusing on similar observations to AIM - has started transmitting payload data.
  • It carries a NADIR imager (sounder-like resolution) in the IR/VIS range :
  • As well as several UV / IR channels for noticulent clouds and other atmospheric observations :
  • Further processing will most likely be implemented later on.
  • Bugs fixed:
  • Resampling in demodulators:
  • Demodulators have a somewhat strict valid range of input samplerates, depending on the symbolrate (how wide, sort of) of the signal. If outside of this range the demodulator can perform well in, the baseband has to be resampled to match a valid input samplerate.
  • There was a bug in there which would only affect some rare users going outside those bounds, leading to a crash.
  • RTL-SDR Bugs:
  • The librtlsdr version provided on Windows had some major bugs. Control of the 2 AGCs was also added for good measure.
  • OpenGL 2.1 on Windows:
  • Older machines / GPUs on Windows very often do not properly support OpenGL 3.x. A patch was implemented to work around the issue and start anyway with an older version, but NO guarantee can be made about the resulting usability depending on the specific hardware.
  • OPQSK Viterbi bug (JPSS-2):
  • Well, turns out my “3 AM” fix last time didn’t work due to a simply and purely dumb oversight. Fixed though.
  • Various GOES-R HRIT Windows bugs:
  • Fixed some old bugs due to Windows-specific behaviors. They affected ZIP decompression, Rice decompression (due to a bug in the Windows C++ libraries…) and some EMWIN products.
  • Don’t delete TLEs if the update fails:
  • An old bug nobody had noticed until @RAD750 did. TLEs would be erased if the update failed (due to a lack of network access for example).
  • SDRPlay crashing on stop:
  • The SDRPlay API can sometime carry on writing buffers a bit after asking it to stop. This, when the rest of the DSP was expecting to be dropped could lead to unexpected behaviour. This was worked around by preventing any further writes once things should be stopped.
  • Viewer crash when doing things “too fast”
  • Changing composites did not lock other functions, so doing both in combination could lead to a crash.

New in SatDump 1.0.2 (Nov 27, 2022)

  • Added features:
  • AVHRR Channel 3A/B (by Zbychu):
  • Until now, channel 3A and 3B were not being separated on AVHRR/3 data. In view of other upcoming features/changes, they are now being split according to the configuration downlinked by the satellite. Composites were modified to account for this.
  • USRP Support:
  • Initial UHD (USRP) supported has been added and tested with X300 and B200 hardware. While things do appear to be working just fine, it’s not impossible some bugs are left so perhaps don’t consider it fully stable just yet.
  • Better FY-4x xRIT support:
  • There was more work on figuring things on LRIT/HRIT. Images are now produced correctly… But work on those downlinks is not over yet!
  • Allow finishing processing in CLI:
  • It was until now required to run a second command manually to finish processing down to imagery in CLI mode. Now, adding the --finish_processing flag will process the decoded data fully when exiting. If the flag is not present, things will act as did before.
  • Log level option, disabling log file:
  • The console log level as well as if you wish to output a satdump.logs file can now be set in settings.
  • Bugs fixed:
  • Don’t crash viewer on no images in products:
  • Sometime, if you happeend to record an “empty” pass (eg, JPSS-2 comissioning!) you would end up with products containing no actual data… And the viewer would crash.
  • OpenJPEG on Windows
  • OpenJPEG is utilized for GK-2A HRIT, FengYun-4 xRIT and GOES-R GRB decompression. Though unfortunately, there was a bug leading it to call a non-aligned “free” on Windows… Which caused things to crash.
  • GOES-R EMWIN files
  • EMWIN files on Windows were being corrupted due to a missing parameter when writing the file.
  • Various DSP bugs:
  • Quite a few old, forgotten-about DSP issues were fixed… Some that could lead to NaNs, etc locking things up. Oops. This happened very rarely, hence making it so complicated to figure out.
  • HimawariCast bad data:
  • HimawariCast was pretty likely to abort on any bad filename / data.
  • MetOp Admin messages exceptions:
  • Processing coud hang on a bad admin message (eg, corrupted). This was extremely unlikely to ever happen as Bzip2 decompression should normally fail first, but it did happen recently!
  • Others
  • FY-4x live processing:
  • FY-4x live processing will now be done down to images directly.
  • Server/Client system on more GEOs
  • The ability to stream frames from one “demodulator” node to others decoding the data has been added on other xRIT downlinks, as it is a rather common configuration on those setups.

New in SatDump 1.0.1 (Nov 17, 2022)

  • Added features:
  • FengYun-4 A/B LRIT/HRIT:
  • While the downlink themselves could already be processed down to CADUs, imagery was not yet decoded due to quite a few quirks that took a while to figure out (see https://github.com/altillimity/SatDump/issues/167).
  • A decoder for the imagery is now present, which will be able to decode un-encrypted imagery downlinked on LRIT and (very) ocasionally on HRIT as far as we currently know.
  • As of now, there are 2 IR channels as well as 1 high-resolution (10k PX) VIS channel present, though no good data from VIS was obtained yet.Though despite the imagery now being decoded and supposeddly being classic JPEG-2000, the data seen as of now does seem slightly… Off? While it is possible this is just how it is sent, more testing has to be done. I would highly encourage anyone able to received it to collect data :-)
  • JPSS-2 Testing:
  • Thanks to @MeteoOleg providing a sample, it was possible to confirm the downlink parameters and hence the decoder(s). Things should all be ready for when some payload data gets downlinked
  • Support for the nearly-identical S-Band telemetry link was also added, but no interesting data has been identified yet and likely won’t before things get started up on the satellite… And even then, chances are it will be housekeeping only.
  • AIM (CIPS) Support:
  • Thanks to dumps received by @lazzsnazz, the 4 CIPS cameras onboard AIM can now be decoded. Unfortunately, you still have to be quite lucky to get some interesting imagery!
  • Proba-V, support for all 3 imagers:
  • While initially only one of the 3 Végétation instruments onboard Proba-V was active, now all 3 downlink data nearly daily again. Hence, the changes necessary to support them all were made.
  • Added frequencies:
  • A lot of satellite frequencies were missing. Thanks CrossWalkerSam and OK9UWU for adding them!
  • Bugs fixed:
  • ELEKTRO-L HRIT Lockup:
  • It was possible for the decompression algorithm to throw an error and prevent further decoding.
  • PlutoSDR:
  • @theverygaming PR-ed a fix for an extremely rare, but possible crash when a PlutoSDR would be disconnected. He also added an option to automatically reconnect when using it over IP.
  • OpenCL on Windows:
  • It was not possible to select an OpenCL device (if you had more than one) in the GUI on Windows.
  • LimeSDR Lockup:
  • Fred Jansen and @PeterMeteor experienced a Windows-specific bug that could lead to the LimeSDR source locking up. This is now fixed! A similar fix for potential simialr bugs on some other SDRs was also applied.
  • Bunch of random fixes:
  • Well, that would be too long to describe them all… But a bunch of details that could lead to crashes / other bugs were fixed.
  • Others:
  • XRIT system rewrite:
  • All xRIT satellites share a common protocol down to a certain point. Due to how things were done in the past, a lot of this otherwise identical codebase was copy-pasted for each and every satellite… Not very easy to maintain!
  • Therefore, I have made the code for GOES-N/R, ELEKTRO-L, GK-2A and FY-4 common. Though, I plan on going further and making the file structure, filenames, and so on common and customizable as well, most likely to be done in the next release.
  • Clock Recovery taps:
  • The M&M clock recovery algorithm used to demodulate most satellites was still using some taps generated a while ago. So, with @Ryzerth advice I changed them out for Nuttal taps. This resulted in slightly more stability on the clock recovery’s side.

New in SatDump 1.0.0 (Oct 28, 2022)

  • Added features:
  • Favourite pipelines (by Zbychu):
  • Despite the search system, finding the pipelines you use the most could be a cumbersome. Zbychu hence added a favourite system, which will work in both offline and live decoding.
  • NOAA SEM support (by Zbychu):
  • Zbychu added decoding for NOAA’s SEM instrument, on DSB, HRPT and GAC. A few others improvements to the radiation viewer came alongside it.
  • This also included properly decoding timestamps for HIRS and AMSU, which will provide better projections.
  • Recorder QOL:
  • There were quite a few (very valid) issues with the recorder. Most of them were related to the inability to save current settings for the device, FFT etc.
  • Now all the following is saved :
  • Device selected
  • Frequency (per device)
  • Device settings (gain, samplerate, etc)
  • FFT Settings
  • Samplerate is also formatted to be more readable.
  • Improved Proba-1 CHRIS & HRC processing:
  • Proba-1 CHRIS and HRC frames now go through a CRC check, to avoid bad data sneaking through. At the same time, the image’s header is now utilized to identify images that need to be interleaved back into a full-resolution CHRIS frame.
  • Zbychu also updated composites on CHRIS to look better.
  • Proba-V imager support:
  • Proba-V’s imager has been active again recently, hence it was possible to implement decoding.
  • DMSP RTD Support:
  • DMSP satellites are actually transmitting in the clear over part of the US/North pole. This was discovered by LazzSnazz while trying to monitor something else.
  • SDR++ Server Support:
  • In order to support more SDRs remotely, SDR++ Server support was implemented. Do not settings HAVE to be edited in UI mode first. Once set by the UI / In SDR++, it can then be used in CLI mode as well.
  • RTL-TCP Support:
  • I had forgotten to implement it back. So that’s done now!
  • Microphysics composites for AVHRR (RAD750 PR):
  • MetOp ASCAT Projection:
  • MetOp ASCAT can now be projected and manipulated in the viewer.
  • Bugs fixed:
  • Ensure full buffers are processed on exit:
  • As the demodulator and decoder modules are now run at the same time by default, there is an additional buffer between then. It turned out, whatever remained in the buffer when the demodulator was done would not be fed to the decoder. This did not affect anything for most satellites, but very low-rate links (such as STEREO) were affected in some situations. Now, the decoder will always process whatever remains.
  • Folder selection in settings:
  • Path options in settings were not file widgets, and would not allow selecting a file using a dialog.
  • Projection Merging:
  • Merging could really mess up in some cases, resulting in a garbage projection.
  • Stats server segfault:
  • The stats server (in CLI mode), could end up requesting the same thing at the same time for several users (if 2 devices were trying to get stats at the same time), leading to a race condition and crash. Things are now kept as they should be through a Mutex. (Technically, that could low performances, but we’re not dealing with thousands of users).
  • Map overlay on corrected imagery:
  • Overlaying a map on a corrected image could lead to “cuts” in the overlay.
  • Windows CLI parsing:
  • On Windows, for some reason, using long long for the frequency parameters and similar would result in it wrapping around to a negative value… After a lot of debugging with @crosswalkersam, this was figured out to be the casuse. Changign to uint64_t fixed it.
  • Dataset for LRPT:
  • LRPT would not open in the viewer after processing, as it would not be writing a dataset.json, which is what tells further processing to do something.
  • GOES-R EMWIN images would be corrupted:
  • Well, a small typo lead to inserting some gargbage data in the file… Oops. Somehow this was only an issue there, so not really sure how it was missed for so long.
  • Viterbi would get fed 0, leading the tail sometimes being affected:
  • Viterbi decoding makes heavy use of SIMD (using Volk’s SPIRAL kernel). This also means the data is aligned, and can’t be of arbitrary size, but must be a multiple of a specific number (16 here). Hence, the last few bits, if not matching said condition, would have to be provided anyway despite not being of any use to decoding.
  • The impact was pretty much none in 99.99% of cases, but sometimes, as Fred Jansen experienced, it could end up not letting the deframer sync! It was really pain to debug, but the fix was simply not feeding Viterbi 0s, but instead erased symbols (that will be ignored by decoding entirely). Do note only a few sats were affected in that way.
  • Though, now, RS should also behave as it used to.

New in SatDump 1.0.0 Beta (Sep 24, 2022)

  • Added features:
  • 16-bits WAV Recording:
  • For compatbility with other software (as raw and custom formats are really only usable easily in SDR# or GNU Radio), a contribution by Blobtoe now allows SatDump (both in the UI and CLI) to record directly to .wav file.
  • HTTPS Tile Map sources / JPEG Tiles support:
  • I can’t guarantee this is perfectly functional for everyone yet - there may be a bug in the library utilized. But this allows using HTTPS for your map tile server, which previously had to be HTTP. Some other changes made by Zbychu allow customizing the URL further to support using different servers (which often use different url format), such as satellite/aerial image tiles.
  • Alongside that change, tiles in JPEG format are also supported now.
  • Loading / Saving more than PNGs:
  • As of now, SatDump could exclusively load .png images (such as in the projection system) or export in PNG format when using some save function. That is not longer the case after some requests from Dario.
  • From now on, when saving an image you can change the extension to .jpg/.jpeg and JPEG will be utilized instead of PNG. No other format is current supported - but depending on requests it surely could be considered.
  • HRPT Reader - Compatible files:
  • During the rework generation of .hpt/.C10 files had been removed, and honestly until it was pointed out it’s something I had entirely forgotten about it. After requests by Serge, this was added back as an option.
  • Bugs fixed:
  • RTL-SDR Gain:
  • It turns out I made an oopsie when re-implementing RTL-SDR support… Forgot to multiply the gain by 10 (as it takes 10th of a dB). Hence, max gain would barely be 4.9db instead of 49!
  • Support of older Linux systems (Ubuntu 18.04):
  • Despite more than 4 years old, Ubuntu 18.04 and similar systems are still widely used. It turned out that some of the newer code had to be slightly modified to still compile on those older systems. That’s fixed thanks to K4KDR pointing it out!
  • Perform curvature correction before map overlay:
  • A rather funny bug as Zbychu would say : It has made Brussels wide.
  • It turned out that I had fogotten that when both the map overlay and curvature correction were combined (which results in the image stretched on the sides), the actual map overlay and cities labels would get stretched as well! Oopsie.
  • But anyway - it’s fixed.
  • Automatically test OpenGL versions:
  • On older hardware or boards like RPIs, launching the UI could be a challenge due to OpenGL support. Now, several versions are tried and a patch has been implemented for the Raspberry Pi (3b+, the 4 is not affected).
  • Filter timestamps on all sats:
  • All projections and map overlay rely on timestamps the satellite provides alongside the data. The downside is, there’s no easy way to “check” them at all for corrupted bits on many satellites… And applying what could do so on others may significantly impact decoding at lower SNR.
  • Accurate timestamps are key to a proper projection (unless the old algorithm is utilized. That one will not be as affected) or map overlay, as a single bad timestamp might (depends…) kill it entirely. To get around this issue and perform some filtering, I have a (rather) basic algorithm checking through timestamps and discarding inacurate ones. It’s not perfect, but has performed rather well as of now.
  • Before, it was only applied on satellites that lacked error-correction. Now, it’s systematically done all the time (tuned for each instrument of course) to ensure things won’t go bad on an otherwise nice pass due to an unfortunate corrupted bit! (Though, at low SNR, still do not expect something perfect of course)
  • FengYun-3 / MetOp edge-cases fixes:
  • It turned out that in some cases I had not been able to test (or forgot), the MetOp and FengYun-3 decoder may end up getting stuck in a bad state. Egor UB1QBL and Serge reported the issue, and from testing on my side things now appear to be fine (and should be). This did not impact decoding performances.
  • I did lower the locking thresold slightly on FengYun though. Not a huge difference but may help in some cases!
  • Fix projections on multi-resolution instruments:
  • Some instruments, especially Aqua/Terra MODIS and FengYun-3 MERSI have several channels at different resolutions. It turned out I had forgotten to resize them before feeding the rest of the algorithm leading to funny results… Fixed as well of course!
  • Others:
  • (Part of) Projections re-tuned:
  • Due to the heavy changes to the projection system, configurations I had previously for most satellites (METEOR-M, NOAA, etc) were no longer accurate and needed to be re-tuned manually. This has been partially done, and I will continue to do so along the way and whenever I have the data to tune it.
  • Thanks to reports of that, it is now fixed. Please report such issues (on any satellite / instrument) and I will work on it shortly! Though most HRPT satellites should be mostly OK. X-Band has not been fine-tuned for the main imagers (MODIS / MERSI) yet.
  • ZIQ Enabled by default:
  • ZIQ will now be enabled by default - if the dependencies are present of course! So don’t be scared of any extra steps if you do not need that functionality..
  • Projections use RGBA:
  • A bug popping up on some images (that had 0s, or total black) could make the merging process mess up… Fixed. (It’d cause weird colors in some places!)

New in SatDump 0.0.39 (Jul 8, 2022)

  • New compo system bunch of fixes, basic GRB support, FengYun-3E XEUVI Support and automated TLE updates (+ Basic Cryosat-2)
  • Fixup RTL-SDR AGC. Fixes #75