
principe du filtre soustractif avec délai pour trois voies.
Les fonctions de retard et le filtrage passe bas sont assurées par
un dcx2496 et les fonctions soustractives sont faites en sortie
de dac, by-passant les étages analogiques d'origine du dcx.
Le site de Thierry Martin fournit la description détaillée des
entrailles de l'engin.( www.dcx2496.fr ). http://web.archive.org/web/20120816081705/http://www.dcx2496.fr/
Le filtrage soustractif hérite d'une réputation médiocre
qui résulte d' une confusion entre le soustractif élémentaire,
qui ne génère que des complémentaires à pente 6 dB et
un raccord difficile d'une des deux voies,
http://sound.westhost.com/articles/derived-xovers.htm
ainsi que de l'assimilation avec le filtre soustractif d'Elektor 1987, alors que l'introduction du delay
par dsp sur les voies hautes permet de combiner des pentes fortes et distorsion de phase nulle:
---------------------------------------------------------------------------
soustractif simple: Illustration D. Self / Lipshitz:


--------------------------------------------------------------------------
soustractif avec delai:
Illustration Lipshitz

La valeur du delay est égale au retard de groupe de la voie
grave quand F --> 0. Les réponses impulsionnelles des voies se trouvent
ainsi (+/- ) * alignées sur leurs sommets.
* alignement avec 4 voies en LR4SD :
-------------------------------------------------------------
Filtre soustractif Elektor 1987
Une étude des mêmes auteurs propose une implantation soustractive du filtre de Linkwitz Riley
http://www.aes.org/e-lib/browse.cfm?elib=5257
Une réalisation est proposée par Elektor en 1987 qui utilise une
cellule passe-tout pour générer le passe-haut par voie soustractive:
http://users.otenet.gr/~athsam/3way_active_crossover_with_linear_phase_eng.htm
le group delay de cette cellule, imposant celui du filtre global,
est rigoureusement celui d'un LR4 classique:
- LR4 classique : ( PB + PH ) = Passe-tout
- LR4 soustractif Elektor : ( Passe-tout - PB ) = PH ... ben oui !
group delay du filtre elektor (en deux voies à 1 kHz)
courbe de phase en pointillés

