Bulk frame export or telemetry-API access for INSPIRESat-1 (NORAD 51657)

,

I’m working on a clock-drift issue in the published DAXSS Level-1 solar X-ray dataset, and I’m using SatNOGS ground-receive timestamps as the reference.

I noticed that the telemetry dashboard DB stops at 2025-06-17, while the SatNOGS DB has ~48k additional frames for INSPIRESat-1 through re-entry on 2026-05-02. I’ve tried pulling this data using the API but have been getting 429 responses from /api/telemetry/ with my account, without a Retry-After header.

Would it be possible to get either a one-off export of the frames for NORAD 51657 (timestamp + raw frame) from 2025-06-01 onward, or API access to the telemetry for this mission?

Either option would be really helpful for the analysis. Thanks!

The DB returning 429 likely relates to INSPIRESat-1 being marked as Uncoordinated.

See IARU Coordination - Frequency Misuse (satellite QUBE) for a reference were it mentions

We must choose between 4 options to mark a transmitter for IARU Coordination.

  • IARU Coordinated
  • IARU Declined
  • IARU Uncoordinated
  • N/A

If you choose “Declined” or “Uncoordinated” the status is set to “Frequency Misuse” and you neither be able to export data from the database nor build dashboards.

Requests for violating satellites are automatically throttled with no downloads allowed. Spectrum Management - SatNOGS Wiki

Is it possible to mark this as N/A, given the satellite has now deorbited? The DAXSS team did not work on the IARU coordination but being able to use this communities data for the rest of the mission would be a huge help to the science team.

Unfortunately we can not change the IARU status, as this will made the DB entry untrue.

However I’ve checked and there are some non-decoded frames of the satellite, so I’ve started the process for decoding all the non-decoded data.

The non-decoded frames are around 40k and it will take around 6 hours for the decoding process to complete. As soon as a frame is decoded it also shows up in the Dashboard as the 14 days limit for non-coordinated satellite is now passed.

Also a reminder about the data that are distributed under the Creative Commons Atribution-Share Alike v4.0 license.

3 Likes

Your problem interested me enough that I went digging a little into the public INSPIRESat-1 / DAXSS code, and I think the raw SatNOGS frames could actually give you something more useful than just a large set of ground timestamps.

I found two things that may be relevant.

First, the public INSPIRESat-1 decoder exposes both the CCSDS secondary-header time (sh_coarse / sh_fine) and the DAXSS-specific daxss_time_sec field in the same beacon.

Then, in the DAXSS processing code itself, is1_daxss_beacon_read_packets.pro explicitly notes that the spacecraft time is “seconds since turn-on” and that DAXSS time, expressed in GPS seconds, should be used as the reference.

There is also an existing analysis script called plot_daxss_time_offset.pro whose purpose is literally to investigate DAXSS time offsets. It looks like the DAXSS team has already dealt with non-trivial timing corrections in the processing chain in the past.

That made me think that, once you get the raw frames, I would probably not start with only:

SatNOGS receive time - DAXSS time

I would first try to compare the rate of the two onboard clocks inside the same packets.

For two sufficiently separated beacons:

ΔSC    = spacecraft_time_2 - spacecraft_time_1
ΔDAXSS = daxss_time_2      - daxss_time_1

and then inspect:

ΔDAXSS - ΔSC

over the mission, obviously splitting the data around spacecraft resets/reboots.

If that residual develops a slope, you have a fairly clean indication of relative drift between the DAXSS clock and the spacecraft clock, without yet involving ground-station clock accuracy, NTP/PPS quality, propagation delay, etc.

Then I would use the SatNOGS reception timestamp as the third reference and look at:

SatNOGS_rx_time - DAXSS_time

preferably grouped by station and by pass. That should help distinguish a genuine long-term onboard trend from station-dependent timing offsets.

So I think your request for the raw frames, rather than only an exported timestamp/DAXSS-time table, is actually quite important: keeping the CCSDS time fields, sequence counter and DAXSS time gives you more diagnostic leverage.

You may already have gone through this, but I thought it was worth mentioning because the existing DAXSS code suggests that timing offsets have been investigated before, and the SatNOGS beacon seems to contain enough information to separate at least part of the problem.

The script I found is here:
daxss_library/analysis/plot_daxss_time_offset.pro

I’d be very curious to see what the residuals look like once you have access to the full frame set.

@fredy Thank you for decoding the remaining frames! We are now able to correct the time throughout the mission. We will make sure to credit SatNOGS/Libre Space Foundation in the data release.

Also, @frovelli, thank you for your suggestion! The SC uptime vs DAXSS RTC provided a good cross check to the ground time stamps and gave us a way to fill in the offset between SC boots with no ground timestamps. You are right that this time offset had been investigated by our team early in the mission, correlating our integrated measurements to GOES XRS-B flare times, but this was prior to the major collapse of time keeping later in the mission.

This SatNOGS dataset and the uptime comparison have been a huge help in correcting our data! Thank you both again!

4 Likes