diff --git a/README.md b/README.md index 05e8af051b26c9e7dfa34c65d5a8ca3179798db1..9fda9b070cd69a0cba8e9708d97bb4da23e7d9c2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # Mathématiques pour deuxième année ITI Ce projet contient la tentative de polycopié du cours de Mathématiques pour la filière ITI de hepia. + +Un bonus de 0.1 points sur la note de l'examen sera obtenu pour tout pull request réussi. \ No newline at end of file diff --git a/cours.tex b/cours.tex index 72a33b9fe4c12fcdbee7b9976624b6f65cedabc0..3afa941f6331a61e7839692b45e8c621661e387a 100644 --- a/cours.tex +++ b/cours.tex @@ -2457,7 +2457,7 @@ b_j&\equiv A_j\sin(\phi_j), \end{align} on obtient \begin{equation} - f(t)=\sum_{j=0}^\infty \left(a_j\cos(j\omega t)+b_j\sin(j\omega t)\right). \label{eq_decomp_sincos} + f(t)=\sum_{j=0}^\infty \left(a_j\sin(j\omega t)+b_j\cos(j\omega t)\right). \label{eq_decomp_sincos} \end{equation} On a donc transformé une équation où on devait déterminer une amplitude et une phase, ce qui est très compliqué, en une autre équation où on doit déterminer uniquement deux amplitude. Par ailleurs, comme $\cos$ et $\sin$ sont indépendants, @@ -2469,7 +2469,7 @@ que les $a_j\cos(j\omega t)$ et $b_j\sin(j\omega t)$ approximent au mieux la fon On va donc considérer les fonctions d'erreur suivantes \begin{equation} - E^s_j=\int_0^T(f(t)-b_j\sin(j\omega t))^2\dd t,\quad E^c_j=\int_0^T(f(t)-a_j\cos(j\omega t))^2\dd t. + E^s_j=\int_0^T(f(t)-a_j\sin(j\omega t))^2\dd t,\quad E^c_j=\int_0^T(f(t)-b_j\cos(j\omega t))^2\dd t. \end{equation} Puis on va déterminer $a_j,b_j$ tels que $E_j^s$ et $E_j^c$ sont minimales. Pour ce faire on va utiliser les dérivées et déterminer nos coefficients en résolvant les équations @@ -2479,22 +2479,22 @@ et déterminer nos coefficients en résolvant les équations \end{align} Pour l'équation \eqref{eq_deriv_aj}, on a \begin{align} - \dDeriv{E^c_j}{a_j}&=\dDeriv{\int_0^T(f(t)-a_j\cos(j\omega t))^2\dd t}{a_j},\nonumber\\ - &=\underbrace{\dDeriv{(\int_0^Tf^2(t)\dd t)}{a_j}}_{=0}+\dDeriv{(a_j^2\int_0^T(\cos^2(j\omega t)\dd t))}{a_j}-\dDeriv{(2a_j\int_0^T(f(t)\cos(j\omega t)\dd t))}{a_j},\nonumber\\ - &=2a_j\int_0^T\cos^2(j\omega t)\dd t-2\int_0^Tf(t)\cos(j\omega t)\dd t,\nonumber\\ - &=2a_j\frac{T}{2}-2\int_0^T\cos(j\omega t)f(t)\dd t. + \dDeriv{E^c_j}{b_j}&=\dDeriv{\int_0^T(f(t)-b_j\cos(j\omega t))^2\dd t}{b_j},\nonumber\\ + &=\underbrace{\dDeriv{(\int_0^Tf^2(t)\dd t)}{b_j}}_{=0}+\dDeriv{(b_j^2\int_0^T(\cos^2(j\omega t)\dd t))}{b_j}-\dDeriv{(2b_j\int_0^T(f(t)\cos(j\omega t)\dd t))}{b_j},\nonumber\\ + &=2b_j\int_0^T\cos^2(j\omega t)\dd t-2\int_0^Tf(t)\cos(j\omega t)\dd t,\nonumber\\ + &=2b_j\frac{T}{2}-2\int_0^T\cos(j\omega t)f(t)\dd t. \end{align} Finalement on obtient \begin{equation} - a_j=\frac{2}{T}\int_0^T\cos(j\omega t)f(t)\dd t. + b_j=\frac{2}{T}\int_0^T\cos(j\omega t)f(t)\dd t. \end{equation} -Pour $b_j$ on a de façon similaire +Pour $a_j$ on a de façon similaire \begin{equation} - b_j=\frac{2}{T}\int_0^T\sin(j\omega t)f(t)\dd t. + a_j=\frac{2}{T}\int_0^T\sin(j\omega t)f(t)\dd t. \end{equation} En particulier si $j=0$, on a \begin{equation} -b_0=0,\quad a_0=\frac{2}{T}\int_0^T f(t)\dd t. +a_0=0,\quad b_0=\frac{2}{T}\int_0^T f(t)\dd t. \end{equation} On constate que $a_0/2$ correspond à la valeur moyenne de $f(t)$ dans $[0,T]$. Cela permet d'approximer des fonctions dons la valeur moyenne n'est pas nulle (les sinus et cosinus ont toujours @@ -2518,8 +2518,8 @@ Cela est dû à la propriété d'othorgonalité des fonctions sinus/cosinus. En multipliant l'équation \eqref{eq_decomp_sincos} par $\frac{2}{T}\sin(k \omega t)$ et en intégrant entre $0$ et $T$, on obtient \begin{align} -\frac{2}{T}\int_0^T f(t)\sin(k\omega t)\dd t&=\frac{2}{T}\sum_{j=0}^\infty \left(a_j\underbrace{\int_0^T\cos(j\omega t)\sin(k\omega t)\dd t}_{=0}+b_j\underbrace{\int_0^T\sin(j\omega t)\sin(k \omega t)}_{=\frac{T}{2}\delta_{jk}}\right),\nonumber\\ -\frac{2}{T}\int_0^T f(t)\sin(k\omega t)\dd t&=\sum_{j=0}^\infty b_j \delta_{jk}=b_k, +\frac{2}{T}\int_0^T f(t)\sin(k\omega t)\dd t&=\frac{2}{T}\sum_{j=0}^\infty \left(b_j\underbrace{\int_0^T\cos(j\omega t)\sin(k\omega t)\dd t}_{=0}+a_j\underbrace{\int_0^T\sin(j\omega t)\sin(k \omega t)\dd t}_{=\frac{T}{2}\delta_{jk}}\right),\nonumber\\ +\frac{2}{T}\int_0^T f(t)\sin(k\omega t)\dd t&=\sum_{j=0}^\infty a_j \delta_{jk}=a_k, \end{align} où $\delta_{jk}$ est le ``delta de Kronecker'', dont la définition est \begin{equation} @@ -2532,8 +2532,8 @@ où $\delta_{jk}$ est le ``delta de Kronecker'', dont la définition est En multipliant l'équation \eqref{eq_decomp_sincos} par $\frac{2}{T}\cos(k \omega t)$ et en intégrant entre $0$ et $T$, on obtient \begin{align} -\frac{2}{T}\int_0^T f(t)\cos(k\omega t)\dd t&=\frac{2}{T}\sum_{j=0}^\infty \left(a_j\underbrace{\int_0^T\cos(j\omega t)\sin(k\omega t)\dd t}_{=\frac{T}{2}\delta_{jk}}+b_j\underbrace{\int_0^T\sin(j\omega t)\sin(k \omega t)}_{=0}\right),\nonumber\\ -\frac{2}{T}\int_0^T f(t)\cos(k\omega t)\dd t&=\sum_{j=0}^\infty a_j \delta_{jk}=a_k. +\frac{2}{T}\int_0^T f(t)\cos(k\omega t)\dd t&=\frac{2}{T}\sum_{j=0}^\infty \left(a_j\underbrace{\int_0^T\cos(j\omega t)\sin(k\omega t)\dd t}_{=0}+b_j\underbrace{\int_0^T\cos(j\omega t)\cos(k \omega t)\dd t}_{=\frac{T}{2}\delta_{jk}}\right),\nonumber\\ +\frac{2}{T}\int_0^T f(t)\cos(k\omega t)\dd t&=\sum_{j=0}^\infty b_j \delta_{jk}=b_k. \end{align} \subsubsection{Les séries de Fourier en notations complexes} @@ -2543,9 +2543,9 @@ Cette écriture nous fait penser qu'il pourrait être possible de réécrire cet de nouveaux coefficients $c_n$, \begin{equation} c_n=\left\{\begin{array}{ll} - \frac{a_n+ib_n}{2}, & $\mbox{ si }$n<0\\ - \frac{a_0}{2}, & $\mbox{ si }$n=0\\ - \frac{a_n-ib_n}{2}, & $\mbox{ si }$n>0 + \frac{b_n+ia_n}{2}, & $\mbox{ si }$n<0\\ + \frac{b_0}{2}, & $\mbox{ si }$n=0\\ + \frac{b_n-ia_n}{2}, & $\mbox{ si }$n>0 \end{array}\right. \end{equation} Avec cette notation, on peut réécrire l'équation \eqref{eq_decomp_sincos} (exercice) comme @@ -2594,7 +2594,7 @@ ainsi que la notation $\omega_j=j\omega$, on peut réécrire cette équation &=\frac{1}{2\pi}\sum_{j=-\infty}^\infty (\Delta \omega_j)\fh(\omega_j) e^{i\omega_j t}. \end{align} Maintenant pour passer dans le cas où la fonction n'est pas périodique (la période est infinie), nous -devons prendre la limite $\omega_j\rightarrow 0$ dans l'équation précédente, et on voit apparaître une somme de Riemann +devons prendre la limite $\Delta \omega_j\rightarrow 0$ dans l'équation précédente, et on voit apparaître une somme de Riemann \begin{align} f(t)&=\frac{1}{2\pi}\sum_{j=-\infty}^\infty \lim\limits_{\Delta \omega_j\rightarrow 0}\Delta \omega_j\fh(\omega_j) e^{i\omega_j t},\nonumber\\ &=\frac{1}{2\pi}\int_{-\infty}^\infty \fh(\omega) e^{i\omega t}\dd\omega. @@ -2830,9 +2830,9 @@ Montrons à présent que la transformée inverse discrète de la transformée de discrète donne bien la suite de départ \begin{align} f[n]&=\frac{1}{N}\sum_{k=0}^{N-1} \fh[k] e^{\frac{2\pi i k n}{N}},\nonumber\\ - &=\frac{1}{N}\sum_{k=0}^{N-1} \sum_{m=0}^{N-1} f[m] e^{-\frac{2\pi k m}{N}} e^{\frac{2\pi i k n}{N}},\nonumber\\ - &=\frac{1}{N}\sum_{k=0}^{N-1} \sum_{m=0}^{N-1} f[m] e^{\frac{2\pi k (n-m)}{N}},\nonumber\\ - &=\frac{1}{N}\sum_{m=0}^{N-1} f[m] \sum_{k=0}^{N-1} e^{\frac{2\pi k (n-m)}{N}},\nonumber\\ + &=\frac{1}{N}\sum_{k=0}^{N-1} \sum_{m=0}^{N-1} f[m] e^{-\frac{2\pi i k m}{N}} e^{\frac{2\pi i k n}{N}},\nonumber\\ + &=\frac{1}{N}\sum_{k=0}^{N-1} \sum_{m=0}^{N-1} f[m] e^{\frac{2\pi i k (n-m)}{N}},\nonumber\\ + &=\frac{1}{N}\sum_{m=0}^{N-1} f[m] \sum_{k=0}^{N-1} e^{\frac{2\pi i k (n-m)}{N}},\nonumber\\ &=\frac{1}{N}\sum_{m=0}^{N-1} f[m] N \delta_{nm},\nonumber\\ &=f[n]. \end{align} @@ -2867,7 +2867,7 @@ La transformée de Fourier discrète étant un échantillonage de la transformé à temps discret, toutes les propriétés discutées pour la transformée de Fourier à temps discret restent valides. En particulier la transformée de Fourier discrète est périodique, de période $N$ \begin{equation} - f[n]=f[n+N]. + \fh[k]=\fh[k+N]. \end{equation} A démontrer en exercice. diff --git a/tpFourier/mydata.txt b/tpFourier/mydata.txt new file mode 100644 index 0000000000000000000000000000000000000000..137ee761c50bd13aaf37d06f5a6c78077a1bcfa5 Binary files /dev/null and b/tpFourier/mydata.txt differ diff --git a/tpFourier/tpFourier.tex b/tpFourier/tpFourier.tex new file mode 100644 index 0000000000000000000000000000000000000000..c7d3db1eb491da44ae3863620da46bf29bd75b36 --- /dev/null +++ b/tpFourier/tpFourier.tex @@ -0,0 +1,70 @@ +\documentclass[a4paper,10pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[french]{babel} +\usepackage{amsfonts,bm,amsmath,amssymb,graphicx,verbatim} +\usepackage{cancel} + +\newcommand{\dd}{\mathrm{d}} +\newcommand{\hf}{\hat{f}} +\newcommand{\real}{\mathbb{R}} +\newcommand{\integer}{\mathbb{Z}} +\newcommand{\definition}{\textbf{Definition }} +\newcommand{\exemples}{\textbf{Exemples }} +\newcommand{\remarque}{\textbf{Remarque }} +\newcommand{\proprietes}{\textbf{Propriétés }} +\newcommand{\propriete}{\textbf{Propriété }} + +\title{Travaux pratiques: Transformées de Fourier} +% \author{Orestis Malaspinas} +\date{A rendre pour le 24.04.2017} + +\begin{document} +\maketitle + +\section*{Travaux pratiques: Transformées de Fourier} + +Le but de ce travail est d'essayer de comprendre comment utiliser les transformées de Fourier dans différentes applications, +en particulier le filtrage. Pour ce faire, nous allons considérer une fonction analytique ``simple'' (dont +la transformée de Fourier est facile à calculer) et la manipuler avec les fonctions préimplantées dans Matlab/Octave de +transformées de Fourier: \texttt{fft} et \texttt{ifft} (il s'agit donc également d'essayer de comprendre comment les manipuler). +Ces fonctions représentent respectivement les transformées de Fourier et transformées de Fourier inverses rapides. + +Dans un premier temps, nous allons considérer la fonction +\begin{equation} + f(t)=\cos(2\pi t)+0.9\cos(2\pi 10 t). +\end{equation} +Calculez analytiquement les coefficients de la série de Fourier de cette fonction +et la dessinez pour $t=0..10$ avec $\delta t=0.025$ le pas entre deux points. + +Une fois que cette étape est effectuée, utilisez la fonction \texttt{fft}, pour +calculer la transformée de Fourier, $\hf$, de $f$. Pour ce faire, +il faut ``\'echantillonner $f$ (choisir le pas de temps qu'on veut pour représenter +$f(t)$ numériquement). Un bon choix est de prendre $\delta t=0.025$. +Représentez le module de transformée de Fourier sur un graphique en fonction de la fréquence, $\nu$\footnote{Indication: l'amplitude de la transformée de Fourier doit être normalisée par le +nombre échantillons de la fonction. De plus vous allez constater que le spectre se trouve représenté deux fois dans le vecteur donné par la fonction \texttt{fft}, à vous de tout remettre à l'échelle comme il faut}. +Qu'observez-vous? Le résultat est-il cohérent avec le résultat analytique? +Reconstruire $f(t)$ à partir de $\hf(\nu)$ avec la fonction \texttt{ifft}. Superposer la fonction obtenue avec avec la fonction originale, que note-t-on? +Refaites ces étapes en utilisant $\delta t=0.05,0.1$ que notez-vous? Comment expliquer le phénomène? + +En principe, vous avez dû trouver un spectre avec deux pics. Ôtez le premier +pic, puis le second et avec \texttt{ifft} +calculez les transformées de Fourier inverses et représentez les superposées à la fonction originale\footnote{Il faut ``filtrer'' dans le monde des fréquences et effectuer la tranformées de Fourier inverse pour avoir +le signal dans le temps. Attention le spectre est présent à double.}. Discutez les résultats. + +Chargez le fichier \texttt{mydata.txt} qui contient deux colonnes. Le temps $t$, et une fonction $h(t)$. Représentez la fonction sur un graphique. +Calculez la transformée de Fourier de cette fonction avec \texttt{fft} et faites un graphique de $\hat{h}(\nu)$. Filtrez toutes les fréquences $\nu>10$ de $\hat{h}(\nu)$ dans +l'espace spectral. Reconstruisez la la fonction dans l'espace temporel depuis la fonction filtrée. Superposez +le résultat avec la fonction originale. Que constatez-vous? Comparez le résultat avec la fonction $f(t)$. + + +\section*{Remarques} + +Le travail peut-être effectué en groupe de deux. +Déposez le rapport et le code sur le site du cours s'il vous plaît, cela simplifie mon administration (et évite les problèmes avec les étudiants qui +ne mettent pas de nom sur le rapport...). + +La note sera une combinaison entre le code rendu et le rapport (moitié/moitié). + + + +\end{document}