Déterminer les fréquences d'une FFT
TR_2000
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 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.
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,
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
-
En réalité c'est bon, j'oubliais les fréquences négatives je crois que c'est pour cela.
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
tu ne nous montres qu'une petite partie de ton code. -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
Regarde les exemples ici: https://www.delftstack.com/fr/howto/python/fft-example-in-python/