\documentclass[t]{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{color}
\usepackage{xcolor}
\usepackage{url}
\usepackage{theorem}
\usepackage{textcomp}
\usepackage{listings}
\usepackage{hyperref}
%\usepackage{glossaries}
\usepackage{parskip}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{stmaryrd}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{longtable}
\usepackage{pgfplots}
\usepackage{nicematrix}
\usepackage[table]{xcolor}
\usepackage{assets/texpackages/annotate-equations}
\graphicspath{ {./assets/} }
\usetheme{Berkeley}


\title[DSP et Sismologie]{Traitement de signaux pour la détection de séismes et leur multilatération}
\subtitle{Théorie, pratique et résultats}

\author[Dalibard]{Dalibard Louis}
\date{\today}

% Define custom colors
\definecolor{mmi1}{HTML}{FFFFFF}
\definecolor{mmi2}{HTML}{BFCCFF}
\definecolor{mmi3}{HTML}{A0E6FF}
\definecolor{mmi4}{HTML}{80FFFF}
\definecolor{mmi5}{HTML}{7AFF93}
\definecolor{mmi6}{HTML}{FFFF00}
\definecolor{mmi7}{HTML}{FFC800}
\definecolor{mmi8}{HTML}{FF9100}
\definecolor{mmi9}{HTML}{FF0000}
\definecolor{mmi10}{HTML}{C80000}
\definecolor{mmi11}{HTML}{A40000}
\definecolor{mmi12}{HTML}{800000}

\begin{document}
\begin{frame}
	\titlepage
\end{frame}
\AtBeginSection[] { \begin{frame}\frametitle{Table des contenus} \tableofcontents[currentsection]\end{frame} }

\section{Séismes}
\begin{frame}
	\frametitle{Introduction}
	\begin{center}
	\includegraphics[width=8cm, trim={0 0 0 0}, clip]{eq-ed-fault-labeled.png}
	\end{center}
\end{frame}
\begin{frame}
	\frametitle{Ondes P et S}
	\begin{figure}%
    \centering
    \subfloat[\centering Ondes P]{{\includegraphics[width=4cm, trim={0 0 0 0}, clip]{Onde_compression_impulsion_1d_30_petit.png}}}%
    \qquad
    \subfloat[\centering Ondes S]{{\includegraphics[width=4cm, trim={0 0 0 0}, clip]{Onde_cisaillement_impulsion_1d_30_petit.png}}}%
    \caption{Ondes P et S}%
    \label{fig:ondespets}%
\end{figure}
\end{frame}

\begin{frame}
	\frametitle{Ondes P et S}
	\begin{center}
	\includegraphics[width=7cm, trim={0 12.5mm 0cm 2cm}, clip]{2025-03-26T23:29:53,572838335+01:00.png}
	\captionof{figure}{6 km/s (ondes P) vs 4 km/s (ondes S)}
	\end{center}
\end{frame}

\section{Théorie}
\begin{frame}
	\frametitle{Principe}
	Différentes étapes:
	\begin{enumerate}
		\item Acquisition de données en temps réel (SeedLink)
		\item Reconnaissance d'un séisme et mesure automatique des temps
		\item Calcul de la position et de la magnitude
		\begin{enumerate}
         \item Modélisation de la propagation des ondes sismiques
         \item Méthode numérique d'optimisation de fonction à plusieurs variables pour la multilatération
         \item Calcul de la magnitude
       	\end{enumerate}
	\end{enumerate}
\end{frame}

\subsection{DSP}
\begin{frame}
\frametitle{Acquisition des données}
\renewcommand{\arraystretch}{1.2}

\tiny
\begin{longtable}{|l|l|}
    \hline
    \textbf{Name} & \textbf{Host} \\
    \hline
    AusPass & auspass.edu.au \\
    BGR & eida.bgr.de \\
    CISMID & www.cismid.uni.edu.pe \\
    ENS & ephesite.ens.fr \\
    \dots & \dots \\
    Red Sìsmica Baru & helis.redsismicabaru.com \\
    RESIF & rtserve.resif.fr \\
    SANET & 147.213.113.73 \\
    RSIS & rsis1.on.br \\
    SCSN-USC (South Carolina Seismic Network) & eeyore.seis.sc.edu:6382 \\
    Seisme IRD & rtserve.ird.nc \\
    Staneo & vibrato.staneo.fr \\
    SNAC NOA & snac.gein.noa.gr \\
    TexNet & rtserve.beg.utexas.edu \\
    Thai Meteorological Department & 119.46.126.38 \\
    UFRN (Universidade Federal do Rio Grande do Norte) & sislink.geofisica.ufrn.br \\
    Unical Universita Della Calabria & www.sismocal.org \\
    UNITS Università degli studi di Trieste & rtweb.units.it \\
    UNIV-AG Université des Antilles & seedsrv0.ovmp.martinique.univ-ag.fr \\
    Universidade de Évora & clv-cge.uevora.pt \\
    Universidad de Colima & 148.213.24.15 \\
    UPR & worm.uprm.edu \\
    USGS & cwbpub.cr.usgs.gov \\
    USP-IAG & seisrequest.iag.usp.br \\
    \hline
\end{longtable}
\end{frame}
\begin{frame}
\frametitle{Extraction des temps d'arrivée}
\begin{center}
	\includegraphics[width=10cm, trim={0 0 0 0}, clip]{R0ED0.EHZ-1743142835749.9944-cropped.png}\\
	\captionof{figure}{Exemple d'un enregistrement de sismographe}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Convolution}
\begin{center}
	\begin{center}
\begin{tikzpicture}[scale=0.5]
    \begin{axis}[
        axis lines = middle,
        xlabel = {$x$},
        ylabel = {$y$},
        samples=100,
        domain=-6:6,
        legend pos=north east,
        width=2\textwidth,
        height=0.7\textheight
    ]
        % Define the functions
        \addplot[blue, thick] {sin(deg(x))} node[right] {\footnotesize $f(x) = \sin x$};
        \addplot[red, thick] {cos(deg(2*x))} node[right] {\footnotesize $g(x) = \cos 2x$};
        \addplot[green, thick] {sin(deg(x)) + cos(deg(2*x))} node[right] {\footnotesize $h(x) = f(x) + g(x)$};
        
        % Add legend
        \legend{$f(x) = \sin x$, $g(x) = \cos 2x$, $h(x) = f(x) + g(x)$}
    \end{axis}
\end{tikzpicture}
\end{center}
\begin{center}
\begin{tikzpicture}[scale=0.5]
    \begin{axis}[
        axis lines = middle,
        xlabel = {$x$},
        ylabel = {$y$},
        samples=100,
        domain=-6:6,
        legend pos=north east,
        width=2\textwidth,
        height=0.7\textheight
    ]
        % Define the functions
        \addplot[blue, thick] {sin(deg(x))} node[right] {\footnotesize $f(x) = \sin x$};
        \addplot[red, thick] {cos(deg(2*x))} node[right] {\footnotesize $g(x) = \cos 2x$};
        \addplot[green, thick] {sin(deg(x)) * cos(deg(2*x))} node[right] {\footnotesize $h(x) = f(x) \cdot g(x)$};
        
        % Add legend
        \legend{$f(x) = \sin x$, $g(x) = \cos 2x$, $h(x) = f(x) \cdot g(x)$}
    \end{axis}
\end{tikzpicture}
\end{center}
\begin{center}
\begin{tikzpicture}[scale=0.5]
    \begin{axis}[
        axis lines = middle,
        xlabel = {$x$},
        ylabel = {$y$},
        samples=100,
        domain=-6:6,
        legend pos=north east,
        width=2\textwidth,
        height=0.7\textheight
    ]
        % Define the functions
        \addplot[blue, thick] {sin(deg(x))} node[right] {\footnotesize $f(x) = \sin x$};
        \addplot[red, thick] {cos(deg(2*x))} node[right] {\footnotesize $g(x) = \cos 2x$};
        \addplot[green, thick] {0} node[right] {\footnotesize $h(x) = (f*g)(x)$};
        
        % Add legend
        \legend{$f(x) = \sin x$, $g(x) = \cos 2x$, $h(x) = (f*g)(x) = 0$}
    \end{axis}
\end{tikzpicture}
\end{center}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Convolution}
Soit $f$ et $g$ deux fonctions intégrables sur $\mathbb{R}$.
Pour tout $t \in \mathbb{R}$,
\[ (f*g)(t)=\int_{-\infty}^{+\infty} f(x) \cdot g(t-x) dx \]

Soit $f$ et $g$ deux fonctions de $\mathbb{Z}$ dans $\mathbb{C}$.
Pour tout $n \in \mathbb{Z}$,
\[ (f*g)[n]=\sum_{m=-\infty}^{+\infty} f[m] \cdot g[n-m] \]

Pour des fonctions périodiques, on intègre sur une période.
Pour tout $t \in \mathbb{R}$,
\[ (f*g)(t)=\int_{0}^{T} f(x) \cdot g(t-x) dx \]
\end{frame}

\begin{frame}
\frametitle{Propriétés algébriques de la convolution}
\begin{itemize}
\item Commutatif

On remarquera que si \[ (f*g)(t)=\int_{-\infty}^{+\infty} f(x) \cdot g(t-x) dx \]

Et on fait le changement de variable $u=t-x$

On a \[ (f*g)(t)=\int_{+\infty}^{-\infty} f(t-u) \cdot g(u) -du\]
\[=\int_{-\infty}^{+\infty} f(t-u) \cdot g(u) du=(g*f)(t)\]
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Propriétés algébriques de la convolution}
\begin{itemize}
\item Distributif
\[ f*(g+h)= f*g+f*h \]
Par linéarité de l'intégrale.
\item Associatif
\[ (f*g)*h= f*(g*h) \]
C'est une conséquence du théorème de Fubini.
\end{itemize}

L'espace des fonctions intégrables muni de $*$ forme un demi-groupe commutatif (car pas d'élement neutre).
\end{frame}

