Déterminer les fréquences d'une FFT

Fermé
TR_2000 Messages postés 23 Date d'inscription mardi 17 mai 2022 Statut Membre Dernière intervention 28 juin 2022 - 10 juin 2022 à 11:20
yg_be Messages postés 22792 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 - 10 juin 2022 à 13:25
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 23 Date d'inscription mardi 17 mai 2022 Statut Membre Dernière intervention 28 juin 2022 1
10 juin 2022 à 11:52
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 22792 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
10 juin 2022 à 12:18
bonjour,
tu ne nous montres qu'une petite partie de ton code.
0
yg_be Messages postés 22792 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
10 juin 2022 à 13:25
0