IIRPeakFilter (FPScript)

21.09.2021

Calcule les coefficients du numérateur et du dénominateur d'un filtre de crête IIR du second ordre (également appelé filtre résonant) qui peut être utilisé pour bloquer les fréquences en dehors d'une plage de fréquences étroite (filtre passe-bande à bande étroite).

Syntaxe

IIRPeakFilter(PeakFrequency, Bandwidth [ , SamplingRate ])

 

La syntaxe de la fonction IIRPeakFilter se compose des éléments suivants :

Section

Description

PeakFrequency

Spécifie la fréquence de crête (fréquence de résonance) du filtre, c'est-à-dire la fréquence à retenir dans le signal. La fréquence doit être comprise entre 0 et 0,5 (moitié de la fréquence d'échantillonnage normalisée à un) ou entre 0 et 0,5 * SamplingRate.

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é.

Bandwidth

Spécifie la largeur de bande (disposée symétriquement autour de la fréquence de résonance) du filtre. Il définit la gamme de fréquences, en dehors de laquelle les fréquences sont bloquées (définie par le point -3 dB, c'est-à-dire le point où 70,7 % de l'amplitude du signal original est atteint).

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é.

SamplingRate

Précise le taux d'échantillonnage. L'argument est facultatif. Si cet argument n'est pas précisé, une fréquence normalisée de 0 à 0,5 doit être spécifiée comme fréquence de coupure pour PeakFrequency.

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

Comme résultat de retour, les coefficients du numérateur et du dénominateur du filtre de crête IIR du second ordre sont renvoyés sous forme de liste avec deux éléments b et a. Utilisez la fonction Filter pour filtrer les données avec le filtre calculé.

Le filtre représente un type de filtre coupe-bande à bande particulièrement étroite, qui ne retient pas une large bande de fréquences, mais idéalement ne retient qu'une seule fréquence.

Le filtre a la réponse d'amplitude suivante (ici, par exemple, pour la fréquence de crête de 150 Hz et la largeur de bande de 5 Hz) :

Disponible dans

Option Filtres numériques et Option Analyse d'ordre

Exemples

Dim coeff = IIRPeakFilter(0.2, 0.02)
Filter(Signal, coeff, TRUE)

D'abord, les coefficients du numérateur et du dénominateur du filtre de crête sont calculés, puis les données sont filtrées, corrigées en phase, en utilisant la fonction Filter. Le filtre a une fréquence de résonance de 0,2 et une largeur de bande de 0,02.

Dim coeff = IIRPeakFilter(100 Hz, 8 Hz, SamplingRate(Signal))
Filter(Signal, coeff, TRUE)

D'abord, les coefficients du numérateur et du dénominateur du filtre de crête sont calculés, puis les données sont filtrées, corrigées en phase, en utilisant la fonction Filter. Le filtre a une fréquence de résonance de 100 Hz et une largeur de bande de 8 Hz.

Dim coeff = IIRPeakFilter(0.15, 0.02)
AmplitudeResponse(coeff, 100000)

Calcule la réponse d'amplitude (avec 100000 points de données) du filtre de crête pour la fréquence de résonance normalisée de 0,15 et la largeur de bande de 0,02 en utilisant la fonction AmplitudeResponse.

Dim coeff = IIRPeakFilter(150 Hz, 5 Hz, 1000 Hz)
AmplitudeResponse(coeff, 500000, 1000 Hz)

Calcule la réponse en amplitude (avec 500000 points de données) du filtre de crête pour la fréquence de résonance de 150 Hz et la largeur de bande de 5 Hz (fréquence d'échantillonnage de 1 kHz) en utilisant la fonction AmplitudeResponse.

Voir aussi

Fonction Filter

Fonction IIRNotchFilter

Fonction AmplitudeResponse

Fonction PhaseResponse

Fonction IIRFilter

Fonction SamplingRate

Option Filtres numériques

Littérature

[1] Sophocles J. Orfanidis: Introduction to Signal Processing. Prentice Hall,1996.

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :