Déplit les angles de phase pour produire des réponses de phase plus lisses.
Syntaxe
PhaseUnwrap(Phase, le [ Jump ] [ , le 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érie de données, le Matrice de données, le Signal, le 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. L'évolution (discontinue) de l'angle de phase est alors corrigée par l'addition ou la soustraction de multiples de Jump corrigé. Si l'argument n'est pas spécifié, il prend la valeur 360 si l'unité est en ° Phase l'unité est le °, sinon il prend la valeur TWO_PI est définie. 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 d'une valeur d'angle de phase n'aura lieu que si la différence absolue de deux valeurs d'angle de phase consécutives est supérieure à Tolerance est. Si l'argument n'est pas spécifié, il est fixé à la moitié de la valeur de l'argument Jump est définie. 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 calculée. Les composantes X ou Z, si elles sont présentes, sont reprises telles quelles dans le résultat.
Pour les matrices de données et les séries de signaux, le calcul s'effectue colonne par colonne. Les valeurs sont converties en valeurs à virgule flottante de 64 bits avant le calcul.
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 graphique 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 a une valeur inférieure à la moitié de Jump une correction de phase par addition ou soustraction de multiples de Jump ne fait qu'augmenter la discontinuité. Donc si pour l'argument Tolerance se voit attribuer une valeur inférieure à la moitié de Jump est spécifié, alors Tolerance est automatiquement corrigé par l'algorithme à la moitié de la valeur de Jump corrigée.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
PhaseUnwrap({38, 44, 50, 416, 422}, 360) |
Donne la série de données {38, 44, 50, 56, 62}. Tolerance prend la valeur 360/2 = 180, car l'argument n'a pas été spécifié. |
PhaseUnwrap({38, 44, 50, 416, 422}, 360, 140) |
Donne la série de données {38, 44, 50, 56, 62}. Tolerance est corrigé à la valeur 180, car 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 360, car l'argument Phase possède l'unité °. |
PhaseUnwrap(Phase(AnalyticSignal(realSig))) |
Déploie la phase d'un signal analytique calculé à partir d'un signal réel. L'argument Jump a été automatiquement remplacé par la valeur TWO_PI car la fonction Phase passe soit aucune unité, soit l'unité rad de son résultat. |