LinFIR - Mesures et égalisation FIR/IIR

Modérateur : SYLEX

Avatar du membre
Arnwald
10 dB
Messages : 44
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Salut @razzortec,

Ce format est assez exotique et n'existe pas dans LinFIR.

Ceci-dit, je vais prendre le temps de l'implémenter pour une prochaine version. En attendant il doit être possible de faire une conversion, peut-être en passant par rePhase, ou alors manuellement.

Aurais-tu un exemple de ces filtres exporté via rePhase? Cela m'aiderait pour l'implémentation. Merci!
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Dagda
Fondateur
Messages : 2181
Enregistré le : 08 mars 2024, 17:16
Localisation : Est parisien (94)
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Dagda »

https://www.dspiy.be/forum/viewforum.ph ... b7c894c7b1

Tu as peut-être des informations ici ...
 

POSTREACT(ions) SUMMARY

https://www.youtube.com/@SoundPixelLab
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toutes réflexions pour ne pas offenser les imbéciles.
razzortec
10 dB
Messages : 3
Enregistré le : 22 mai 2024, 20:38

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par razzortec »

Merci

Un exemple ici

Dans mon language, c'est la voie low, 6000 taps, de 0 à 200hz, filtrage LR 150, et retard de 35 ms

low_6000_0_200_r150_35ms.c
(143.18 Kio) Téléchargé 5 fois
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 44
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Top, merci! J'ai tout le nécessaire pour ajouter le format. Ce sera pour la prochaine version. :-)
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
razzortec
10 dB
Messages : 3
Enregistré le : 22 mai 2024, 20:38

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par razzortec »

Merci Arnwald
Par contre, je pense qu'il va y avoir un autre problème.
Le filtrage FIR induit un retard qui dépand du nombre de taps et de la fréquence d'échantillonage, avec la formule:
Nombre de Taps/ 2x fréquence d''échantillonge ( Je ne vous apprends rien), ce qui dans mon cas pour la voie Low ( 6000 taps et 48 K) fait 62.5 ms
6000taps 62.5 ms.png
6000taps 62.5 ms.png (33.94 Kio) Vu 36 fois
Dans rephase, il est possible de décaler dans le temps l'impulse de filtrage
Exemple avec -50 ms, ce qui ramène le retard à 12.5ms
6000taps 12.5 ms.png
6000taps 12.5 ms.png (35.96 Kio) Vu 36 fois
J'ai une installation HC, et j'utilise le FIR sur les frontales , droite , centrale, et gauche, mais pas les surrounds
Au niveau des surrounds, je suis limité à 20 ms pour le retard,, d'ou mon besoin de limiter le retard sur les frontales.

Et après tout ça , il faut encore gèrer le décalage entre l'image et le son
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 44
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Si je puis me permettre, il ne faut absolument pas procéder de la sorte.

Avec ces paramètres, rePhase va générer un filtre à phase linéaire, pour lequel la formule (n_taps - 1)/2 est effectivement valable. Pour ce type de filtres, l'énergie avant le pic est aussi importante que celle qui se situe après. Décaler le milieu de 50 ms revient à tronquer une grosse partie de cette énergie, et on s'expose à des artefacts massifs de magnitude et de phase.

C'est exactement pour cela que j'ai développé LinFIR à l'origine: en plus de devoir utiliser Windows, l'impossibilité de visualiser directement le résultat final m'horripilait et de nombreux raccourcis sont faits sur les aspects de traitement du signal, poussant certains utilisateurs à générer des filtres aberrants.

La loi (n_taps - 1)/2 n'est valable que pour les filtres à phase linéaire, et il est tout à fait possible de générer un filtre FIR phase minimum pour lequel le pic est le plus proche possible de 0, et donc d'avoir une latence très courte.
Dans LinFIR cela se fait au moyen du curseur de causalité:
- 0 -> phase linéaire
- 1 -> phase minimum
- toute autre valeur intermédiaire -> un compromis entre la linéarité de phase et le délai

Exemple pour 3 valeurs de causalité (0, 0.5 et 1):
Capture d’écran 2026-06-25 à 12.52.52.png
Capture d’écran 2026-06-25 à 12.53.01.png
Capture d’écran 2026-06-25 à 12.53.08.png
On voit bien qu'à mesure que l'on tend vers le filtre phase minimum, les rotations de phase s'accumulent, mais le délai de groupe moyen diminue (le pic se décale à gauche).

Les causalités par défaut ne sont pas choisies arbitrairement. Pour les crossovers je privilégie la phase linéaire pour faciliter la sommation des hauts parleurs et leur comportement temporel, et c'est aussi le choix qui limite au maximum le pre et post ringing (ils s'annulent entre hauts parleurs). Pour la correction de magnitude, la causalité par défaut est à 1, ce qui correspond à un filtre purement minimum phase. La raison est simple: un haut parleur est lui même un système dont le comportement dominant est phase minimum, et quand on corrige la magnitude avec un filtre lui même phase minimum, on redresse la phase. Corriger la magnitude avec un filtre FIR phase linéaire est un non sens, on introduit du pre-ringing, du délai, et on se prive de la correction de phase "gratuite".

Il faut toutefois faire attention à un point: quand plusieurs filtres sont actifs dans LinFIR, le comportement général du filtre total sera celui qui a le délai le plus long (si on a une correction phase minimum et un crossover phase linéaire, ce sera ce dernier qui imposera le délai).

Sur cet exemple j'ai introduit un passe haut et un passe bas, on peut voir que si l'un est totalement phase linéaire et l'autre totalement phase minimum, la convolution des deux donne un filtre qui a quand même de l'énergie avant le pic.
Capture d’écran 2026-06-25 à 12.54.46.png
Capture d’écran 2026-06-25 à 12.54.54.png
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Répondre