\begin{frame}
\frametitle{Exemple avec des combinaisons de dés}
\begin{center}
\vspace*{0.75cm}
    \begin{tikzpicture}[scale=0.5]
        % Define Dice Faces
        \def\diceA{1,2,3,4,5,6} % Top Die (Static)
        \def\diceB{6,5,4,3,2,1} % Bottom Die (Sliding)

        % Define step spacing
        \def\stepSpace{3}

        % Loop through each step
        \foreach \step in {-5,-4,-3,-2} {
        		\pgfmathsetmacro{\sommedonnant}{int(7 + \step)}
            % Label step number
            \node[anchor=east] at (-0.5, -\step*3) {Somme donnant \sommedonnant:};

            % Top Row - Fixed Dice
            \foreach \x [count=\i] in \diceA {
                \node[draw, minimum size=0.5cm] at (\i, -\step*3) {\x};
            }

            % Bottom Row - Sliding Dice
            \foreach \x [count=\i] in \diceB {
            		\pgfmathsetmacro{\sumval}{int(\i + \step)}
            		\ifnum \sumval > 0 \ifnum \sumval < 7 \node[draw=red, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
            		\else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
                \else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
            }
        }
    \end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Exemple avec des combinaisons de dés}
\begin{center}
\vspace*{0.75cm}
    \begin{tikzpicture}[scale=0.5]
        % Define Dice Faces
        \def\diceA{1,2,3,4,5,6} % Top Die (Static)
        \def\diceB{6,5,4,3,2,1} % Bottom Die (Sliding)

        % Define step spacing
        \def\stepSpace{3}

        % Loop through each step
        \foreach \step in {-1,0,1,2} {
        		\pgfmathsetmacro{\sommedonnant}{int(7 + \step)}
            % Label step number
            \node[anchor=east] at (-0.5, -\step*3) {Somme donnant \sommedonnant:};

            % Top Row - Fixed Dice
            \foreach \x [count=\i] in \diceA {
                \node[draw, minimum size=0.5cm] at (\i, -\step*3) {\x};
            }

            % Bottom Row - Sliding Dice
            \foreach \x [count=\i] in \diceB {
            		\pgfmathsetmacro{\sumval}{int(\i + \step)}
            		\ifnum \sumval > 0 \ifnum \sumval < 7 \node[draw=red, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
            		\else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
                \else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
            }
        }
    \end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Exemple avec des combinaisons de dés}
