Resample (FPScript)
Augmente ou réduit le taux d'échantillonnage d'un ensemble de données.
Syntaxe
Resample(DataSet, Factor [ , Method = RESAMPLE_FFT ])
La syntaxe de la fonction Resample se compose des éléments suivants :
Section |
Description |
||||||
---|---|---|---|---|---|---|---|
DataSet |
L'ensemble de données pour lequel le nombre de valeurs doit être réduit. Les structures de données autorisées sont Séries de données, Matrice de données, Signal et Série de signaux. Tous les types de données numériques sont autorisés. Des restrictions supplémentaires s'appliquent à la composante X.Les valeurs doivent avoir un espacement constant. 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. |
||||||
Factor |
Spécifie le facteur avec lequel le taux d'échantillonnage, et donc le nombre de valeurs dans le résultat, doit être modifié. Les valeurs inférieures à un réduisent le taux d'échantillonnage, et les valeurs supérieures à un l'augmentent. 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. 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é. |
||||||
Method |
Détermine la méthode utilisée pour le rééchantillonnage. L'argument Method 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 RESAMPLE_FFT . |
Remarques
Si DataSet ne contient pas de composante X, alors les valeurs X sont automatiquement générées en commençant par zéro et avec un incréments de un. Si il contient une composante X, celle-ci doit avoir un incrément constant, c'est-à-dire que les données doivent être échantillonnées en utilisant un taux constant. Le résultat est toujours un signal ou une série de signaux.
Pour le rééchantillonnage par FFT, le signal temporel est d'abord transformé dans le domaine fréquentiel. Pour augmenter le taux d'échantillonnage, des zéros sont alors ajoutés au spectre, et pour réduire le taux d'échantillonnage, une partie du spectre est coupée en conséquence. Il est ensuite transformé à nouveau en domaine temporel. Le rééchantillonnage par la transformée de Fourier donne un résultat presque idéal, car aucune composante de signal à haute fréquence n'est ajoutée lorsque le taux d'échantillonnage est augmenté et toutes les composantes spectrales jusqu'à la nouvelle fréquence de Nyquist sont conservées lorsque le taux d'échantillonnage est diminué. La reconstruction exacte du signal de temps original n'est cependant pas toujours possible en raison de l'effet de fuite de la FFT.
Idéalement, le nouveau nombre de valeurs est (NumberOfRows(DataSet)-1) * Factor + 1, arrondi à l'entier suivant. Toutefois, cela n'est pas toujours possible pour la méthode FFT (pour les valeurs non entières de Factor).
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
Resample(Signal, 2) |
Double le taux d'échantillonnage d'un signal en utilisant la méthode FFT. |
Resample(Signal, 0.5, RESAMPLE_LINEAR) |
Réduit de moitié le taux d'échantillonnage d'un signal en utilisant une interpolation linéaire. |