fft

fft — Transformée de Fourier rapide dans le domaine complexe.

Description

Applique une transformée de Fourier rapide directe à un tableau unidimensionnel de valeurs complexes produisant une sortie complexe. Cette sortie est un autre tableau contenant les valeurs complexes du signal, et les deux tableaux sont au format réel-imaginaire entrelacé. Le tableau de sortie a la même taille que le tableau d'entrée et la taille de la transformée est équivalente à la moitié de la longueur du tableau. Les transformées non puissance de deux sont restreintes à des tailles paires avec un nombre pas trop élevé de facteurs.

Syntaxe

kout[] fft kin[]

Exécution

kout[] -- tableau contenant les valeurs complexes de sortie. Créé s'il n'existe pas.

kin[] -- tableau contenant les valeurs complexes d'entrée.

Exemples

Voici un exemple de l'opcode fft. Il utilise le fichier fft.csd.

Exemple 303. Exemple de l'opcode fft.

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>
-d -o dac
</CsOptions>
<CsInstruments>
ksmps = 64

instr 1
ifftsize = 1024
kcnt init 0
kIn[] init  ifftsize
kOut[] init ifftsize

a1 oscili 0dbfs/2, 440

if kcnt >= ifftsize then
 kCmplx[] r2c kIn
 kSpec[] fft kCmplx
 kCmplx fftinv kSpec
 kOut c2r kCmplx
 kcnt = 0 
endif

kIn[] shiftin a1
a2 shiftout kOut
kcnt += ksmps
   out a2
endin
</CsInstruments>
<CsScore>
i1 0 10
</CsScore>
</CsoundSynthesizer>

Voir aussi

Opcodes vectoriels, Opcodes de tableaux.

Crédits

Auteur : Victor Lazzarini
NUI Maynooth
2014

Nouveau dans la version 6.04