Calcule l'intégrale.
Syntaxe
Integral(Signal [ , le Mode Variable INTEGRAL_TRAPEZOIDAL ])
ou
Integral(Amplitude, le Time [ , le Mode Variable INTEGRAL_TRAPEZOIDAL ])
La syntaxe de la fonction Integral se compose des éléments suivants :
Section |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Signal |
Le signal dont l'intégrale est calculée. Si l'argument est une série de données ou une matrice de données, alors 1 est utilisé comme l'incrément dX pour l'intégration. 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 numériques sont autorisés. 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. |
||||||||
Amplitude |
La composante Y du signal à intégrer. Si vous spécifiez un signal, alors sa composante Y est utilisée. 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 numériques sont autorisés. 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é. |
||||||||
Time |
La composante X du signal à intégrer. Si vous spécifiez un signal, alors sa composante Y est utilisée. 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 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é. |
||||||||
Mode |
Pour le calcul discret de l'intégrale, on utilise des formules d'approximation avec différents ordres de précision. L'argument Mode peut avoir les valeurs suivantes :
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 INTEGRAL_TRAPEZOIDAL . |
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 des composantes Y et X de Signal. Les valeurs sont converties en nombres à virgule flottante 64 avant le calcul. Pour les matrices de données et les séries de signaux, le calcul s'effectue colonne par colonne. Les composantes X ou Z, si elles sont présentes, sont reprises telles quelles dans le résultat.Le résultat peut être considéré comme une fonction primitive du signal.
L'intégrale est calculée en mode INTEGRAL_TRAPEZOIDAL à l'aide de la formule du trapèze (en supposant qu'il y ait au moins deux points de données) :
La règle du trapèze peut également être appliquée à des ensembles de données échantillonnés non équidistants.
Dans le mode INTEGRAL_SIMPSON l'intégrale est calculée à l'aide de la règle de Simpson. La règle de Simpson nécessite des ensembles de données échantillonnés de manière équidistante (à condition qu'il y ait au moins trois points de données) :
En mode INTEGRAL_CUBIC l'intégrale est calculée à l'aide d'une formule d'intégration cubique. Cette règle d'intégration est la forme centralisée de la règle d'intégration d'Adam (formule d'interpolation d'Adams ou intégrateur Ngo, voir [4]. La règle exige également des ensembles de données échantillonnés de manière équidistante (au moins quatre ensembles de données sont nécessaires) :
Dans tous les modes, l'intégrale est définie à la limite gauche I[0] comme étant 0. Pour la règle de Simpson ainsi que pour la règle d'intégration cubique, il n'y a pas assez de points d'appui disponibles pour la formule d'approximation aux bords I[1] ainsi que dans le cas cubique pour le bord droit I[N]. On utilise alors des règles de calcul qui ont le même ordre de précision (semblable à [2, page 98]).
Remarque En général, les règles suivantes s'appliquent : Plus l'ordre de précision est élevé lors de la sélection de la règle d'intégration, plus la précision est grande lors de la détermination de l'intégrale pour les ensembles de données lisses (non bruyantes). Cependant, si les ensembles de données sont bruyants, l'erreur numérique sera pire lors de la détermination de l'intégrale si une règle d'intégration d'ordre supérieur est utilisée. Le choix du mode d'intégration devrait donc dépendre du bruit/lissage du jeu de données sous-jacent.
En revanche, si l'on s'intéresse au spectre des fréquences, il est utile de considérer les règles d'intégration comme des filtres numériques (voir aussi [1] ou [3, section 7.2]). Les règles d'intégration possèdent ici la courbe d'amplitude suivante. L'intégrateur idéal (courbe de filtrage de l'intégration continue) est également enregistré :
Observation : la règle du trapèze ainsi que la règle d'intégration cubique possèdent une caractéristique naturelle de passe-bas en raison de la sous-évaluation de l'intégrateur idéal et suppriment le bruit à haute fréquence. La règle d'intégration cubique possède une approximation plus précise de la courbe d'amplitude de l'intégrateur idéal que la règle trapézoïdale, et ce dans toute la gamme de fréquences. La règle de Simpson possède l'approximation la plus exacte de la réponse en amplitude de l'intégrateur idéal dans la plage de fréquences jusqu'à environ 0,25, mais diverge dans la zone de la limite de Nyquist 0,5. Le bruit à haute fréquence est donc amplifié par la règle de Simpson. Il convient de noter que toutes les règles d'approximation ont une réponse de phase constante de -90 degrés et correspondent donc à la réponse de phase de l'intégrateur idéal.
Disponible dans
FlexPro View, Basic, Professional, Developer Suite
Exemples
Integral({1,2,3,2,1}, {0,1,2,3,4})
Utilise la règle trapézoïdale pour calculer l'intégrale {0, 1,5, 4, 6,5, 8} des séries de données spécifiées comme argument.
Integral(Signal)[-1]
Calcule l'aire sous la courbe d'un signal. Pour ce faire, la dernière valeur doit être extraite du résultat.
Integral(Detrend(Signal))
Intègre un signal périodique et supprime la valeur moyenne au préalable. Ici, la Detrend-Fonction a été utilisée pour supprimer la composante continue ou une tendance linéaire ou adaptative du signal avant l'intégration. Justification : Si vous intégrez des signaux périodiques qui ont une valeur moyenne non nulle, la courbe intégrée s'échappe par accumulation de la valeur moyenne dans le signal. L'illustration suivante clarifie la situation :
Integral(DCRemovalFilter(Signal))
Intègre un signal et supprime au préalable la dérive ou le décalage (composante continue). Pour éliminer la dérive ou la composante continue, on a maintenant utilisé la DCRemovalFilter-Fonction au lieu de la Detrend-Fonction a été utilisée. Justification : La cause de la dérive du signal après l'intégration n'est pas seulement l'accumulation de la composante continue pendant l'intégration, mais aussi la courbe d'amplitude de l'intégrateur inversement proportionnelle à la fréquence. Celui-ci permet d'amplifier le bruit à des fréquences proches de la composante continue et de l'augmenter par intégration jusqu'à des valeurs arbitraires. La courbe intégrée dérive alors. Pour éviter la dérive, il ne suffit pas de soustraire la valeur moyenne, mais il faut également couper les composantes de fréquence proches de la composante continue au moyen d'un filtre passe-haut. Le graphique suivant illustre cet état de fait (à titre d'exemple, l'un des signaux d'accélération a été utilisé pour l'intégration à partir des données d'exemple FlexPro sous C:\Users\Public\Documents\Weisang\FlexPro) :
Dim filterCoef = List("b", {1/3, 4/3, 1/3}, "a", {1, 0, -1})
AmplitudeResponse(filterCoef)
Calcule la réponse en amplitude du filtre Simpson à l'aide de la fonction AmplitudeResponse.
Dim x = Series(0, 6, 0.5)
Integral(Signal(2.2 + 6.2*x + 12.6*x^2 - 2*x^3, x), INTEGRAL_CUBIC)
Calcule l'intégrale d'un polynôme du troisième degré aux x points d'échantillonnage. Le résultat est conforme à l'intégrale exacte Signal(2.2*x + 3.1*x^2 + 4.2*x^3 - 0.5*x^4, x).
Dim x = (30, 1, 0.1)
Dim f = Signal(50 * 1/x, x)
Dim integralExact = Signal(50 * log(x), x)
Absolute(Integral(f, INTEGRAL_TRAPEZOIDAL)[-1] - integralExact[-1])
Détermine pour le mode INTEGRAL_TRAPEZOIDAL l'erreur lors du calcul de l'intégrale numérique de la fonction lisse f = 50 * 1/x. L'erreur est proportionnelle à 0.01. Par contre, si l'on choisit INTEGRAL_SIMPSON on obtient une erreur proportionnelle à 0.001. Si on choisit INTEGRAL_CUBIC si on choisit , on obtient la plus grande précision avec une erreur proportionnelle à 0,0001.
Voir aussi
Fonction SavitzkyGolayDerivative
Objet d'analyse Analyse du signal
Littérature
[1] Tilman Butz: Fourier Transformation for Pedestrians. Springer Berlin Heidelberg New York, http://www.springer.com/de/book/9783319169842, le 2015. ISBN 3-540-23165-X.
[2] C. Woodford, C. Phillips: Numerical Methods with Worked Examples. Chapman and Hall, 2-6 Boundary Row, London SE1 8HN, UK, 1997. ISBN 0-412-72150-3.
[3] Richard G. Lyons: Understanding Digital Signal Processing (3rd Edition). Prentice Hall, 2011. ISBN 0-13-702741-9.
[4] N. Q. Ngo: A new approach for the design of wideband digital integrator and differentiator. Dans: IEEE Trans. Circuits Syst. II, Exp. Briefs, Vol. 53, No. 9, Pages 936-940. Prentice Hall, 2006.