Daniel Estévez
Scientific & Technical Amateur Radio — Home of EA4GPZ / M0HXM
- Posts
- 559 from 16 Oct 2015 to 26 Oct 2026
- Posting
- monthly (22 in the last year)
- Kind
- personal blog
- Feed
- https://destevez.net/feed/
2026 17
- A high-sensitivity ADS-B receiver
- Decoding the Roman Space Telescope
- On matched filtering in the presence of carrier frequency offset
- X-engine correlator on a Ryzen NPU
- Tianwen-1 safe mode telemetry
- ORI’s lunar descent CTF
- Tianwen-2 low data rate telemetry
- PLL coefficients for rate-only feedback
- An update about Tianwen-2 telemetry
- Decoding Tianwen-2
- Getting peak TOPS on a Ryzen AI 7 350 NPU
- Decoding the NB-IoT downlink
- Tianwen-1 received again by AMSAT-DL
- Where is Tianwen-1?
- ESCAPADE telemetry
- Tooling for CSP
- V16 beacon full uplink conversation
2025 26
- Decoding a V16 beacon
- Notes on debugging Rust microcontroller stack usage
- First analysis of the Lunar GNSS Receiver Experiment data
- Decoding ESCAPADE
- sigmf-toolkit
- Non-coherent m-FSK BER
- Non-coherent FSK BER
- 10 years of blogging
- Flip-flop timing experiments
- 10 GHz FMCW radar LO board
- Multispectral analysis of the Tres Cantos wildfire with Sentinel-2 data
- Tres Cantos wildfire
- n78 band 5G NR recordings
- Galileo OSNMA chain renewal
- About FLLs with band-edge filters
- Z-Sat VHF transmissions
- 5G NR PDSCH
- 5G NR PDCCH
- Time-dependent delay in GNU Radio
- Analysis of the CAMRAS Venus radar experiment
- Decoding BGM-1 GMSK telemetry
- BGM-1 Doppler during the lunar landing
- Coding NEON kernels for the Cortex-A53
- Decoding HYDRA-T
- Decoding IEEE 802.11ah
- Tianwen-1 second apoapsis raise
2024 32
- Tianwen-1 apoapsis raise
- 5G NR PBCH
- Hera telemetry
- Decoding Hera
- Europa Clipper telemetry
- Decoding Europa Clipper
- Analysis of DME signals
- Not-LoRa GRCon24 CTF challenge
- Testing gr4-packet-modem through a GEO transponder
- JUICE Earth flyby
- Final update for the Galileo GST-UTC anomaly
- 2024’s update of Tianwen-1’s remote sensing orbit
- Recording DME with the LimeSDR
- LTE uplink: PUSCH
- Computing PLL coefficients
- Decoding ERMINAZ
- Decoding the LTE-M SIB-BR
- Maia SDR DDC
- Analysing the srsRAN LTE MAC layer with Wireshark
- Decoding LTE MIMO with a single antenna
- LTE downlink: PDSCH
- A modern implementation of the Parks-McClellan FIR design algorithm
- LTE Transmission Mode 4 (closed-loop spatial multiplexing)
- Decoding Queqiao-2
- 5G NR downlink reference signals
- Decoding IM-1
- Lunar reflections during SLIM landing
- SLIM lunar landing radiometry
- Trying to decode LEV-1
- An update about my Rust implementation of Galileo OSNMA
- Decoding Peregrine Mission One
- Decoding MOVE-II
2023 33
- Receiving HADES-D
- An annotated 5G SigMF recording
- ssdv-fec: an erasure FEC for SSDV implemented in Rust
- Psyche telemetry
- Receiving the Psyche launch
- BSRC REU GNU Radio tutorial recordings
- Observing OSIRIS-REx during the capsule reentry
- Update on the Galileo GST-UTC anomaly
- Decoding Aditya-L1
- DVB-S2 GRCon23 CTF challenge
- Galileo GST-UTC anomaly
- Demodulation of the 5G NR downlink
- A very quick RFI survey at the Allen Telescope Array
- Analysis of the W-Cube 75 GHz beacon
- Tianwen-1 third anniversary
- Decoding STEREO-A SECCHI images
- Analysis of Euclid frames
- ldpc-toolbox gets LDPC decoding
- Decoding Euclid
- Mars Express 20th anniversary livestream
- An erasure FEC for SSDV
- Analysis of JUICE frames
- Decoding JUICE
- More about the QO-100 WB transponder power budget
- Measuring the QO-100 WB transponder power budget
- About channel capacity and sub-channels
- Monitoring the QO-100 WB transponder usage with Maia SDR
- Running the AD9361 at 122.88 Msps
- Maia SDR
- More details about Orion uncoded telemetry
- Decoding Lunar Flashlight
- Decoding Hakuto-R M1
- Decoding the Orion residual carrier telemetry
2022 36
- Decoding ArgoMoon
- A note about non-matched pulse filtering
- Decoding EQUULEUS
- Decoding LunaH-Map
- Artemis I Orion recordings published
- Decoding the Artemis I Orion vehicle
- Using GSE and DVB-S2 for IP traffic
- Decoding INTEGRAL
- Decoding the BlueWalker 3 S-band downlink
- Blockstream Satellite: decoding Bitcoin transactions
- Anatomy of Blockstream Satellite
- GRCon22 Capture The Flag
- Decoding the STEREO-A space weather beacon
- Connecting the Pluto SDR to an Android phone
- More QO-100 orbit determination
- Writing GUPPI files with GNU Radio and using SETI tools
- QO-100 orbit determination
- Decoding Danuri
- Calculating the QO-100 beacons frequency separation
- Measuring the QO-100 beacons phase difference
- Trying to observe the Vega-C MEO cubesats
- Real time Doppler correction with GNU Radio
- LTE downlink: PBCH and PDCCH
- LTE downlink: PHICH
- Decoding the QO-100 multimedia beacon with GNU Radio: part II
- Decoding the QO-100 multimedia beacon with GNU Radio
- LTE downlink: reference signals and transmit diversity
- LTE downlink: synchronization signals
- Timing SDR recordings with GPS
- A Rust implementation of Galileo OSNMA
- Demodulation of LTE PUCCH
- An update about Tianwen-1’s remote sensing orbit
- An error in the DSN Telecommunications Link Design Handbook description of Reed-Solomon
- Demodulation of the LTE uplink
- Radiometry for DELFI-PQ, EASAT-2 and HADES
- List of RF recordings
2021 44
- JWST sequential ranging
- Decoding James Webb Space Telescope
- Waterfalls from the December 2021 eclipse frequency measurement
- One month of Tianwen-1 remote sensing orbit
- Voyager 1 and Reed-Solomon
- Reed-Solomon bug in Queqiao
- More data from Voyager 1
- Computing the symbol error rate of m-FSK
- Hermes-Lite 2 external 10 MHz reference
- Decoding DART
- Tianwen-1 remote sensing orbit
- An update about Lucy’s telemetry
- Decoding Lucy
- GNU Radio 3.9 in Buildroot
- Tianwen-1 communications relay orbit
- Tianwen-1 attitude in Mars orbit
- Decoding Voyager 1
- An update about Chang’e 5 whereabouts
- Imaging Cygnus A at 8.45 GHz with ATA
- LDPC code design for my QO-100 narrowband modem
- Solution to the EU GNU Radio Days challenge
- Rain backscatter on 10 GHz
- GPS spectrometry at Allen Telescope Array
- Tianwen-1 landing
- 32APSK narrowband modem for QO-100
- QO-100 spring eclipse season
- BPSK pulse radar revisited
- Othernet’s open source open-ondd receiver
- Decoding the Falcon-9 upper stage
- Tianwen-1 reconnaissance orbit
- More 10 GHz sun observations
- Interferometric imaging with Allen Telescope Array
- Tianwen-1 phasing orbit
- Voyager-1 single dish detection at Allen Telescope Array
- Tianwen-1 plane change manoeuvre
- Tianwen-1 plane change planning
- Emirates Mars Mission MOI burn observed in Bochum
- Tianwen-1 Mars-centric state vectors
- Tianwen-1 TCM-4
- Chang’e 5 low rate telemetry
- Decoding IDEASSat
- BPSK radar received through Meridian 8
- Decoding the NEXUS π/4-DQPSK signal
- Chang’e 5 interferometric astrometry
2020 70
- Chang’e 5 observations from ATA on December 19 and 20
- Chang’e 5 reception from ATA on its return trajectory: polarization
- Chang’e 5 reception from ATA on its return trajectory: telemetry
- Chang’e 5 telemetry from the lunar surface received by Bochum
- Chang’e 5 telemetry from the ATA 2020-11-28 observation
- Chang’e 5 polarization in the ATA observations
- Chang’e 5 LOI-2 observed with Allen Telescope Array
- A look at Chang’e 5 telemetry
- Polarimetric observation of 3C286 with Allen Telescope Array
- Tianwen-1 TCM3 final trajectory
- ATA polarimetry test with GNSS satellites
- Tianwen-1 TCM3
- Galileo E24 differential code biases change
- Tianwen-1 attitude change
- GNSS interferometry at Allen Telescope Array
- Tianwen-1 DSM final trajectory
- Decoding AMICal Sat in-orbit images
- Tianwen-1 deep space manoeuvre
- Analysis of Object A’s S-band signal
- Tianwen-1 selfie and attitude
- Tianwen-1 virtual channel usage
- Tianwen-1 TCM-2
- Update on Tianwen-1 attitude
- Measuring Tianwen-1’s modulation
- Tianwen-1 attitude during cruise and early orbit
- Decoding Mars 2020
- Tianwen-1 virtual channel 24
- Tianwen-1 high speed data signal
- Tianwen-1 post–TCM-1 state vectors
- Tianwen-1 TCM-1
- Tianwen-1 manoeuvre and high-speed data
- Tianwen-1 telemetry: framing and data
- Tianwen-1 telemetry: modulation and coding
- More about the Tianwen-1 timestamps
- Tracking Tianwen-1’s orbit to Mars: part II
- Tracking Tianwen-1’s orbit to Mars
- Decoding Emirates Mars Mission Hope
- Galileo and GPS DOPs revisited
- BY02 telemetry beacon
- RTCM clock corrections for Galileo E24
- About Galileo BGDs
- Receiving Arecibo in HF
- ESA NEOCC riddle 1
- gr-satellites FSK BER
- On the DSCS-III X-band 1kbaud beacon
- Reverse-engineering the DSCS-III convolutional encoder
- A look at the DSCS-III X-band beacon
- Ranging through the QO-100 WB transponder
- Advances with delta-range and delta-range rate observations in GMAT
- Decoding Crew Dragon Demo-2
- LES-5 telemetry Grafana dashboard
- Update on the QO-100 local oscillator wiggles
- gr-satellites v3.0.0-rc1
- Simulating delta-range observations in GMAT
- Wiggles in the QO-100 local oscillator
- LES-5 RFI experiment telemetry
- Idle data in BepiColombo X-band signal
- Decoding BepiColombo
- Earth rotation corrections for range and range-rate in GNSS
- More data from LES-5
- Decoding LES-9
- Decoding LES-5
- Coherence and QO-100
- Decoding images from AMICal Sat
- Fifth alpha for gr-satellites 3
- Simulating the TED gain for a polyphase matched filter
- Decoding ESA Solar Orbiter
- DOP geographical distribution for the Galileo and GPS constellations
- Fourth alpha for gr-satellites 3
- Extracting AX.25 satellites from SatNOGS DB
2019 80
- Third alpha for gr-satellites 3
- DSLWP-B whole mission telemetry
- First tests of a narrowband data modem for QO-100
- Decoding FloripaSat-1
- Plotting spectrum measurements by SMOG-P
- SMOG-P short codes
- Decoding SMOG-P and ATL-1
- More about the Galileo broadcast clocks oscillations
- Oscillations and relativistic effects in Galileo broadcast clocks
- QO-100 BPSK beacon frequency measured at Bochum
- More frequency measurements of the QO-100 NB transponder
- Measuring the Allan deviation of a GPSDO with an SDR
- DSLWP-B crash site found
- Can my station measure the QO-100 NB transponder LO stability?
- Using an external reference with the LimeSDR Mini
- Second alpha for gr-satellites 3
- Sun observations at 10GHz
- First alpha for gr-satellites 3
- gr-satellites roadmap
- Ephemeris quality during the Galileo outage
- Measuring the ED4YAE 10GHz beacon
- Światowid image decoder
- Decoding Światowid
- Software for my QO-100 groundstation
- Galileo outage revisited
- Measuring the gain of a dish
- Trying to find the DSLWP-B crash site
- Transmitting through QO-100 with the LimeNET Micro and LimeRFE
- Precise orbit determination for Lucky-7
- More DSLWP-B lunar surface images identified
- DSLWP-B last activities and end of mission
- WSPR with the LimeRFE
- DSLWP-B activities for the fourth week of July
- DSLWP-B mission end prediction
- Lucky-7 TLE matching using GPS data
- Second Moon observation with my QO-100 station.
- Lucky-7 decoded
- DSLWP-B activities for the third week of July
- Galileo operational again
- Galileo constellation outage
- DSLWP-B activities for the second week of July
- Lunar features in DSLWP-B eclipse images
- Results of DSLWP-B eclipse imaging
- Analysis of DSLWP-B eclipse test run (again)
- Analysis of DSLWP-B eclipse test run
- GPS SVN49 broadcasting non-standard codes again
- Imaging times for DSLWP-B eclipse observation
- DSLWP-B and the solar eclipse
- Astrometry with DSLWP-B camera
- Report for DSLWP-B June imaging
- DSLWP-B June lunar imaging and VLBI
- First Moon observation with my QO-100 station
- Receiving a LoRa high altitude balloon
- Results of DSLWP-B Amateur VLBI experiment on 2018-11-21
- DSLWP-B lunar impact location
- Angle of arrival experiment in 145MHz
- DSLWP-B lunar impact prediction
- DSLWP-B deorbit and mission end
- Planning Moon observations with my QO-100 station
- Rain fade in the QO-100 downlink
- Decoding SSDV from JY1SAT
- Diffraction in DSLWP-B lunar occultations
- An overview of IARU R1 interim meeting proposals
- Detecting the Sprites from KickSat-2
- QO-100 beacon FEC decoder
- NPR: Hamnet over 70cm
- Weekend maintenance to QO-100 NB beacons
- Measuring QO-100 beacons frequency
- Recovering an image transmitted by DSLWP-B
- Changes to the QO-100 NB transponder settings
- New dish for Es’hail 2 reception
- Es’hail 2 frequency measurements
- New decoders for Astrocast 0.1
- QO-100 beacons power
- Antarctic expedition
- Decoding the QO-100 beacon with gr-satellites
- DSLWP-B camera planning for February 3 and 4
- Proposal for IARU R1 about spectrum regulations for Amateur satellites
- Es’hail 2 stationed in 26ºE
- An STRF crash course
2018 93
- Es’hail 2 differential Doppler measurements
- Decoding Astrocast 0.1
- D-STAR One Mobitex protocol decoded
- One month of Es’hail 2 Doppler data
- In-orbit testing of Es’hail 2 Amateur transponders
- Recommendations for receiving Es’hail 2
- ESEO telemetry parser
- FUNcube telemetry submitter for gr-satellites
- Studying Es’hail 2 Doppler
- Decoding ESEO
- Uploading PW-Sat2 telemetry with gr-satellites
- Decoding PW-Sat2 with gr-satellites
- Decoding 3CAT-1
- December DSLWP-B camera planning
- Decoding Reaktor Hello World
- An open letter about ESEO telemetry specifications
- Batch processing of DSLWP-B Moonbounce: part I
- Es’hail 2 launch in GMAT
- Measuring the stability of a TCXO
- November DSLWP-B images of the Moon and Earth
- Projection of a sphere onto the unit sphere in spherical coordinates
- Updated DSLWP-B camera planning
- DSLWP-B camera planning for the beginning of November
- Upcoming DSLWP-B Moon occultations
- Plotting DSLWP-B observations Doppler and geometry
- Geometry for DSLWP-B Moonbounce
- DSLWP-B JT4G decoded via Moonbounce
- Keeping track of DSLWP-B images
- Download of DSLWP-B Moon and Earth pictures continues
- DSLWP-B Moonbounce cross-correlation analysis
- Report of the DSLWP-B Amateur observations of the Moon and Earth
- DSLWP-B Moonbounce
- DSLWP-B upcoming observations of Moon and Earth
- DSLWP-B camera field of view
- DSLWP-B photo planning
- DSLWP-B talk in IberRadio
- DSLWP-B clock running late
- Lunar orbit perturbations and DSLWP-B
- Playing with LilacSat-1
- Aircraft reflections of a 2.3GHz beacon
- Amateur stations in the Perseids recording
- Weird repair of the day: u-blox LEA-5S I2C interface
- Decoding TANUSHA-3
- Detecting meteor scatter pings from GRAVES during the Perseids
- Trying to make the DSLWP-B GMSK decoder more robust
- Report for today’s DSLWP-B SSDV session
- DSLWP-B corrupted SSDV frames
- First SSDV transmission from DSLWP-B
- DSLWP-B long-term orbit evolution
- Update on DSLWP-B eclipse manoeuvre
- Trying to decode EQUiSat
- DSLWP-B and the lunar eclipse
- K2SAT S-band image receiver
- LimeSDR external reference quick HOWTO
- Comparison of DSLWP-B orbit determination with tracking files
- Validation of DSLWP-B orbit determination using VLBI observations
- DSLWP-B first month in orbit
- DSLWP-B GMSK detector
- DSLWP-B detected with 7 element yagi
- DSLWP-B first JT4G test
- First results of DSLWP-B Amateur VLBI
- JT4G detection algorithm for DSLWP-B
- Update on DSLWP-B orbit determination
- Flashing a Vaisala RS41 radiosonde
- 1KUNS-PF image decoder
- DSLWP-B’s journey to the Moon: part III
- DSLWP-B’s journey to the Moon: part II
- DSLWP-B’s journey to the Moon: part I
- 1KUNS-PF decoded
- P25 vocoder FEC
- A first look at 1KUNS-PF telemetry
- Using a Golay(24,12) decoder for Golay(23,12)
- Algebraic decoding of Golay(24,12)
- STARcon 2018 aftermath
- S-NET telemetry parser
- Soft Viterbi decoder for AO-40 FEC
- Decoder for PolyITAN-2-SAU
- BCH decoder for S-NET
- Decoding S-NET
- Improved signal processing for LilacSat-2 VLBI
- TY-2 decoded
- Amateur VLBI experiment with LilacSat-2
- Testing LDPC code erasure decoding performance
- Outernet LDPC code revisited
- STARcon 2018 announcement
- Studying IONEX files
- Mystery 9k6 BPSK satellite
- Analysis of my Hermes-Lite 2 bandscope recording
- A first look at TY-2
- PicSat telemetry parser added to gr-satellites
- Decoding satellites from the PSLV 2018-004 launch
- Saving and plotting bandscope data with the Hermes-Lite 2
- Interfacing the Hardrock-50 HF amplifier to the Hermes-Lite 2
2017 47
- A CODAR advent
- Respuesta al artículo “¿Por qué asociarse?” por EA1URA
- Using CODAR for ionospheric sounding
- A brief study of TLE variation
- Tracking an RS41-SGP radiosonde and reporting to APRS
- Building a feedline HF choke
- Waterfall from the FT8 test through FO-29
- First FT8 test through FO-29
- WSJT-X and linear satellites: part II
- Measuring a mains choke with Hermes-Lite VNA
- Charlas en IberRadio
- About critical damping
- Polarization in Voyager signal from Green Bank Telescope
- WSPR reports frequency distribution experiment: 20m
- AGC for gr-satellites
- Waterfalls from the eclipse
- ÑuSat finally decoded
- Frequency distribution of WSPR reports
- Acquisition and wipeoff for JT9A
- D-SAT image downlink
- IPv6 for Amateur radio
- D-SAT support added to gr-satellites
- WSJT-X and linear satellites: part I
- BER simulation in GNU Radio
- Degradation bug in GNU Radio “Decode CCSDS 27”
- A first look at DSLWP SSDV downlink
- LilacSat-1 downlink usage
- LilacSat-1 image downlink
- Viterbi decoding for NanoCom U482C
- Testing LilacSat-1 Codec2 downlink and GPS telemetry
- Waterfalls from QB50
- A tour of QB50
- Decoding AO-40 uncoded telemetry
- Low latency decoder for LilacSat-1
- gr-satellites refactored
- Quick fixes for some bugs in LimeSDR drivers
- Calibrating the Hermes-Lite 2.0 beta2 in Linrad
- Waterfalls from the EAPSK63 contest
- Monitoring IMD levels in the EAPSK63 contest
- Sending data from GNU Radio into Linrad using the network
- GNU Radio decoder for AO-73
- An erasure code based on Vandermonde matrices
- free-outernet gets LDPC decoding
- Updated format for Outernet LDP protocol
- Open telecommand for BY70-1
- Coding for HIT satellites (and other CCSDS satellites)
- KS-1Q decoded
2016 71
- First data from BY70-1
- Reverse engineering Outernet talk in 33C3
- Looking at BY70-1 image downlink
- Testing a simple pulse generator for Linrad calibration
- Improving signal processing in my OTH radar receiver
- Looking at an HF OTH radar
- About KS-1Q
- Testing Opera sensitivity with GNU Radio
- Some measurements of CAS-2T on orbit 25
- Reverse-engineering Outernet in GNU Radio blog
- Reverse engineering Outernet: time and file services
- Reverse engineering Outernet: L3 and L4 protocols
- Reverse engineering Outernet: modulation, coding and framing
- Simulating JT modes: how low can they get?
- LilacSat-1 Codec 2 downlink
- Concurso QSL V-UHF
- AISAT and ATHENOXAT-1
- Decoding GOMX-1 telemetry
- Some notes on BEESAT and Mobitex-NX
- A brief try at decoding HORYU-4 1k2 AFSK telemetry
- HORYU-4 CW telemetry format
- IARU R1 145MHz contest
- Introducing gr-satellites
- Telemetry format of 3CAT-2
- How hard is it to decode 3CAT-2?
- RS92-SGP: trying to change the frequency with an external reference
- Decoding packets from 3CAT2
- RS92-SGP: Interfacing the EEPROM to a 5V microcontoller
- Recovering an RS92-SGP radiosonde
- Linear 12V 5A power supply
- Receiving the Vaisala RS92-SGP radiosonde launched from Madrid-Barajas
- Concurso Nacional V-UHF
- Improving phase noise performance of the DF9NP 27MHz PLL
- Arduino aquarium controller
- Update on phase noise of 27MHz references
- Phase noise of a Baofeng UV-5R 10GHz signal
- Ship reflection on ED5YAE 10GHz beacon
- Several 10GHz beacons on WebSDRs
- Phase noise of 27MHz references for a Ku-band LNBF
- Concurso Atlántico V-UHF
- Using the CC1101 and Beaglebone black for IP traffic on 70cm
- KISS, HDLC, AX.25 and friends
- Concurso Sant-Sadurní V-UHF
- Trying to decode data from ÑuSat
- GOMX-3 data download
- LilacSat-2 subaudio telemetry
- Scramblers and their implementation in GNU Radio
- Decoding packets from GOMX-3: CSP packets
- Hailstorm in 12GHz
- Decoding packets from GOMX-3: modulation and coding
- Concurso Segovia V-UHF
- A bunch of data from AAUSAT-4
- Receiving Ku-band geostationary satellite beacons
- First signals from AAUSAT-4
- Outputting the crystal oscillator directly in the Si5351
- Adjusting TX gain in the FT-817ND
- Replacing the fuse F1002 in the FT-817ND
- Concurso Costa del Sol V-UHF 2016
- Arduino LED driver: prototype finished
- Scanning Ku band satellites with the FUNCube Dongle
- Concurso Combinado V-UHF 2016
- Building the OCXO/Si5351A kit from QRP Labs
- Calibrating the S-meter in Linrad
- Building the GALI-39 amplifier kit from Minikits
- An idea for a low cost stable 10GHz receiver
- Arduino LED driver: PCBs shipped
- Estimation of the contribution of the frontend to the total noise figure
- Building the G0MRF comb generator
- Band switching with the Hardrock-50 HF amplifier and the FT-817
- Testing microphone performance for Codec 2
- Using Linrad as a panadapter
2015 10
- Installing the G4HUP PAT on the FT-817
- Updating Gpredict transponder files
- Doppler correction with GNURadio
- LilacSat-2 downlink signal strength
- LilacSat-2 GNUradio receiver
- LilacSat-2 telemetry PDU decoder
- Decoding LilacSat-2 telemetry
- Another look at recursive quadrature oscillators
- A look at a new digital quadrature oscillator
- Listening to the FreeDV net by WebSDR