Detrend (FPScript)

21.09.2021

Supprime une tendance constante, linéaire ou adaptative d'un ensemble de données.

Syntaxe

Detrend(Signal, [ Mode = DETREND_CONSTANT ] [ , Parameter = 0 ])

 

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

Section

Description

Signal

L'ensemble de données avec la tendance que vous voulez supprimer.

Toutes les structures de données sont autorisées, sauf Scalaire et Liste. Tous les types de données numériques sont autorisés.

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 si une tendance constante, linéaire ou adaptative doit être soustraite. Si vous omettez l'argument, une tendance constante est soustraite.

L'argument Mode peut avoir les valeurs suivantes :

Constante

Signification

DETREND_CONSTANT

Soustrait la valeur moyenne.

DETREND_LINEAR

Soustrait la meilleure ligne droite, c'est-à-dire la ligne droite pour laquelle la somme des carrés des écarts par rapport au signal est minimale.

DETREND_ADAPTIVE

Soustrait la valeur moyenne de l'enveloppe supérieure et inférieure.

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 DETREND_CONSTANT .

Parameter

Contrôle l'algorithme pour le calcul de la tendance adaptative. Si il est positif et spécifié sans unité, il précise le nombre N de voisins à prendre en compte pour déterminer le prochain point de mesure pertinent. Si il est négatif ou spécifié avec l'unité "%", il spécifie l'hystérésis en pourcentage de l'étendue de l'ensemble de données avec laquelle les maxima locaux sont recherchés pour déterminer N automatiquement. Si vous omettez l'argument ou passez 0, cela correspond à une hystérésis de 5%.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés.

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

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 0 .

Remarques

Le résultat a la même structure et la même unité que l'argument Signal.

Pour les structures de données composées, seule la composante Y est prise en compte et la composante X ou, le cas échéant, Z est copiée dans le résultat sans modification. Pour les matrices de données et les séries de signaux, le calcul est effectué pour chaque colonne ou chaque signal qu'elle contient. Les types de données temps calendaire et période de temps sont conservés dans le résultat. Pour tous les autres types de données numériques, le résultat est une valeur à virgule flottante de 64 bits.

Lors de la détermination de la tendance constante ou linéaire, la valeur moyenne du signal est d'abord calculée, puis une recherche commence pour le premier et le dernier passage de niveau en utilisant cette valeur. Si deux passages de niveau ont été trouvés, la valeur moyenne ou la meilleure ligne droite n'est calculée que pour l'intervalle entre ces deux passages à niveau. Cela permet d'éviter les erreurs qui se produisent à la fin de l'ensemble de données à cause de la coupure de phase des signaux périodiques. Si aucun passage de niveau n'a été trouvé, alors toutes les valeurs sont incluses dans le calcul.

Pour le calcul de la tendance adaptative, l'enveloppe supérieure et inférieure du signal sont calculées avec le même algorithme, qui est également utilisé par les fonctions UpperEnvelope et LowerEnvelope. Ces enveloppes sont ensuite échantillonnées par interpolation linéaire pour toutes les valeurs X de l'ensemble de données. La moyenne arithmétique est alors formée à partir de ces deux enveloppes. La tendance ainsi obtenue est soustraite des données initiales.

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

Detrend(Signal)

Correspond à Signal - Trend(Signal).

Integral(Detrend(Signal, DETREND_LINEAR))

Supprime une tendance linéaire du signal avant l'intégration.

Detrend(Signal, DETREND_ADAPTIVE, 2%)

Supprime une tendance adaptative du signal. Le nombre de voisins pour la recherche des points de mesure des enveloppes est déterminé en utilisant les maxima locaux dans le signal, qui sont recherchés en utilisant une hystérésis de 2%.

DCRemovalFilter(DataSet)

Supprime le décalage (offset) d'un ensemble de données (y compris les fréquences voisines) à l'aide de la fonction DCRemovalFilter (filtre passe-haut).

Voir aussi

Fonction UpperEnvelope

Fonction LowerEnvelope

Fonction Trend

Fonction DCRemovalFilter

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :