analyse, étude spectrale, Python, résultat, troncature, zero-padding, physique, fréquence, échantillonnage, amplitudes, graphiques, fonctions python, fenêtre de Hamming
La période du signal vaut environ une seconde, car comme on peut le voir, la fonction de 'signal' est une somme de fonctions sinusoïdales de type Acos(2?ft) ou Asin(2?ft) où A est une amplitude et f une fréquence. Ici, c'est sin(2?t) qui va être prédominant. En effet, son amplitude vaut 1 tandis que les autres sont au moins deux fois inférieurs à lui. Ainsi, f = 1 Hz pour cette sinusoïde, alors la période du signal est de 1s.
[...] Comme nous avons expliqué précédemment, la fonction de 'signal' est une somme de fonctions sinusoidales. Donc, la plus petite fréquence contenue dans ce signal est 1 Hz. La plus grande fréquence contenue dans ce signal est 4 Hz. Le signal est échantillonné sur une durée $T=100.345821$ s beaucoup plus grande que sa période. On fixe cette durée à une valeur qui ne coïncide pas avec une période du signal, comme c'est souvent le cas dans la numérisation des signaux physiques. [...]
[...] Que constatez-vous ? In [ module_fourier = np.abs(np.fft.fft(signal_prime)) freq = np.fft.fftfreq(len(module_fourier),d = 1/freq_echantillonnage) plt.plot(freq, module_fourier) xlabel('Fréquence (en ylabel('Module de la transformée de fourier') show() Il est beaucoup plus simple d'observer la forme du module de la transformée de fourier de ce signal avec cette méthode. Et, elle a plusieurs pics, entourés par des petites oscillations, qui montrent que nous avons une bonne résolution. Question 1.12 : Zoomer enfin autour de la raie de fréquence Hz. Quelle est la forme de la transformée de Fourier ? [...]
[...] du polycopié de cours). Par exemple, la fenêtre de Hamming définie sur l'intervalle par : $\omega(t) = 0.54 - 0.4\mathrm{cos}\left(\frac{2\pi}{T}t\right)$. Le module scipy.signal (https://docs.scipy.org/doc/scipy-1.0.0/reference/signal.html - voir la section "window functions") fournit des tableaux d'échantillons pour différents fenêtres de troncature dont voici un exemple d'utilisation dans le cas de la fenêtre de Hamming : import scipy as sp hamming = sp.signal.hamming(N) figure(figsize=(8,4)) plot(hamming) In [ xlabel('k') ylabel('A') grid() Question 1.14 : Calculer son spectre en utilisant la technique du zero-padding pour améliorer sa résolution et comparer au spectre de la fenêtre rectangulaire étudiée précédemment. [...]
[...] In [ freq = np.fft.fftfreq(len(signal[(t≤5)]),d = 1/freq_echantillonnage) plot(freq,module_fourier) xlabel('Fréquence (en ylabel('Module de la transformée de fourier') show() Question 1.7 : Interpréter la transformée de Fourier obtenue ? A quoi correspond la symétrie obtenue au délà de Hz ? In [ position = find_peaks(module_fourier,distance = print("A partir de la transformée de fourier, on peut déduire les fréquence ,freq[position][(freq[position] A partir de la transformée de fourier, on peut déduire les fréquences du si gnal qui sont : [ 4.11764706] Au-delà de 5 Hz, nous n'avons de signal. Celui-ci s'arrete à environ à 4.9 Hz. [...]
[...] Étude spectrale d'un signal Cet exercice vous fera utiliser le module np.fft de Python. Il vous sera demandé d'interpréter les résultats obtenus à la lumière des résultats abordés en cours et en TD. Une attention particulière sera portée à la rédaction des réponses. import math import numpy as np from matplotlib.pyplot import * import matplotlib.pyplot as plt from numpy.fft import fft from scipy.signal import find_peaks In [ Partie 1 : impact de la troncature et zero-padding Cette première partie revient sur les notions de troncature et de zero-padding ainsi que sur leur impact sur la transformée de Fourier numérique d'un signal. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture