{ "cells": [ { "cell_type": "markdown", "id": "b0b503da", "metadata": {}, "source": [ "# Exemple simple de DFT\n", "\n", "L'objectif de cet exercice est d'étudier numériquement la transformée de Fourier d'une Gaussienne : $G(x) = \\exp(-\\frac{x^2}{2\\sigma^2})$. Analytiquemet, la T.F. de G vaut $\\tilde G(\\omega) = \\sqrt{2\\pi}\\sigma \\exp(-\\frac{\\omega^2\\sigma^2}{2})$\n", "\n", "1. Écrire une fonction Python qui retourne une Gaussienne $\\exp(-\\frac{x^2}{2\\sigma^2})$ sur [-L/2, L/2] et son axe des \\texttt{x = L/N*np.arange(N) - L/2}, prenant comme paramètres $\\sigma$, $L$ et $N$.\n", " \n", "2. Tracer la Gaussienne pour $\\sigma=0.5$ et $N=1000$ et $L=5$. \n", "\n", "3. Tracer la DFT de la Gausienne pour $\\sigma=0.15$ pour une plage de fréquences inférieures à 20 : (a) Quel taux d'échantillonnage $\\Delta x = L/N$ faut-il utiliser ? (b) Quelle valeur minimum de L faut-il choisir pour obtenir une résolution en fréquence de 0.04 ? \n", "\n", "4. Comparer la courbe obtenue avec la formule analytique ? Pourquoi la DFT de la Gaussienne n'est pas possitive ?\n", "\n", "5. Que se passe-t-il si $\\sigma=1.5$ ?\n", "\n", "6. Appliquer la transformée de Fourier inverse et vérifier que l'on obient bien le signal initial." ] }, { "cell_type": "code", "execution_count": 1, "id": "0f3cbaee", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from numpy.fft import fft, ifft, rfft, irfft, rfftfreq, fftfreq" ] }, { "cell_type": "code", "execution_count": 2, "id": "5661afb2", "metadata": {}, "outputs": [], "source": [ "def f(sigma,L,N):\n", " Delta_x = L/N\n", " x = Delta_x*np.arange(N)-L/2\n", " y = np.exp(-x**2/(2*sigma**2))\n", " return x, y" ] }, { "cell_type": "code", "execution_count": 3, "id": "138a9445", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "L=5\n", "N=1000\n", "sigma=0.1\n", "x, y = f(sigma, L, N)\n", "plt.plot(x, y)" ] }, { "cell_type": "code", "execution_count": 4, "id": "e193a9a9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/pierre/.local/lib/python3.8/site-packages/matplotlib/cbook/__init__.py:1335: ComplexWarning: Casting complex values to real discards the imaginary part\n", " return np.asarray(x, float)\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "L = 1/0.04\n", "N = int(2*20*L) # f_max = dx/2\n", "sigma=0.15\n", "x, y = f(sigma, L, N)\n", "\n", "f_tilde = fft(y)\n", "f_axis = fftfreq(N, L/N)\n", "plt.plot(f_axis, f_tilde*L/N)\n", "\n", "# La TF présente des valeurs négatives car elle n'est pas centrée en j=0 mais en j=N/2\n", "# La phase vaut exp(2 i pi N/2 k/N) donc \\pm 1" ] }, { "cell_type": "markdown", "id": "80367c8e", "metadata": { "tags": [ "sol" ] }, "source": [ "La TF présente des valeurs négatives car elle n'est pas centrée en $j=0$ mais en $j=N/2$. La phase vaut $e^{2 i \\pi \\frac{N}{2} \\frac{k}{N}}$ donc $(-1)^k$" ] }, { "cell_type": "code", "execution_count": 5, "id": "a4141296", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-5.0, 5.0)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f_tilde = fft(y)*L/N\n", "f_axis_dft = fftfreq(N, L/N)\n", "\n", "plt.plot(f_axis_dft, np.abs(f_tilde), '.')\n", "\n", "f_axis = np.linspace(-20, 20, 201)\n", "\n", "plt.plot(f_axis, np.sqrt(2*np.pi)*sigma*np.exp(-(2*np.pi*f_axis)**2*sigma**2/2))\n", "plt.xlim(-5, 5)" ] }, { "cell_type": "code", "execution_count": 6, "id": "96853853", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "y_tilde = fft(y)\n", "\n", "signal_initial = ifft(y_tilde)\n", "plt.plot(x, signal_initial, 'o')\n", "plt.plot(x, y)" ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }