Calculs audio numérique pour les nuls

Discutions générales sur le DSPiy et tout ce qui s'y rattache
Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » sam. 5 mars 2016 17:40

(suite)
Donc le FIR introduit une latence et limite la résolution (et en plus de ça prend davantage de ressources)
C'est vraiment utile ?...

ben oui :)
Le fait d'avoir cette fenêtre de M taps donne au filtres FIR une vision du temps qu'un filtre IIR n'a pas. Et rappelez vous, le temps c'est la phase.
Un biquad voit 2 samples, autant dire rien.
Le fait de "voir" M/2 samples précédents créé certes une latence, mais permet aussi de faire des traitements sur ces M/2 échantillons. Et ça change tout.

Une chose qu'il faut admettre car je vais pas démontrer, c'est qu' une Impulse symétrique a une réponse en phase linéaire
Et la phase linéaire on aime ça :)
Symétrique veut dire en miroir p/r à son pic.

Si en plus le pic est centré sur t=0, elle est dite Zero Phase ce qui est un cas particulier de phase linéaire.

Donc un filtre en FIR peut etre Zero Phase, Phase linéaire ou Phase non-linéaire. Avec dans la troisième catégorie un cas particulier des Minimum Phase sur laquelle on reviendra.

On se rappelle qu'un filtre IIR est forcément causal. Il commence à t0 et le temps négatif n'existe pas : il ne se passe rien avant le bang!
Donc impossible en IIR de faire une impulse symétrique. (Enfin presque... il y a la ruse du reverse filtering dont on a déjà parlé quelque pages plus haut mais pas simple)

En FIR en revanche c'est possible et facile, donc on va pas se gêner.
Le but sera de faire une IR qui a la même réponse en amplitude que celle qu'on aurait en IIR mais dont la réponse en phase est corrigée par la partie en amont du t0. Gros raccourci, mais c'est l'idée.

On peut faire en FIR tous les filtres qu'on fait en IIR, symétriques ou pas d'ailleurs.

Explication sur ces phases zero, linéaire, minimum

image tirée d'un site dont le lien déjà donné précédemment:http://www.dspguide.com/ch19/4.htm
(les phases sont montrées sur une échelle de fréquence linéaire, on voit bien qu'une phase linéaire est une droite sur une telle échelle)
Image

Un filtre FIR symétrique centré sur 0 , sans latence c'est possible en théorie. Il est dit zero phase. Ca induit des temps négatifs. Donc pas possible à faire en temps réel sur un streaming mais on pourrait faire sur son pc sur un enregistrement.
Ce genre de filtre, une fois passé par une FFT donne en résultat des réels, donc imaginaire = 0 , donc phase = 0. Même réponse en fréquence qu'un filtre asymétrique, mais zéro déphasage. magique !

Pour rendre ce genre de filtre utilisable dans la vrai vie sur un DSP, on décale son IR d'un délai égal à M/2. On le rend causal, cad plus de temps négatif. Il est dit Phase linéaire.
L'IR reste parfaitement symétrique autour de M/2. La réponse en amplitude n'a pas changée mais la réponse en phase subit un délai par rapport au zero phase. On sait qu'un délai c'est une latence et que ça correspond à un déphasage linéaire. Cela nous convient très bien en reproduction sonore.

On peut aussi faire en FIR des filtres non-linéaires. Cad IR non symétrique. Là je manque de recul pour bien voir l'avantage qu'il y a de les réaliser en FIR plutôt qu'en IIR.

Parmi les filtres non-linéaires, il y a une catégorie particulière qui s'appelle les minimum phase.
Un filtre minimum phase a une définition mathématique un peu obscure : ses poles et ses zéros sont dans le cercle unitaire. Ce qui en conséquence le rend causal et stable et son inverse aussi est stable.
On montre que parmi les filtres possibles qui permettent d'atteindre une réponse en fréquence donnée, il en est un qui déphase le minimum et c'est celui là. Je crois bien que Rephase sait les fabriquer en FIR.

La notion de minimum-phase n'est pas propre au FIR. Je sais pas si un biquad en IIR est par construction minimum phase.
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » sam. 5 mars 2016 17:46

au fait, Rephase utilise une fenetre de taps paire ou impaire ?
j'entend toujours parler de nb taps pair alors qu'il est plus logique de faire impair pour avoir la symétrie parfaite.
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » sam. 5 mars 2016 22:37

Salut Alain,

c'est une vieille notion,obsolète.

Avant il fallait le même nombre de coeffs à droite et à gauche (pour obtenir une impulse (coeffs) symétrique).

Mais aujourd'hui,+4000 (à gauche) et -3999 taps (à droite) ,ça n'a pas d'importance. :) (d'ou cette histoire de centrage).

