skf

skf — Filtre de Sallen-Key.

Description

Skf est une implémentation numérique d'un filtre analogique linéaire de Sallen-Key, qui est un filtre du second ordre avec une réponse soit passe-bas soit passe-haut.

Syntaxe

asig skf asig, xcf, xK[, ihp, istor]

Initialisation

ihp -- s'il est différent de zéro, sélectionne la réponse passe-haut. 0 par défaut (passe-bas).

istor -- disposition initiale de l'espace de données interne. Comme ce filtre comprend une boucle de rétroaction de la sortie antérieure, l'état initial de l'espace de stockage utilisé est pris en compte. Une valeur nulle efface cet espace ; une valeur non nulle retient l'information antérieure. 0 par défaut.

Exécution

asig -- entrée.

xcf -- fréquence de coupure du filtre (taux-a ou -k).

xK -- gain de l'ampli op de Sallen-Key, compris entre 1 et 3. A 3 le filtre entre en auto-oscillation. K=1.586 donne une réponse de Butterworth, des valeurs supérieures étant équivalentes à des réponses de Tchebychev (avec crête). A K=1 le filtre est atténué de manière critique et les pôles ont des valeurs réelles.

Exemples

Voici un exemple de l'opode skf. Il utilise le fichier skf.csd.

Exemple 969. Exemple de l'opode skf.

Voir les sections Audio en temps réel et Options de la ligne de commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
-odac -d
</CsOptions>
<CsInstruments>

0dbfs = 1

instr 1
 alp = diskin:a("fox.wav",1,0,1)/3
 af expon 100,p3,10000
 a3 skf alp,af,1.516,p5
 out a3
endin

</CsInstruments>
<CsScore>
i1 0 10 0.2 0  ; lowpass
i1 10 10 0.2 1 ; highpass
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Victor Lazzarini
Février 2021