Émetteur-récepteur HF — temps réel

Latence et synchronisation du traitement DSP

Maîtriser les retards cumulés entre RF, audio, PTT, sidetone, USB et affichage.

BlocSource de latence
BufferProtection contre les underruns
USBCadence externe
PTTSéquençage indépendant

Chaîne fonctionnelle

ADCBuffer entréeDSPBuffer sortieDACUSBAffichageCommande PTT
Point critique : Réduire arbitrairement tous les buffers peut diminuer la latence mais rendre le système instable dès qu’une autre tâche charge le processeur.

Sources de latence

Les tailles de blocs, filtres FIR, buffers USB et files d’attente s’additionnent.

Une grande latence peut rester stable mais gêner le monitoring et la CW.

Une latence faible sans marge provoque des underruns.

Synchronisation

Les flux ADC et DAC doivent rester synchrones ou utiliser un asservissement.

L’USB peut fonctionner sur une horloge différente.

Un resampler asynchrone évite la dérive des buffers.

Mesure

Mesurer la latence de bout en bout avec une impulsion connue.

Journaliser les underruns et overruns.

Tester sous forte charge CPU et avec l’affichage actif.

Repères techniques

Latence totale = somme des buffers + retards de filtres + conversions
Dérive buffer = différence d’horloge × durée
Stabilité exige une marge de traitement, pas seulement un fonctionnement nominal

Contrôles systématiques

  • Mesurer le budget temps réel de chaque bloc.
  • Tester les valeurs extrêmes et les transitions de mode.
  • Conserver des vecteurs et courbes de référence.
  • Journaliser les underruns, overruns et saturations.
  • Comparer les résultats à des critères chiffrés.

Procédure recommandée

Lister tous les buffers.
Calculer leur contribution.
Mesurer la latence réelle.
Ajouter compteurs underrun/overrun.
Tester sous charge maximale.
Ajuster les tailles de blocs.
Gérer les horloges USB séparées.
Valider CW, VOX et monitoring.
Validation : la chaîne doit rester stable, reproductible et sans perte d’échantillons dans le pire cas d’utilisation.