Bonjour,
je galère depuis deux jours.
J'ai un signal fréquentiel de 10 MHz à 40 GHz que je dois transformer en temporel
J'ai fait une TFD inverse toute simple et mon "Chefstain" veut que je vérifie que mon calcul est bon avec la fonction ifft...oui mais voilà, je n'arrive pas à la mettre en oeuvre !
Voici mon programme pour la TFDinv :
Pour IFFT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #calcul par TFD inverse for n in range(0,len(Freq)): SigFreq = 0 for nz in range(0, len(Freq)-1): #écriture de la valeur du signal à la fréquence donnée z = complex(float(RealS21[nz]), float(ImS21[nz])) SigFreq0 = (abs(z)*exp(phase(z)*1j))*exp((2*1j*pi*(1/float(Freq[n]))*(float(nz)/float(len(Freq))))) SigFreq = SigFreq0+SigFreq SigFreq = SigFreq/float(len(Freq))
ça me retourne une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for nz in range(0,len(Freq)): SignalZ = signal(RealS21[nz],ImS21[nz]) FFTinv = np.fft.ifft(SignalZ)
je sais que c'est de la façon que j'ai écrit ifft mais comme je n'y comprends rien, et que toutes les aides sur ce module sont in english... je ne m'en sors pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Traceback (most recent call last): File "R:/LABO HF/DEP HF/USER/PVincent/P114930/FFT inverse.py", line 135, in <module> FFTinv = np.fft.ifft(SignalZ) File "C:\Python27\lib\site-packages\numpy\fft\fftpack.py", line 246, in ifft n = shape(a)[axis] IndexError: tuple index out of range
Merci pour votre aide qui me sera très préciseuse !
Patricia
Partager