\begin{center}
\vspace*{0.75cm}
    \begin{tikzpicture}[scale=0.5]
        % Define Dice Faces
        \def\diceA{1,2,3,4,5,6} % Top Die (Static)
        \def\diceB{6,5,4,3,2,1} % Bottom Die (Sliding)

        % Define step spacing
        \def\stepSpace{3}

        % Loop through each step
        \foreach \step in {3,4,5} {
        		\pgfmathsetmacro{\sommedonnant}{int(7 + \step)}
            % Label step number
            \node[anchor=east] at (-0.5, -\step*3) {Somme donnant \sommedonnant:};

            % Top Row - Fixed Dice
            \foreach \x [count=\i] in \diceA {
                \node[draw, minimum size=0.5cm] at (\i, -\step*3) {\x};
            }

            % Bottom Row - Sliding Dice
            \foreach \x [count=\i] in \diceB {
            		\pgfmathsetmacro{\sumval}{int(\i + \step)}
            		\ifnum \sumval > 0 \ifnum \sumval < 7 \node[draw=red, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
            		\else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
                \else
                \node[draw, minimum size=0.5cm] at (\i+\step, -\step*3-1) {\x};
                \fi
            }
        }
    \end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}
	\frametitle{Lien avec les convolutions}
	\begin{center}
\noindent\begin{minipage}{.5\textwidth}
\centering
  \begin{tikzpicture}[scale=0.4]
        \begin{axis}[
            xlabel={Somme},
            ylabel={Fréquence},
            ymin=0,
            ymax=7,
            xmin=1.5,
            xmax=12.5,
            xtick={2,3,4,5,6,7,8,9,10,11,12},
            ytick={1,2,3,4,5,6,7},
            area style,
            width=12cm,
            height=8cm,
            major grid style={line width=.2pt,draw=gray!50},
            grid=major,
            bar width=0.8,
            title={Distribution des sommes},
            nodes near coords,
        ]
        \addplot[fill=blue!40, draw=blue!80, opacity=0.8] coordinates {
            (2,1)
            (3,2)
            (4,3)
            (5,4)
            (6,5)
            (7,6)
            (8,5)
            (9,4)
            (10,3)
            (11,2)
            (12,1)
        };
        \end{axis}
\end{tikzpicture}
  \end{minipage}%
\begin{minipage}{.5\textwidth}
\centering
  \begin{tikzpicture}[scale=0.5]
        \begin{axis}[
            xlabel={$x$},
            ylabel={$f(x)$},
            xmin=-1,
            xmax=8,
            ymin=-0.2,
            ymax=1.4,
            xtick={-1,0,1,2,3,4,5,6,7,8},
            ytick={0,1},
            width=10cm,
            height=6cm,
            grid=major,
            title={Fonction nulle puis constante égale à $1$ puis nulle},
            samples=100,
            domain=-1:8,
            clip=false,
        ]
        % Plot the function
        \addplot[blue, thick, const plot] coordinates {
            (-1, 0)
            (0.999, 0)
            (1, 1)
            (6, 1)
            (6.001, 0)
            (8, 0)
        };
        
        % Add markers to explicitly show the endpoints
        \addplot[only marks, mark=*, mark options={fill=red}] coordinates {
            (1, 1)
            (6, 1)
        };
        
    \end{axis}
\end{tikzpicture}
 \end{minipage}
\end{center}
\begin{center}
\includegraphics[width=7cm, trim={0 0 0 0}, clip]{2025-04-01T23:42:09,818697014+02:00.png}
\captionof{figure}{numpy confirme ce résultat}
\end{center}
\end{frame}
\begin{frame}
	\frametitle{Intuition sur la convolution}
	\begin{center}
    \begin{tikzpicture}
        \begin{axis}[
            axis lines = middle,
            xlabel = {$x$},
            ylabel = {$y$},
            samples=100,
            domain=-6:6,
            legend pos=north east,
            width=1\textwidth,
            height=1.1\textheight
        ]
            \addplot[blue, thick] {cos(deg(2*x))};
            \addlegendentry{$\cos(2x)$}
            \addplot[red, thick] {sin(deg(x))};
            \addlegendentry{$\sin(x)$}
        \end{axis}
    \end{tikzpicture}
    \end{center}
