1.Tout d'abord --Dérivation de la transformée de Fourier discrète --Caractéristiques de la transformée de Fourier discrète --Les références --Annexe: Programme de transformation de Fourier discrète par Python
Le but de cet article est de comprendre les propriétés des transformées de Fourier discrètes, telles que la symétrie spectrale et la périodicité.
Le signal discret $ x_ {échantillonnage} (t) $ obtenu en échantillonnant le signal temporel continu $ x (t) $ à l'intervalle $ T $ est exprimé comme suit.
\begin{eqnarray}
\mathcal{F}[x_{sampling}(t)] &=& \int_{-\infty}^{\infty}x_{sampling}(t)e^{-j\omega t}dt \\
&=& \int_{-\infty}^{\infty} \, \sum_{n=0}^{\infty}x(n)\delta(t-nT) \, e^{-j\omega t}dt \\
&=& \sum_{n=0}^{\infty}x(n)\int_{-\infty}^{\infty}\delta(t-nT) \, e^{-j\omega t}dt \\
&=& \sum_{n=0}^{\infty}x(n) e^{-j\omega nT} \tag{2}
\end{eqnarray}
Ce sera.
Supposons maintenant que la valeur d'échantillon $ x (n) $ se compose de $ N $ points. De plus, comme le montre la figure ci-dessous, la valeur d'échantillon $ x (n) $ constituée de $ N $ points est considérée comme un cycle du signal. La fréquence angulaire à ce moment est exprimée comme $ 2 \ pi / NT $ et est appelée la fréquence angulaire de base.
La fréquence angulaire qui est un multiple entier de la fréquence angulaire de base est représentée par $ \ omega = \ frac {2 \ pi} {NT} k ; ; (k = 0,1,2, ..., N-1) $. Représente des composants de fréquence plus élevée. En remplaçant ce $ \ omega = \ frac {2 \ pi} {NT} k $ dans l'expression $ (2) $
La transformée de Fourier discrète de l'équation $ (4) $ signifie qu'elle calcule la similitude entre la valeur d'échantillon $ x (n) $ et la variable complexe $ W ^ {kn} $. Comme le montre la figure ci-dessous, la composante de fréquence de la valeur d'échantillon $ x (n) $ est obtenue en prenant le produit interne de la valeur d'échantillon $ x (n) $ et de la variable complexe $ W ^ {kn} $ avec différentes fréquences. Je peux. Cependant, en raison de la nature de la transformée de Fourier discrète, des composantes de fréquence peuvent apparaître à des endroits autres que les composantes de fréquence d'origine de la valeur d'échantillon $ x (n) $. (Décrit en 3. Propriétés de la transformée de Fourier discrète)
Soit m un entier arbitraire
\begin{eqnarray}
X(k+mN) &=&\sum_{n=0}^{N-1}x(n)W^{(k+mN)n} \\
&=&\sum_{n=0}^{N-1}x(n)W^{kn}W^{mNn} \\
&=&\sum_{n=0}^{N-1}x(n)W^{kn}
= X(k)
\end{eqnarray}
Suivant,
\begin{eqnarray}
X(N-k) &=& \sum_{n=0}^{N-1}x(n)W^{(N-k)n} \\
&=& \sum_{n=0}^{N-1}x(n)W^{Nn}W^{-kn} \\
&=& \sum_{n=0}^{N-1}x(n)W^{-kn} \\
&=& [\,\sum_{n=0}^{N-1}x(n)W^{kn}\,]^{*} = X(k)^{*}
\end{eqnarray}
Suivant,
Maintenant, afin d'approfondir notre compréhension des propriétés de la transformée de Fourier discrète, observons le spectre obtenu par la transformée de Fourier discrète réelle. Effectuez une transformation de Fourier discrète en utilisant le programme présenté en annexe. Le signal de temps continu $ x (t) = cos (2 \ pi ft) $ montré dans la figure ci-dessous est échantillonné. La fréquence $ f $ du signal de temps continu $ x (t) $ est de 1000 $ [Hz] $.
Tout d'abord, la figure suivante montre le signal $ x (n) $ échantillonné sous le signal de temps continu $ x (t) $ avec la fréquence d'échantillonnage $ f_ {échantillonnage} = 4000 [Hz] $ et le nombre d'échantillons $ N = 32 $. Il est montré dans.
Ensuite, le spectre de fréquences obtenu par la transformée de Fourier discrète de la valeur d'échantillon $ x (n) $ est montré dans la figure ci-dessous. D'après la figure, on peut voir que la composante de $ 1000 [Hz] $, qui est la fréquence du signal de temps continu $ x (t) $, apparaît. Cependant, en raison de la symétrie du spectre montré dans l'équation $ (6) $, un spectre symétrique en ligne est généré autour de 2000 $ [Hz] $, ce qui correspond à la moitié de la fréquence d'échantillonnage. Cela signifie que moins de la moitié de la fréquence d'échantillonnage peut être représentée correctement. Selon le théorème d'échantillonnage, le signal d'origine peut être rétrogradé en échantillonnant au moins deux fois la fréquence maximale du signal temporel continu $ x (t) $. Le "plus du double de la fréquence" du théorème d'échantillonnage est dû à la symétrie de la transformée de Fourier discrète.
--Morikita Publishing "Traitement numérique du signal": Masafumi Hagiwara --Kodansha "Introduction à la théorie de l'information de Shannon" Auteur: Eiko Takaoka
DFT.py
import numpy as np
import cmath
import matplotlib.pyplot as plt
f_xn = 1000 #Signal d'entrée x(n)Fréquence de
f_sampling = 4000 #Fréquence d'échantillonnage
T = 1.0 / f_sampling #Intervalle d'échantillonnage
N = 32 #Le nombre d'échantillons
t = np.arange(0, N*T, T) #Axe du temps
width = 3 #Largeur d'affichage de l'axe des fréquences(Combien de fois la fréquence d'échantillonnage est affichée)
freq = np.linspace(0,f_sampling*width, N*width, endpoint=False).reshape([-1,1]) #Axe de fréquence
n = np.arange(N) #Indice total
k = np.arange(N*width).reshape([-1,1]) #indice de k
x_n = np.cos(2*np.pi*f_xn*t) #Exemple de valeur x(n)
W_kn = np.exp(-1j*2*np.pi*n/N *k) #Variable complexe W_kn
X_k = np.sum(x_n*W_kn, axis=1) #Somme
amp = np.abs(X_k) #Composant d'oscillation
#affichage graphique
plt.figure()
plt.rcParams['font.family'] = 'Arial'
plt.rcParams['font.size'] = 17
plt.subplot(2,1,1)
plt.plot(t, x_n, marker='o', color='r')
plt.xlabel("time[s]", fontsize=20)
plt.ylabel("x(n)", fontsize=20)
plt.grid()
plt.subplot(2,1,2)
plt.plot(freq, amp, marker='o',color='b')
plt.xlabel('frequency[Hz]', fontsize=20)
plt.ylabel('amplitude', fontsize=20)
plt.grid()
plt.subplots_adjust(wspace=0.4, hspace=0.4)
plt.show()
Recommended Posts