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
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mar. 23 févr. 2016 21:21

Et en plus ils ne sont pas d'accord . :ghee:

Dans la lib

Code : Tout sélectionner



        
//  Argument du complexe
        
public double Argument
        
{
            
get { return (Math.Atan((this._imaginaire this._reel))); }
        }
        
 

C'est pas ATAN 2 ?

louisr
Messages : 468
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: Calculs audio numérique pour les nuls

Messagepar louisr » mar. 23 févr. 2016 21:26

Je tenterai bien atan2 quand même, j'ai déjà eu des soucis avec Atan en c.
http://stackoverflow.com/questions/283406/what-is-the-difference-between-atan-and-atan2-in-c

Sinon je suis d'accord avec Alain, mais dans la capture d'écran que tu as mise tu as "707.0" dans la partie imaginaire, alors qu'il faudrait "0.707" et la on aurait bien -45°/135° et module 1 :)

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mar. 23 févr. 2016 21:33

Sinon je suis d'accord avec Alain, mais dans la capture d'écran que tu as mise tu as "707.0"

Et dire que je n'ai même pas bu. :inlove:

Testé avec ATAN2 et c'est OK, c'est déjà un début car je commençais à déprimer.
Pas marrant de changer quelque chose qui fonctionne par autre chose qui ne fonctionne pas.

louisr
Messages : 468
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: Calculs audio numérique pour les nuls

Messagepar louisr » mar. 23 févr. 2016 21:36

thierryvalk a écrit :
Sinon je suis d'accord avec Alain, mais dans la capture d'écran que tu as mise tu as "707.0"

Et dire que je n'ai même pas bu. :inlove:

Testé avec ATAN2 et c'est OK, c'est déjà un début car je commençais à déprimer.
Pas marrant de changer quelque chose qui fonctionne par autre chose qui ne fonctionne pas.


Bon c'est déjà ça :ghee:

Le problème avec l'angle c'est qu'on peut avoir deux valeurs différentes mais qui représentent le même angle, ce qui est parfois très dérangeant.. Il y a normalement un "sens" (anti-horaire) mais j'ai pas l'impression qu'il est respecté partout..

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

Re: Calculs audio numérique pour les nuls

Messagepar alka » mar. 23 févr. 2016 21:56

bah en placant le point de coordonnées [ - racine(2)/2 ; racine(2)/2) ] et on voit de suite combien est l'angle.
correspond à 3.Pi/4

et puis dans ]-180, 180] il n'y a qu'une seule valeur possible pour les angles.

a noter dans le chapitre rappels :
le domaine d'applicaiton d'une fonction est aussi important que ce qu'elle fait ;)

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 » mer. 24 févr. 2016 16:17

Louisr a écrit :Si j'ai bien compris la réponse en fréquence de tes biquads c'est comme si tu l'appliquais à une à une courbe plate de gain = 0dB et phase = 0° pour tout f.
Avec (1,0), ça fait z= 1+j0 --> |z|=1=0dB. Phase = arctan(0/1)=0°


:) C'est appelé un Dirac (ou delta fonction) ou 1.(0dB/0°).
fondamental en électronique.

à la limite,si on a compris le 1 (Dirac),on a tout compris.

https://fr.wikipedia.org/wiki/L'Un

Le concept de « Un » chez Plotin, n'est pas à confondre avec ceux d'Absolu, de principe premier, de Cause première ou d'unicité que l'on trouve...


Hypothèse 1. L'Un, c'est l'Un, il échappe à l'être et à la connaissance comme à la parole : il ne peut pas être quelque chose de plus qu'Un, car alors il serait multiple, et de ce fait il n'est même pas. Cet Un absolu, qui ne participe pas à la substance des choses, a particulièrement fasciné les néoplatoniciens.
Hypothèse 2. L'Un, il est, c'est l'être, il est donc multiple, il accepte tous les contraires, mais il est connaissable et on peut tout en dire.
Hypothèse 3. L'Un est et n'est pas , il change, il est instant.


Image

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 » mer. 24 févr. 2016 16:35

Alain a écrit :et le résultat de argument (0.707, -0.707) est bien 135° ?


Si le second terme =-0.707j(ordonnée négative)----->-45°

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 » mer. 24 févr. 2016 16:38

Louis a écrit :Chez moi l'argument de -0.707+i707 ça fait bien 90°


Je dirai +135°.
Il suffit de placer un cercle et le point voulu en abscisse (réel) et ordonnée (j ou imag.)
Modifié en dernier par thierry38 le mer. 24 févr. 2016 16:40, modifié 1 fois.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mer. 24 févr. 2016 16:38

- appliquer un délai de T (secondes) c'est multiplier par le nb imaginaire (cos(phi) - i sin(phi)) avec Phi = 2.Pi.f. T

Un bonne âme pourrait détailler cette formule ?

En IIR, c'est ok.
En FIR c'est ok pour la magnitude mais pas pour la phase.

Pourtant je fais presque comme avant.
FFT qui retourne une table de complexe.
Puis j'en extrait pour chaque valeur magnitude et phase.
Ensuite affichage de la magnitude et bidouillage pour rajouter le délai de Ntaps/2 lorsque l'impulse est centrée.
Je présume qu'il est mieux de rajouter (ou enlever) ce délai avant conversion en magnitude/phase.

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 » mer. 24 févr. 2016 16:51

C'est le plus chiant avec les FFT,(pour afficher la "bonne phase théorique"

