PhaseUnwrap (FPScript)

21.09.2021

Déplit les angles de phase pour produire des réponses de phase plus lisses.

Syntaxe

PhaseUnwrap(Phase, [ Jump ] [ , Tolerance ])

 

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

Section

Description

Phase

La réponse de l'angle de phase à corriger.

Les structures de données autorisées sont Séries de données, Matrice de données, Signal, Série de signaux et Série de signaux avec composante X bidimensionnelle. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps.

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.

Jump

La hauteur de pas de la réponse de l'angle de phase. La réponse de l'angle de phase (discontinue) est donc corrigée en ajoutant ou en soustrayant des multiples de Jump. Si l'argument n'est pas spécifié, il est fixé à la valeur 360 si Phase a l'unité °, sinon, il est réglé sur TWO_PI.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps. L'unité de l'argument est ignorée.

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

Tolerance

La valeur de tolérance minimale requise pour le déploiement de la réponse de l'angle de phase. La correction de la valeur de l'angle de phase se produit maintenant si la différence absolue de deux valeurs séquentielles de l'angle de phase est supérieure à la Tolerance. Si l'argument n'est pas précisé, il est fixé à la moitié de la valeur de l'argument Jump.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps. L'unité de l'argument est ignorée.

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

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

Pour les structures de données composées, seule la composante Y est prise en compte. Si elles sont présentes, les composantes X ou Z sont copiées dans le résultat sans modification.

Dans le cas des matrices de données et des séries de signaux, le calcul est effectué sur la base de chaque colonne. Les valeurs sont converties en valeurs à virgule flottante de 64 bits avant que le calcul ne soit effectué.

La commande PhaseUnwrap(Phase) est utilisée, par exemple, pour déployer la réponse de phase d'un filtre comme suit :

La réponse de phase illustrée dans ce diagramme correspond à la réponse de phase d'un filtre de Butterworth passe-bande IIR du 5ème ordre (avec des fréquences de coupure de 0,15 et 0,35). Le code FPScript correspondant est le suivant :

Remarque        Si Tolerance devaient avoir une valeur inférieure à la moitié de Jump, alors une correction de phase par addition ou soustraction de multiples de Jump ne ferait qu'accroître encore la discontinuité. Par exemple, si pour l'argument Tolerance une valeur inférieure à la moitié de Jump est spécifiée, Tolerance est automatiquement corrigé par l'algorithme à la moitié de la valeur de Jump.

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

PhaseUnwrap({38, 44, 50, 416, 422}, 360)

Renvoi les séries de données {38, 44, 50, 56, 62} Tolerance est fixée à la valeur 360/2 = 180, puisque l'argument n'a pas été spécifié.

PhaseUnwrap({38, 44, 50, 416, 422}, 360, 140)

Renvoi les séries de données {38, 44, 50, 56, 62} Tolerance est corrigée à la valeur 180, puisque 140 est inférieur à 360/2 = 180.

PhaseUnwrap({38, 44, 50, 416, 422} * 1°)

Renvoi les séries de données {38°, 44°, 50°, 56°, 62°}. L'argument Jump a été automatiquement fixé à la valeur de 360, puisque l'unité de l'argument Phase est °.

PhaseUnwrap(Phase(AnalyticSignal(realSig)))

Déploie la phase d'un signal analytique qui est calculé à partir d'un signal réel. L'argument Jump a été automatiquement fixé à la valeur TWO_PI, puisque la fonction Phase ne passe pas d'unité, ou passe l'unité rad dans son résultat.

Voir aussi

Fonction AnalyticSignal

Fonction Hilbert

Fonction Phase

Fonction PhaseResponse

Objet d'analyse Grandeur Instantanée

Partager l’article ou envoyer par mail :

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