\end{frame}
\begin{frame}
	\frametitle{Intuition sur la convolution}
	\begin{center}
    \begin{tikzpicture}
        \begin{axis}[
            axis lines = middle,
            xlabel = {$x$},
            ylabel = {$y$},
            samples=100,
            domain=-6:6,
            legend pos=north east,
            width=1\textwidth,
            height=1.1\textheight
        ]
            \addplot[blue, thick] {cos(deg(2*x))};
            \addlegendentry{$\cos(2x)$}
            \addplot[red, thick] {sin(deg(-x))};
            \addlegendentry{$\sin(-x)$}
        \end{axis}
    \end{tikzpicture}
    \end{center}
\end{frame}
\begin{frame}
	\frametitle{Intuition sur la convolution}
	\begin{center}
        \begin{tikzpicture}
            \begin{axis}[
                axis lines = middle,
                xlabel = {$x$},
                ylabel = {$y$},
                samples=100,
                domain=-6:6,
                legend pos=north east,
                width=1\textwidth,
                height=1.1\textheight
            ]
                \addplot[blue, thick] {cos(deg(2*x))*sin(deg(-x))};
                \addlegendentry{$\cos(2x)\sin(-x)$}
        
                % Highlight positive areas in red
                \addplot [fill=red, opacity=0.3, domain=-2*pi:2*pi] 
                    {max(0, cos(deg(2*x))*sin(deg(-x)))} \closedcycle;
        
                % Highlight negative areas in blue
                \addplot [fill=blue, opacity=0.3, domain=-2*pi:2*pi] 
                    {min(0, cos(deg(2*x))*sin(deg(-x)))} \closedcycle;
        
            \end{axis}
        \end{tikzpicture}
        \end{center}
\end{frame}
\begin{frame}
	\frametitle{Moyennage}
\begin{center}
    \begin{tikzpicture}[scale=0.7]
        \begin{axis}[
            xlabel={$x$},
            ylabel={$y$},
            xmin=-0.5,
            xmax=23.5,
            ymin=-0.5,
            ymax=9,
            xtick={0,2,4,6,8,10,12,14,16,18,20,22},
            width=12cm,
            height=8cm,
            grid=major,
            title={Moyennage par convolution},
            legend pos=north west,
        ]
        % Plot the first dataset with connected lines
        \addplot[blue, thick] coordinates {
            (0,0) (1,0) (2,0) (3,0) (4,1) (5,2) (6,3) (7,4) (8,5) (9,6) (10,7) (11,8)
            (12,0) (13,4) (14,2) (15,3) (16,8) (17,1) (18,2) (19,4) (20,8) (21,0) (22,0) (23,0)
        };
        
        % Plot the second dataset with connected lines
        \addplot[red, thick] coordinates {
            (0,0) 
            (1,0.16666667) 
            (2,0.5) 
            (3,1) 
            (4,1.66666667) 
            (5,2.5) 
            (6,3.5) 
            (7,4.5) 
            (8,5.5) 
            (9,5) 
            (10,5) 
            (11,4.5) 
            (12,4) 
            (13,4.16666667) 
            (14,3) 
            (15,3.33333333) 
            (16,3.33333333) 
            (17,4.33333333) 
            (18,3.83333333) 
            (19,2.5) 
            (20,2.33333333) 
            (21,2) 
            (22,1.33333333) 
            (23,0)
        };
        
        \legend{$g$, $g*\frac{f}{6}$}
        
    \end{axis}
    \end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}
	\frametitle{Transformée de Fourier discrète}
	$a=[a_0,a_1,...,a_{n-1}]$ et $b=[b_0,b_1,...,b_{k-1}]$
	
$(a*b)[p] = \sum\limits_{\substack{i\in\mathbb{Z} \\ 0\leq p-i\leq k\\ 0\leq i\leq n-1}} a_ib_{p-i}$

$P(X)=\sum_{i=0}^{n-1} a_i X^i$ et $Q(X)=\sum_{j=0}^{k-1} a_j X^j$

$(a*b)[p]$ est le coefficient du terme de degré $p$ dans le produit:

$PQ(X)=\sum_{j=0}^p(\sum\limits_{\substack{i\in\mathbb{Z} \\ 0\leq p-i\leq k-1\\ 0\leq i\leq n-1}} a_ib_{j-i})X^j$

On va évaluer en $\omega_n^k = e^{-\frac{2ki\pi}{n}}$ et utiliser la rigidité des polynômes.
\end{frame}
\begin{frame}
	\frametitle{Utilisation de la rigidité des polynômes}
On va évaluer en $\omega_n^k = e^{-\frac{2ki\pi}{n}}$, multiplier deux à deux les résultats et utiliser la rigidité des polynômes pour récuperer les coefficients finaux.

\end{frame}

\begin{frame}
	\frametitle{Radix-2 decimation-in-time (DIT) - Factorisation Cooley-Tukey}
