Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2011-08-06 00:01:29 Filtre biquadratique instable, mais courbe valide dans [fitergraph~]

nau
membre
Date d'inscription: 2011-08-05
Messages: 58

Filtre biquadratique instable, mais courbe valide dans [fitergraph~]



Yop,

je suis en train de 'porter' des patches Puredata (Pd) vers Max/Msp.

J'utilise des [biquad~] qui reçoivent leurs coefficients après un calcul.  Ces coefficients sont identiques à ceux obtenus dans le patch Pd, et bien sûr je croise correctement les 'fils' pour respecter les différences de convention entre les deux softs.

J'obtiens les mêmes coefficients dans Max/Msp que dans Pd, et les courbes de fonctions de transfert sont similaires (seulement 'similaires : les objets de tracé de fonctions de transfert sont différents dans les deux softs).

Dans Pd tout fonctionne à merveille, le filtre est stable, ça sonne bien.  Dans Max/Msp la sortie audio est un horrible et puissant crissement, j'en déduis que le filtre est peut-être instable.  Je note au passage que l'afficheur [scope~] propose un signal nul.  Et pourtant le [filtergraph~] trace la courbe sans sourciller.

S'agit t'il bien d'une instabilité du filtre ?  J'ai bien sûr tenté moults (clear), ça ne change rien.

D'après la doc l'instabilité résulte de 'mauvais' coefficients 'b' : les deux les plus à droite.
Quelqu'un pourrait-il m'aiguiller vers un critère de stabilité, qui pourrait me permettre de tenter de modifier les coefficients pour rendre tout ça stable ? 

La logique voudrait que la seule chose 'faisable' serait de multiplier les coefficients 'a' (les trois de gauche) par une même valeur (et utiliser un [*~] après), j'ai déjà essayé.  Le [filtergraph~] réagit toujours parfaitement, et montre des translations de la courbe par rapport à elle-même (dB), très logiquement.  Mais je n'ai trouvé aucune valeur qui rende le filtre stable !
Ceci pourrait d'ailleurs m'éloigner de cette prétendue cause à mon problème, pour aller vagabonder par exemple vers des problèmes d'arrondis dans les 'float' (j'en sais rien, je dis au hasard ;-)), ou que sais-je encore...

Je joins un petit patch illustratif.  Les coefficients ont été copiés dans des messages, donc sont moins précis que les originaux, mais le problème reste le même. Attention au méchant crissement !!!!!!  Je ne veux pas qu'on me reproche d'avoir malmené votre matériel audio ! (oreilles comprises)

J'espère que vous aurez un avis sur la question.

Merci,

Nau

Dernière modification par nau (2011-08-06 00:17:39)

Hors ligne

 

#2 2011-08-06 13:09:06 Re : Filtre biquadratique instable, mais courbe valide dans [fitergraph~]

sakramh
membre
Lieu: clichy-sous-bois
Date d'inscription: 2008-12-02
Messages: 829
Site web

Re: Filtre biquadratique instable, mais courbe valide dans [fitergraph~]



Salut Nau et content de te recroiser ici .
Hélas je n'ai pas de piste à proposer, ne connaissant pas du tout Max .
C'était juste pour dire bonjour à la lutherie Belge .


le code est l'alchimie de l'âge du silicium

Hors ligne

 

#3 2011-08-18 00:12:19 Re : Filtre biquadratique instable, mais courbe valide dans [fitergraph~]

nau
membre
Date d'inscription: 2011-08-05
Messages: 58

Re: Filtre biquadratique instable, mais courbe valide dans [fitergraph~]



Yop,

j'ai trouvé le fin mot de l'histoire : je n'avais pas encore bien cerné la "règle" de permutations et de changements de signes qui permettent d'utiliser les coefficients venant de Pd dans Msp.

Maintenant que ça marche, voici la moulinette à utiliser, en fichier joint.

Nau

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024