ImpulseToFrequency (FPScript)

21.09.2021

Transforme un signal d'impulsion ou un signal en échelon en un signal de fréquence.

Syntaxe

ImpulseToFrequency(Signal, [ N = 1 ] [ , SignalType = TYPE_IMPULSE ])

 

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

Section

Description

Signal

Le signal d'impulsion ou le signal en échelon à transformer. Pour les séries de données, on suppose que dX est égal à un.

Les structures de données autorisées sont Séries de données et Signal. 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.

N

Le nombre d'impulsions par révolution.

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

La valeur doit être supérieure à 0.

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

SignalType

Le type d'ensemble de données d'entrée.

L'argument SignalType peut avoir les valeurs suivantes :

Constante

Signification

TYPE_IMPULSE

L'ensemble de données d'entrée est présent sous la forme d'un signal d'impulsion.

TYPE_INCREMENT

L'ensemble de données d'entrée est présent sous la forme d'un signal en échelon (c'est-à-dire un signal incrémental).

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

Remarques

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

La structure du résultat correspond à celle de l'argument Signal.

L'unité du résultat est la même que la réciproque de l'unité de la composante X de Signal. Un signal en échelon existant est d'abord converti en un signal d'impulsion dans le mode TYPE_INCREMENT .

La fonction recherche dans le signal d'impulsion les pentes positives des impulsions. Le seuil est placé directement au centre entre la valeur maximale et minimale du signal d'impulsion. Une hystérésis de 20% est utilisée. La fréquence instantanée résulte de la différence X des pentes voisines divisée par N. Pour que le nombre de valeurs dans le résultat soit égal à celui de Signal, la fréquence qui vient d'être calculée est répétée jusqu'à ce qu'une nouvelle fréquence puisse être calculée.

Le graphique suivant montre un signal de balayage (avec une augmentation quadratique de la fréquence convexe) et l'évolution de la fréquence instantanée, calculée à l'aide de l'algorithme décrit :

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

ImpulseToFrequency(Signal, 6)

Transforme un signal d'impulsion en un signal de fréquence. Six impulsions sont supposées par révolution.

ChangeUnit(ImpulseToFrequency(Signal, 4), "1/min")

Transforme un signal d'impulsion avec l'unité en un signal de vitesse avec l'unité [1/min]. On suppose quatre impulsions par révolution.

ImpulseToFrequency(Signal, , TYPE_INCREMENT)

Transforme un signal d'impulsion en un signal de fréquence (en supposant une impulsion par tour). Le signal en échelon est d'abord transformé en un signal d'impulsion. La fonction Diff est utilisée à cette fin.

Voir aussi

Fonction Frequency

Fonction Diff

Partager l’article ou envoyer par mail :

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