Evaluer notre polynôme $P(x)=\sum_{i=0}^{n-1} a_i x^i$ en les $\omega_n^k$ revient à faire la multiplication matricielle suivante:
\small{
\[
R=\begin{bmatrix} f_0 \\ f_1 \\ \vdots \\ f_{n-1} \end{bmatrix}=\begin{bmatrix} P(\omega_n^0) \\ P(\omega_n^1) \\ \vdots \\ P(\omega_n^{n-1}) \end{bmatrix}\]
\[=
\begin{bmatrix} 
1 & 1 & 1 & \cdots & 1 \\ 
1 & \omega_n^1 & \omega_n^2 & \cdots & \omega_n^{n-1} \\ 
1 & \omega_n^2 & \omega_n^4 & \cdots & \omega_n^{2(n-1)} \\ 
\vdots & \vdots & \vdots & \ddots & \vdots \\ 
1 & \omega_n^{n-1} & \omega_n^{2(n-1)} & \cdots & \omega_n^{(n-1)(n-1)} 
\end{bmatrix}
\begin{bmatrix} a_0 \\ a_1 \\ \vdots \\ a_{n-1} \end{bmatrix}
\]}
\end{frame}

\begin{frame}
	\frametitle{Radix-2 decimation-in-time (DIT) - Factorisation Cooley-Tukey}
On se restreint au cas où $n=2^p$ ($p \in \mathbb{N}$)

On note la matrice de Vandermonde transposée, qui permet de calculer le DFT pour tous nos coefficients,
\small{
$F_{2^p}=\begin{bmatrix} 
1 & 1 & 1 & \cdots & 1 \\ 
1 & \omega_n^1 & \omega_n^2 & \cdots & \omega_n^{n-1} \\ 
1 & \omega_n^2 & \omega_n^4 & \cdots & \omega_n^{2(n-1)} \\ 
\vdots & \vdots & \vdots & \ddots & \vdots \\ 
1 & \omega_n^{n-1} & \omega_n^{2(n-1)} & \cdots & \omega_n^{(n-1)(n-1)} 
\end{bmatrix}$
}

On prend cette matrice diagonale,
\small{
$D_{2^{p-1}} =
\begin{bmatrix}
1 & 0 & 0 & \cdots & 0 \\
0 & \omega_{2^{p-1}} & 0 & \cdots & 0 \\
0 & 0 & \omega_{2^{p-1}}^2 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \omega_{2^{p-1}}^{2^{p-1}-1}
\end{bmatrix}$
}

\end{frame}

