← Toutes les notes

Avril 2026

Le timestamp USB ment

Le timestamp posé à l’arrivée USB reflète la réception hôte, pas l’instant d’acquisition. Conséquences pour la synchro multimodale sub-milliseconde.

Beaucoup de pipelines posent un horodatage au moment où l’échantillon arrive sur le port USB de l’hôte. Ce timestamp ment : il décrit l’instant de réception logicielle, après bufferisation matérielle, traversée du driver et ordonnancement de l’OS, pas l’instant où le convertisseur a échantillonné.

Une gigue invisible mais structurante

Entre l’acquisition hardware et la réception hôte s’accumulent une latence variable et de la gigue. Sur un seul flux cela passe inaperçu. Dès qu’on veut aligner deux modalités à la sub-milliseconde, par exemple EEG et vidéo ou EEG et capteur inertiel, ces décalages indépendants rendent l’alignement faux.

Le timestamp hôte n’est pas une horloge d’acquisition, c’est une horloge d’arrivée.

Sync layer ou horloge unique

Une première approche ajoute une couche de synchronisation : une base de resampling commune et un signal physique partagé, TTL ou sync pulse, présent dans tous les flux pour les recaler après coup. Le contre-exemple radical est l’horloge hardware unique : un seul oscillateur cadence toutes les voies, et le problème d’alignement disparaît par construction.

Le principe à retenir : ne synchronisez jamais sur l’instant d’arrivée. Soit vous injectez un repère physique commun, soit vous partagez une seule horloge.