SDR Television v1 (Release)
SDR Television
This release is actually beta 6 with a few small updates, so I've left the beta 6 text here. I hope to start working on this in November 2025, adding the Gardner timing error detection which should improve the decoding with low SNR.
Downloads are at the bottom of this page.
About Gardner timing error detection
Gardner timing error detection is a widely used technique in digital communications for estimating and correcting timing errors in the received signal. It is commonly employed in symbol timing recovery circuits, particularly because of its effectiveness even when the carrier phase is unknown or rotating—making it carrier phase independent.
How Gardner Timing Error Detector Works
- Gardner's method operates by sampling the received signal at twice the symbol rate (two samples per symbol).
- The timing error is calculated by comparing the signal sample at the midpoint of the symbol (between two symbol peaks) to the samples at the symbol boundaries.
Zero-Crossing Principle
Gardner's TED is based on a zero-crossing concept—detecting timing errors by observing differences across symbol transitions, not requiring knowledge of the transmitted data. This is known as a non-data-aided approach. If data symbols are known, this becomes a data-aided/decision-directed form called Zero Crossing Timing Error Detector.
Applications and Advantages
- Carrier Phase Independence: It is robust even with phase offsets or frequency drifts, which is essential when the carrier recovery is not perfect.
- Historical Relevance: Gardner timing error detection was notably used in Mariner Mars 1969 missions for symbol synchronization in telemetry receivers.
- Multi-level Modulations: While originally used for QPSK (quadrature phase shift keying), the principle extends to other digital modulation schemes, though modifications may be needed for Nyquist pulses with low roll-off.
Summary of Use
- Gardner TED is popular for timing synchronization in digital receivers, such as those used in wireless communications, SDRs, QAM, and OFDM systems.
- It helps align sampling instants to symbol boundaries for accurate symbol detection, crucial for bit error rate performance.
In conclusion, Gardner timing error detection is a foundational algorithm ensuring precise symbol timing in modern communication systems, prized for its carrier independence and non-data-aided operation.
- https://webdemo.inue.uni-stuttgart.de/webdemos/02_lectures/uebertragungstechnik_2/timing_error_detection/index.php?id=2
- https://wirelesspi.com/gardner-timing-error-detector-a-non-data-aided-version-of-zero-crossing-timing-error-detectors/
- https://wirelesspi.com/on-the-link-between-gardner-timing-error-detector-and-early-late-timing-error-detector/
- https://john-gentile.com/kb/dsp/Timing_Sync-TEDs.html
- https://www.reddit.com/r/DSP/comments/164bvjg/gardner_algorithm_applications_limitations/
Download
This minimum version of SDR Radio is shown below. Only download if SDR Television displays an error message when starting.
SDR Television
Download from either:
- OneDrive: SDR Television V1.0, 64-bit, 2025-09-10_1341.exe
- Dropbox: SDR Television V1.0, 64-bit, 2025-09-10_1341.exe
SDR Radio
The latest SDR Radio 64-bit kit is Build 3818, September 9th, 2025. This has been released as an official beta. Use the kit below of any newer SDR Radio kit.
- OneDrive: SDR-Radio V3.4, 64-bit, 2025-09-09_0631.exe
- Dropbox: SDR-Radio V3.4, 64-bit, 2025-09-09_0631.exe