Donc pas du tout "linéar phase " !
Cette réalisation a été confusément assimilée aux travaux de Lipshitz et Vanderkooy
concernant les modèles de filtres soustractifs à group delay constant, ou "transient perfect",
( encore un exemple ici :http://www.karma-audio.dk/Linear%20phase%20crossovers.html
lesquels, bien que de structure proche, imposent l'usage d'une ligne à retard pur, constante en fréquence.
Voir à ce sujet " The design of active crossovers " de Douglas Self:

Une ligne à retard constante sur toute la bande audio en analogique ne necessite pas moins
que la mise en cascade de quatre cellules passe-tout du quatrième ordre (et pour des retards courts!)
Une utilisation proche avec la Studer A723:
ftp://ftp.studer.ch/public/SwissSound/SwissSound26eApr89LR.pdf
--------------------------------------------------------------
Transient Perfect Subtractive filter with delay ( le vrai !)

documents:
http://www.musicanddesign.com/Speaker_Transient_Analysis.html

simulations LTspice sur le forum diyaudio de steph_tsf:
Outils fondamentaux pratiques:
TPSD TPSD deux voies
Analyses - théorie:

Simulation de Francis Brooke
Le passe bas est un LR4, le complémentaire a une pente moyenne de 18 dB/octave.
la courbe en jaune représente la réponse dite en coïncidence ( somme des modules PB + PH) avec une première bosse de 0,65 dB, cette donnée est à pondérer par la prise en compte de la directivité des h-p et du traitement acoustique de la pièce; tandis que la somme vectorielle PH + PB est unitaire en amplitude et en phase.
http://imageshack.com/a/img593/2145/r1b2.jpg
Simulation Mathcad de J.M. Plantefeve ( modèle LR4SD )

-----
Autres solutions: le complémentaire du Butterworth d'ordre 4 qui a une pente initiale proche de 24 dB/oct, puis 18 en moyenne (retard vers 0,416T) , croisement à -4,2 dB. (Accroissement de la pente avec 0,41T + 0,7%) ).
Idem Butt3 raccord à -5,3 dB, delta= 0,318T
complémentaire à 20 dB /oct. sur les 3 premières
Les Bessel d'ordre 4, 6 et 8 ne donnent qu'un 12 dB/oct en complémentaire mais avec une très bonne réponse en coincidence, croisement à -6dB.
Une combinaison à fortes pentes: Le LR8 (48 dB/oct !) dont le complémentaire est un 18 dB/oct particulier - 22dB/oct sur les deux premières - delai à 0,832T, raccord à -2,9 dB, donc assez médiocre péponse en coincidence, mais possible dans le grave (< 200 Hz) lorsque la distance séparant les hp est faible devant la longueur d'onde de Fc et directivités semblables et plus généralement pour h-p coaxiaux.
Plus intéressant, réalisable avec un dsp type Dspiy, le LR4 au carré ( ou Butt2 ^4 ) donne un 18/48 avec croisement des voies à -4,95dB.
---------------------
Calcul des delay : avec a1 / b1 des coef des polynomes :
delta (T) = a1 / (2 . Pi . Fc)= a1 / oméga.
(Pour un ordre 2, a1 est l'inverse de Q.)
pour le LR4 :![]()
tableau général:
Les delay du DCX étant utilisés pour générer les filtres, les h-p doivent être alignés mécaniquement au niveau des membranes.
Le principe du soustractif interdit d'utiliser les égalisations / limiteurs / gain ect du dcx par voies, ces fonctions restant praticables uniquement au niveau des entrées.
en résumé, les modèles à retenir, pour un réglage à 1kHz sur dcx:
LR4 delai = 0,45016 ms, comp. ordre 3, fréquence de croisement = 968Hz à -5,7dB
Bess4 delai = 0,5094 ms comp ordre 2, fr. de croisement proche 1KHz à -6dB.
étude "acourate" , de l'usage des Bessel soustractifs en fin de pdf :
et les simulations ltspice de J.M.Plantefeve en fin de:
Les Butt3 et 4 pour des pentes initiales + fortes en PH.par augmentation légère du delay.
Le LR8 pour hp coaxiaux.
(Sur le DCX, les Fc affichées sont à -3dB pour Butterworth, et -6dB pour L-R et aprox. -7,6dB pour Bessel 4)
Butt 3 SD: croisement à -5,3 dB

Butt3 augmenté T + 0,64%

Bess 4 SD: croisement à -6dB

LR4 SD: croisement à -5,7 dB

LR8 SD croisement -2,8 dB type "20/48"

LR8SD avec T +0,5% : accroche le 24dB/oct mais avec rupture et plateau à -55dB

------------------------------------------------------------------------
synoptique filtre:

étages de sorties essayés:

aop : NE5532 / LM4562 / AD797 avec adaptateur

Les etages des sorties d'origine sont abandonnés, les signaux pris directement en sortie de dac:
les deux sorties "en phase et hors phase" sont utilisées pour réaliser la fonction soustractive avec des
sommateurs élémentaires, gains à ajuster avec les trim-pots de 200 ohms. Cette solution est
finalement plus simple et fiable que d'utiliser des récepteurs de ligne INA134 ou SSM2141,
et autorise des affaiblissements plancher > -60 dB.
Cette valeur est cependant difficile à dépasser sur les voies aigues car limitée par la précision de
réglage du fine delay du dcx pour les fréquences de coupure > à 2 kHz.
Il convient alors de rechercher, autour de la fréquence ciblée, la meilleure coïncidence entre
le pas de réglage de Fc et celui du fine delay pour obtenir
une erreur inférieure à 1% au time delay calculé (préférablement par excès avec le LR4SD.)
Impératif: vérification / mesure des voies, ici avec Rew, pour ajuster le delay au tweeter:
La courbe violette est adoptée

-----------------------------------------
Pour des fréquences de coupures avec Fc 2 médium / tweeter > 3,5 / 4 kHz,
quand le pas de réglage du fine delay devient insuffisant, un standard pourrait être de filtrer
en L-V Fc1 boomer - médium et en quasi-optimal Fc2 médium - tweeter, à priori sans conscéquences,
libérant ainsi sur dcx l'usage des égalisations par voies pour le médium, avec certaines précautions,
et plus largement du tweeter, solutions à comparer.
-------------------------------------------
Les aop donnent le gain pour atteindre environ 2 Volts / 0 dB num.
Réglage de volume: 6 rectilignes + général avec Alps RK168 16MG.

sorties analogiques du AK4393 sur la nape 26
broches avec composante continue 2,5 Vdc
alim +/- 15 volts dérivés sur la nape 20 broches
----------------------------------------------------------------------
ACOUSTIQUE:
mesure à 70 cm sur deux voies Scan-Speak / EMIM avec fc = 1,8 kHz:

la forme de la réponse impulsionnelle renseigne sur le respect de la phase ainsi obtenu. (micro : Schoeps MK4)
Ou avec Holmimpulse : http://www.holmacoustics.com/holmimpulse.php
![]()

-----------------------------------------------------------
T(acoustic) = T(driver).T(filter)
http://www.audax.fr/forum/read.php?4,12214,page=1
Ce type de filtre n'a,en l'état, outre l'égalisation générale, aucune souplesse pour prendre en compte
les fonctions de transfert propre des haut-parleurs.
il convient donc qu'ils soient linéaires (ou linéarisés) sur ≥ une octave au delà des fréquences de coupures retenues,
sinon la transmitance des hp devient non négligeable devant celle du filtre.
Cependant un ajustement mécanique du recul de la voie supérieure peut jouer en compensation,
et contribuer à combler un trou éventuel de plusieurs décibels:
Ce type de mise au point necessite mesures sur signaux test.
TRANSFERT HP x FILTRE
Soient les courbes des hp non filtrés avec allures +/- vraissemblables :( Fc est ici pris à 1KHz pour des raisons pratiques. On poura transposer l'ensemble de ces courbes -typiquement d'un octave- pour correspondre à un usage plus courant pour un raccord médium / aigu )
grave-medium: Fc 2,5 kHz Q=1

tweeter Fc = 500 Hz Q = 0,707

Recherche d'optimisation :
simulation : filtre Bess4sd + hp à Fc =1 kHZ
avec décalage mécanique du tweeter de 55 ùs en profondeur ( 1,87 cm.) Fc = 1K
(La position zéro étant obtenue après alignement initial des surfaces émissives des hp)

pointillé : TPG vert plein : amplitude
Variations de niveaux: max de -1,4 dB vers 540 Hz, + 0,5 dB 1,7 KHz
Variations de TPG: -135 µs centré à 500 Hz
(... envisager ensuite une compensation du trou par légère égalisation sur dcx aux voies d'entrées...)
les mêmes hp en Bess4sd avec Fc = 1,35 kHz

avec recul mecanique du tweeter de 60µs : delta amplitude : -0,8 dB centré 550 Hz, +0,5 dB centré 1,8 KHz
Filtre LR4SD + hp Fc = 1,35KHz

recul mécanique du tweeter de 60µs ---- delta amplitude: -1,4 dB , + 0,2 dB
LR4SD + hp à Fc = 1,5KHZ

toujours recul mécanique tweeter de 60µs : --- delta amplitude -1,1 dB , + 0,2 dB
LR4SD + hp à Fc = 1,75 KHz

optimisation finale : recul tw : 65 µs / 2,2 cm -- delta amplitude : - 0,8 dB +0,15 dB
-- delta tpg = 28µs
-------------------------------------------------------------
REPHASE
Technique complémentaire de correction fir utilisée pour les sources lues sur pc via Foobar par convolution:
http://sourceforge.net/projects/rephase/
et le composant logiciel foo_convolve.dll
compensation des rotations de phase liées à la charge du boomer et égalisations finales fines
et indépedantes de la phase et amplitude. Voir page de ce blog.

-------------------------------------------------------------
mesures acoustiques : chaque hp filtré en proximité, avec synRTA ( Liberty Instruments) SynRTA
LR24sd + comp (18dB/ oct , Dl = 0,45 T) à 120 Hz, Bess 24sd + comp (12 dB/ oct, Dl = 0,51 T) à 1,8 kHz

carrés acoustiques à 70 cm des hp à 180 Hz, 500 Hz, 1 KHz, 2 KHz , 4 KHz . ( retenus après casting ... )
-------------------------------------
Le DCX d'origine reserve parfois des surprises désagréables liées aux disfonctionnements
du chip SRC ( sample rate converter ) où arrive le signal numérique.
Selectronic propose une carte qui utilise un SRC plus fiable Cirrus Logic CS8416 compatible 24/96 avec transfo au
double standard AES / SPDIF et des horloges de précision. Un guide opératoire
se trouve sur le site de T. Martin. http://www.dcx2496.fr/src1.php
pour les shémas du DCX voir aussi:
--------------------------------------------------------------------------------------------------------------------
Annexe:
XOralizer de Jean-Luc Ohl
Oralisation / simulation des filtres soustractifs - delay
http://www.ohl.to/archives/202
Le logiciel de OHL XOralizer2 suggère l'idée des passe-bas composites, résultant de deux noyaux
élémentaires en série, avec visualisation des complémentaires :

------------------------------------------------------------
Complémentaires s-d de passe-bas à pente progressive
LR4 à 1 kHz + Butt2 à 1,5kHz croisement des voies à 933 Hz / -5,4dB, encore très correct
complémentaire en 18 dB / oct -- 60dB/ décade.


Supposant que le haut-parleur utilisé ait une coupure acoustique qui s'apparente à du Butt2, Butt3,
Bess2, on peut ainsi composer la structure du filtre soustractif plus abouti
prenant en compte la partie haute de la fonction de transfert propre
du haut-parleur grave, voire plus avec transformée de Linkwitz:

avec passe-bas LR4 + Butt3:
LR4 1kHz + Butt3 2kHz: croisement à -5,5 dB, comp. 60dB/ décade :

-----------------------------------------------------------------
On pourrait aussi modifier légèrement, dans un soft, les coefficients a1 des polynomes des Bessel
de manière à obtenir des complémentaires d'ordre 3. Pour ces "quasi-Bessel", les coefs sont:
Quasi Bess4 : a1 = 2,9636
Quasi Bess5 : a1 = 3,712
Quasi Bess6 : a1 = 4,4542
Quasi Bess7 : a1 = 5,195
Quasi Bess8 : a1 = 5,934
.
Quasi Bess6 - LV : 36 dB /oct pb , 18 dB/oct ph , hump de la réponse en coïncidence < 0,5 dB
------------------------------------------------------
simulation et programmation des soustractifs / délai via le logiciel
Sigmastudio d'Analog Device
http://www.analog.com/en/dsp-software/ss_sigst_02/sw.html
pour un usage de dsp comme le Dspiy:
http://www.homecinema-fr.com/forum/diy-tdg/filtre-actif-a-base-de-dsp-t30029253.html
essai d'insertion d'une égalisation dans la branche soustractive, ici inactive
LR4 LV
un point fort est le réglage précis des fréquences permettant des pentes constantes, le délai est programmé en sample dont la progressivité est limitée selon la fréquence d'échantillonnage.
Ici Fc = 981 Hz pour 22 samples, en 48 kHz
-----------
--
les possibilités de combinaisons pour créer des soustractifs deviennent vastes, exemple:
Trois filtres d'ordre 2,
(Bess2 / 1 kHz, Bess2 / 1692 Hz , Butt2 / 2,6 kHz)
plus égalisation en série au passe bas permettant un croisement des courbes tout près de -6dB et 18 dB / oct au passe-haut
Eq : 701 Hz , Boost 1,2 dB , Q factor : 0,7
courbes résultantes
---------------
----
exemples pratiques de programmations
fréquence raccord visée 100 Hz, à mieux que -5dB au croisement, complémentaires en 18 dB/ octave francs.
les délai sont en samples pour Fs : 48 kHz
ordre 4 au pb
F1 = F2 = 102 Hz Q1 : 0,72 Q2 : 0,71
délai : 210 samples ( 48 kHz )
avec un passe bas qui plonge un peu plus vite :
F1 = 81 Hz Q1 = 0,61 F2 = 109 Hz Q2 = 1,11 délai = 218 sp
ou encore : ( 101 Hz / 0,68 + 107 Hz / 0,71 ) délai = 212 sp, ou bien
( 95 Hz / 0,67 + 113 Hz / 0,74 ) délai = 212 sp , croisements à -5,7 dB
ordre 5
F1 = F2 = 111 Hz Q1 : 0,78 Q2 : 0,75 ,
+ordre 1 à 128 Hz, délai 240 sp
ou : ( 97 Hz / 0,72 + 124 Hz / 0,76 + 1er ordre à 167 Hz ) délai 236 sp
ordre 6 :
F1 = 93 Hz, Q1 = 0,63 F2 = 100 Hz , Q2 = 0,69
F3 = 150 Hz , Q3 = 1,29
délai = 281 sp
ou : ( 101 Hz / 0,72 + 121 Hz / 0,64 + 162 Hz / 0,75 ) délai 267 sp
ordre 8 :
Q1 = Q2 = Q3 = Q4 = 0,7
F1 = 124 Hz F2 = F3 = 138 Hz ,
F4 = 137 Hz délai = 326 sp
le délai théorique à appliquer est égal au group delay
de la voie grave quand F--> 0
cette valeur pour un ordre 2 est donnée par 1/( Q . 2 . Pi . F ) = 1/( Q . oméga )
ordre 1 : 1/ oméga
---------------------
--------
---
FIR et soustractif
correction par Thierry38: faut faire suivre la voie grave sur ce schéma bloc par un délai
pour l'alignement des voies :

Le but est de réduire / optimiser, pour une cible donnée, la puissance de calculs avec les dsp un peu courts de ce côté :
au lieu de calculer le filtre en fir de chaque voie, la voie complémentaire est déduite par soustraction.
avec RePhase / Sigmastudio pour Dspiy
exemple : filtre créé avec RePhase type passe bas à Fc = 600 Hz, 400 taps, profil LR 36 dB / oct
le fichier exporté au format txt contient les 400 coefficients de calcul fir
qui sera utilisé dans SigmaStudio
Un fenêtrage en Nutall ou Blakman dans RePhase donne
une meilleure tenue finale de la pente mais une soustraction globalement moins précise.
l'impulsion étant centrée, le délai à appliquer est de
400 / 2 soit 200 échantillons: prendre une valeur paire.
filtrage obtenu :
les ondulations résiduelles du passe haut sont à -80 dB, seuil qui dépend du nombre de taps retenu en fonction de Fc et de la pente.
C'est exactement le même résultat qu'en fir direct mais en réduisant la puissance de calcul utilisée par presque deux
passe haut avec 400 taps dans RePhase: