FIRFilterWindow (FPScript)
Calcule la réponse impulsionnelle d'un filtre FIR en utilisant le fenêtrage.
Syntaxe
FIRFilterWindow(Window, Type, [ FilterLength ], Fc1, [ Fc2 ], [ Attenuation ], [ Transition ], [ Alpha = 0.54 ] [ , SamplingRate ])
La syntaxe de la fonction FIRFilterWindow se compose des éléments suivants :
Section |
Description |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Window |
Précise le type de fenêtre. L'argument Window 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é. |
||||||||||||||||||
Type |
Précise le type de filtre. L'argument Type 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é. |
||||||||||||||||||
FilterLength |
Précise la longueur du filtre. Cet argument est facultatif pour les filtres Kaiser et Dolph-Chebyshev. La longueur du filtre peut être calculée à partir de l'atténuation et de la transition. Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés. La valeur doit être supérieure ou égale à 5 et inférieure ou égale à 999. 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é. |
||||||||||||||||||
Fc1 |
Spécifie la fréquence de coupure inférieure du filtre. La fréquence de coupure doit être comprise entre 0 et 0,5, soit la moitié de la fréquence d'échantillonnage normalisée, ou entre 0 et la moitié du taux d'échantillonnage. 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. 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é. |
||||||||||||||||||
Fc2 |
Spécifie la fréquence de coupure supérieure du filtre. La fréquence de coupure doit être comprise entre 0 et 0,5, soit la moitié de la fréquence d'échantillonnage normalisée, ou entre 0 et la moitié du taux d'échantillonnage. Cet argument n'a pas à être spécifié pour un filtre passe-bas ou passe-haut. 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. 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é. |
||||||||||||||||||
Attenuation |
Spécifie l'atténuation de la bande de coupure du filtre Dolph-Chebyshev ou Kaiser. L'atténuation peut être calculée à partir de la longueur du filtre et de la transition. 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'argument est transformé dans l'unité dB. La valeur doit être supérieure à 0 dB. 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é. |
||||||||||||||||||
Transition |
Spécifie la distance (transition) entre la bande de coupure et la bande passante pour le filtre Dolph-Chebyshev ou Kaiser. La transition peut être calculée à partir de la longueur du filtre et de l'atténuation. 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é. |
||||||||||||||||||
Alpha |
Influence le comportement d'atténuation de la fenêtre de Hamming généralisée (Méthode de la fenêtre). Alpha doit être compris entre 0 et 1. 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 ou égale à 0 et inférieure ou égale à 1. 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 0.54 . |
||||||||||||||||||
SamplingRate |
Précise le taux d'échantillonnage. L'argument est facultatif. Si un taux d'échantillonnage est spécifié, les fréquences de coupure absolues sont spécifiées pour les fréquences de coupure au lieu des fréquences normalisées. 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 la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
Remarques
L'argument FilterLength n'a pas à être spécifié pour le filtre Kaiser ou Dolph-Chebyshev. Il peut être calculé à partir de l'atténuation et de la transition. Pour les deux filtres, deux des trois arguments FilterLength, Attenuation et Transition doivent être spécifiée. Cependant, seules les atténuations supérieures à 21 dB peuvent être calculées à partir de la longueur du filtre et de la transition. Si les trois arguments sont précisés, la transition est recalculée et corrigée si nécessaire.
L'atténuation est spécifiée en décibels (20 log delta).
Disponible dans
Option Filtres numériques
Exemples
Filter(Signal, FIRFilterWindow(FILTER_DOLPHCHEBYSHEV, FILTER_LOWPASS, , 250 Hz, , 30 dB, 10 Hz, , SamplingRate(Signal)), , TRUE)
Filtre un signal avec correction de phase en utilisant un filtre passe-bas avec une fenêtre de Hamming. La longueur du filtre est déterminée à partir de l'atténuation et de la transition. Notez également que le troisième argument de la fonction Filter est laissée vide.