params.py
Rama main · réplica de lectura del repositorio original.
"""
FT8 protocol parameters (matching our ft8_encoder.py, which has already
been verified bit-exact against the real ft8code.exe).
"""
SAMPLE_RATE = 12000
SYMBOL_PERIOD = 0.160 # s, duration of one symbol
TONE_SPACING = 6.25 # Hz, spacing between the 8 GFSK tones
SAMPLES_PER_SYMBOL = int(round(SYMBOL_PERIOD * SAMPLE_RATE)) # 1920
N_TONES = 8
N_SYM = 79 # 79 symbols per frame (7 Costas + 58 data + 14 Costas... across 3 blocks)
COSTAS = [3, 1, 4, 0, 6, 5, 2] # sync pattern
# Costas occurs 3x: at the start (sym 0-6), in the middle (sym 36-42), at the end (sym 72-78)
COSTAS_POS = [0, 36, 72]
SLOT_PERIOD = 15.0 # s, FT8 time slot length