\begin{frame}
\frametitle{Radix-2 decimation-in-time (DIT) - Factorisation Cooley-Tukey}
\tiny{
\begin{equation*}
R=F_{2^p}\begin{bmatrix} a_0 \\ a_1 \\ \vdots \\ a_{n-1} \end{bmatrix}=
\begin{pNiceArray}{cc|cc}
  \eqnmarkbox[blue]{mcoeffdiag1}{I_{2^{p-1}}} && \eqnmarkbox[blue]{mcoeffdiag2}{D_{2^{p-1}}} \\
  \hline
  \eqnmarkbox[blue]{mcoeffdiag3}{I_{2^{p-1}}} && \eqnmarkbox[blue]{mcoeffdiag4}{-D_{2^{p-1}}}
\end{pNiceArray}
\begin{pNiceArray}{cc|cc}
  \eqnmarkbox[cyan]{mrecurrence1}{F_{2^{p-1}}} && \mathbf{0} \\
  \hline
  \mathbf{0} && \eqnmarkbox[cyan]{mrecurrence2}{F_{2^{p-1}}}
\end{pNiceArray}
\begin{bmatrix} 
  \eqnmarkbox[green]{mcoeffpairs1}{a_0} \\ 
  \eqnmarkbox[green]{mcoeffpairs2}{a_2} \\ 
  \vdots \\ 
  \eqnmarkbox[green]{mcoeffpairs3}{a_{2^{p-1}-2}}  \\ 
  \eqnmarkbox[green]{mcoeffpairs4}{a_{2^{p-1}}} \\ 
  \eqnmarkbox[magenta]{mcoeffimpairs1}{a_{1}} \\ 
  \eqnmarkbox[magenta]{mcoeffimpairs2}{a_{3}} \\ 
  \vdots \\ 
  \eqnmarkbox[magenta]{mcoeffimpairs3}{a_{n-3}} \\ 
  \eqnmarkbox[magenta]{mcoeffimpairs4}{a_{n-1}} 
\end{bmatrix}
\end{equation*}
}
\annotatetwo[yshift=1em]{above}{mcoeffdiag1}{mcoeffdiag2}{Blocs diagonaux, de l'ordre de $\mathcal{O}(n)$ opérations}
\annotate[yshift=1em]{above,left}{mcoeffpairs1}{Coefficients d'indice pair}
\annotate[yshift=0em]{below,left}{mcoeffimpairs4}{Coefficients d'indice impair}
\annotate[yshift=0em]{below,left}{mrecurrence2}{Récurrence}
\end{frame}

\begin{frame}
\frametitle{Radix-2 decimation-in-time (DIT) - Factorisation Cooley-Tukey}
On évalue la compléxité de l'algorithme.\\
On note $u_p$ sa complexité en fonction de $p$ et $C_n$ sa complexité en fonction de $n$.

\vspace*{0.3cm}
\begin{equation*}
u_{p+1}=\eqnmarkbox[magenta]{cdiagmult}{A \cdot 2^{p+1}}+\eqnmarkbox[red]{crec}{2u_{p}}
\end{equation*}
\annotate[yshift=0.5em]{above,left}{cdiagmult}{Compléxité du produit sur la diagonale}
\annotate[yshift=0em]{below,left}{crec}{Traitement des coefficients par récurrence}

On factorise par la solution homogène,
$\frac{u_{p+1}}{2^{p+1}}=A+\frac{u_{p}}{2^p}$

$\frac{u_{p}}{2^{p}}=u_{0}+A\cdot p$

$u_{p}=u_{0}\cdot2^{p}+A\cdot p \cdot 2^{p}$

Or $p=\log_2{n}$

Donc $C_n = u_{\log_2{n}} = u_{0} \cdot n+A \cdot \log_2{n} \cdot n = \mathcal{O}(n \log n)$
\end{frame}

\begin{frame}
\frametitle{IFFT}
On peut montrer que:
$F_{2^p}^{-1}=\frac{1}{2^p}\begin{bmatrix} 
1 & 1 & 1 & \cdots & 1 \\ 
1 & \overline{\omega_n}^1 & \overline{\omega_n}^2 & \cdots & \overline{\omega_n}^{n-1} \\ 
1 & \overline{\omega_n}^2 & \overline{\omega_n}^4 & \cdots & \overline{\omega_n}^{2(n-1)} \\ 
\vdots & \vdots & \vdots & \ddots & \vdots \\ 
1 & \overline{\omega_n}^{n-1} & \overline{\omega_n}^{2(n-1)} & \cdots & \overline{\omega_n}^{(n-1)(n-1)} 
\end{bmatrix}$

Et on a:

$A=\begin{bmatrix} a_0 \\ a_1 \\ \vdots \\ a_{n-1} \end{bmatrix}=F_{2^p}^{-1}R=F_{2^p}^{-1}\begin{bmatrix} f_0 \\ f_1 \\ \vdots \\ f_{n-1} \end{bmatrix}$


\end{frame}
\begin{frame}
\frametitle{IFFT}
Le conjugué passe au produit et à la somme, donc aussi pour les matrices (prendre le conjugué d'une matrice c'est prendre le conjugué des termes de la matrice).

$A=\overline{\overline{A}}=\overline{\overline{F_{2^p}^{-1}R}}=\overline{\overline{F_{2^p}^{-1}}\overline{R}}=\frac{1}{2^p}\overline{F_{2^p}\overline{R}}$

On peut donc utiliser la même technique, en prenant le conjugué avant d'appliquer un FFT et en le prenant après puis en renormalisant.
\end{frame}

\begin{frame}
\frametitle{Passage du domaine temporel au domaine fréquentiel}
Le fait de multiplier par ces coefficients spécifiques, revient à décomposer en ondes sinusoidales de différentes fréquences et phases notre signal.
\end{frame}

\begin{frame}
\frametitle{Corrélation croisée}
Si on définit $\tilde{f}(t)=f(-t)$

La corrélation croisée de  \(f\) et \(g\) est  \( (g * \tilde{f})(t) = \int_{-\infty}^{\infty} \overline{f(x-t)} g(x) \, dx \) 

\begin{center}
    \begin{tikzpicture}[scale=0.5]
        \begin{axis}[
            axis lines = middle,
            xlabel = {$x$},
            ylabel = {$y$},
            samples=100,
            domain=-6:6,
            legend pos=north east,
            width=2\textwidth,
            height=0.6\textheight
        ]
            \addplot[blue, thick] {cos(deg(x))};
            \addlegendentry{$g(x)=\cos(x)$}
            \addplot[red, thick] {sin(deg(x))};
            \addlegendentry{$f(x)=\sin(x)$}
        \end{axis}
    \end{tikzpicture}
    \end{center}
    
    \begin{center}
    \begin{tikzpicture}[scale=0.5]
        \begin{axis}[
            axis lines = middle,
            xlabel = {$x$},
            ylabel = {$y$},
            samples=100,
            domain=-6:6,
            legend pos=north east,
            width=2\textwidth,
            height=0.6\textheight
        ]
            \addplot[blue, thick] {pi*sin(deg(x))};
            \addlegendentry{$(g * \tilde{f})(t) = \pi \sin(t)$}
        \end{axis}
    \end{tikzpicture}
    \end{center}

\end{frame}


\subsection{Modélisation de la propagation des ondes sismiques}
\begin{frame}
	\frametitle{Calcul du temps de propagation selon iasp91}
	\begin{figure}%
    \centering
    \subfloat[\centering TauPy]{{\includegraphics[width=3cm, trim={0 0 0 0}, clip]{2025-03-26T23:10:40,393866488+01:00-side.png}}}%
    \qquad
    \subfloat[\centering]{{\includegraphics[width=4cm, trim={0 0 0 0}, clip]{IASP91.png}}}%
    \caption{iasp91}%
    \label{fig:iasp91}%
\end{figure}
\end{frame}
\begin{frame}
	\frametitle{Tabulation et interpolation}
\begin{center}
	\includegraphics[width=10cm, trim={12cm 4cm 12cm 8cm}, clip]{2025-03-24T00:28:53,070002973+01:00.png}\\
	\captionof{figure}{Visualization des deux tables précalculées}
\end{center}
\end{frame}
\subsection{Multilatération}
\begin{frame}
\frametitle{Fonction d'erreur}
\vspace*{1em}
\tiny{
\begin{equation*}
    \text{E}(\eqnmarkbox[blue]{p1}{depth},\eqnmarkbox[blue]{p2}{lat},\eqnmarkbox[blue]{p3}{lon},\eqnmarkbox[blue]{p4}{epoch},\eqnmarkbox[green]{p5}{obs})=\end{equation*}\vspace*{5em}
    \begin{equation*}\sum_i \left(\frac{\eqnmarkbox[green]{p6}{(obs_iS-epoch)}-\eqnmarkbox[blue]{p7}{\text{S}(depth, \eqnmark[red]{p8}{\text{greatCircleAngle}(lat,lon,lat_i,lon_i))}}}{\eqnmarkbox[green]{p9}{obs_iS-epoch}}\right)^{\eqnmarkbox[magenta]{p11}{2}}+
    \end{equation*}\vspace*{3em}
    \begin{equation*}
    \eqnmarkbox[pink]{p10}{\left(\frac{(obs_iP-epoch)-\text{P}(depth, \text{greatCircleAngle}(lat,lon,lat_i,lon_i))}{obs_iP-epoch}\right)^2}
\end{equation*}}
\annotate[yshift=0em]{below}{p1}{\tiny{Profondeur estimée}}
\annotatetwo[yshift=1.2em]{above}{p2}{p3}{\tiny{Latitude et longitude estimée}}
\annotate[yshift=0.5em]{above}{p4}{\tiny{Date de début du séisme estimée}}
\annotate[yshift=-0.4em]{below}{p5}{\tiny{Tableau des observations}}
\annotate[yshift=2.5em]{above}{p6}{\tiny{Temps de propagation avec la date de début du séisme estimée}}
\annotate[yshift=3.5em]{above,left}{p7}{\tiny{Temps de propagation calculé par le modèle}}
\annotate[yshift=1em]{above,left}{p8}{\tiny{Calcul de l'angle entre le seismographe et la position estimée du séisme}}
\annotate[yshift=0em]{below,left}{p9}{\tiny{Renormalisation}}
\annotate[yshift=-6em]{below,left}{p11}{\tiny{On fait la moyenne quadratique pour avoir l'écart}}
\annotate[yshift=0em]{below,left}{p10}{\tiny{Idem mais pour l'onde P}}
\end{frame}
\begin{frame}
\frametitle{Implémentation de la fonction d'erreur}
\begin{center}
	\includegraphics[width=10cm, trim={0 0 0 0}, clip]{2025-03-31T10:14:11,496825900+02:00.png}\\
	\captionof{figure}{Implémentation de la fonction d'erreur}
\end{center}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=10cm, trim={0 0 0 0}, clip]{neldermead/An-iteration-of-the-Nelder-Mead-method-over-two-dimensional-space-showing-point-p-min.png}
  \captionof{figure}{Une itération de Nelder-Mead sur un espace de dimension 2}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0001.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0002.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0003.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0004.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0005.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0006.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0007.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0008.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0009.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0010.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0011.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0012.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0013.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0014.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0015.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0016.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0017.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0018.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0019.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\begin{frame}
\frametitle{Méthode de Nelder-Mead}
\centering
\includegraphics[width=6cm, trim={0 0 0 0}, clip]{neldermead/Nelder-Mead_Himmelblau-0020.png}
  \captionof{figure}{Nelder-Mead sur la fonction de Himmelblau}
\end{frame}
\subsection{Magnitude sismique}
\begin{frame}
\frametitle{Formule de calcul de magnitude sur l'échelle Richter}
\[
M_\mathrm{L} = \log_{10} \left[ \frac{A}{A_\mathrm{0}(\delta)} \right]
\]

\noindent
où $A$ correspond à l'amplitude maximale mesurée (en m) par le sismographe et $A_\mathrm{0}(\delta)$ un coefficient de correction qui dépend de la distance ($\delta$) à l'epicentre et dont le calcul diffère selon les modèles employés (généralement on utilise une table de correrlation empirique).


On utilisera la formule empirique de Tsuboi (Université de Tokyo): 
\[
M_{\mathrm{L}} = \log_{10} A + 1.73 \log_{10} \Delta - 0.83
\]

\noindent
où \( A \) est l'amplitude en micromètres et \( \Delta \) est la distance en kilomètres.
\end{frame}
\begin{frame}
\frametitle{Tableau}
\tiny
\begin{center}
\begin{tabular}{|>{\columncolor{white}}l|l|l|p{5cm}|}
\hline
\rowcolor{gray!30}
\textbf{Magnitude} & \textbf{Description} & \textbf{MMI Typique} & \textbf{Effets Moyens du Séisme} \\
\hline
\cellcolor{mmi1}1.0 - 1.9 & Micro & I & Micro-séismes, non ressentis. Enregistrés par les sismographes. \\
\hline
\cellcolor{mmi1}2.0 - 2.9 & Mineur & I & Légèrement ressenti par certaines personnes. Aucun dommage aux bâtiments. \\
\hline
\cellcolor{mmi3}3.0 - 3.9 & Léger & II à III & Souvent ressenti, mais cause rarement des dégâts. Secousses perceptibles d’objets à l’intérieur. \\
\hline
\cellcolor{mmi5}4.0 - 4.9 & Faible & IV à V & Secousses intérieures notables et bruits de cliquetis. Légèrement ressenti à l’extérieur. Dégâts minimes possibles. \\
\hline
\cellcolor{mmi6}5.0 - 5.9 & Modéré & VI à VII & Peut endommager les bâtiments mal construits ; ressenti par tous. Peu ou pas de dégâts aux bâtiments solides. \\
\hline
\cellcolor{mmi7}6.0 - 6.9 & Fort & VII à IX & Dégâts modérés aux structures solides ; dégâts sévères aux structures faibles. Ressenti sur de grandes régions. \\
\hline
\cellcolor{mmi8}7.0 - 7.9 & Majeur & VIII ou plus & Dégâts majeurs et effondrements possibles. Dommages concentrés dans un rayon de 250 km. \\
\hline
\cellcolor{mmi9}8.0 - 8.9 & Très fort & VIII+ & Destructions majeures à totales. Dommages sur des zones très vastes. Ressenti à très grande distance de l’épicentre. \\
\hline
\cellcolor{mmi10}9.0 - 9.9 & Extrême & XII & Destruction quasi-totale, dégâts graves ou effondrement de tous les bâtiments. Modification du relief. \\
\hline
\end{tabular}
\end{center}
\end{frame}


\section{Résultats}
\subsection{Tests}
\begin{frame}
\frametitle{rs2025flrsdg}
\begin{center}
\includegraphics[width=10cm, trim={30cm 1cm 30cm 1cm}, clip]{debugMaps/rs2025flrsdg.png}
  \captionof{figure}{Mon estimation (avec les données RaspberryShake)}
\end{center}
\end{frame}
\begin{frame}
\frametitle{rs2025fwmrzv}
\begin{center}
\noindent\begin{minipage}{.5\textwidth}
\centering
  \includegraphics[width=4cm, trim={8cm 10cm 8cm 10cm}, clip]{debugMaps/rs2025fwmrzv.png}
  \captionof{figure}{Mon estimation (avec les données RaspberryShake)}
  \end{minipage}%
\begin{minipage}{.5\textwidth}
\centering
  \includegraphics[width=5cm, trim={0 0 0 0}, clip]{2025-03-25T21:07:44,659295790+01:00-cropped.png}
  \captionof{figure}{Estimation de l'USGS}
 \end{minipage}
\end{center}
\end{frame}

\section{Bibliographie}
\begin{frame}
\frametitle{Bibliographie (1/2)}
\tiny
\begin{thebibliography}{9}

\bibitem{convolution_video}
3Blue1Brown,
\textit{But what is a convolution?},
YouTube video, 2022.\\
\url{https://www.youtube.com/watch?v=KuXjwB4LzSA}

\bibitem{fft_algorithm_video}
Michael Pound,
\textit{The Fast Fourier Transform Algorithm},
YouTube video, 2023.\\
\url{https://www.youtube.com/watch?v=toj_IoCQE-4}

\bibitem{fft_matrix_factorizations}
Charles Van Loan,
\textit{The FFT Via Matrix Factorizations},
Lecture notes, 2010.\\
\url{https://www.cs.cornell.edu/~bindel/class/cs5220-s10/slides/FFT.pdf}

\bibitem{eq_sources}
R.J. Mitchell,
\textit{Earthquake Sources},
Lecture notes, Western Washington University.\\
\url{https://www.geol.wwu.edu/rjmitch/L4_EQsources.pdf}

\bibitem{seismic_waves}
University of Hawaii,
\textit{Compare, Contrast, and Connect: Seismic Waves and Determining Earth's Structure}.\\
\url{https://manoa.hawaii.edu/exploringourfluidearth/physical/ocean-floor/layers-earth/compare-contrast-connect-seismic-waves-and-determining-earth-s-structure}

\bibitem{gfz-1-d-earth-models}
Peter Bormann,
\textit{Global 1-D Earth models (IASP91 tables)},
GFZ German Research Centre for Geosciences.\\
\url{https://gfzpublic.gfz-potsdam.de/rest/items/item_4031/component/file_4032/content}
\end{thebibliography}
\end{frame}

\begin{frame}
\frametitle{Bibliographie (2/2)}
\tiny
\begin{thebibliography}{9}

\bibitem{earthquake_data_centers}
Yacine Boussoufa,
\textit{Earthquake Data Centers},
GitHub repository.\\
\url{https://github.com/YacineBoussoufa/EarthquakeDataCenters}

\bibitem{cfcs_lecture}
University of Edinburgh,
\textit{CFCS Lecture 15: Convolutions and Kernels}.\\
\url{https://www.inf.ed.ac.uk/teaching/courses/cfcs1/lectures/cfcs_l15.pdf}

\bibitem{penn_state_anova}
Penn State Eberly College of Science,
\textit{STAT 510: Lesson 8.2 - Cross Correlation Functions and Lagged Regressions},
Online course material.\\
\url{https://online.stat.psu.edu/stat510/lesson/8/8.2}

\bibitem{nelder_mead}
Jason Cantarella,
\textit{Nelder-Mead Method},
Lecture notes.\\
\url{https://jasoncantarella.com/downloads/NelderMeadProof.pdf}

\bibitem{broadband_magnitude}
Tatsuhiko Hara,
\textit{Determination of Broadband Moment Magnitude},
IISEE/BRI.\\
\url{https://iisee.kenken.go.jp/lna/download.php?f=2011082925678c01.pdf&n=T0-100-2007_Mwp-2-new.pdf&cid=T0-100-2007}

\bibitem{obspy}
Moritz Beyreuther, Robert Barsch, Lion Krischer, Tobias Megies, Yannik Behr and Joachim Wassermann,\\
\textit{ObsPy: A Python Toolbox for Seismology},\\
Seismological Research Letters, vol. 81, no. 3, pp. 530--533, 2010.\\
doi:10.1785/gssrl.81.3.530

\end{thebibliography}
\end{frame}

\end{document}