Pour un biquad,nécessairement la symétrie se fait autour de "a1" et "b1".(vu que il n'y a que 3 trois coeffs num. et denom.).

Pour rePhase et sa méthode de bargeot mathématique.(je pense que c'est du "equiripple " :) ça semble éstampillé "secret defense")
FIR equiripple

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » dim. 6 mars 2016 11:57

thierry38 a écrit :Salut Alain,

c'est une vieille notion,obsolète.

Avant il fallait le même nombre de coeffs à droite et à gauche (pour obtenir une impulse (coeffs) symétrique).

Mais aujourd'hui,+4000 (à gauche) et -3999 taps (à droite) ,ça n'a pas d'importance. :) (d'ou cette histoire de centrage).
je sais pas l'effet que ça fait sur une table fir d'etre décentrée, même d'une unité. J'avais trouvé un papier sur l'effet de gibbs et le centrage que je ne retrouve pas. Mais bon, c'est pas dur si on entre avec 8000 taps de rajouter une case en interne pour faire 8001 sans que l'utilisateur ne le sache jamais ;)

Pour un biquad,nécessairement la symétrie se fait autour de "a1" et "b1".(vu que il n'y a que 3 trois coeffs num. et denom.).
je parlais pas de la symétrie mais de minimum-phase. Je me demandais si nos biquads fabriqués sur le modèle des filtres historiques étaient minimum phase par construction.
On sait qu'ils sont stables : ça règle la question pour les pôles. Reste les zéros. Faut que je dessine les poles et zeros dans mon tableur pour surveiller ça.

Pour rePhase et sa méthode de bargeot mathématique.(je pense que c'est du "equiripple " :) ça semble éstampillé "secret defense")
FIR equiripple
je sais très peu de choses sur Rephase. faudra que je l'installe un jour ;)
C'est plutot bien et naturel de faire les filtres directement en FIR sans passer par les fonctions de transfert IIR des filtres historiques, ni passer par les biquads. C'est vrai que ça devient tout de suite hautement calculatoire !
De mon coté, je tente le simple fenetrage rectangulaire (troncage) de l'impulse, et serai sans doute obligé de fenetrer "smooth" pour optimiser. On verra ce que ça donne.
Je met là pour m'en rappeler :
https://www.staff.ncl.ac.uk/oliver.hint ... apter4.pdf
https://engineering.purdue.edu/~ece438/ ... design.pdf
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » dim. 6 mars 2016 17:10

auto réponse pour la question "les biquads qu'on fait pour les filtres classiques sont ils minimum-phase par construction ou pas ?"
réponse : non.
Les LP et HP du 1er ou 2eme ordre ne le sont pas. Comme on fabrique tous les autres LP et HP a partir de ceux là, aucun LP ni HP ne l'est.

Ils sont bien stables, cad leurs poles sont toujours dans le cercle unitaire, mais il ont comme zero les valeurs 1 ou -1 qui sont sur le cercle unitaire, pas dedans.

explication : si on regarde leurs biquads, leur numérateur est de la forme b0(1 + 2 z-1 + z-2) ou b0(1 - 2 z-1 + z-2)
les racines de ces polynomes sont -1 ou 1.

les PEQ ont bien l'air minimum-phase
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » dim. 6 mars 2016 21:54

Quasiment tous les filtres (classiques) sont minimum phase (la phase =dérivée de l'amplitude).
leurs produits aussi (Butt²=Linwitz-Riley par ex.)

C'est leur somme qui n'est plus min.phase.
Appelé non-minimum phase.

par ex un LR4:
|PB+PH|=1
mais l'argument tourne de 360°.

C'est appelé "passe tout" (all-pass).

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » dim. 6 mars 2016 23:23

thierry38 a écrit :Quasiment tous les filtres (classiques) sont minimum phase.

tu parles en IIR ou une fois réalisés en FIR ?

en IIR : all pass et peq, suis d'accord.
Pour les LP et HP je suis bête et discipliné : ne remplissent pas l'un des critères.
C'est peut etre dû au fait qu'ils sont implémentés en biquad par transformation bilinéaire de s en z.

Après c'est une question très théorique. Le fir permet de jouer sur beaucoup plus de paramètres. Plusieurs jeux de paramètres peuvent donner la même réponse en amplitude. Donc la recherche de l'optimal parmi les solutions possibles a un sens en fir. Alors qu'en IIR ça n'a probablement même pas lieu d'être.
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » lun. 7 mars 2016 16:54

thierry38 a écrit :minimum phase (la phase =dérivée de l'amplitude).

ça je ne savais pas du tout ! me coucherai moins bete ce soir.
Pour un minimum phase , la phase de l'amplitude sont liés et on peut déduire l'un de l'autre. wikipedia parle de transformée de Hilbert qui lie l'un et l'autre. Cela fait longtemps que je n'ai pas croisé Hilbert, je crains d'avoir oublié à quoi il ressemble ;)

quand tu dis Phase = "dérivée" du log(Module) tu veux dire vraiment la dérivée au sens mathématique ?
un lien qui explique ?
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » lun. 7 mars 2016 18:18

Oui,au sens réel du terme (dérivée=image de la pente de l'amplitude)

Au pif,des EQ (comme des filtres),ou une calib de micro,et bcp d'autres.(impedance HP...)

Image

et autres,trouvé au hasard de google image.

une courbe d'impédance HP,la phase est l'image de la quantité.(par exemple quand la pente est nulle (plate),la phase passe 0°.

Image


.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » lun. 7 mars 2016 20:04

ok merci ce sont des exemples en cohérence avec l'affirmation.
un lien avec l'explication matheuse ?
que la transformation de Hilbert soit dans ce cas la dérivée c'est bien possible. Ca a surement a voir avec le fait que la dérivée du Log c'est Exp. Vais chercher.
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » lun. 7 mars 2016 21:50

La transfo de Hilbert décale de +90° tous les sinus (de 0,001Hz à xxxKHz).

Et comme la nature fait bien les choses,
sinus+90°=cosinus...soit sa dérivée. :|

Image

.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » lun. 7 mars 2016 22:05

contre exemple : un simple LowPass

Image
Image

En fait, la seule chose que prouvent tes exemples, c'est que la phase est croissante ou décroissante quand la dérivée de l'amplitude l'est.
C'est bon a savoir, mais ce n'est pas pour autant la dérivée.
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » lun. 7 mars 2016 22:15

Si tu zoomes sur l'amplitude,on voit qu'elle n'est pas plate,

les asymptotes horizontales sont proches de 0Hz,
ainsi que l'asymptote oblique,quand elle est atteinte,la phase est constante à -90°

par ex,un PB 6dB/oct, Fc vers 160Hz

en zoomant sur l'horizontale,on voit que l'amplitude n'est pas "plate" (pareil pour l'oblique,qui ne recolle bien que lorsque la phase est constante)
à variation d'amplitude constante (plate ou oblique)---->phase constante (...la dérivée).

Image
Image

Image

edit:
The Hilbert transform can be considered to be a filter which simply shifts phases of all frequency components of its input by -π/2 radians.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » mar. 8 mars 2016 09:36

thierry38 a écrit :Si tu zoomes sur l'amplitude,on voit qu'elle n'est pas plate,

les asymptotes horizontales sont proches de 0Hz,
ainsi que l'asymptote oblique,quand elle est atteinte,la phase est constante à -90°

objection ;)
Sur l'exemple que j'ai mis, on voit bien que > 1000Hz la courbe d'amplitude décroit selon une belle droite avec pente fixe de 12dB/o
Or, la phase n'est d'évidence pas constante à partir de 1000Hz.

Même la relation "le signe de la phase varie comme la dérivée de l'amplitude" est incorrecte. Ca ne semble vrai que pour les PEQ.
Pour bien mettre en évidence, le même passe bas avec Q=2. La ça saute aux yeux des sourds: la phase devrait être positive avant la cloche et s'annuler au sommet.

Image
Image

Phase et Amplitude en dB d'un filtre minimum phase sont liés par la transformée de Hilbert c'est un fait, mais le raccourci de dire que c'est la dérivée est erroné. D'ailleurs je sais pas bien ce que peut signifier "dérivée" avec des courbes en échelle logarithmique de fréquence.
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » mar. 8 mars 2016 10:53

Ce serait normal dans ce cas là.

Avec un Q de 2---->=1/2m---->m=1/4
la limite est à Q=0.707 (m=0.707)

càd qu'elle n'est plus amortie dans cette zone,
Il ne serait donc plus minimum phase sur une certaine bande de fréquence.

La surtension en témoigne.l'amplitude de sortie est supérieure à celle d'entrée.

Image

pour la dérivée en échelle log,(Fr) elle est aussi en ordonnée (dB).
mais c'est c'est pareil en échelle linéaire/linéaire

Il suffit d'aller dans l'onglet (REW)----->generate minimum phase.
systématiquement,cela donne la dérivée de l'amplitude.(je tiens le pari :) )

c'est ce qu'on fait avec rePhase,on arrive à confondre la mesure multivoies (convoluée) avec la phase minimale (calculée/extraite)
voir les mesures que j'ai données,et jimbee aussi.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2907
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Calculs audio numérique pour les nuls

Messagepar alka » mar. 8 mars 2016 13:37

thierry38 a écrit :Ce serait normal dans ce cas là.

Avec un Q de 2---->=1/2m---->m=1/4
la limite est à Q=0.707 (m=0.707)
mais euh non.
on parle minimum phase. Le filtre avec Q=2 est tout autant minimum-phase qu'avec Q=0,707 ou 0,5.
Si t'es pas convaincu, dessine les poles et zéros. Tu verras que quel que soit Q>0, c'est bon.

Et puis, de toutes manières, sur le premier que j'ai montré qui est avec Q=0,707 ça ne tient pas non plus.
Faut te rendre a l'évidence : ton intuition que phase = dérivée de amplitude est fausse. Faut pas parier quand la preuve est déjà faite ;)
acheter un DSPiy ? c'est ici

thierry38
Messages : 190
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Calculs audio numérique pour les nuls

Messagepar thierry38 » mar. 8 mars 2016 14:01

:) non il est non-minimum phase avec un Q>0.707.

pour la dérivée,je tiens le pari.
en attendant,ouvre REW et genère des phase minimales.(Hilbert transform).

Affirmer l'inverse serait rejeter le travail/compétence de REW/rePhase.(entre autre)

une mesure que j'ai sous la main,la phase min. est exactement la dérivée de l'amplitude.

Image

sur le blog de jimbee.
http://jimbee.over-blog.com/page-8372251.html

phase minimum = gris
phase mesurée = bleu

Image

je dois avoir des mesures sur DIYaudio aussi,faut que les retrouve.

jimbee
Messages : 6
Enregistré le : mar. 8 mars 2016 14:34
Localisation : paname

Re: Calculs audio numérique pour les nuls

Messagepar jimbee » mar. 8 mars 2016 15:55

Salut les Artistes,

Thierry :
cela donne la dérivée de l'amplitude


Dans rePhase, la phase minimum semble montrer qu'elle ne dépend pas seulement de la pente locale
de l'amplitude mais "se souvient" de son évolution bien avant et après.
y a pas seulement que d'la pomme… y'a autre chose…

Image


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités