L'action `filterDesign` du jeu d'actions `timeFilters` conçoit un filtre numérique (comme Butterworth ou Chebyshev) et génère les coefficients et métadonnées associés dans une table CAS de sortie. Cette action permet de définir des filtres passe-bas, passe-haut, passe-bande ou coupe-bande en spécifiant l'ordre, les fréquences de coupure et d'autres propriétés spectrales. La table résultante peut être utilisée ultérieurement pour appliquer le filtre à des séries temporelles.
| Paramètre | Description |
|---|---|
| casOut | Spécifie la table de sortie optionnelle contenant les paramètres techniques calculés du filtre. |
| filterCutoff1 | Spécifie la fréquence de coupure basse du filtre. La valeur doit être comprise entre 0 et 1 (fréquence de Nyquist normalisée). |
| filterCutoff2 | Spécifie la fréquence de coupure haute du filtre. Requise uniquement si filterType est 'bandpass' (passe-bande) ou 'bandstop' (coupe-bande). |
| filterName | Spécifie le nom du filtre à concevoir. Valeurs possibles : 'butter' (Butterworth), 'cheby1' (Chebyshev Type I), 'cheby2' (Chebyshev Type II). |
| filterOrder | Spécifie l'ordre du filtre (nombre entier positif, maximum 200). |
| filterOutTable | Spécifie la table de sortie qui contiendra la définition complète du filtre conçu. |
| filterRp | Spécifie l'ondulation en bande passante en décibels (dB). Requis uniquement pour le filtre Chebyshev Type I. |
| filterRs | Spécifie l'atténuation en bande d'arrêt en décibels (dB). Requis uniquement pour le filtre Chebyshev Type II. |
| filterType | Spécifie le type de filtre : 'lowpass' (passe-bas), 'highpass' (passe-haut), 'bandpass' (passe-bande) ou 'bandstop' (coupe-bande). |
| inputVarName | Spécifie le nom de la variable d'entrée qui sera associée à ce filtre (valeur par défaut : 'signal'). |
| smoothedVarName | Spécifie le nom de la variable de sortie (lissée) qui sera associée à ce filtre (valeur par défaut : 'output'). |
Démarre une session CAS pour exécuter l'action de conception de filtre.
| 1 | PROC CAS; SESSION mysess; RUN; |
Conçoit un filtre Butterworth passe-bas d'ordre 4 avec une fréquence de coupure de 0.2.
| 1 | |
| 2 | PROC CAS; |
| 3 | timeFilters.filterDesign / filterName="butter" filterType="lowpass" filterOrder=4 filterCutoff1=0.2 filterOutTable={name="butter_low", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Conçoit un filtre Chebyshev Type I passe-bande d'ordre 5, avec des fréquences de coupure à 0.1 et 0.4, une ondulation de 0.5 dB, et définit les noms de variables d'entrée/sortie.
| 1 | |
| 2 | PROC CAS; |
| 3 | timeFilters.filterDesign / filterName="cheby1" filterType="bandpass" filterOrder=5 filterCutoff1=0.1 filterCutoff2=0.4 filterRp=0.5 inputVarName="SerieBrute" smoothedVarName="SerieFiltree" casOut={name="FilterCoeffs", replace=true} filterOutTable={name="ChebyBandPass", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |