Déterminer les fréquences d'une FFT

TR_2000 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Ca n'a pas vraiment de rapport avec de la programmation mais je ne savais pas dans quel forum me mettre...

J'utilise Gnuradio pour calculer la FFT d'un signal.
J'exporte après ces données vers un programme en python pour réaliser le graphique de la FFT. J'ai néanmoins un problème avec cette étape ; je n'arrive pas à créer un axe fréquentiel correct.

J'ai réalisé ce code pour le moment c'est celui qui me parait le plus logique mais cela ne fonctionne pas.

fs = 2e6                                    #Fréquence d'échantillonage 
Ts = 1./fs                                  #Période d'échantillonage 
N = float_data_fft.size                    #Nombre d'échantillons  
print(N)
freq = np.linspace(0, fs, N)
plt.plot(freq, abs(float_data_fft))
plt.show()


Pour cette application je génère 2 sinusoïdes; une à 150kHz et l'autre à 800kHz. La fréquence d'échantillonnage est de 2MHz et la FFT est sur 1024 point (c'est ce que vaut N)

J'obtient le graphique suivant :


On peut noter que les pics sont à 1,150MHz et 1,800MHz et qu'il y a donc 1MHz en trop...

Merci pour votre aide,

3 réponses

TR_2000 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
En réalité c'est bon, j'oubliais les fréquences négatives je crois que c'est pour cela.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
tu ne nous montres qu'une petite partie de ton code.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
0