{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Dispersive Signals\n",
    "Up to now,we considered the spectral content of the entire time series. In many\n",
    "cases, the spectral content varies with time in a time series and one often wants to\n",
    "find out how this happens in detail. One important example are dispersed signals in\n",
    "which energy with different frequency content arrives at different times. Most\n",
    "prominent among these are seismic surface which exhibit significant dispersion if\n",
    "epicentral distances between seismic station and source are large. Quantifying the\n",
    "dispersion allows inferences on Earth structure. \n",
    "\n",
    "<img src=\"../images/seismogram.png\" alt=\"Drawing\" style=\"width: 700px;\"/>\n",
    "<img src=\"../images/stack-surface-waves.png\" alt=\"Drawing\" style=\"width: 700px;\"/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Chirp or Sweep"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "plt.rcParams['figure.figsize'] = 12, 8             # Slightly bigger plots by default"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.signal import chirp\n",
    "t = np.linspace(0, 30, 30001)\n",
    "w = chirp(t, f0=0.01, f1=3, t1=np.max(t), method='linear')\n",
    "plt.plot(t, w);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Tasks\n",
    "1. What is special about the Chirp Signal?\n",
    "2. Plot the amplitude spectrum of the chirp signal, using numpys [FFT module](https://numpy.org/doc/stable/reference/routines.fft.html), including the correct frequncies on the x-axis!\n",
    "3. Think of a solution how to visualize the increasing frequency content using the Fourier tansform"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "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.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
