FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Assistance FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Assistance FlexPro
FR
DE
EN
Porte-plaquette

Documentation FlexPro 2025

CCF

Calcule la fonction de corrélation croisée de deux signaux. Utilisé pour décrire la similarité entre deux signaux.

Syntaxe

CCF(Signal1, le Signal2 [ , le Mode Variable CORRELATIONPRODUCT_NONCIRCULAR ])

 

La syntaxe de la fonction CCF se compose des éléments suivants :

Section

Description

Signal1

Le signal dont la corrélation avec le second signal est calculée.

Les structures de données autorisées sont Série de données, le Matrice de données, le Signal et Série de signaux. Tous les types de données numériques sont autorisés.

Les valeurs invalides ne sont pas autorisées dans cet argument.

Des restrictions supplémentaires s'appliquent à la composante X.Les valeurs doivent avoir un espacement positif constant.

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Signal2

Le signal dont la corrélation avec le premier signal est calculée.

Les structures de données autorisées sont Série de données, le Matrice de données, le Signal et Série de signaux. Tous les types de données numériques sont autorisés.

Les valeurs invalides ne sont pas autorisées dans cet argument.

Des restrictions supplémentaires s'appliquent à la composante X.Les valeurs doivent avoir un espacement positif constant.

Pour les types de données complexes, un nombre est formé.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Mode

Précise le mode de calcul.

L'argument Mode peut avoir les valeurs suivantes :

Constante

Signification

CORRELATIONPRODUCT_CIRCULAR

Produit de corrélation croisée circulaire pour les signaux périodiques.

CORRELATIONPRODUCT_NONCIRCULAR

Produit de corrélation croisée non circulaire pour les signaux transitoires.

CORRELATION_CIRCULAR

Corrélation croisée circulaire pour les signaux périodiques.

CORRELATION_NONCIRCULAR

Corrélation croisée non circulaire pour les signaux transitoires.

CORRELATION_CIRCULAR_NORM

Corrélation croisée normalisée circulaire pour les signaux périodiques.

CORRELATION_NONCIRCULAR_NORM

Corrélation croisée normalisée non circulaire pour les signaux transitoires.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut CORRELATIONPRODUCT_NONCIRCULAR .

Remarques

Le résultat est toujours du type de données Virgule flottante de 64 bits.

L'unité du résultat est la même que le produit des unités de Signal1 et Signal2.La corrélation croisée pour deux séries de données s et g est définie comme suit :

avec le produit de corrélation :

et N, le nombre de valeurs dans s et g.

Les valeurs de la corrélation croisée normalisée se situent entre -1 et +1. La corrélation croisée normalisée se calcule ici comme le quotient entre la corrélation croisée et le carré de la valeur RMS de l'ensemble de données d'entrée.

Le calcul s'effectue dans le domaine fréquentiel dans tous les cas selon la formule suivante :

IRFFTn(*FFTn(Signal1) * FFTn(Signal2))

Pour les arguments bidimensionnels, le calcul est effectué colonne par colonne, et le résultat est également bidimensionnel. Si l'un des arguments a une composante X, cela s'applique également au résultat. Cette composante contient alors le décalage temporel τ de la fonction de corrélation croisée. Note : Si l'autre argument n'a pas de composante X, le même échantillonnage est utilisé pour cet argument que celui utilisé pour l'argument avec la composante X.

Pour la corrélation croisée circulaire, le calcul est effectué en supposant qu'une ou plusieurs périodes complètes des signaux à analyser sont stockées dans Signal1 et Signal2. Dans ce cas, le nombre de lignes de Signal1 et Signal2 doit correspondre.

La corrélation croisée non circulaire est basée sur l'hypothèse que les signaux en dehors des sections couvertes par les données Signal1 et Signal2 s'élèvent à zéro. Un nombre suffisant de zéros est donc ajouté aux ensembles de données avant la transformation dans le domaine des fréquences. La fonction de corrélation croisée est calculée pour toutes les valeurs τ pour lesquelles la fonction peut avoir une valeur non égale à zéro, c'est-à-dire pour lesquelles il existe encore un chevauchement des deux signaux.

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

Dim digital1 = 0#50
digital1[ValuesAboveLevel(Noise(digital1, NOISE_UNIFORM, 0), 0, EVENT_INDEX)] = 1
Dim digital2 = 0#50
digital2[ValuesAboveLevel(Noise(digital2, NOISE_UNIFORM, 0), 0, EVENT_INDEX)] = 1
Dim d1 = 0#7 : digital1[0,-8]
Dim d2 = 0#11 : digital2[0,-12]
GlobalMaximum(CCF(digital1, d1 + d2, CORRELATIONPRODUCT_CIRCULAR)) // = 7
GlobalMaximum(CCF(digital2, d1 + d2, CORRELATIONPRODUCT_CIRCULAR)) // = 11
 

Cet exemple montre comment utiliser cette fonction pour déterminer le délai de transmission CCF-La fonction permet de déterminer le délai entre l'émission et la réception du signal. Le signal reçu est la somme de deux signaux numériques avec des décalages temporels différents. La position à laquelle le produit circulaire de corrélation croisée entre le signal d'émission et le signal de réception atteint son maximum correspond au retard temporel du signal d'émission.

Voir aussi

Fonction ACF

Fonction Convolution

Objet d'analyse Corrélation

Littérature

[1] "Oppenheim, A. V. and Schafer, R. W.": "Discrete-Time Signal Processing, 2nd Edition", page 743 - 48. "Prentice Hall, New Jersey", 1999. ISBN 0-13-754920-2.

[2] "H. D. Lüke": "Signalübertragung", page 79 - 81. "Springer-Verlag Berlin, Heidelberg, New York", 1985. ISBN 3-540-15526-0.