question du jour :
Dans la section Filtres (les globaux) de DSPiyStudio, seuls des filtres du second ordre (12db/o) sont disponibles.
Comment faire pour obtenir des filtres High Pass et Low Pass habituels tels que Butterworth, Linkwitz-Rikey ou Bessel d'ordre supérieur ?
réponse:
On peut combiner judicieusement des filtres génériques HighPass et LowPass dont on peut fixer fréquence Fc et facteur qualité Q.
(note: pour les Bessel, la fréquence de coupure est a modifier. Les formules ici sont pour les LP. Pour un HP, mulitplier au lieu de diviser par le nombre indiqué)
BUT12 : un filtre générique avec Q = 0,7071 (existe dans la liste sous le nom ButtW LP ou HP)
LR 12 : un filtre générique avec Q = 0,5
BE 12 : un filtre générique avec Q = 0,5773 et Freq = Fc/0.7861 (existe dans la liste sous le nom Bessel LP ou HP)
BUT24 : cascade de deux filtres, le premier avec Q = 0,5412, le second Q = 1,3067
LR 24 : cascade de deux filtres, chacun avec Q = 0,7071
BE 24 : cascade de deux filtres, premier Q1 = 0,8055 et F1= Fc/0.6236 ; le second Q2 = 0,5220 et F2=Fc/0,6992
BUT36 : cascade de 3 filtres. Premier Q 1= 0,5177 Deuxième Q2 = 0,7071 Troisième Q3 = 1,9320
LR 36 : cascade de 3 filtres. Q1 = 0,5 Q2 = Q3 = 1,0
BE 36 : cascade de 3 filtres. Q1 = 0,5103 et F1 = Fc/0,6235 ; Q2 = 0,6111 et F2 = Fc/0,5919 ; Q3 = 1,0233 et F3 = Fc/0,5250
BUT48: cascade de 4 filtres. Q1=0,5098 ; Q2=0,6013 ; Q3=0,8999 ; Q4= 2,5628
LR 48 : cascade de 4 filtres. Q1=0,5412 ; Q2=1,3067 ; Q3=0,5412 ; Q4= 1,3067
BE 48 : cascade de 4 filtres. Q1=0,5060 et F1=Fc/0,5622 ; Q2=0,5596 et F2=Fc/0,5458 ; Q3=0,7109 et F3=Fc/0,5120 ; Q4=1,2257 et F4=Fc/0,4568
merci Ttcli et jEQ où j'ai pioché ces infos.
edith: merci thierry38 pour les tables un peu plus loin
|
Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités
Il me semble qu'il manque dans certains cas un paramètre et dans d'autres une combinaison de filtres.
L'idée est très très bonne, ce qu'il manque dans dans DStudio c'est principalement un passe-haut pour couper le bas des enceintes.
On dispose de filtres d'ordre 2 a 12dB par octaves théoriques mais dans certain cas du 24dB serait souhaitable.
La question première : quel type de filtre ? Du LR24 ?
L'idée est très très bonne, ce qu'il manque dans dans DStudio c'est principalement un passe-haut pour couper le bas des enceintes.
On dispose de filtres d'ordre 2 a 12dB par octaves théoriques mais dans certain cas du 24dB serait souhaitable.
La question première : quel type de filtre ? Du LR24 ?
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
si on veut mettre un filtre infra de type LR24 à 20Hz
on met deux HighPass à la suite à 20Hz chacun avec Q=0,707 chacun. (5ème ligne ci-dessus)
un exemple ou il manquerait quelque chose pour définir complètement un filtre ?
on met deux HighPass à la suite à 20Hz chacun avec Q=0,707 chacun. (5ème ligne ci-dessus)
un exemple ou il manquerait quelque chose pour définir complètement un filtre ?
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
allez pour la route : comment on fait un 3db par octave à partir de 2 khz
bon en fait j'ai trouvé des truc sur le pink noise qui doivent aider...
bon en fait j'ai trouvé des truc sur le pink noise qui doivent aider...
- Code: Tout sélectionner
Here are some new lower-order pink noise filter coefficients.
These have approximately equiripple error in decibels from 20hz to 20khz at a 44.1khz sampling rate.
1st order, ~ +/- 3 dB error (not recommended!)
num = [0.05338071119116 -0.03752455712906]
den = [1.00000000000000 -0.97712493947102]
2nd order, ~ +/- 0.9 dB error
num = [ 0.04957526213389 -0.06305581334498 0.01483220320740 ]
den = [ 1.00000000000000 -1.80116083982126 0.80257737639225 ]
Filter to make pink noise from white (updated March 2000)
------------------------------------
This is an approximation to a -10dB/decade filter using a weighted sum
of first order filters. It is accurate to within +/-0.05dB above 9.2Hz
(44100Hz sampling rate). Unity gain is at Nyquist, but can be adjusted
by scaling the numbers at the end of each line.
If 'white' consists of uniform random numbers, such as those generated
by the rand() function, 'pink' will have an almost gaussian level
distribution.
b0 = 0.99886 * b0 + white * 0.0555179;
b1 = 0.99332 * b1 + white * 0.0750759;
b2 = 0.96900 * b2 + white * 0.1538520;
b3 = 0.86650 * b3 + white * 0.3104856;
b4 = 0.55000 * b4 + white * 0.5329522;
b5 = -0.7616 * b5 - white * 0.0168980;
pink = b0 + b1 + b2 + b3 + b4 + b5 + b6 + white * 0.5362;
b6 = white * 0.115926;
An 'economy' version with accuracy of +/-0.5dB is also available.
b0 = 0.99765 * b0 + white * 0.0990460;
b1 = 0.96300 * b1 + white * 0.2965164;
b2 = 0.57000 * b2 + white * 1.0526913;
pink = b0 + b1 + b2 + white * 0.1848;
---
paul.kellett@maxim.abel.co.uk
http://www.abel.co.uk/~maxim/
- maxidcx
- Membre HCFR Contributeur
- Messages: 3105
- Inscription Forum: 25 Avr 2007 10:50
un exemple ou il manquerait quelque chose pour définir complètement un filtre ?
Par exemple :
Linkwitz-Riley – 36 dB/oct = 2 cascaded 3rd order butterworths
3rd order butterworth is implemented by cascading a “HigherOrder” + 1st order
1st Filter: [HigherOrder] orderindex = 3, i = 0
2nd Filter: 1st Order Butterworth
3rd Filter: [HigherOrder] orderindex = 3, i = 0
4th Filter: 1st order Butterworth
Mais l’on ne va pas réétudier tous les types de filtres.
Le LR24 vu que c’est 2 Butterworths donc on pourrait aussi sélectionner ButtW HP à 20Hz pour 2 filtres.
Pour atténuer le haut, j’utilise un High-Shelf. Mais s’il y a une meilleure méthode je suis preneur.
Exemple de coupure à 20Hz et d’atténuation du haut.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
Thierry, tu confonds la manière d'ADI de calculer et ce que je propose ici.
on peut bien sur calculer les filtres comme le fait ADI, ou même directement avec des coefficients de biquad. Ce n'est pas mon propos.
Le post c'est utiliser ce qu'on a, cad des filtres génériques LP et HP à 12db/o pour faire les autres dans la liste. Suffit de fixer Fc et Q correctement.
On aboutit au même résultat, sans être développeur de DSPiyStudio.
on peut bien sur calculer les filtres comme le fait ADI, ou même directement avec des coefficients de biquad. Ce n'est pas mon propos.
Le post c'est utiliser ce qu'on a, cad des filtres génériques LP et HP à 12db/o pour faire les autres dans la liste. Suffit de fixer Fc et Q correctement.
On aboutit au même résultat, sans être développeur de DSPiyStudio.
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
C'est parti en effet de l'idée de mettre un filtre infra d'ordre plus élevé.
Les LR sont idéaux pour un joli raccord entre passe-bas et passe-haut en amplitude et en phase. C'est pas ce qu'on recherche idéalement pour un filtre infra.
Je dirai qu'on cherche une pente max, une courbure en amplitude forte et le déphasage portant le moins loin possible. Un HP BUT24 est dans ce sens mieux qu'un LR24
En étudiant bien la question on doit pouvoir trouver la combinaison optimale de filtres HP12 pour le meilleur compromis pente/phase pour un filtre infra. C'est ma question qui reste sans réponse pour l'instant. Si quelqu'un a une idée, je suis preneur. Ou la preuve que ça sert a rien c'est utile aussi.
Une fois trouvé, si le développeur de DSPiyStudio le propose directement dans les menus, c'est une belle initiative. Mais c'est pas indispensable
Les LR sont idéaux pour un joli raccord entre passe-bas et passe-haut en amplitude et en phase. C'est pas ce qu'on recherche idéalement pour un filtre infra.
Je dirai qu'on cherche une pente max, une courbure en amplitude forte et le déphasage portant le moins loin possible. Un HP BUT24 est dans ce sens mieux qu'un LR24
En étudiant bien la question on doit pouvoir trouver la combinaison optimale de filtres HP12 pour le meilleur compromis pente/phase pour un filtre infra. C'est ma question qui reste sans réponse pour l'instant. Si quelqu'un a une idée, je suis preneur. Ou la preuve que ça sert a rien c'est utile aussi.
Une fois trouvé, si le développeur de DSPiyStudio le propose directement dans les menus, c'est une belle initiative. Mais c'est pas indispensable
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
Hello,
comme il n'y a aucun complément dans l'infra.
c'est un peu chacun ses goûts.(la phase n'est plus trop significative).
réponse plate jusqu'à 20Hz
1er biquad --->Fc=20Hz et Q=1
2ème ---->Fc=20Hz et Q=1
Après pour un Tpg contenu,
2 biquad avec Q=0.7 donneront du "plus propre",
mais bon...sous 20Hz...
comme il n'y a aucun complément dans l'infra.
c'est un peu chacun ses goûts.(la phase n'est plus trop significative).
réponse plate jusqu'à 20Hz
1er biquad --->Fc=20Hz et Q=1
2ème ---->Fc=20Hz et Q=1
Après pour un Tpg contenu,
2 biquad avec Q=0.7 donneront du "plus propre",
mais bon...sous 20Hz...
- thierry38efd
- Messages: 1735
- Inscription Forum: 18 Sep 2013 7:36
thierry38efd a écrit:Hello,
comme il n'y a aucun complément dans l'infra.
c'est un peu chacun ses goûts.(la phase n'est plus trop significative).
réponse plate jusqu'à 20Hz
1er biquad --->Fc=20Hz et Q=1
2ème ---->Fc=20Hz et Q=1
Après pour un Tpg contenu,
2 biquad avec Q=0.7 donneront du "plus propre",
mais bon...sous 20Hz...
mon sujet c'est pas la phase en dessous de 20Hz, la dessus on est d'accord
Je cherche a minimiser l'impact au dessus. Plus il est court, mieux c'est pour polluer le moins possible tout ce qu'on va faire en traitement au niveau caisson.
J'ai pensé aussi Q=1. Pas eu le temps de regarder en détail encore. Le but serait un Q résultant des 2 biquads le plus proche de 1 possible, pas nécessairement chacun a 1.
chacun avec Q=0.7 c'est un LR24 et je trouve le BUT24 meilleur en phase et en amplitude.
tester ave jEQ pour voir les deux.
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
alkasar a écrit:Une fois trouvé, si le développeur de DSPiyStudio le propose directement dans les menus, c'est une belle initiative. Mais c'est pas indispensable
Le développeur qui a un nom ne sait pas mettre dans une liste un filtre qui utiliserait plus d’un biquad.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
je sais bien, c'est pour ça que le post a un intérêt. Faire du LR24 ou BUTT24 ou plus sans aucun effort de développement compliqué.thierryvalk a écrit:alkasar a écrit:Une fois trouvé, si le développeur de DSPiyStudio le propose directement dans les menus, c'est une belle initiative. Mais c'est pas indispensable
Le développeur qui a un nom ne sait pas mettre dans une liste un filtre qui utiliserait plus d’un biquad.
ca te plait pas que je parle de toi à la troisième personne ?
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
j'ai trouvé chez Linkwitz,un tableau.
(je vais voir pour les Butt,pour les Bessel,je pourrai les faire par itérations).
- thierry38efd
- Messages: 1735
- Inscription Forum: 18 Sep 2013 7:36
- thierry38efd
- Messages: 1735
- Inscription Forum: 18 Sep 2013 7:36
Et nous voilà partis avec 5 filtres en séries.
De toute manière je ne suis pas certain de la précision du DSP à ces fréquences.
De toute manière je ne suis pas certain de la précision du DSP à ces fréquences.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
Ben voilà, on a la réponse pour le LR36 avec 3 biquads Q1=0,5 et Q2=Q3=1
si je comprend bien les tableaux Butt et Bessel pour les ordres impairs : pas de Q pour le dernier biquad, ce sont donc des filtres d'ordre 1 qui sont utilisé en dernier (HP6 ou LP6)
crotte, on n'a pas cette brique de base dans DStudio qui ne fait que la parité
ps1 pour Thierry v : c'est pas une demande d'implémenter HP6 ou LP6, c'était juste une remarque pour le fun. Les ordres pairs c'est largement suffisant.
ps2: c'est exactement ainsi que jEQ fabrique ses filtres a partir de HP6 et HP12 ou LP6 et LP12. Peut etre la même source pour les coeffs.
tcli n'a pas implémenté le LR36. Je vais pouvoir compléter jEQ
si je comprend bien les tableaux Butt et Bessel pour les ordres impairs : pas de Q pour le dernier biquad, ce sont donc des filtres d'ordre 1 qui sont utilisé en dernier (HP6 ou LP6)
crotte, on n'a pas cette brique de base dans DStudio qui ne fait que la parité
ps1 pour Thierry v : c'est pas une demande d'implémenter HP6 ou LP6, c'était juste une remarque pour le fun. Les ordres pairs c'est largement suffisant.
ps2: c'est exactement ainsi que jEQ fabrique ses filtres a partir de HP6 et HP12 ou LP6 et LP12. Peut etre la même source pour les coeffs.
tcli n'a pas implémenté le LR36. Je vais pouvoir compléter jEQ
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
|
Retourner vers Filtrage actif, Equalisation et Processeurs
|