même avec l'impulse (censée être) centrée dans la FFT,ça peut se jouer à +-2,+-3 samples.(1 sample de décalage par ex,c'est 180° à FS/2,90° à Fs/4 etc)
c'est ce qu'on fait à la main avec REW et autres.

généralement c'est le pic de l'impulsion qui doit être le centre de la FFT,(pour une mesure -->20KHz)
il faudrait détecter la valeur max de l'impulsion,en "scannant" les coeffs de l'impulsion.

même Holm et REW ne parviennent pas à afficher parfaitement en automatique. :o

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mer. 24 févr. 2016 16:56

Oui, je scanne l’ensemble et j'ai bien l’endroit exact du peak.
Et vérifié je suis bien à 5000 pour une impulse de 10K.

louisr
Messages : 468
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: Calculs audio numérique pour les nuls

Messagepar louisr » mer. 24 févr. 2016 16:58

Thierry38 & Alka, je suis totalement d'accord que 0.707-j0.707 ça fait module 1 et phase = -45°, sauf que Thierryvalk avait écrit 707 au lieu de 0.707 dans VisualStudio, et la phase et le gain qu'il trouvait était cohérent avec ce qu'il avait rentré comme valeur :cote:

thierry38 a écrit : :) C'est appelé un Dirac (ou delta fonction) ou 1.(0dB/0°).
fondamental en électronique.

à la limite,si on a compris le 1 (Dirac),on a tout compris.



Oui on l'utilise beaucoup en cours d'automatique, mais j'irai pas jusqu'à dire que j'ai compris ::d

thierryvalk a écrit :
- appliquer un délai de T (secondes) c'est multiplier par le nb imaginaire (cos(phi) - i sin(phi)) avec Phi = 2.Pi.f. T

Un bonne âme pourrait détailler cette formule ?


Un retard du style f(t-T) s'exprime dans le fréquentiel : F(jw)*exp(-jwT). D'après les formules d'Euler, l'exponentiel peut s’écrire :
exp(j*phi)=cos(phi)+j*sin(phi)
Dans notre cas ça fait : cos(jwT)-jsin(jwT) et w=2PIf :)

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mer. 24 févr. 2016 17:04

Et en français ? :inlove:
Pour vous des i ou j c'est évident, pas pour moi.
Ce que j'ai, c'est un délai en samples (sais pas si f doit encore intervenir, ni même ce qui que c'est ce f).
Et au final il me faudrait (il me semble) un complexe (x,y)

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

Re: Calculs audio numérique pour les nuls

Messagepar alka » mer. 24 févr. 2016 17:11

appliquer un délai de T (secondes) c'est multiplier par le nb imaginaire (cos(phi) - i sin(phi)) avec Phi = 2.Pi.f. T

@thierryV : on a déjà fait exactement cette manip sur la FFT lorsque tu t'essayais à tracer les phases dans DStudio
viewtopic.php?p=2556#p2556

sinon, c'est fou ce qu'on peut passer comme temps sur deux fautes de frappes successives et une erreur dans une librairie censée etre juste et qui utilise atan au lieu de atan2 ! :mrgreen:

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

Re: Calculs audio numérique pour les nuls

Messagepar alka » mer. 24 févr. 2016 17:16

pense aussi que Phi = 2.Pi.f. T donne un résultat entre 0 et l'infini. il faut le convertir dans ]-180,180]

Si c'est un décalage en samples dans le DSP, T = nb samples / Fs

Dans le cas de la FFT d'une impulse centrée, le délai c'est taps/2 en secondes. Si pas centrée, Rephase te donnait la durée de décalage.

edit :
correction: si tu te contentes de prendre le sin et le cos de Phi pour en faire le complexe (cosPhi - i sinPhi) pas besoin de le convertir dans ]-180,180].
sin et cos s'en débrouillent tres bien.

louisr
Messages : 468
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: Calculs audio numérique pour les nuls

Messagepar louisr » mer. 24 févr. 2016 17:17

thierryvalk a écrit :Et en français ? :inlove:
Pour vous des i ou j c'est évident, pas pour moi.
Ce que j'ai, c'est un délai en samples (sais pas si f doit encore intervenir, ni même ce qui que c'est ce f).
Et au final il me faudrait (il me semble) un complexe (x,y)


j et i c'est exactement la même chose, sauf que i c'est la notation plutôt utilisé en math, et j plutôt en physique pour par le confondre avec i le courant :)
Pour le reste j'avoue que je ne sais pas trop, je suis vraiment nul pour tout ce qui est samples&co.. :/

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 » mer. 24 févr. 2016 17:39

Thierryv a écrit :Oui, je scanne l’ensemble et j'ai bien l’endroit exact du peak.
Et vérifié je suis bien à 5000 pour une impulse de 10K.


J'avoue que je suis un peu perdu dans tous les posts. :0
que donne la FFT (sa phase) avec une impulse symétrique ?

un lien sur un des posts/sujet ?

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Calculs audio numérique pour les nuls

Messagepar thierryvalk » mer. 24 févr. 2016 18:22

Non, le sujet est +- içi pour tous ces problèmes.
Le but est de pouvoir manipuler les courbes et arriver à me faire comprendre ces histoires de complexes.

Bon la phase en FIR c'est OK, mais avec l'ancien système, donc après conversion en amplitude et phase.
Donc actuellement je suis incapable de mettre un délai directement sur les complexes.


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 8 invités