Le problème, c'est que Matlab, c'est pas du tout libre. Donc difficile de savoir comment ont été codées ces fonctions…
Maintenant, en regardant les formules de l'inter et de l'autocorrélation, en discret c'est une somme de produits à faire, donc sans doute pas trop complexe à recoder, surtout dans un langage comme matlab qui manipule par défaut de vecteurs.
Note que je ne connais pas spécialement matlab, j'utilise un équivalent libre nommé scilab, mais si le langage est sensiblement différent, les principes sont les mêmes.
Peu être que coté scilab tu auras plus de facilités pour trouver comment sont codées ces 2 fonctions.
Pour info sous scilab ces fonctions se nomment : xcorr
Je pense que si tu fais un locate xcorr.m tu devrais trouver l'implémentation matlab de l'intercorrélation. En ce qui concerne l'auto-corrélation, si tu sais faire l'inter … c'est assez trivial !
Par contre si tu installes le paquet signal de octave alors tu pourras trouver sans souci le chemin d'installation de cette fonction en lançant la fonction xcorr sans argument.
chez moi c'est : '/usr/share/octave/packages/signal-1.2.2/xcorr.m'
Mais attention c'est un code complexe qui doit gérer toutes les conneries des utilisateurs essayer de traiter des cas particuliers pour accélérer le calcul.
De manière général un moyen très rapide de le calculer si tu as accès à la FFT, c'est de faire la transformée de fourier de tes deux signaux et ensuite de faire le produit terme à terme du signal et de son conjugué. Il faut juste faire attention aux conditions de bord.
# boite noire
Posté par gringonz . Évalué à 1.
Le problème, c'est que Matlab, c'est pas du tout libre. Donc difficile de savoir comment ont été codées ces fonctions…
Maintenant, en regardant les formules de l'inter et de l'autocorrélation, en discret c'est une somme de produits à faire, donc sans doute pas trop complexe à recoder, surtout dans un langage comme matlab qui manipule par défaut de vecteurs.
Note que je ne connais pas spécialement matlab, j'utilise un équivalent libre nommé scilab, mais si le langage est sensiblement différent, les principes sont les mêmes.
Peu être que coté scilab tu auras plus de facilités pour trouver comment sont codées ces 2 fonctions.
Pour info sous scilab ces fonctions se nomment : xcorr
[^] # Re: boite noire
Posté par oumayma . Évalué à 1.
ok, merci
# Tu peux trouver la fonction dans octave ...
Posté par freejeff . Évalué à 2.
Je pense que si tu fais un locate xcorr.m tu devrais trouver l'implémentation matlab de l'intercorrélation. En ce qui concerne l'auto-corrélation, si tu sais faire l'inter … c'est assez trivial !
Par contre si tu installes le paquet signal de octave alors tu pourras trouver sans souci le chemin d'installation de cette fonction en lançant la fonction xcorr sans argument.
chez moi c'est : '/usr/share/octave/packages/signal-1.2.2/xcorr.m'
Mais attention c'est un code complexe qui doit gérer toutes les conneries des utilisateurs essayer de traiter des cas particuliers pour accélérer le calcul.
De manière général un moyen très rapide de le calculer si tu as accès à la FFT, c'est de faire la transformée de fourier de tes deux signaux et ensuite de faire le produit terme à terme du signal et de son conjugué. Il faut juste faire attention aux conditions de bord.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.