{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# In Search of the Fourth Wave\n", "\n", "### Allen Downey\n", "\n", "Olin College\n", "\n", "[DSP Online Conference](https://www.dsponlineconference.com/)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Copyright 2020 Allen B. Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Run this notebook\n", "\n", "[tinyurl.com/mysterywave](https://tinyurl.com/mysterywave)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "When I was working on [*Think DSP*](https://greenteapress.com/thinkdsp), I encountered a small mystery. \n", "\n", "As you might know:" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "* A sawtooth wave contains harmonics at integer multiples of the fundamental frequency, and\n", "\n", "* Their amplitudes drop off in proportion to $1/f$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "* A square wave contains only odd multiples of the fundamental, but \n", "\n", "* They also drop off like $1/f$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "* A triangle wave also contains only odd multiples, \n", "\n", "* But they drop off like $1/f^2$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Which suggests that there's a simple waveform that \n", "\n", "* Contains all integer multiples (like a sawtooth) and \n", "\n", "* Drops off like $1/f^2$ (like a triangle wave). \n", "\n", "Let's find out what it is." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "In this talk, I'll \n", "\n", "* Suggest four ways we can find the mysterious fourth wave.\n", "\n", "* Demonstrate using tools from SciPy, NumPy and Pandas, and\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And a tour of DSP and the topics in *Think DSP*." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I'm a professor of Computer Science at Olin College.\n", "\n", "Author of *Think Python*, *Think Bayes*, and *Think DSP*.\n", "\n", "And *Probably Overthinking It*, a blog about Bayesian probability and statistics.\n", "\n", "Web page: [allendowney.com](http://allendowney.com)\n", "\n", "Twitter: @allendowney" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "This talk is a Jupyter notebook.\n", "\n", "[You can read it here](https://nbviewer.jupyter.org/github/AllenDowney/ThinkDSP/blob/master/code/fourth_wave.ipynb).\n", "\n", "[And run it here](https://colab.research.google.com/github/AllenDowney/ThinkDSP/blob/master/code/fourth_wave.ipynb)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Here are the libraries we'll use." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "And a convenience function for decorating figures." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def decorate(**options):\n", " \"\"\"Decorate the current axes.\n", "\n", " Call decorate with keyword arguments like\n", "\n", " decorate(title='Title',\n", " xlabel='x',\n", " ylabel='y')\n", "\n", " The keyword arguments can be any of the axis properties\n", "\n", " https://matplotlib.org/api/axes_api.html\n", "\n", " In addition, you can use `legend=False` to suppress the legend.\n", "\n", " And you can use `loc` to indicate the location of the legend\n", " (the default value is 'best')\n", " \"\"\"\n", " plt.gca().set(**options)\n", " plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def legend(**options):\n", " \"\"\"Draws a legend only if there is at least one labeled item.\n", "\n", " options are passed to plt.legend()\n", " https://matplotlib.org/api/_as_gen/matplotlib.plt.legend.html\n", "\n", " \"\"\"\n", " ax = plt.gca()\n", " handles, labels = ax.get_legend_handles_labels()\n", " if handles:\n", " ax.legend(handles, labels, **options)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "## Basic waveforms" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We'll start with the basic waveforms:\n", "\n", "* sawtooth, \n", "\n", "* triangle, and \n", "\n", "* square." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Sampled at CD audio frame rate." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "framerate = 44100 # samples per second\n", "dt = 1 / framerate # seconds per sample" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "At equally-spaced times from 0 to `duration`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "duration = 0.005 # seconds\n", "ts = np.arange(0, duration, dt) # seconds" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We'll work with signals at 1000 Hz. \n", "\n", "The number of complete cycles is $f t$." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "freq = 1000 # cycles per second (Hz)\n", "cycles = freq * ts # cycles" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "In 0.005 seconds, a 1000 Hz signal completes 5 cycles." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.988662131519274" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(cycles)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, cycles)\n", "\n", "decorate(xlabel='Time (s)',\n", " ylabel='Cycles',\n", " title='Cycles vs time')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "`wrap` uses `modf` to compute the fraction part of the number of cycles." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def wrap(cycles):\n", " frac, _ = np.modf(cycles)\n", " return frac" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "If we apply `wrap` to `cycles`, the result is a sawtooth wave.\n", "\n", "I subtract off `0.5` so the mean of the signal is 0." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.003380839515293344" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ys = wrap(cycles) - 0.5\n", "ys.mean()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, ys)\n", "\n", "decorate(xlabel='Time (s)',\n", " ylabel='Amplitude',\n", " title='Sawtooth wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "If we take the absolute value of `ys`, the result is a triangle wave." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, np.abs(ys))\n", "\n", "decorate(xlabel='Time (s)',\n", " ylabel='Amplitude',\n", " title='Triangle wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And if we take just the sign of `ys`, the result is a square wave." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, np.sign(ys))\n", "\n", "decorate(xlabel='Time (s)',\n", " ylabel='Amplitude',\n", " title='Square wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Think of `abs` as magnitude and `sign` as direction\n", "\n", "* The triangle is the magnitude of a sawtooth.\n", "\n", "* The square wave is the direction of a sawtooth." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## One function to make them all\n", "\n", "`make_wave` contains the parts these waves have in common." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "def make_wave(func, duration, freq):\n", " \"\"\"Make a signal.\n", " \n", " func: function that takes cycles and computes ys\n", " duration: length of the wave in time\n", " \"\"\"\n", " ts = np.arange(0, duration, dt)\n", " cycles = freq * ts \n", " ys = func(cycles)\n", " \n", " ys = unbias(normalize(ys))\n", " series = pd.Series(ys, ts)\n", " return series" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "`normalize` scales the wave between 0 and 1,\n", "\n", "`unbias` shifts it so the mean is 0." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def normalize(ys):\n", " low, high = np.min(ys), np.max(ys)\n", " return (ys - low) / (high - low)\n", "\n", "def unbias(ys):\n", " return ys - ys.mean()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Why use a `Series`?\n", "\n", "`Series` is like two arrays:\n", "\n", "* An index, and\n", "\n", "* Corresponding value." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Natural representation of correspondence:\n", "\n", "* From time to amplitude.\n", "\n", "* From frequency to complex amplitude." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We'll use `plot_wave` to plot a short segment of a wave." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def plot_wave(wave, title=''):\n", " segment = wave[0:0.01]\n", " segment.plot()\n", " decorate(xlabel='Time (s)',\n", " ylabel='Amplitude',\n", " title=title)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Now we can define `sawtooth_func` to compute the sawtooth wave." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def sawtooth_func(cycles):\n", " ys = wrap(cycles) - 0.5\n", " return ys" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And pass it as an argument to `make_wave`:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sawtooth_wave = make_wave(sawtooth_func, duration=0.01, freq=500)\n", "plot_wave(sawtooth_wave, title='Sawtooth wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Same with `triangle_func`." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "def triangle_func(cycles):\n", " ys = wrap(cycles) - 0.5\n", " return np.abs(ys)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "triangle_wave = make_wave(triangle_func, duration=0.01, freq=500)\n", "plot_wave(triangle_wave, title='Triangle wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And `square_func`." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "def square_func(cycles):\n", " ys = wrap(cycles) - 0.5\n", " return np.sign(ys)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "square_wave = make_wave(square_func, duration=0.01, freq=500)\n", "plot_wave(square_wave, title='Square wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Spectrum\n", "\n", "Now let's see what the spectrums look like for these waves.\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "def make_spectrum(wave):\n", " n = len(wave)\n", " hs = np.fft.rfft(wave) # amplitudes\n", " fs = np.fft.rfftfreq(n, dt) # frequencies\n", "\n", " series = pd.Series(hs, fs)\n", " return series" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "`make_spectrum` uses NumPy to compute the real FFT of the wave:\n", "\n", "* `hs` contains the complex amplitudes, and\n", "\n", "* `fs` contains the corresponding frequencies." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Pandas `Series` represents correspondence between frequencies and complex amplitudes." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Use `abs` to compute magnitude of complex amplitudes and \n", "plot them as a function of `fs`:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def plot_spectrum(spectrum, title=''):\n", " spectrum.abs().plot()\n", " decorate(xlabel='Frequency (Hz)',\n", " ylabel='Magnitude',\n", " title=title)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I'll use a sinusoid to test `make_spectrum`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "def sinusoid_func(cycles):\n", " return np.cos(2 * np.pi * cycles)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Now we can use `make_wave` to make a sinusoid." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "sinusoid_wave = make_wave(sinusoid_func, duration=0.5, freq=freq)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And `make_spectrum` to compute its spectrum." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAfFklEQVR4nO3de7xVdZ3/8ddbVKQEFbmIXAQTS3RKhUh/OknRz1veZtIR56FgUcyYlfrLvFWTziPK8VdNDyv5ZdiIl0TMHMl01DA0DeVi3hDRo6AgZwSvoDko+Pn9sb4nl4d99tnCXmevc877+Xjsx17ru9Z3re/6stmf/f2u7/kuRQRmZmZls1WjC2BmZlaJA5SZmZWSA5SZmZWSA5SZmZWSA5SZmZWSA5SZmZWSA5RZB5HUS9JvJb0m6YYCz3ObpElFHb+G818gaXqV7cslfaYjy2Sd09aNLoB1TZIOBi4B9gY2AkuAMyNiQYHnXA58MSJ+X9Q5ttDxwEBg54jYUNRJIuKIoo5d4/m/18jzW9fhAGV1J6kPcAtwGjAL2Bb4W2B9g8u1dZGBoQa7AU82uAxmnYa7+KwIewJExHURsTEi3oyIOyLiEQBJp0q6T9JPUnfXE5LGt2SWtIOkKyQ1S3pe0ncl9cht/5KkJZLWSXpc0v6SrgaGAb+V9LqkcyQNlxSSJkt6DrhL0jhJK/OFzXc5SbpQ0g2SrknHf1TSnpLOl7Ra0gpJh7Z14ZL2kjRX0quSFks6JqVfBPwLcGIq3+QKecdKmpfyNkv6qaRt2zjPdqmML6X9F0gamLbNlfTFXF3fK+kHkl6RtEzSEbnjvKe7LV3/NTWcY1dJsyW9LKlJ0pcqHSOtnyLp2XScb1apuxHpPFul9emSVue2XyPpzLT8+dxn4BlJ/5Tbb4mko3LrW0t6UdL+af0ASX9K53pY0ri2ymSN5QBlRXgS2ChphqQjJO1UYZ9PAM8A/YDvAL+R1DdtmwFsAPYA9gMOBVq+cE8ALgQmAn2AY4CXIuIU4Dng6IjYPiIuyZ3rEGAv4LAay380cDWwE/Bn4Hay/yuDgX8Ffl4pk6RtgN8CdwADgK8C10r6cER8B/gecH0q3xUVDrEROCvVyYHAeODLbZRxErADMBTYGfhn4M029v0EsDQd9xLgCklq6+JrPMd1wEpgV7Kuy+/lf2S0kDQKmAackvbdGRhS6WQRsQxYS/ZvDlmr+3VJe6X1TwJ3p+XVwFFkn4HPA//eEoBS2U7KHfow4MWIeFDSYOB3wHeBvsDZwI2S+tdQH9bBHKCs7iJiLXAwEMAvgDXp1/bA3G6rgR9HxNsRcT3ZF+hn0z5HkN2veiMiVgP/DkxI+b4IXBIRCyLTFBHPtlOkC9Ox2voCb+2PEXF76oq7AegPXBwRbwMzgeGSdqyQ7wBg+7TvWxFxF1lX50kV9t1ERCyKiPsjYkNELCcLhIe0sfvbZF/2e6RW6qJU75U8GxG/iIiNZMF/ENm9sPZUPIekoWT/vudGxP9ExEPAdLIg1NrxwC0RcU9ErAe+DbxT5Zx3A4dI2iWt/zqtjyALRg8DRMTvIuLp9Bm4m+xHwd+mPL8CjpH0gbT+jykN4GTg1oi4NSLeiYg7gYXAkTXUh3UwBygrREQsiYhTI2IIsA/Zr+cf53Z5Pt47U/GzaZ/dgG2A5tQF8yrZF/WAtN9Q4On3WZwV73P/F3LLb5L9+t6YW4csELW2K7AiIvJfwM+StbzalboSb5H035LWkrW4+rWx+9VkLbuZklZJuiS14Cr575aFiPhLlfLXeo5dgZcjYl1u37auc1dy9R8RbwAvVTnn3cA4stbSPcBcsiB9CNkPh3cAUsv8/tTF+CpZgOmXztFENijn6BSkjuHdALUbcELLZyvlPZgsaFvJOEBZ4SLiCeBKskDVYnCrbqZhwCqyL7P1QL+I2DG9+kTE3mm/FcCH2jpVDelvAC2/rFF2b6te3TurgKEt91CSYcDzNeafBjwBjIyIPsAFQMWuuNTyvCgiRgH/i6y7a+JmlPk99QG0tFyqnWMV0FdS71y+tq6zmexHBQApYOxcpTx3k7WExqXle4GDyALU3ekYPYEbgR8AAyNiR+BW3ltXLd18xwKPp6AF2efn6txna8eI+GBEXFylTNYgDlBWd5I+Iunrkoak9aFkXxb353YbAHxN0jbpvtJeZF0vzWTdNT+U1EfSVpI+JKmlq2s6cLak0crsIWm3tO0FYPd2ivcksJ2kz6bWwLeAnvW4buABsi/8c9J1jSO7nzWzxvy9ye7BvC7pI2SjICuS9ClJf5MC7Fqy7riNbe1fxUPAhFTeMWRdclXPERErgD8B308DKT4KTAaurXD8XwNHSTpY2YCPf6XK905EPEXWSj0ZuCd1W74AfI537z9tS/ZvtgbYoGzQR+uBKzNT2mm823oCuIasZXWYpB6p/ONaPqtWLg5QVoR1ZDfmH5D0Bllgegz4em6fB4CRwIvAVOD4iGjp+plI9iX0OPAK2ZfcIICIuCHt/6t0nv8ku9kN8H3gW6nr5uxKBYuI18gGHkwn+8X/BtnN/i0WEW+RdScdka7rMmBiakHW4myy+yXryO7dXV9l313I6mUtWXfW3WRfvu/Xt8lapK8AF/HeL/Nq5zgJGE7WmroJ+E66n/MeEbEYOD0dtzmdp736vpts4MtzuXWRDVghdS1+jexPGF4hq7PZrc7bDMwja/ldn0tfQdaquoAswK0AvoG/C0tJfmChdTRJp5L9Qe3BjS6LmZWXfzWYmVkpOUCZmVkpuYvPzMxKyS0oMzMrpS47WWy/fv1i+PDhjS6GmZm1Y9GiRS9GxCZ/j9hlA9Tw4cNZuHBho4thZmbtkFRxujJ38ZmZWSk5QJmZWSk5QJmZWSk5QJmZWSk5QJmZWSk5QJmZWSk5QJmZWSk5QNXZa2++zWPPv9boYpiZdXoOUHV2yhUPcNRP7m10MczMOj0HqDp7ZKVbT2Zm9eAAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpVRogJK0XNKjkh6StDCl9ZV0p6Sn0vtOuf3Pl9Qkaamkw3Lpo9NxmiRdKklFltvMzBqvI1pQn4qIfSNiTFo/D5gTESOBOWkdSaOACcDewOHAZZJ6pDzTgCnAyPQ6vAPKbWZmDdSILr5jgRlpeQZwXC59ZkSsj4hlQBMwVtIgoE9EzIuIAK7K5TEzsy6q6AAVwB2SFkmaktIGRkQzQHofkNIHAytyeVemtMFpuXX6JiRNkbRQ0sI1a9bU8TLMzKyjbV3w8Q+KiFWSBgB3Snqiyr6V7itFlfRNEyMuBy4HGDNmTMV9zMyscyi0BRURq9L7auAmYCzwQuq2I72vTruvBIbmsg8BVqX0IRXSzcysCyssQEn6oKTeLcvAocBjwGxgUtptEnBzWp4NTJDUU9IIssEQ81M34DpJB6TRexNzeczMrIsqsotvIHBTGhG+NfCriPgvSQuAWZImA88BJwBExGJJs4DHgQ3A6RGxMR3rNOBKoBdwW3qZmVkXVliAiohngI9VSH8JGN9GnqnA1ArpC4F96l1GMzMrL88kYWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAZWZmpeQAVZDs6fRmZra5HKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKDMzKyUHKAK4rlizcy2jAOUmZmVUuEBSlIPSX+WdEta7yvpTklPpfedcvueL6lJ0lJJh+XSR0t6NG27VJKKLreZmTVWR7SgzgCW5NbPA+ZExEhgTlpH0ihgArA3cDhwmaQeKc80YAowMr0O74Bym5lZAxUaoCQNAT4LTM8lHwvMSMszgONy6TMjYn1ELAOagLGSBgF9ImJeZE8BvCqXx8zMuqiiW1A/Bs4B3smlDYyIZoD0PiClDwZW5PZbmdIGp+XW6ZuQNEXSQkkL16xZU5cLMDOzxigsQEk6ClgdEYtqzVIhLaqkb5oYcXlEjImIMf3796/xtGZmVkZbF3jsg4BjJB0JbAf0kXQN8IKkQRHRnLrvVqf9VwJDc/mHAKtS+pAK6WZm1oUV1oKKiPMjYkhEDCcb/HBXRJwMzAYmpd0mATen5dnABEk9JY0gGwwxP3UDrpN0QBq9NzGXx8zMuqgiW1BtuRiYJWky8BxwAkBELJY0C3gc2ACcHhEbU57TgCuBXsBt6WVmZl1YhwSoiJgLzE3LLwHj29hvKjC1QvpCYJ/iSmhmZmXjmSTMzKyUHKAK4qn4zMy2jAOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgOUmZmVkgNUQSI8G5+Z2ZZwgDIzs1KqKUApc7Kkf0nrwySNLbZoZmbWndXagroMOBA4Ka2vA35WSInMzMyo/Ym6n4iI/SX9GSAiXpG0bYHlMjOzbq7WFtTbknqQnsMnqT/wTmGlMjOzbq/WAHUpcBMwQNJU4F7ge4WVyszMur2auvgi4lpJi4DxgIDjImJJoSUzM7NurWqAktQ3t7oauC6/LSJeLqpgZmbWvbXXglpEdt9JwDDglbS8I/AcMKLIwpmZWfdV9R5URIyIiN2B24GjI6JfROwMHAX8piMKaGZm3VOtgyQ+HhG3tqxExG3AIcUUyczMrPa/g3pR0reAa8i6/E4GXiqsVGZm1u3V2oI6CehPNtT8P4EBvDurhFXgqWLNzLZMTQEqIl6OiDMiYr/0OqO9EXyStpM0X9LDkhZLuiil95V0p6Sn0vtOuTznS2qStFTSYbn00ZIeTdsulaTNvWAzM+scaurik/QHKjQKIuLTVbKtBz4dEa9L2ga4V9JtwN8DcyLiYknnAecB50oaBUwA9gZ2BX4vac+I2AhMA6YA9wO3AocDt9V6kWZm1vnUeg/q7NzydsDngA3VMkT2QKTX0+o26RXAscC4lD4DmAucm9JnRsR6YJmkJmCspOVAn4iYByDpKuA4HKDMzLq0WmeSWNQq6T5Jd7eXL83ftwjYA/hZRDwgaWBENKfjNksakHYfTNZCarEypb2dllunVzrfFLKWFsOGDWv3uszMrLxqfR5U39yrX7o/tEt7+SJiY0TsCwwhaw3tU+00lQ5RJb3S+S6PiDERMaZ///7tFc/MzEqs1i6+/IwSG4BlwORaTxIRr0qaS3bv6AVJg1LraRDZFEqQtYyG5rINAVal9CEV0s3MrAurdZj5XhGxe5pZYmREHAosqJZBUn9JO6blXsBngCeA2cCktNsk4Oa0PBuYIKmnpBHASGB+6g5cJ+mANHpvYi6PmZl1UbW2oP4E7N8qbV6FtLxBwIx0H2orYFZE3CJpHjBL0mSy+fxOAIiIxZJmAY+TtdJOTyP4AE4DrgR6kQ2O8AAJM7Murr3ZzHchG5DQS9J+vHs/qA/wgWp5I+IRYL8K6S+RPbajUp6pwNQK6QuBavevzMysi2mvBXUYcCrZfZ8f5dLXARcUVCYzM7PqASoiZpB1030uIm7soDKZmZm128V3ckRcAwyX9H9ab4+IH1XIZkB4Mj4zsy3SXhffB9P79kUXxMzMLK+9Lr6fp/eLOqY4ZmZmmVoni+0PfAkYns8TEV8oplhmZtbd1fp3UDcDfwR+D2xsZ18zM7MtVmuA+kBEnFtoSczMzHJqneroFklHFloSMzOznFoD1BlkQepNSWslrZO0tsiCmZlZ91br86B6F10QMzOzvFpH8VWaFPY14NmIqPpkXTMzs81R6yCJy8hmLn80rf8N8DCws6R/jog7iiicmZl1X7Xeg1oO7BcRoyNiNLAv8BjZM54uKaZoZmbWndUaoD4SEYtbViLicbKA9UwxxTIzs+6u1i6+pZKmATPT+onAk5J6Am8XUrJOLvBssWZmW6LWFtSpQBNwJnAW8ExKexv4VAHlMjOzbq7WYeZvAj9Mr9Zer2uJzMzMqH2Y+Ujg+8AoYLuW9IjYvaBymZlZN1drF99/ANOADWRdelcBVxdVKDMzs1oDVK+ImAMoIp6NiAuBTxdXLDMz6+5qHcX3P5K2Ap6S9BXgeWBAccUyM7PurtYW1JnAB4CvAaOBU4BJBZXJzMys5lF8C9Li68DniyuOmZlZpmqAkjS72vaIOKa+xTEzM8u014I6EFgBXAc8AKjwEpmZmdF+gNoF+N/AScA/Ar8DrsvPy2dmZlaEqoMkImJjRPxXREwCDiCb7miupK+2d2BJQyX9QdISSYslnZHS+0q6U9JT6X2nXJ7zJTVJWirpsFz6aEmPpm2XSip9Sy48FZ+Z2RZpdxSfpJ6S/h64BjgduBT4TQ3H3gB8PSL2Igtup0saBZwHzImIkcCctE7aNgHYGzgcuExSj3SsacAUYGR6HV7zFZqZWafU3iCJGcA+wG3ARRHxWK0HjohmoDktr5O0BBgMHAuMS7vNAOYC56b0mRGxHlgmqQkYK2k50Cci5qUyXQUcl8pkZmZdVHv3oE4B3gD2BL6W61kTEBHRp5aTSBoO7Ec20GJgCl5ERLOklj/4HQzcn8u2MqW9nZZbp1c6zxSylhbDhg2rpWhmZlZSVQNURNT6h7xtkrQ9cCNwZkSsrXL7qNKGqJK+aWLE5cDlAGPGjPFdIDOzTmyLA1A1krYhC07XRkTLfasXJA1K2wcBq1P6SmBoLvsQYFVKH1Ih3czMurDCAlQaaXcFsCQifpTbNJt3p0maBNycS5+QBmWMIBsMMT91B66TdEA65sRcHjMz66JqnSx2cxxEdg/rUUkPpbQLgIuBWZImA88BJwBExGJJs4DHyUYAnh4RG1O+04ArgV5kgyM8QMLMrIsrLEBFxL20PfPE+DbyTAWmVkhfSDaa0MzMuolC70GZmZltLgcoMzMrJQcoMzMrJQcoMzMrJQcoMzMrJQeoOiv/POtmZp2DA5SZmZWSA5SZmZWSA5SZmZWSA1Sd+Um6Zmb14QBlZmal5ABlZmal5ABlZmal5ABlZmal5ABlZmal5ABlZmal5ABVEA83NzPbMg5Qdea5+MzM6sMByszMSskByszMSskByszMSskByszMSskByszMSskByszMSskByszMSskByszMSskByszMSqmwACXpl5JWS3osl9ZX0p2SnkrvO+W2nS+pSdJSSYfl0kdLejRtu1TyXA1mZt1BkS2oK4HDW6WdB8yJiJHAnLSOpFHABGDvlOcyST1SnmnAFGBkerU+ZikFnozPzGxLFBagIuIe4OVWyccCM9LyDOC4XPrMiFgfEcuAJmCspEFAn4iYFxEBXJXLY2ZmXVhH34MaGBHNAOl9QEofDKzI7bcypQ1Oy63TS8v9j2Zm9VGWQRKVvtejSnrlg0hTJC2UtHDNmjV1K5yZmXW8jg5QL6RuO9L76pS+Ehia228IsCqlD6mQXlFEXB4RYyJiTP/+/etacDMz61gdHaBmA5PS8iTg5lz6BEk9JY0gGwwxP3UDrpN0QBq9NzGXx8zMurCtizqwpOuAcUA/SSuB7wAXA7MkTQaeA04AiIjFkmYBjwMbgNMjYmM61GlkIwJ7Abell5mZdXGFBaiIOKmNTePb2H8qMLVC+kJgnzoWzczMOoGyDJIwMzN7DweoOvOf55qZ1YcDlJmZlZIDlJmZlZIDlJmZlZIDVEHCN6PMzLaIA1SdeS4+M7P6cIAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAyM7NScoAqiKfiMzPbMg5QZmZWSg5QdSZ5ulgzs3pwgDIzs1JygDIzs1JygDIzs1JygDIzs1JygDIzs1JygDIzs1JygDIzs1JygDIzs1LqNAFK0uGSlkpqknReo8tjZmbF6hQBSlIP4GfAEcAo4CRJoxpbKjMzK9LWjS5AjcYCTRHxDICkmcCxwONFnOyyuU384p5nNivvxneyaWIPuvgutvKsR2bWxX14l97MnHJgIcfuLAFqMLAit74S+ETrnSRNAaYADBs2bLNP9uGBvTn6Y7tuVt7nX3mT+55+kWP33bz8ZmadyS47bFfYsTtLgKrUFtnkiRYRcTlwOcCYMWM2+4kX4/cayPi9Bm5udjMzq4NOcQ+KrMU0NLc+BFjVoLKYmVkH6CwBagEwUtIISdsCE4DZDS6TmZkVqFN08UXEBklfAW4HegC/jIjFDS6WmZkVqFMEKICIuBW4tdHlMDOzjtFZuvjMzKybcYAyM7NScoAyM7NScoAyM7NSUsRm/z1rqUlaAzy7BYfoB7xYp+J0da6r2rmuaue6ql1nr6vdIqJ/68QuG6C2lKSFETGm0eXoDFxXtXNd1c51VbuuWlfu4jMzs1JygDIzs1JygGrb5Y0uQCfiuqqd66p2rqvadcm68j0oMzMrJbegzMyslBygzMyslBygKpB0uKSlkpokndfo8jSCpOWSHpX0kKSFKa2vpDslPZXed8rtf36qr6WSDsulj07HaZJ0qaRKD5/sVCT9UtJqSY/l0upWN5J6Sro+pT8gaXiHXmAdtVFXF0p6Pn22HpJ0ZG5bd66roZL+IGmJpMWSzkjp3fezFRF+5V5kj/N4Gtgd2BZ4GBjV6HI1oB6WA/1apV0CnJeWzwP+LS2PSvXUExiR6q9H2jYfOJDsqci3AUc0+trqUDefBPYHHiuiboAvA/8vLU8Arm/0Nde5ri4Ezq6wb3evq0HA/mm5N/BkqpNu+9lyC2pTY4GmiHgmIt4CZgLHNrhMZXEsMCMtzwCOy6XPjIj1EbEMaALGShoE9ImIeZH9j7gql6fTioh7gJdbJdezbvLH+jUwvrO2PNuoq7Z097pqjogH0/I6YAkwmG782XKA2tRgYEVufWVK624CuEPSIklTUtrAiGiG7D8TMCClt1Vng9Ny6/SuqJ5189c8EbEBeA3YubCSN8ZXJD2SugBbuqxcV0nqetsPeIBu/NlygNpUpV8T3XEs/kERsT9wBHC6pE9W2betOnNdbl7ddPV6mwZ8CNgXaAZ+mNJdV4Ck7YEbgTMjYm21XSukdan6coDa1EpgaG59CLCqQWVpmIhYld5XAzeRdX2+kLoPSO+r0+5t1dnKtNw6vSuqZ938NY+krYEdqL2brPQi4oWI2BgR7wC/IPtsgesKSduQBadrI+I3KbnbfrYcoDa1ABgpaYSkbcluJM5ucJk6lKQPSurdsgwcCjxGVg+T0m6TgJvT8mxgQhohNAIYCcxP3RHrJB2Q+rkn5vJ0NfWsm/yxjgfuSvcSuoSWL9vk78g+W9DN6ypd2xXAkoj4UW5T9/1sNXqURhlfwJFkI2ieBr7Z6PI04Pp3Jxsd9DCwuKUOyPqq5wBPpfe+uTzfTPW1lNxIPWAM2RfQ08BPSbOXdOYXcB1Z19TbZL9IJ9ezboDtgBvIbnrPB3Zv9DXXua6uBh4FHiH7whzkugqAg8m62x4BHkqvI7vzZ8tTHZmZWSm5i8/MzErJAcrMzErJAcrMzErJAcrMzErJAcrMzErJAcqsDZI25mbcfqj0Mz+/D5L2kzQ9LZ8q6aetts+VNKZK/pmSRhZdTuvetm50AcxK7M2I2LfShvQHkIpsNoTO6ALgu1uQfxpwDvCl+hTHbFNuQZnVSNLw9Kyey4AHgaGSviFpQZr49KLcvt9Mz+j5vaTrJJ2d0v/aMpHUT9LytNxD0v/NHeufUvq4lOfXkp6QdG3u2T4fl/QnSQ9Lmi+pt6Q/Sto3V477JH201XX0Bj4aEQ/XcM3H5FqQSyUtS5v+CHwmTZdjVgh/uMza1kvSQ2l5GXAW8GHg8xHxZUmHkk0vM5ZsEs7ZaVLdN8imyNqP7P/Yg8Cids41GXgtIj4uqSdwn6Q70rb9gL3J5lO7DzhI0nzgeuDEiFggqQ/wJjAdOBU4U9KeQM+IeKTVuVpmGcg7UdLBufU9ACJiNmmqL0mzgLtT+juSmoCP1XBtZpvFAcqsbe/p4kv3oJ6NiPtT0qHp9ee0vj1ZwOoN3BQRf0n5apnL8VDgo5KOT+s7pGO9RTa/2sp0rIeA4WSPSWiOiAUAkWa9lnQD8G1J3wC+AFxZ4VyDgDWt0q6PiK/krnVufqOkc8jq42e55NXArjhAWUEcoMzenzdyywK+HxE/z+8g6UzafoTBBt7tWt+u1bG+GhG3tzrWOGB9Lmkj2f9bVTpHRPxF0p1kD6b7B7LWUmtvtjp3VZLGAyeQPR03b7t0LLNC+B6U2ea7HfhCen4PkgZLGgDcA/ydpF7pfs/RuTzLgdFp+fhWxzotPW4BSXummeTb8gSwq6SPp/175+4HTQcuBRZERKVHKSwhdeG1R9JuwGXAP0RE62C0J9lkwmaFcAvKbDNFxB2S9gLmpXELrwMnR8SDkq4nm436WbIBBS1+AMySdApwVy59OlnX3YNpEMQa3n1Md6VzvyXpROAnknqRtWQ+A7weEYskrQX+o428T0jaQVLvyB4tXs2pZLNp35SucVVEHClpIFmXX3M7+c02m2czNyuYpAvJAscPOuh8uwJzgY+0NQxe0lnAuoiYvpnnOAtYGxFXbHZBzdrhLj6zLkTSROABsmd4VfsbrWm8997W+/UqMGML8pu1yy0oMzMrJbegzMyslBygzMyslBygzMyslBygzMyslBygzMyslP4/krLriWrQL8QAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sinusoid_spectrum = make_spectrum(sinusoid_wave)\n", "plot_spectrum(sinusoid_spectrum, \n", " title='Spectrum of a sinusoid wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "A sinusoid only contains one frequency component.\n", "\n", "As contrasted with the spectrum of a sawtooth wave, which looks like this." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sawtooth_wave = make_wave(sawtooth_func, duration=0.5, freq=freq)\n", "sawtooth_spectrum = make_spectrum(sawtooth_wave)\n", "plot_spectrum(sawtooth_spectrum, \n", " title='Spectrum of a sawtooth wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The largest magnitude is at 1000 Hz, but the signal also contains components at every integer multiple of the fundamental frequency." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Here's the spectrum of a square wave with the same fundamental frequency. " ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "square_wave = make_wave(square_func, duration=0.5, freq=freq)\n", "square_spectrum = make_spectrum(square_wave)\n", "plot_spectrum(square_spectrum, \n", " title='Spectrum of a square wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The spectrum of the square wave has only odd harmonics." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAfpUlEQVR4nO3de7xVZb3v8c+Xi4AJpnJRLrqw0NROqSDhqb31pNtriu10h/uoWO7oZZaXk5VWp2y/8thpdztWWKYlplvEblLpVqO8puBC8QKIoKggBMsLggrIgt/5YzxLR4u51prCvIw11/f9es3XHOMZ4xnPM5411/zN5xljPlMRgZmZWdH0qncFzMzMSnGAMjOzQnKAMjOzQnKAMjOzQnKAMjOzQnKAMjOzQnKAMqshSQMk/V7SK5JuqlGZ/1PS7TUo53BJy6tdjvUcDlBWNZI+JOmv6c34JUn3STqkymU+I+nIapaxnU4GhgG7RcQp23MgSU2SQlKfzvaLiOsj4qjtKcusHjp9YZttK0mDgD8AZwMzgB2AfwA21rlefSKitY5V2At4slZ1KMD5mm0z96CsWvYBiIgbImJzRKyPiNsj4lEASWemHtUPUw/rCUlHtGWWtLOkqyWtlPS8pG9K6p3b/ilJCyWtk7RA0sGSfgnsCfxe0quSvpjrZZwl6Tngz6WGovI9L0mXSLpJ0nXp+I9J2kfSxZJWS1omqcMeiaT9JN0paY2k+ZJOTOnfAL4GfDzV76wSecdLuj/lXSnpR5J26KCou9PzmnS8Q3Pt+n1JLwGXpLR7c2X8v3QOayXNlfQPuW2XSJoh6dp07vMljcttP1jSw2nbTZJulPTNDtphuKRfS2qRtFTSuR3sNzqdb6+0fpWk1bnt10k6Py1/Ivd3f1rSp3P7LZT0kdx6H0kvSDo4rU9IPfo1kh6RdHgH7WpFERF++FHxBzAIeBGYBhwL7NJu+5lAK3AB0Bf4OPAKsGva/jvgp8A7gKHAHODTadspwPPAIYCAdwN7pW3PAEfmymkCArg2HWsAcDiwvF193swHXAJsAI4mG2W4FlgKfCXV9VPA0g7Ouy+wBPgyWa/xw8A6YN/csa/rpN3GAhNSuU3AQuD8DvZtO7c+Jdr1c+kYA1Lavbl9TgN2S9s/D/wN6N/u3I8DegOXAQ+kbTsAzwLnpfP8Z+AN4Jtp+5vtSvbhdy5ZQN4B2Bt4Gji6g3N5DhiblhelfffLbTsoLR8PvCv93Q8DXgcOTtu+BlyfO+bxwBNpeQTZ6/G4VLd/SutD6v2/4kfHD/egrCoiYi3wIbI30J8BLZJmShqW22018IOI2BQRN5K9MR2f9jmW7I35tYhYDXwfmJTy/Rvw7Yh4MDJLIuLZLqp0STrW+jJP4Z6IuC2y4bGbgCHAtyJiEzAdaJL0zhL5JgA7pX3fiIg/kw11nlpOoRExNyIeiIjWiHiGLEgfVmad26yIiB+mY2x1vhFxXUS8mLZ/F+gH7Jvb5d6IuCUiNgO/BN6fO7c+wOXpb/Ybsg8OpRxC9ub/76kdniZ7HUzqYP+7gMMk7Z7Wf5XWR5N92Hkk1f2PEfFU+rvfBdxONnQM8J/AiZJ2TOv/mtIgC8q3pPPaEhF3AM1kAcsKytegrGoiYiHZp3ckvQe4DvgBb71ZPx8R+dmKnwWGk12n6QuslNS2rRewLC2PAp56m9VZ1vUuf2dVbnk98EJ6w25bhywQrWmXbziwLCK25NKeJfsE3yVJ+wDfA8YBO5L9j859WzXv4lwlfZ4syA8n+wAxCBic2+VvueXXgf7pRozhbP0366isvYDhktbk0noD93Sw/13AicBysqHLO4HTyXpz97S1p6Rjga+TDSH3ImujxwAiYomkhcAJkn6fjndQrj6nSDohV2Zf4C8d1McKwAHKaiIinpB0DfDpXPIIScq94e0JzCR709sIDI7SF/iXkQ3zlCyqjPTXyN7YAEjXtoZ0eRLlWQGMktQrF6T2BJ4sM/8VwMPAqRGxLl17ObmDfcs517+Trjd9CTgCmB8RWyS9TDZk1pWVbP036+jDwjKyYdAxZRwXsgD1H2QB6i7gXuAnZAHqrlT3fsCvgTOAmyNik6Tftav7DWQfgHoBCyJiSa4+v4yIT5VZHysAD/FZVUh6j6TPSxqZ1keRvXE8kNttKHCupL6STgH2IxuGWUk2dPNdSYMk9ZL0LkltQ11XARdKGqvMuyXtlbatIrve0ZknyXoFx0vqC3yVbJirEmaTBcAvpvM6HDiBbFiwHAOBtcCrqdd5dif7tgBb6Pp82x+/NeXtI+lrZD2octwPbAY+m25AmAiM72DfOcBaSV9S9t2v3pLeqw6+ZhARi8l6pqcBd6ch4lXAx0gBiuxaVr9U99bUm2p/s8r0lHY2bw3vQdZ7P0HS0aku/ZXdLDOyzHO3OnCAsmpZB3wAmC3pNbLA9DjZRfk2s4ExwAvApcDJEfFi2nYG2RvSAuBlsmsSewBExE1p//9M5fwO2DXluwz4arpT68JSFYuIV4DPkAW658kCSkW+YBoRb5ANLR2bzmsqcEZEPFHmIS4ku3ayjuyazY2dlPU6WTvcl853QhnHvw24lSxIP0vWQylr+DOd2z8DZ5ENbZ5Gdn1tq68OpOHQE4ADyW4weYGsvXfupIi7gBcj4rncush6lETEOuBcsq8tvEzWTjPblbuSLJD+d3JtFxHLgIlkN6+0pHP+An4PLDT9/XCyWW1IOhP4t4j4UL3rYttO0mzgJxHxi3rXxRqPPz2YWdkkHSZp9zTENxl4H/Bf9a6XNSbfJGFmb8e+ZENsO5HdHHFyGlYzqzgP8ZmZWSF5iM/MzAqpYYf4Bg8eHE1NTfWuhpmZdWHu3LkvRMRW30Vs2ADV1NREc3NzvathZmZdkFRyqjIP8ZmZWSE5QJmZWSE5QJmZWSE5QJmZWSE5QJmZWSE5QJmZWSE5QJmZWSE5QFXYK+s38fjzr9S7GmZm3Z4DVIWdfvVsPvLDe+tdDTOzbs8BqsIeXe7ek5lZJThAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZITlAmZlZIVU9QEnqLelhSX9I67tKukPS4vS8S27fiyUtkbRI0tG59LGSHkvbLpekatfbzMzqqxY9qPOAhbn1i4BZETEGmJXWkbQ/MAk4ADgGmCqpd8pzBTAFGJMex9Sg3mZmVkdVDVCSRgLHA1flkicC09LyNOCkXPr0iNgYEUuBJcB4SXsAgyLi/ogI4NpcHjMza1DV7kH9APgisCWXNiwiVgKk56EpfQSwLLff8pQ2Ii23TzczswZWtQAl6SPA6oiYW26WEmnRSXqpMqdIapbU3NLSUmaxZmZWRNXsQX0QOFHSM8B04MOSrgNWpWE70vPqtP9yYFQu/0hgRUofWSJ9KxFxZUSMi4hxQ4YMqeS5mJlZjVUtQEXExRExMiKayG5++HNEnAbMBCan3SYDN6flmcAkSf0kjSa7GWJOGgZcJ2lCunvvjFweMzNrUH3qUOa3gBmSzgKeA04BiIj5kmYAC4BW4JyI2JzynA1cAwwAbk0PMzNrYDUJUBFxJ3BnWn4ROKKD/S4FLi2R3gy8t3o1NDOzovFMEmZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUFWS/baimZltKwcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAcoMzMrJAeoKvFcsWZm28cByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskByszMCskBqko8FZ+Z2fapWoCS1F/SHEmPSJov6RspfVdJd0hanJ53yeW5WNISSYskHZ1LHyvpsbTtckmqVr3NzKwYqtmD2gh8OCLeDxwIHCNpAnARMCsixgCz0jqS9gcmAQcAxwBTJfVOx7oCmAKMSY9jqlhvMzMrgKoFqMi8mlb7pkcAE4FpKX0acFJanghMj4iNEbEUWAKMl7QHMCgi7o+IAK7N5TEzswZV1WtQknpLmgesBu6IiNnAsIhYCZCeh6bdRwDLctmXp7QRabl9eqnypkhqltTc0tJS0XMxM7PaqmqAiojNEXEgMJKsN/TeTnYvdV0pOkkvVd6VETEuIsYNGTLkbdfXzMyKoyZ38UXEGuBOsmtHq9KwHel5ddptOTAql20ksCKljyyRbmZmDayad/ENkfTOtDwAOBJ4ApgJTE67TQZuTsszgUmS+kkaTXYzxJw0DLhO0oR0994ZuTxmZtag+lTx2HsA09KdeL2AGRHxB0n3AzMknQU8B5wCEBHzJc0AFgCtwDkRsTkd62zgGmAAcGt6mJlZA6tagIqIR4GDSqS/CBzRQZ5LgUtLpDcDnV2/MjOzBuOZJMzMrJAcoMzMrJAcoKok+06xmZltKwcoMzMrpLIClDKnSfpaWt9T0vjqVs3MzHqycntQU4FDgVPT+jrgx1WpkZmZGeXfZv6BiDhY0sMAEfGypB2qWC8zM+vhyu1BbUpfuA3IZokAtlStVmZm1uOVG6AuB34LDJV0KXAv8H+qViszM+vxyhrii4jrJc0lmwFCwEkRsbCqNTMzsx6t0wAladfc6mrghvy2iHipWhUzM7Oerase1Fze+k2mPYGX0/I7ySZ6HV3NypmZWc/V6TWoiBgdEXsDtwEnRMTgiNgN+Ajwm1pU0MzMeqZyb5I4JCJuaVuJiFuBw6pTJTMzs/K/B/WCpK8C15EN+Z0GvFi1WpmZWY9Xbg/qVGAI2a3mvwOG8tasElaCp4o1M9s+5d5m/hJwXpXrYmZm9qayApSkv1CiUxARH654jczMzCj/GtSFueX+wMeA1spXx8zMLFPuEN/cdkn3SbqrCvUxMzMDyh/iy88o0QsYC+xelRqZmZlR/hBffkaJVmApcFa1KmVmZlZugNovIjbkEyT1q0J9zMzMgPK/B/XXEmn3V7IiZmZmeV3NZr47MAIYIOkgsiE+gEHAjlWum5mZ9WBdDfEdDZwJjAS+l0tfB3y5SnUyMzPrPEBFxDRgmqSPRcSva1QnMzOzLof4TouI64AmSf+r/faI+F6JbAaEJ+MzM9suXQ3xvSM971TtipiZmeV1NcT30/T8jdpUx8zMLFPuTBJDgE8BTfk8EfHJ6lTLzMx6unK/qHszcA/wJ2Bz9apjZmaWKTdA7RgRX6pqTczMzHLKnUniD5KOq2pNzMzMcsoNUOeRBan1ktZKWidpbTUrZmZmPVu5vwc1sNoVMTMzyyurByXp4BKPd0nqMMBJGiXpL5IWSpov6byUvqukOyQtTs+75PJcLGmJpEWSjs6lj5X0WNp2uSSVKtPMzBpHuUN8U4EHgJ+lxwPAdOBJSUd1kKcV+HxE7AdMAM6RtD9wETArIsYAs9I6adsk4ADgGGCqpN7pWFcAU4Ax6XHM2zlJMzPrfsoNUM8AB0XE2IgYCxwIPA4cCXy7VIaIWBkRD6XldcBCspnRJwLT0m7TgJPS8kRgekRsjIilwBJgvKQ9gEERcX9EBHBtLo+ZmTWocgPUeyJifttKRCwgC1hPl5NZUhNwEDAbGBYRK9NxVgJD024jgGW5bMtT2oi03D69VDlTJDVLam5paSmnamZmVlDlBqhFkq6QdFh6TCUb3usHbOoso6SdgF8D50dEZ3f+lbquFJ2kb50YcWVEjIuIcUOGDOmsWlUXpatoZmZlKjdAnUk25HY+cAHwdErbBPyPjjJJ6ksWnK6PiN+k5FVp2I70vDqlLwdG5bKPBFak9JEl0s3MrIGVFaAiYn1EfDciPhoRJ0XEdyLi9YjYEhGvlsqT7rS7GljY7mc5ZgKT0/JksmmU2tInSeonaTTZzRBz0jDgOkkT0jHPyOUxM7MGVe5ksWOAy4D9gf5t6RGxdyfZPgicDjwmaV5K+zLwLWCGpLOA54BT0rHmS5oBLCC7A/CciGib9+9s4BpgAHBrepiZWQMrdy6+XwBfB75PNqT3CUpfG3pTRNzbyT5HdJDnUuDSEunNwHvLrKuZmTWAcq9BDYiIWYAi4tmIuAT4cPWqZWZmPV25PagNknoBiyV9Fniet24PNzMzq7hye1DnAzsC5wJjya4tTe4sg5mZ2fYod7LYB9Piq2TXn8zMzKqq0wAlaWZn2yPixMpWx8zMLNNVD+pQsumHbiCbpsiziJuZWU10FaB2B/4JOBX4V+CPwA35efnMzMyqodObJCJic0T8V0RMJvvJjCXAnZI+V5PadWPhqfjMzLZLlzdJpAlhjyfrRTUBlwO/6SyPmZnZ9urqJolpZDM43Ap8IyIer0mtzMysx+uqB3U68BqwD3Bu7pfWBUREDKpi3czMrAfrNEBFRLlf5DUzM6soByAzMyskBygzMyskBygzMyskBygzMyskBygzMyskBygzMyskBygzMyskBygzMyskBygzMyskB6gKk38xy8ysIhygzMyskBygzMyskBygzMyskBygKsy/pGtmVhkOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUGZmVkgOUFXi283NzLaPA1SFeS4+M7PKcIAyM7NCqlqAkvRzSaslPZ5L21XSHZIWp+ddctsulrRE0iJJR+fSx0p6LG27XHIfxcysJ6hmD+oa4Jh2aRcBsyJiDDArrSNpf2AScEDKM1VS75TnCmAKMCY92h/TzMwaUNUCVETcDbzULnkiMC0tTwNOyqVPj4iNEbEUWAKMl7QHMCgi7o+IAK7N5TEzswZW62tQwyJiJUB6HprSRwDLcvstT2kj0nL79JIkTZHULKm5paWlohU3M7PaKspNEqWuK0Un6SVFxJURMS4ixg0ZMqRilTMzs9qrdYBalYbtSM+rU/pyYFRuv5HAipQ+skS6mZk1uFoHqJnA5LQ8Gbg5lz5JUj9Jo8luhpiThgHXSZqQ7t47I5fHzMwaWJ9qHVjSDcDhwGBJy4GvA98CZkg6C3gOOAUgIuZLmgEsAFqBcyJiczrU2WR3BA4Abk0PMzNrcFULUBFxagebjuhg/0uBS0ukNwPvrWDVzMysGyjKTRINJzq+l8PMzMrgAGVmZoXkAFVhnofJzKwyHKDMzKyQHKDMzKyQHKDMzKyQHKDMzKyQHKDMzKyQHKDMzKyQHKAqzF/PNTOrDAcoMzMrJAcoMzMrJAcoMzMrJAeoKglfjDIz2y4OUBXmufjMzCrDAcrMzArJAapBXHbLQpou+mO9q2FmVjEOUA3ip3c/Xe8qmJlVlANUgwnfnWFmDcIBqsE4PplZo3CAajCOT2bWKBygzMyskBygGoyvQZlZo3CAajAOT2bWKBygzMyskBygqqTWPRmlOZY8wmdmjcIBqsGEB/nMrEE4QFWY5OlizcwqwQGqQbSFRQ/xmVmjcIAyM7NCcoBqEG1Di7XuQd0873mO/N5d/v6VmVVcn3pXwLq3C26cx5aAzVuCPr19/c3MKsc9qAZT67v43uy51bRUM+sJHKAaRL1ukmgrd4uH+MyswhygrCJqHZ9+fu9Smi76I1u2ODCaNSoHqAbx5kwSNS63Vyq41j2oy25dCEBrjQPUug2bmLdsTU3LNOupuk2AknSMpEWSlki6qN71Kaqa301XpymWVKfAOOXauZz04/vY2Lq5puU+v2Y9NzUvq2mZkL2e3Eu1eukWAUpSb+DHwLHA/sCpkvavb62KqeZzAKbnzRE1DY69UsGbNm+pabltvaeNrbUt9/SrZ/OFXz3KK69vqmnA+P6fFrP3l29h7YbalvvQcy9z7g0Ps27DJlo3b6lZucteep1f3LeUNa+/wRuttSv35dfe4I4Fq1i9dgMbNtXuw89rG1t56LmXefbF13h1Y2vNyi2XusP3VyQdClwSEUen9YsBIuKyjvKMGzcumpubt6m8qXcu4Wd3P71NeV9+fRMAOw/o++abaC20ldtmlx37ulyX63JdbtXL3Xf3gUyfcuh21UPS3IgY1z69u3wPagSQH99YDnyg/U6SpgBTAPbcc89tLmzfYQM54f3Dtynv8y+v576nXmDigduWf1utWLOee5e8QAR8YO/daNptxxqVu4F7FrcQwIQal3v34hYEjB+9K6MHv6Mm5a58ZQN3PdlCL8EhTTUud1ELfXqLsXvtUrNy//bKBv6yaDU79O7FwTUsd9XaDcxauJr+fXtz4Kh3sveQ2pY7oG9v3jdqZ941ZKealLt67UZuX/A3durXh/82srbl3rbgbwzq35cDhg/i3UPffrm779y/CjXLdJcAVaovslXXLyKuBK6ErAe1rYUdsd8wjthv2LZmNzOzCugW16DIekyjcusjgRV1qouZmdVAdwlQDwJjJI2WtAMwCZhZ5zqZmVkVdYshvoholfRZ4DagN/DziJhf52qZmVkVdYsABRARtwC31LseZmZWG91liM/MzHoYBygzMyskBygzMyskBygzMyukbjHV0baQ1AI8ux2HGAy8UKHqNDq3VfncVuVzW5Wvu7fVXhExpH1iwwao7SWpudTcULY1t1X53Fblc1uVr1HbykN8ZmZWSA5QZmZWSA5QHbuy3hXoRtxW5XNblc9tVb6GbCtfgzIzs0JyD8rMzArJAcrMzArJAaoEScdIWiRpiaSL6l2fepD0jKTHJM2T1JzSdpV0h6TF6XmX3P4Xp/ZaJOnoXPrYdJwlki6XVOrHJ7sVST+XtFrS47m0irWNpH6SbkzpsyU11fQEK6iDtrpE0vPptTVP0nG5bT25rUZJ+oukhZLmSzovpffc11ZE+JF7kP2cx1PA3sAOwCPA/vWuVx3a4RlgcLu0bwMXpeWLgP+blvdP7dQPGJ3ar3faNgc4lOxXkW8Fjq33uVWgbf4ROBh4vBptA3wG+ElangTcWO9zrnBbXQJcWGLfnt5WewAHp+WBwJOpTXrsa8s9qK2NB5ZExNMR8QYwHZhY5zoVxURgWlqeBpyUS58eERsjYimwBBgvaQ9gUETcH9l/xLW5PN1WRNwNvNQuuZJtkz/Wr4AjumvPs4O26khPb6uVEfFQWl4HLARG0INfWw5QWxsBLMutL09pPU0At0uaK2lKShsWESsh+2cChqb0jtpsRFpun96IKtk2b+aJiFbgFWC3qtW8Pj4r6dE0BNg2ZOW2StLQ20HAbHrwa8sBamulPk30xHvxPxgRBwPHAudI+sdO9u2ozdyW29Y2jd5uVwDvAg4EVgLfTeluK0DSTsCvgfMjYm1nu5ZIa6j2coDa2nJgVG59JLCiTnWpm4hYkZ5XA78lG/pclYYPSM+r0+4dtdnytNw+vRFVsm3ezCOpD7Az5Q+TFV5ErIqIzRGxBfgZ2WsL3FZI6ksWnK6PiN+k5B772nKA2tqDwBhJoyXtQHYhcWad61RTkt4haWDbMnAU8DhZO0xOu00Gbk7LM4FJ6Q6h0cAYYE4ajlgnaUIa5z4jl6fRVLJt8sc6GfhzupbQENrebJOPkr22oIe3VTq3q4GFEfG93Kae+9qq910aRXwAx5HdQfMU8JV616cO57832d1BjwDz29qAbKx6FrA4Pe+ay/OV1F6LyN2pB4wjewN6CvgRafaS7vwAbiAbmtpE9on0rEq2DdAfuInsovccYO96n3OF2+qXwGPAo2RvmHu4rQLgQ2TDbY8C89LjuJ782vJUR2ZmVkge4jMzs0JygDIzs0JygDIzs0JygDIzs0JygDIzs0JygDLrgKTNuRm35xV+5ue3QdJBkq5Ky2dK+lG77XdKGtdJ/umSxlS7ntaz9al3BcwKbH1EHFhqQ/oCpCKbDaE7+jLwze3IfwXwReBTlamO2dbcgzIrk6Sm9Fs9U4GHgFGSviDpwTTx6Tdy+34l/UbPnyTdIOnClP5mz0TSYEnPpOXekv4jd6xPp/TDU55fSXpC0vW53/Y5RNJfJT0iaY6kgZLukXRgrh73SXpfu/MYCLwvIh4p45xPzPUgF0lamjbdAxyZpssxqwq/uMw6NkDSvLS8FLgA2Bf4RER8RtJRZNPLjCebhHNmmlT3NbIpsg4i+x97CJjbRVlnAa9ExCGS+gH3Sbo9bTsIOIBsPrX7gA9KmgPcCHw8Ih6UNAhYD1wFnAmcL2kfoF9EPNqurLZZBvI+LulDufV3A0TETNJUX5JmAHel9C2SlgDvL+PczLaJA5RZx/5uiC9dg3o2Ih5ISUelx8NpfSeygDUQ+G1EvJ7ylTOX41HA+ySdnNZ3Tsd6g2x+teXpWPOAJrKfSVgZEQ8CRJr1WtJNwP+W9AXgk8A1JcraA2hpl3ZjRHw2d6535jdK+iJZe/w4l7waGI4DlFWJA5TZ2/NablnAZRHx0/wOks6n458waOWtofX+7Y71uYi4rd2xDgc25pI2k/3fqlQZEfG6pDvIfpjuX8h6S+2tb1d2pyQdAZxC9uu4ef3TscyqwtegzLbdbcAn0+/3IGmEpKHA3cBHJQ1I13tOyOV5Bhiblk9ud6yz088tIGmfNJN8R54Ahks6JO0/MHc96CrgcuDBiCj1UwoLSUN4XZG0FzAV+JeIaB+M9iGbTNisKtyDMttGEXG7pP2A+9N9C68Cp0XEQ5JuJJuN+lmyGwrafAeYIel04M+59KvIhu4eSjdBtPDWz3SXKvsNSR8HfihpAFlP5kjg1YiYK2kt8IsO8j4haWdJAyP7afHOnEk2m/Zv0zmuiIjjJA0jG/Jb2UV+s23m2czNqkzSJWSB4zs1Km84cCfwno5ug5d0AbAuIq7axjIuANZGxNXbXFGzLniIz6yBSDoDmE32G16dfUfrCv7+2tbbtQaYth35zbrkHpSZmRWSe1BmZlZIDlBmZlZIDlBmZlZIDlBmZlZIDlBmZlZI/x+yeM0qVr+uCwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "triangle_wave = make_wave(triangle_func, duration=0.5, freq=freq)\n", "triangle_spectrum = make_spectrum(triangle_wave)\n", "plot_spectrum(triangle_spectrum, \n", " title='Spectrum of a triangle wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The spectrum of the triangle wave has odd harmonics only.\n", "\n", "But they drop off more quickly.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Sound\n", "\n", "\n", "`make_audio` makes an IPython `Audio` object we can use to play a wave." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "from IPython.display import Audio\n", "\n", "def make_audio(wave):\n", " \"\"\"Makes an IPython Audio object.\n", " \"\"\"\n", " return Audio(data=wave, rate=framerate)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Dropping to 500 Hz to spare your ears." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "freq = 500" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sinusoid_wave = make_wave(sinusoid_func, duration=0.5, freq=freq)\n", "make_audio(sinusoid_wave)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "triangle_wave = make_wave(triangle_func, duration=0.5, freq=freq)\n", "make_audio(triangle_wave)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sawtooth_wave = make_wave(sawtooth_func, duration=0.5, freq=freq)\n", "make_audio(sawtooth_wave)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "square_wave = make_wave(square_func, duration=0.5, freq=freq)\n", "make_audio(square_wave)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Dropoff\n", "\n", "Let's see how the spectrums depend on $f$." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "def plot_over_f(spectrum, freq, exponent):\n", " fs = spectrum.index\n", " hs = 1 / fs**exponent\n", "\n", " over_f = pd.Series(hs, fs)\n", " over_f[fs" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(sawtooth_spectrum, freq, 1)\n", "plot_spectrum(sawtooth_spectrum, \n", " title='Spectrum of a sawtooth wave')" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "square_wave = make_wave(func=square_func, \n", " duration=0.5, freq=freq)\n", "square_spectrum = make_spectrum(square_wave)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(square_spectrum, freq, 1)\n", "plot_spectrum(square_spectrum, \n", " title='Spectrum of a square wave')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "triangle_wave = make_wave(func=triangle_func, \n", " duration=0.5, freq=freq)\n", "triangle_spectrum = make_spectrum(triangle_wave)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(triangle_spectrum, freq, 2)\n", "plot_spectrum(triangle_spectrum, \n", " title='Spectrum of a triangle wave')" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def text(x, y, text):\n", " transform = plt.gca().transAxes\n", " plt.text(x, y, text, transform=transform)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_four_spectrums(fourth=None):\n", " plt.figure(figsize=(9, 6))\n", "\n", " plt.subplot(2, 2, 1)\n", " plot_over_f(square_spectrum, freq, 1)\n", " plot_spectrum(square_spectrum, \n", " title='Spectrum of a square wave')\n", " text(0.3, 0.5, 'Odd harmonics, $1/f$ dropoff.')\n", "\n", " plt.subplot(2, 2, 2)\n", " plot_over_f(triangle_spectrum, freq, 2)\n", " plot_spectrum(triangle_spectrum, \n", " title='Spectrum of a triangle wave')\n", " text(0.3, 0.5, 'Odd harmonics, $1/f^2$ dropoff.')\n", "\n", " plt.subplot(2, 2, 3)\n", " plot_over_f(sawtooth_spectrum, freq, 1)\n", " plot_spectrum(sawtooth_spectrum, \n", " title='Spectrum of a sawtooth wave')\n", " text(0.3, 0.5, 'All harmonics, $1/f$ dropoff.')\n", "\n", "\n", " plt.subplot(2, 2, 4)\n", " text(0.3, 0.5, 'All harmonics, $1/f^2$ dropoff.')\n", " if fourth is not None:\n", " plot_over_f(fourth, freq, 2)\n", " plot_spectrum(fourth, \n", " title='Spectrum of a parabola wave')\n", " else: \n", " plt.xticks([])\n", " plt.yticks([])\n", "\n", " plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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PvggI0eOZNSoUVx44YWUlJTw5S9/mVGjRjF8+PC4WueOOuooOnXqtFf5ggULGDx4MJmZmSxatIijjz6alStXMmbMGEpKSrjuuus46aSTGDt2bMztxjrPtc/TqlWr6jz+IUOGMGXKFEaOHMlZZ51FaWlpvefsW9/6FsuWLeOUU04hNzc3Mv6HP/yhwXPQ4rl7gwPwQTxlLWkYN26c749+1z3n/a57LjK9e/duv+mmm/zNN9/cr+22Bq+88op/8YtfrFG2bds279Spk5eUlPivfvUrHzx4sE+cONHPPfdc/93vfhdZrr557u7Lly/3IUOG+KWXXurDhg3z448/3ktLSyPzTz31VB87dqwPGzbM//rXv9ZY54orrvDRo0f7G2+84QcffLB/4xvf8KKiIj///PP95Zdf9sMPP9wPOuggnz59emR7t9xyixcVFXlRUZH/4Q9/aDCGwsLCyLoPPPCAjxgxwkeOHOkXXHCB79ixwydPnuwjR470oqIif/TRR+M6n8uXL/eioqIaZfPnz/ezzz7b3d0XLlzovXv39h49evjo0aN9x44dDZ7P2udkxYoVdR7rwQcf7BdddJGPGDHCzzzzTC8pKanz3Fx++eWenZ3tw4cP91tvvXWv6dYMmOmNrEdaW923v/Xe07NXe7/rnvNv3vuu33TTTT5nzpz92l5rc9ttt/nVV1+9V3l1vTN8+HAvKSnxbdu2+cCBAyN/jzNnzqxzXrXly5d7Zmamz549293dzz77bH/ooYci8zdt2uTu7qWlpV5UVOQbN2705cuXu5n5tGnTamzj448/9srKSh87dqxfcsklXlVV5U8//bSfeuqpNeLZsWOHFxcX+7Bhw/yDDz6oN4bqum/u3Lk+ePBg37BhQySuJ5980i+99NJIrFu3bo3rfMaq+2655Ra/5557ItM33nij/+1vf4uc/7Fjx/rll1/ud955517bq+s81z5P9R0/4FOnTnV390suuWSvz7D2Ou7u/fr1i5yP6PHWoq66r94WQDPrYWbjgHwzG2NmY8PhGKAgYVlpC5SdnU27du3YtCnlXwLAvHnzGDduXI2ydu3a0bdvX95//30effRRZs+ezb/+9S/ef39PY8isWbPqnBdt8eLFXHnllcybN48OHTrwz3/+MzLv3nvvZdasWcycOZPbb789cr4XLVrERRddxOzZs+nXrx9Llizh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ftNNN/n777+/X9ttLYqLi/2AAw7wRYsW+cEHHxwpLywsjDlebfny5T5kyBC/9NJLfdiwYX788cd7aWmpu7ufeuqpPnbsWB82bJj/9a9/3WudK664wkePHu1vvPGGH3zwwf6Nb3zDi4qK/Pzzz/eXX37ZDz/8cD/ooIN8+vTp7u5+yy23eFFRkRcVFfkf/vCHuGKIjvmBBx7wESNG+MiRI/2CCy7wHTt2+OTJk33kyJFeVFTkjz76aFznavny5V5UVFSjbP78+X722Wf7woULvXfv3t6jRw8fPXq079ixo8Zyv/rVr3zw4ME+ceJEP/fcc/13v/vdXudjxYoVdR7v8uXL/eCDD/aLLrrIR4wY4WeeeaaXlJTUufzll1/u2dnZPnz4cL/11lv3mk5lwEyPo75rzcP+1nvi/tBDD/nXv/51d3c/7LDDfNasWe4eX92XmZnps2fPdnf3s88+2x966CF3d9+0aZO7u5eWlnpRUZFv3Lgxso6Z+bRp02ps4+OPP/bKykofO3asX3LJJV5VVeVPP/20n3rqqT5z5kwfPny479ixw4uLi33YsGH+wQcfNBhDdcxz5871wYMH+4YNGyKxPfnkk37ppZdGjmXr1q1xnatYdd8tt9zi99xzj7u733jjjf63v/0tMu+2227zsWPH+uWXX+533nnnXturPraSkhLftm2bDxw4MFInRp+nus7B8uXLHfCpU6e6u/sll1ziv/vd7+pdx929X79+kfMRPZ4q6qr74k0AP4inrCUNTZ0AVlZW+i9/+Ut/6aWX9mu7rYUqwcRVgtXireyil423wou3sos1naqUAEo8Jk+e7P/973/dPUhYrr32WnePr+476KCDItO/+c1v/Je//KW7u//85z/3kSNH+siRI71du3Y16rr+/fvXuY0LL7zQ//73v7u7+9KlS33UqFH+xz/+0X/6059GlvnJT37it912W4MxVMd8++23+49//OMasS9atMj79+/vP/rRj/ytt96K70R57LrvhBNO8M8++8zd3U855RSfMWNG3Nv7wx/+UOPYvv/970fqxOjzVNc5WL58uffp0ydS/uqrr/qpp55a7zru6ZsA1tsFbGY9zGwckG9mY8xsbDgcAxTsV9NjK5ORkUHnzp3ZtCk9XoDyyCOPcO655wJw7rnn8sgjj8S97oABAxg9ejQA48aNY8WKFUBwrdmoUaM49NBDWbVqFYsXL46s069fPw499NAa2xgxYgQZGRkUFRUxceJEzIwRI0awYsUKpk6dyumnn05hYSFt2rThjDPO4O23324whmqvvfYaZ511Fl26dAGgU6dOjBgxgldeeYXrrruOt99+m/bt28d9zLW99NJLTJoUPK5yzpw5jBo1aq9l3n77bU4//XQKCgpo164dp5xySp3no77j7dOnD0cccQQAF1xwAVOnTm3w/IjI3jZt2sRrr73GpZdeSv/+/fnd737HY489Vt3o0aDc3NzIeGZmJhUVFbzxxhu88sorTJs2jY8++ogxY8awa9euyHKFhYV1biMjIyMynZGRQUVFRYOxxIohmrtT+10KgwcPZtasWYwYMYIbbriB//mf/4nreGsrLS1l69atHHDAAQDMmzePoqKiRm2jrvc8RJ+n+s5B7fWrp+P9DNNJQ9cAngj8nuDGi1uBW8LhB8CPExtay5MuCaAqwearBOOp7KrjrUusCk+VnUjjPfnkk1x00UWsXLmSFStWsGrVKgYMGMDUqVP3eZvbtm2jY8eOFBQUsHDhQt57772GV6rHUUcdxdNPP01paSklJSU89dRTfPGLX4x7/YkTJ/L4449H/pdt3ryZNWvWUFBQwAUXXMC1117LBx98EFn2s88+i3vbr7/+Ol/60peA4NWp2dnZFBTE31Z01FFH8dRTT7Fz506Ki4t59tln61yurnPw6aefMm3aNGDPdewNrZOu6k0A3f0Bd/8ScLG7fylqOMX33NWbNtp17MQnG8uorKxMdigJpUqweSrBeCu7ho43VoWnyk6k8R555BFOP/30GmVnnnkm//jHP/Z5m5MmTaKiooKRI0fy05/+tEbL/r4YO3YsF198MRMmTOALX/gCl156KWPGjIl7/aKiIm688UaOPvpoRo0axQ9+8APmzJnDhAkTGD16NDfffDM/+clPqKqqYsmSJTFv9AA477zzOOyww1i0aBG9e/fmnnvu4YUXXoj0fMydO7fRT4QYO3Ys55xzDqNHj+bMM8+ss86q7xwMHTqUBx54gJEjR7J582auuOKKBtepz+TJk1mzptkfPNI8YvULVw/ABeHPawha/WoM9a2b7KGprwF0d7/srte933XP+ezFq/Zr2y3d0Ucf7S+88EKNsttuu82/9a1vxXUdTPQ1Ib/73e/85z//ue/atcsnTZrkI0aM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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_four_spectrums()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Method 1: Filtering\n", "\n", "One option is to start with a sawtooth wave, which has all of the harmonics we need." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "sawtooth_wave = make_wave(sawtooth_func, duration=0.5, freq=freq)\n", "sawtooth_spectrum = make_spectrum(sawtooth_wave)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(sawtooth_spectrum, freq, 1)\n", "plot_spectrum(sawtooth_spectrum, \n", " title='Spectrum of a sawtooth wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And filter it by dividing through by $f$." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "fs = sawtooth_spectrum.index\n", "filtered_spectrum = sawtooth_spectrum / fs\n", "filtered_spectrum[0:400] = 0" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(filtered_spectrum, freq, 2)\n", "plot_spectrum(filtered_spectrum, \n", " title='Spectrum of the filtered wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Now we can convert from spectrum to wave." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def make_wave_from_spectrum(spectrum):\n", " ys = np.fft.irfft(spectrum)\n", " n = len(ys)\n", " ts = np.arange(n) * dt\n", "\n", " series = pd.Series(ys, ts)\n", " return series" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "filtered_wave = make_wave_from_spectrum(filtered_spectrum)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_wave(filtered_wave, title='Filtered wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "It's an interesting shape, but not easy to see what its functional form is." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Method 2: Additive synthesis\n", "\n", "Another approach is to add up a series of cosine signals with the right frequencies and amplitudes." ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "fundamental = 500\n", "nyquist = framerate / 2\n", "freqs = np.arange(fundamental, nyquist, fundamental)\n", "amps = 1 / freqs**2" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "total = 0\n", "for f, amp in zip(freqs, amps):\n", " component = amp * make_wave(sinusoid_func, 0.5, f)\n", " total += component" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "synth_wave = unbias(normalize(total))\n", "synth_spectrum = make_spectrum(synth_wave)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Here's what the spectrum looks like:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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pGpVykESE87s2bM4fPgwPT095S5FRKQqKaBiMnvOHACNokRExkgBFZN586KDD3fv3j3CliIiko8CKiaNDY3MmDGDXbt2lbsUEZGqpICKUVtbG7t37yY6S5OIiIyGAiomDsyfP59Tp05R7rNaiIhUIwVUjObPnw/Azp07y1yJiEj1UUDFaNq0aUydOpVt27aVuxQRkaqjgIqJu2NmnHvuuezYsYNMJlPukkREqooCKmaLFy+mt7dXR/OJiIySAipmCxYsIJlMsnXr1nKXIiJSVRRQMek/sDydTrNo0SI2b96sw81FREZBATUOLrzwQo4fP66zSoiIjIICahycf/75pFIpNm3aVO5SRESqhgJqlAqdpcvdLp1Oc95557F582YdzSciUiAF1Di5+OKL6ezsZPPmzeUuRUSkKiigxsmiRYuYPn0669evL3cpIiJVQQE1TsyMSy+9lA07j7LlZX0nSkRkJAqomDiDP6x685vfwqM953PLd58f/4JERKqMAmoc1dbVAbC3K8HevXvLXI2ISGVTQI0jy1leu3atvrgrIjIMBVRM8mVPf5NhbN++nS1btoxrTSIi1UQBVQYOzJo1i8cee4zu7u5ylyMiUpEUUGVyzTXX0NHRwSOPPFLuUkREKpICahzlfubU1tbGFVdcwcaNG9m4cWMZqxIRqUwKqDK64oormD9/Pj/5yU90IlkRkQEUUONo4HETiUSC66+/nubmZlatWsXhw4fLUpeISCVSQJVZY2MjH/nIRwBYsWIFBw4cKHNFIiKVQQEVk9F8xemss87ixhtvZP3Js1j6jfXs3LkzvsJERKqEAqrEzIZeN1xotba28uvOVgAeeOABnnnmGX2RV0QmNQVUBXrDG87l5z//OQ8++CDHjh0rdzkiImWhgIpJvpPFFuqGG27gPe95D7t27eKee+7h6aefpre3t4TViYhUvlS5C5hMCg4tM5YuXcrixYt57LHHePLJJ1m/fj1vXnI5l196EY31dfEWKiJSATSCqkDZ8NnTtGnTWLZsGTfeeCNTpkzl3z9yhOu+9kOeeOIJDh06VOYqRUTipYCKSTHHNwzse84553DTTTcBsLVnKuvWrePuu+/mW9/6FuvWrdP3p0RkQtIU3zgqNLTyTQXmtnzuc59j06ZNbNy4kccff5zHH3+cRMtMeqacw59dvpC2tjaamppKU7SISJko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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_over_f(synth_spectrum, freq, 2)\n", "plot_spectrum(synth_spectrum)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "And here's what the waveform looks like." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_wave(synth_wave, title='Synthesized wave')" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(9,4))\n", "plt.subplot(1, 2, 1)\n", "plot_wave(filtered_wave, title='Filtered wave')\n", "plt.subplot(1, 2, 2)\n", "plot_wave(synth_wave, title='Synthesized wave')" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(9,4))\n", "plt.subplot(1, 2, 1)\n", "plot_spectrum(filtered_spectrum, title='Filtered spectrum')\n", "plt.subplot(1, 2, 2)\n", "plot_spectrum(synth_spectrum, title='Synthesized spectrum')" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "make_audio(synth_wave)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "make_audio(filtered_wave)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "What we hear depends on the magnitudes, not their phase.\n", "\n", "Mostly.\n", "\n", "[Autocorrelation and the case of the missing fundamental](https://www.dsprelated.com/showarticle/909.php)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_wave(synth_wave, title='Synthesized wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Method 3: Parabolas" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "def parabola_func(cycles):\n", " ys = wrap(cycles) - 0.5\n", " return ys**2" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "parabola_wave = make_wave(parabola_func, 0.5, freq)\n", "plot_wave(parabola_wave, title='Parabola wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Does it have the right harmonics?" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "jupyter": { "outputs_hidden": false }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "parabola_spectrum = make_spectrum(parabola_wave)\n", "plot_over_f(parabola_spectrum, freq, 2)\n", "plot_spectrum(parabola_spectrum, \n", " title='Spectrum of a parabola wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We looked at the waveform and guessed it's a parabola.\n", "\n", "So we made a parabola and it seems to work.\n", "\n", "Satisfied?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "There's another way to get there:" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The integral property of the Fourier transform." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Method 4: Integration" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The basis functions of the FT are the complex exponentials:\n", "\n", "$e^{2 \\pi i f t}$\n", "\n", "And we know how to integrate them.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "$\\int e^{2 \\pi i f t}~dt = \\frac{1}{2 \\pi i f}~e^{2 \\pi i f t}$\n", "\n", "\n", "Integration in the time domain is a $1/f$ filter in the frequency domain." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "When we applied a $1/f$ filter to the spectrum of the sawtooth,\n", "\n", "We were integrating in the time domain." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Which we can approximate with `cumsum`." ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "integrated_wave = unbias(normalize(sawtooth_wave.cumsum()))" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_wave(integrated_wave)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "integrated_spectrum = make_spectrum(integrated_wave)\n", "\n", "plot_over_f(integrated_spectrum, freq, 2)\n", "plot_spectrum(integrated_spectrum, \n", " title='Spectrum of an integrated sawtooth wave')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Summary" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_four_waves(fourth=None):\n", "\n", " plt.figure(figsize=(9, 6))\n", "\n", " plt.subplot(2, 2, 1)\n", " plot_wave(square_wave, \n", " title='Square wave')\n", "\n", " plt.subplot(2, 2, 2)\n", " plot_wave(triangle_wave, \n", " title='Triangle wave')\n", "\n", " plt.subplot(2, 2, 3)\n", " plot_wave(sawtooth_wave, \n", " title='Sawtooth wave')\n", " \n", " if fourth is not None:\n", " plt.subplot(2, 2, 4)\n", " plot_wave(parabola_wave, \n", " title='Parabola wave')\n", "\n", "\n", " plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_four_waves()" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAGoCAYAAADW2lTlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAB7bklEQVR4nO3deXxcZdn/8c+Vfem+l+6Ulrbp3lLZBKQspSI7sggUFEFEBQUFxAUfxcefCgr6gCI7IquCgCyyQ6G0tBToTnda2tK9TZM2zXL9/jgn00k6SSZtJpPMfN+v13nlnPts1zmT3Lnmvs9i7o6IiIiIpI+MZAcgIiIiIs1LCaCIiIhImlECKCIiIpJmlACKiIiIpBklgCIiIiJpRgmgiIiISJpRAiithpnlm9mzZrbNzJ5IdjwiIomSjPrOzL5mZv9thv0cY2arE70fqZ8SwBbKzI40s3fDP/7NZvaOmR2S4H2uMLPjErmP/XQW0B3o7O5nJzsYEWkaqu9iarL6zsz6m5mbWVZ9y7n7w+5+wv7sS1qPen8ZJDnMrB3wHHAF8DiQA3wRKEtyXFnuXpHEEPoBnyQ5hibTAs6nSNKpvqtTs9Z3LeB4pbm5u4YWNgDjga31zL8YeAf4E7ANWAhMjJrfHrgHWAt8BvwKyIya/01gAVAMzAfGAg8BVcBOYAfwI6A/4MA3gE+Bt4BjgNW14lkBHBeO3wQ8Afw93P4cYDBwA7AeWAWcUM+xDQXeALYC84BTwvJfALuB8jC+b8RYdwIwLVx3LfBnIKeO/eSFMW4Kl38f6B7OGwC8Gcb/cridv4fzGjr+emMIz+eVwGJgeVh2MvBhuM67wMg6Yv4F8KdwPBsoAX4bTucDu4CO4fQTwLrw9+MtoCgsPzQsj/59OB34OBzPAK4Hlobn5nGgU7L/JjSk7oDquzdIfH33aXhsO8LhsKjz+gdgc3jeLgamRq13W3gM24FZwBej5t0U1g8Phsc+DxgfNX8sMDuc9wTwGPCrcF6N8wocAPwT2AAsB75Xx3EMCI83I5y+G1gfNf/vwNXh+CVRn/sy4PKo5RYAJ0dNZwEbgbHh9KEEdfFW4CPgmGT/nSTkby/ZAWiI8aFAO4J/vg8AJxH+U4+afzFQAXyfIBE4h6Bi7BTOfxr4K1AIdANmVP/yA2cTVJKHAAYcBPQL560grNjC6f5hpfFguK382n+4tdcLK4VdwInhH9WD4R/0jWGs3yRMfGIcdzawBPgxQSvAseEf78FR2/57PedtXPiHmxXGvqC6Moix7OXAs0ABkBmu2y6cNw24FcgFjgpjiDcBrDeG8Hy+DHQKz+dYgn8UXwjjmBJuLzdGzMcCc8LxwwmStOlR8z6KWvbrQNvwGP4IfBg1bylwfNT0E8D14fjVwHtA73DdvwKPJPtvQkPqDqi+a476rvrYsmKc1++G28hn7wTwAqBzOP8agi+PebWOfTJB3fW/wHvhvBxgJXBVeJxnECS0eyWABF86ZwE/C9c7kCBhO7GOY/kUGBeOLwqXHRo1b0w4/mVgYPi5Hw2UsifB+xnwcNQ2vwwsDMd7Efw+Tg5jOz6c7prsv5Um/9tLdgAa6vhggm+G9wOrwz/SZ9jTQnUxsAawqOVnABcSXDNSBuRHzTsPeD0cfwm4qo59riB2hXhgVFnkDzfWemGl8HLUvK8QfOPMDKfbhtvsEGP/XwwrmIyoskeAm6K2XWeFGGN7VwNP1THv68RobQP6hue7MKrsH8SZADYUQ3jsx0ZN3wn8stY6i4CjY2yrupWvM0Er3Y/D3482BC0Gt9cRQ4dwv+3D6V8B90Z9HiXs+ae4gJqtKz0JWiGyYm1bg4amGFB9V12WqPqu+thqJ4Cf1lruYqISwBjb2QKMiorvlah5w4Cd4fhRBIl39Gc2ldgJ4BdixHEDcF8dMTwE/ADoQVBX/hb4FrVaB2Os93T17wLBF4FioCCcfhj4WTh+HfBQrXVfAqYk+++kqQfdBNJCufsCd7/Y3XsDwwmayP8YtchnHv5mhlaGy/Qj+Ma11sy2mtlWgm/H3cLl+hC0ADXGqkYu/3nU+E5go7tXRk1DkLTUdgCwyt2rospWEnwja5CZDTaz58xsnZltB34NdKlj8YcI/qgfNbM1ZvZbM8sOY9ji7iW1YohLnDFEn89+wDXVn1X4efUJ46jB3XcCMwm+zR5F0E39LnBEWPZmGEOmmf3GzJaGMawIN1Edxz+AM8wsl+Cb+QfuXn2M/YCnomJZAFQS/KMVSQjVdxGJqu/qUu+xmtk1ZrYgvDlnK0F3e/Q+1kWNlwJ54Y0mB7D3Z1bXvvoBB9SqA39M3XXOmwQJ5FEE3fRvENR/RwNvV59PMzvJzN4LbyraStCi1wXA3ZcQ1G1fMbMC4BSCerE6nrNrxXMkwZfhlKIEsBVw94UE346HRxX3MjOLmu5L8C15FcE34i7u3iEc2rl7UbjcKoJm8Zi7iqO8hKDbFAiSDaBrvMfSgDVAHzOL/r3sS/BNMh53ElwfNMjd2xFUIhZrQXcvd/dfuPswgu7Uk4GLCK6l6WhmhbViqNbQ8ccTQ+1K8eaoz6qDuxe4+yN1HOObBF1FYwiuW3yToPtpAkFlCHA+cCpwHEGF3b863PDY5xP8ozkpXLa64quO56Ra8eS5e7yfgch+UX3X9PUd8R1rDWb2RYLWsK8SdMt3IOh6r2sf0day92fWp45lVxF0k0fXOW3dfXIdy79J0Hp6TDg+lb2/BOcSXFP4e4KW5A7A87Vif4SgtfhUYH6YFFbH81CteArd/TdxHHerogSwBTKzIeE3r97hdB+CX9T3ohbrBnzPzLLN7GyCLpTn3X0t8F/gFjNrZ2YZZjbQzI4O17sbuNbMxlngIDPrF877nOD6i/p8QvAt78thi9lPCK4VawrTCSrcH4XHdQxBl8qjca7fluBi5R1mNoTgrsKYzOxLZjYirNC3E3RzVoYtYTOBX5hZjpkdGcZQraHjjzuG0N+Ab5nZF8LPozDcdts6ln+TIFGd7+67Cb79XkpQgW6IiqGM4LqVAoKWgdr+AXyP4Ft09DPG/gLcXP07YWZdzezUBo5BZJ+pvkt8fUdwc0UVDR9v7e1XhOtmmdnPCK7XjMc0gp6D75hZVliHTKhj2RnAdjO7zoJnH2aa2XCr4zFA7r6YoGX1AuAtd99O8FmeSZgAElxLmBvGXmFmJwG1H2/zaFh2BTW/BP+doGXwxDCWPAueW9g7zmNvNZQAtkzFBNdFTDezEoKKcC7BRbjVpgODCO5cuhk4y903hfMuIvgDmE9wzcaThM3X7v5EuPw/wv08TXBDAgQX8f4kbPa+NlZg7r4N+DZBxfoZQQXWJA/0DBOaUwhapjYCdwAXhS0C8biWoEWrmCCxeqyeZXsQnJftBF0BbxL84RNu4wsEd8b9nODC7uoYGzr+xsSAu88kuFD8zwSf1RKC63Dq8i7BtYDVrX3zCa4LfCtqmQcJWvg+C+dH/yOt9gjBN+jX3H1jVPltBNdf/dfMisN1v1DfMYjsJ9V3Ca7v3L2U4Dy8Ex7voXFs/yXgBYIkeCVBPRNX93h4bGcQ3FG9lSBZe44Yj/YJu8u/AowmuIFmI8H5bl/PLt4ENrn7p1HTRnDXMe5eTPAF93GC34nzCeq16P2uJUhUDyfq3Ln7KoJWwR8TJJCrgB+SgvmS1eyil9bAzC4GLnX3I5MdSzows5uAg9z9gmTHIpJuVN+lBjObDvzF3e9LdiwSSLmMVkRERJLLzI42sx5hF/AUYCTwYrLjkj30JhARERFpagcTdMG2IbgT+6yw21VaCHUBi4iIiKQZdQGLiIiIpJmU7QLu0qWL9+/fP9lhiEgLMWvWrI3u3lTPcGuRVO+JSG111X0pmwD279+fmTNnJjsMEWkhzCzuN7q0Vqr3RKS2uuo+dQGLiIiIpBklgCIiIiJpRgmgiIiISJpRAigiIiKSZpQA1uHl9z7izZnzkh2GiEizKS0t5e7n3mHjps3JDkVEEkwJYB2++fRqpjy5ItlhiIg0m5c+XsWvpm7l9pcXJjsUEUkwJYAiIgLA5p2VAKzZvjvJkYhIoikBFBERADIygn8JVXpFqEjKUwIoIiLAngRQ74gXSX1KAEVEBIAMUwIoki6UAIqICAAZGQYoARRJB0oAG6CKUETSReQawKqqJEciIommBLABFRUVyQ5BRKRZZGSqC1gkXSgBbEB5eXmyQxARaRa6BlAkfSgBbMDu3XoeloikFyWAIqlPCWADlACKSLpRAiiS+pQANkAJoIikGyWAIqlPCWADdA2giDSWmWWa2Wwzey6c7mRmL5vZ4vBnx6hlbzCzJWa2yMxOjCofZ2Zzwnm3m5k1V/x6E4hI6lMC2AC1AIrIPrgKWBA1fT3wqrsPAl4NpzGzYcC5QBEwCbjDzDLDde4ELgMGhcOkRAddnWOqBVAk9SkBbIASQBFpDDPrDXwZuDuq+FTggXD8AeC0qPJH3b3M3ZcDS4AJZtYTaOfu0zzIxh6MWifhvEoJoEiqUwLYACWAItJIfwR+BEQ/Tbm7u68FCH92C8t7AauillsdlvUKx2uX78XMLjOzmWY2c8OGDU1yAGoBFEl9SgAboGsARSReZnYysN7dZ8W7Sowyr6d870L3u9x9vLuP79q1a5y7rZ8SQJHUl9AE0Mw6mNmTZrbQzBaY2WGt7WJotQCKSCMcAZxiZiuAR4FjzezvwOdhty7hz/Xh8quBPlHr9wbWhOW9Y5Q3CyWAIqkv0S2AtwEvuvsQYBTBRdGt4mLoakoARSRe7n6Du/d29/4E9dlr7n4B8AwwJVxsCvDvcPwZ4FwzyzWzAQT124ywm7jYzA4Nv/BeFLVOMxyH3gUskuoSlgCaWTvgKOAeAHff7e5baWUXQ5eVlTXXrkQkdf0GON7MFgPHh9O4+zzgcWA+8CJwpbtXhutcQXAjyRJgKfBCcwWrx8CIpL6sBG77QGADcJ+ZjQJmETwaocbF0GYWfTH0e1HrV1/0XE6cF0MnghJAEdkX7v4G8EY4vgmYWMdyNwM3xyifCQxPXIR7q762Rl3AIqkvkV3AWcBY4E53HwOUEHb31mG/L4ZOxN1wSgBFJN0oARRJfYlMAFcDq919ejj9JEFCmLCLoRNxN9yuXbuaZDsiIq2FngMokvoSlgC6+zpglZkdHBZNJLjOpVVdDK0WQBFJN2oBFEl9ibwGEOC7wMNmlgMsAy4hSDofN7NvAJ8CZ0NwMbSZVV8MXcHeF0PfD+QTXAjdbBdDqwVQRNKNEkCR1JfQBNDdPwTGx5jV4i+GrqYEUETSje4CFkl9ehNIA8rKyvRtWETSQvUj9lXniaQ+JYBx0MOgRSQdVOd9SgBFUp8SwDioG1hE0okSQJHUpwQwDroTWETSiRJAkdSnBDAOagEUkfTiVFZWNryYiLRaSgDjoARQRNKLUVFRkewgRCSBlADGQV3AIpIOLOrFm0oARVKbEsA4qAVQRNKNEkCR1KYEMA5KAEUk3SgBFEltSgAbkJ2dTWlpabLDEBFpVkoARVKbEsAGFBQUsHPnzmSHISLSrMrLy5MdgogkkBLABhQUFKgFUETSjloARVKbEsAG5OfnKwEUkbTiKAEUSXVKABugFkARSRd6DIxI+lAC2AC1AIpIOtI1gCKpTQlgAwoKCigrK9NrkUQkragFUCS1KQFsQEFBAYDuBBaRtKIEUCS1KQFsgBJAEWkMM8szsxlm9pGZzTOzX4TlnczsZTNbHP7sGLXODWa2xMwWmdmJUeXjzGxOOO92s+ir9BJLCaBIalMC2IDqBFDXAYpInMqAY919FDAamGRmhwLXA6+6+yDg1XAaMxsGnAsUAZOAO8wsM9zWncBlwKBwmNRcB6EEUCS1KQFsQH5+PqAEUETi44Ed4WR2ODhwKvBAWP4AcFo4firwqLuXuftyYAkwwcx6Au3cfZq7O/Bg1DoJYexpYNRNICKpLa4E0AIXmNnPwum+ZjYhsaG1DIWFhQCUlJQkORIRaW77WveZWaaZfQisB1529+lAd3dfCxD+7BYu3gtYFbX66rCsVzheu7z2vi4zs5lmNnPDhg2NPsZYMixDLYAiKS7eFsA7gMOA88LpYuD/EhJRC1OdAO7YsaOBJUUkBe1T3efule4+GuhN0Jo3vJ7FY13X5/WU197XXe4+3t3Hd+3ataHQ4mIZpgRQJMXFmwB+wd2vBHYBuPsWICdhUbUgmZmZFBQUKAEUSU/7Vfe5+1bgDYJr9z4Pu3UJf64PF1sN9IlarTewJizvHaM84dQCKJL64k0Ay8OLkh3AzLoCVQmLqoVp06aNEkCR9NTous/MuppZh3A8HzgOWAg8A0wJF5sC/DscfwY418xyzWwAwc0eM8Ju4mIzOzS8+/eiqHUSSi2AIqkvK87lbgeeArqZ2c3AWcBPEhZVC9O2bVuKi4uTHYaINL99qft6Ag+EiWMG8Li7P2dm04DHzewbwKfA2QDuPs/MHgfmAxXAle5e/eT5K4D7gXzghXBIOFMLoEjKiysBdPeHzWwWMJHgupTT3H1BQiNrQdq0aUNTXVwtIq3HvtR97v4xMCZG+aZwO7HWuRm4OUb5TKC+6webVPVTBjMyjIoK3QUsksrqTQDNrFPU5Hrgkeh57r45UYG1JNVdwO5OMz6HVUSSJN3rPrMMPQZGJMU11AI4iz13o/UFtoTjHQi6MAYkMriWom3btlRVVVFaWhq5K1hEUlpa130ZGRns3r072WGISALVexOIuw9w9wOBl4CvuHsXd+8MnAz8qzkCbAnatGkD6FEwIuki3es+JYAiqS/eu4APcffnqyfc/QXg6MSE1PK0bdsWQDeCiKSftKr7PHzKYEaGuoBFUl28dwFvNLOfAH8n6Ba5ANiUsKhamOoWQCWAImknLes+tQCKpL54WwDPA7oSPA7haYJXGJ1X3wrVwlcizTaz58LpTmb2spktDn92jFr2BjNbYmaLzOzEqPJxZjYnnHe7NfOdGO3atQNg+/btzblbEUm+fa77WjMlgCKpL97HwGwGrtrHfVwFLADahdPXA6+6+2/M7Ppw+jozGwacCxQBBwCvmNng8HlYdwKXAe8BzxM8Vb9ZnocFkJWVRZs2bdi6dWtz7VJEWoD9rPtanT2PgcmgsrKSyspKMjMzkxuUiCREXAmgmb1O7HdQHtvAer2BLxM83+oHYfGpwDHh+AMEr0m6Lix/1N3LgOVmtoTgHZorgHbuPi3c5oPAaTRjAgjQoUMHtm3b1py7FJEk29e6r7XLyAw6h8rLy5UAiqSoeK8BvDZqPA84k+CJ9Q35I/AjoG1UWffwFUe4+1oz6xaW9yJo4au2OiwrD8drl+/FzC4jaCmkb9++cYQXvw4dOvDZZ5816TZFpMXb17qvVcvMCBLA3bt3k5eXl+RoRCQR4u0CnlWr6B0ze7O+dczsZGC9u88ys2Pi2E2s6/q8nvJYcd4F3AUwfvz4mMvsq/bt2zN//nw9DFokjexL3ZcKMqISQJHm8vTTT/Of//yH9evXc+WVV3LCCSckO6SUFtdNIOGNG9VDl/AGjR4NrHYEcErYhfsocKyZ/R343Mx6htvtSfCUfQha9vpErd8bWBOW945R3qw6dOhAVVWV7gQWSSP7WPe1epbGCeDq1as59dRTGTRoEAMHDuSqq66KeR5uuukmfv/738fcRqx5K1asYPjwZnurX6MdfvjhTbq9r3/963Tr1i3mMV9++eW88847kelrrrmGYcOG8eqrr/K3v/2N+++/n8cee6zBfdT3GTSl22+/naFDh/K1r32txnhrF+9dwLOAmeHPacA1wDfqW8Hdb3D33u7en+Dmjtfc/QLgGWBKuNgU4N/h+DPAuWaWa2YDgEHAjLC7uNjMDg3v/r0oap1m0759e4C0uQ5QlWDT2JdK8Lvf/W7MbSWjsos1nWYaXfelggxLzwTQ3TnjjDM47bTTWLx4MZ988gk7duzgxhtvTHZouDtVVVUJ2/67777bpNu7+OKLefHFF2POmz59OoceeigAy5Yt45133mH+/Pn86U9/AuBXv/oVV1555T7tNxHn6Y477uD555/n4YcfrjHe2sWbAA519wPDp+MPcvcTgPf3cZ+/AY43s8XA8eE07j4PeByYD7wIXBneAQxwBXA3sARYSjPfAAJBCyCQFncCqxJsOvtTCcarqc9J7QoulSq8fdCUdV+rka5dwK+99hp5eXlccsklAGRmZvKHP/yBe++9l9LSUm6++WYOPvhgjjvuOBYtWlRj3frmVausrOSb3/wmRUVFnHDCCezcuTMy77TTTmPcuHEUFRVx1113AcEX5qFDh/Ltb3+bsWPH8vbbbzNkyBAuvfRShg8fzte+9jVeeeUVjjjiCAYNGsSMGTMi27v11lsZPnw4w4cP549//GON7cWKofp5twAPPvggI0eOZNSoUVx44YWUlJTw5S9/mVGjRjF8+PC4WueOOuooOnXqtFf5ggULGDx4MJmZmSxatIijjz6alStXMmbMGEpKSrjuuus46aSTGDt2bMztxjrPtc/TqlWr6jz+IUOGMGXKFEaOHMlZZ51FaWlpvefsW9/6FsuWLeOUU04hNzc3Mv6HP/yhwXPQ4rl7gwPwQTxlLWkYN26c749+1z3n/a57LjK9e/duv+mmm/zNN9/cr+22Bq+88op/8YtfrFG2bds279Spk5eUlPivfvUrHzx4sE+cONHPPfdc/93vfhdZrr557u7Lly/3IUOG+KWXXurDhg3z448/3ktLSyPzTz31VB87dqwPGzbM//rXv9ZY54orrvDRo0f7G2+84QcffLB/4xvf8KKiIj///PP95Zdf9sMPP9wPOuggnz59emR7t9xyixcVFXlRUZH/4Q9/aDCGwsLCyLoPPPCAjxgxwkeOHOkXXHCB79ixwydPnuwjR470oqIif/TRR+M6n8uXL/eioqIaZfPnz/ezzz7b3d0XLlzovXv39h49evjo0aN9x44dDZ7P2udkxYoVdR7rwQcf7BdddJGPGDHCzzzzTC8pKanz3Fx++eWenZ3tw4cP91tvvXWv6dYMmOmNrEdaW923v/Xe07NXe7/rnvNv3vuu33TTTT5nzpz92l5rc9ttt/nVV1+9V3l1vTN8+HAvKSnxbdu2+cCBAyN/jzNnzqxzXrXly5d7Zmamz549293dzz77bH/ooYci8zdt2uTu7qWlpV5UVOQbN2705cuXu5n5tGnTamzj448/9srKSh87dqxfcsklXlVV5U8//bSfeuqpNeLZsWOHFxcX+7Bhw/yDDz6oN4bqum/u3Lk+ePBg37BhQySuJ5980i+99NJIrFu3bo3rfMaq+2655Ra/5557ItM33nij/+1vf4uc/7Fjx/rll1/ud955517bq+s81z5P9R0/4FOnTnV390suuWSvz7D2Ou7u/fr1i5yP6PHWoq66r94WQDPrYWbjgHwzG2NmY8PhGKAgYVlpC5SdnU27du3YtCnlXwLAvHnzGDduXI2ydu3a0bdvX95//30effRRZs+ezb/+9S/ef39PY8isWbPqnBdt8eLFXHnllcybN48OHTrwz3/+MzLv3nvvZdasWcycOZPbb789cr4XLVrERRddxOzZs+nXrx9Llizh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ftNNN/n777+/X9ttLYqLi/2AAw7wRYsW+cEHHxwpLywsjDlebfny5T5kyBC/9NJLfdiwYX788cd7aWmpu7ufeuqpPnbsWB82bJj/9a9/3WudK664wkePHu1vvPGGH3zwwf6Nb3zDi4qK/Pzzz/eXX37ZDz/8cD/ooIN8+vTp7u5+yy23eFFRkRcVFfkf/vCHuGKIjvmBBx7wESNG+MiRI/2CCy7wHTt2+OTJk33kyJFeVFTkjz76aFznavny5V5UVFSjbP78+X722Wf7woULvXfv3t6jRw8fPXq079ixo8Zyv/rVr3zw4ME+ceJEP/fcc/13v/vdXudjxYoVdR7v8uXL/eCDD/aLLrrIR4wY4WeeeaaXlJTUufzll1/u2dnZPnz4cL/11lv3mk5lwEyPo75rzcP+1nvi/tBDD/nXv/51d3c/7LDDfNasWe4eX92XmZnps2fPdnf3s88+2x966CF3d9+0aZO7u5eWlnpRUZFv3Lgxso6Z+bRp02ps4+OPP/bKykofO3asX3LJJV5VVeVPP/20n3rqqT5z5kwfPny479ixw4uLi33YsGH+wQcfNBhDdcxz5871wYMH+4YNGyKxPfnkk37ppZdGjmXr1q1xnatYdd8tt9zi99xzj7u733jjjf63v/0tMu+2227zsWPH+uWXX+533nnnXturPraSkhLftm2bDxw4MFInRp+nus7B8uXLHfCpU6e6u/sll1ziv/vd7+pdx929X79+kfMRPZ4q6qr74k0AP4inrCUNTZ0AVlZW+i9/+Ut/6aWX9mu7rYUqwcRVgtXireyil423wou3sos1naqUAEo8Jk+e7P/973/dPUhYrr32WnePr+476KCDItO/+c1v/Je//KW7u//85z/3kSNH+siRI71du3Y16rr+/fvXuY0LL7zQ//73v7u7+9KlS33UqFH+xz/+0X/6059GlvnJT37it912W4MxVMd8++23+49//OMasS9atMj79+/vP/rRj/ytt96K70R57LrvhBNO8M8++8zd3U855RSfMWNG3Nv7wx/+UOPYvv/970fqxOjzVNc5WL58uffp0ydS/uqrr/qpp55a7zru6ZsA1tsFbGY9zGwckG9mY8xsbDgcAxTsV9NjK5ORkUHnzp3ZtCk9XoDyyCOPcO655wJw7rnn8sgjj8S97oABAxg9ejQA48aNY8WKFUBwrdmoUaM49NBDWbVqFYsXL46s069fPw499NAa2xgxYgQZGRkUFRUxceJEzIwRI0awYsUKpk6dyumnn05hYSFt2rThjDPO4O23324whmqvvfYaZ511Fl26dAGgU6dOjBgxgldeeYXrrruOt99+m/bt28d9zLW99NJLTJoUPK5yzpw5jBo1aq9l3n77bU4//XQKCgpo164dp5xySp3no77j7dOnD0cccQQAF1xwAVOnTm3w/IjI3jZt2sRrr73GpZdeSv/+/fnd737HY489Vt3o0aDc3NzIeGZmJhUVFbzxxhu88sorTJs2jY8++ogxY8awa9euyHKFhYV1biMjIyMynZGRQUVFRYOxxIohmrtT+10KgwcPZtasWYwYMYIbbriB//mf/4nreGsrLS1l69atHHDAAQDMmzePoqKiRm2jrvc8RJ+n+s5B7fWrp+P9DNNJQ9cAngj8nuDGi1uBW8LhB8CPExtay5MuCaAqwearBOOp7KrjrUusCk+VnUjjPfnkk1x00UWsXLmSFStWsGrVKgYMGMDUqVP3eZvbtm2jY8eOFBQUsHDhQt57772GV6rHUUcdxdNPP01paSklJSU89dRTfPGLX4x7/YkTJ/L4449H/pdt3ryZNWvWUFBQwAUXXMC1117LBx98EFn2s88+i3vbr7/+Ol/60peA4NWp2dnZFBTE31Z01FFH8dRTT7Fz506Ki4t59tln61yurnPw6aefMm3aNGDPdewNrZOu6k0A3f0Bd/8ScLG7fylqOMX33NWbNtp17MQnG8uorKxMdigJpUqweSrBeCu7ho43VoWnyk6k8R555BFOP/30GmVnnnkm//jHP/Z5m5MmTaKiooKRI0fy05/+tEbL/r4YO3YsF198MRMmTOALX/gCl156KWPGjIl7/aKiIm688UaOPvpoRo0axQ9+8APmzJnDhAkTGD16NDfffDM/+clPqKqqYsmSJTFv9AA477zzOOyww1i0aBG9e/fmnnvu4YUXXoj0fMydO7fRT4QYO3Ys55xzDqNHj+bMM8+ss86q7xwMHTqUBx54gJEjR7J582auuOKKBtepz+TJk1mzptkfPNI8YvULVw/ABeHPawha/WoM9a2b7KGprwF0d7/srte933XP+ezFq/Zr2y3d0Ucf7S+88EKNsttuu82/9a1vxXUdTPQ1Ib/73e/85z//ue/atcsnTZrkI0aM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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_four_spectrums()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Four ways:\n", "\n", "* $1/f$ filter\n", "\n", "* Additive synthesis\n", "\n", "* Parabola waveform\n", "\n", "* Integrated sawtooth" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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MWjQIAYNGsQjjzxSZXv+6uC53y3Aiy++yJAhQxg6dChXX301BQUFnHvuuQwdOpRBgwYF1Ds3ZswYWrdufUT5qlWr6Nu3L7GxsaxZs4ZTTjmFTZs2MXz4cAoKCrjzzjs555xzyM7O9rtdf8e5+nHasmVLje3v378/U6ZMYciQIUycOJHCwsJaj9nPf/5zNmzYwAUXXEBiYqJ3+uGHH67zGDR7qlrnC/ghkLLm9BoxYoQeje53fqjd7/zQ+760tFSnT5+us2bNOqrthoMvvvhCTz755CplBw8e1NatW2tBQYHed9992rdvXx07dqxOmjRJ//a3v3mXq22equrGjRu1f//+ev311+vAgQP1zDPP1MLCQu/8CRMmaHZ2tg4cOFD/+c9/Vlnn5ptv1mHDhunMmTO1X79+et1112lWVpZeccUV+vnnn+sJJ5ygxxxzjM6fP9+7vQcffFCzsrI0KytLH3744TrrkJqa6l13xowZOnjwYB0yZIheddVVmp+fr+PHj9chQ4ZoVlaWvvbaawEdz40bN2pWVlaVspUrV+qll16qqqqrV6/WzMxM7dixow4bNkzz8/PrPJ7Vj0lOTk6Nbe3Xr59OnjxZBw8erJdccokWFBTUeGxuuukmjY+P10GDBulDDz10xPtwBizUesaRcIt9Rxv33l28Vbvf+aHe8NxcnT59ui5btuyothduHn30Ub311luPKPfEnUGDBmlBQYEePHhQe/fu7f17XLhwYY3zPDZu3KixsbG6ePFiVVW99NJL9aWXXvLO37dvn6qqFhYWalZWlu7du1c3btyoIqLz5s2rso0ff/xRKyoqNDs7W6+55hqtrKzUd999VydMmFClPvn5+ZqXl6cDBw7UH374odY6eGLf8uXLtW/fvrpnzx5vvd566y29/vrrvXXNzc0N6Hj6i30PPvigPvvss97399xzjz799NPe45+dna033XSTPvHEE0dsr6bjXP041dZ+QGfPnq2qqtdcc80Rn2H1dVRVu3fv7j0evtPhoqbYV2sPoIh0FJERQLKIDBeRbPd1KpAStKy0GYqPjycjI4N9+yL+IQCsWLGCESNGVCnLyMigW7dufP/997z22mssXryYf//733z//eHOkEWLFtU4z9fatWuZNm0aK1asoGXLlrz99tveec899xyLFi1i4cKFPPbYY97jvWbNGiZPnszixYvp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cZ6IjHa3OdlnnSbjSQCjaRygBcG6HU0QDESwg52/96aKese+SBDNCWB+fj5z5szh2WefrXfsq6io4IYbbiArK4uzzjqLoqIiAC688EJGjBhBVlYWTz31lHf5nJwcBgwYwC9+8Quys7P59ttv6d+/P9dffz2DBg3iyiuv5IsvvuDEE0+kT58+LFiwAICHHnqIQYMGMWjQIB555JEjtuevDr5f2F988UWGDBnC0KFDufrqqykoKODcc89l6NChDBo0KKDeuTFjxtC6desjyletWkXfvn1Zt24dp5xyCps2bWL48OEUFBSgqtx5552cc845ZGdn+93u/fffT79+/TjjjDO8w66qH6ctW7b4PQY5OTn079+fKVOmMGTIECZOnEhhYaF32/7W+fnPf86GDRu44IILSExM9E4//PDDdR6DsKeqdb6AJD9liXWscxLOqdofgSXuazzQBvgSWOv+bO2zzj3AemANcI5P+UhguTvvfwGpq84jRozQo9H9zg+1+50fet/n5ubq9OnT9fvvvz+q7YaLvLw87dy5s65Zs0b79evnLU9NTfU77bFx40bt37+/Xn/99Tpw4EA988wztbCwUFVVJ0yYoNnZ2Tpw4ED95z//ecQ6N998sw4bNkxnzpyp/fr10+uuu06zsrL0iiuu0M8//1xPOOEEPeaYY3T+/Pmqqvrggw9qVlaWZmVl6cMPPxxQHXzrPGPGDB08eLAOGTJEr7rqKs3Pz9fx48frkCFDNCsrS1977bWAjtXGjRs1KyurStnKlSv10ksv1dWrV2tmZqZ27NhRhw0bpvn5+VWWu++++7Rv3746duxYnTRpkv7tb3874njk5OTU2N6NGzdqv379dPLkyTp48GC95JJLtKCgoMblb7rpJo2Pj9dBgwbpQw89dMT7SAYs1ADinerRxb5Qvo427r27eKt2v/NDvf7ZOTp9+nRdtWrVUW0vHL300kt67bXXqqrq8ccfr4sWLVLVwGJfbGysLl68WFVVL730Un3ppZdUVXXfvn2qqlpYWKhZWVm6d+9e7zoiovPmzauyjR9//FErKio0Oztbr7nmGq2srNR3331XJ0yYoAsXLtRBgwZpfn6+5uXl6cCBA/WHH36osw6eOi9fvlz79u2re/bs8dbtrbfe0uuvv97bltzc3ICOlb/Y9+CDD+qzzz6rqqr33HOPPv300955jz76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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_four_spectrums(parabola_spectrum)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_four_waves(parabola_wave)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "What have we learned?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Most of [*Think DSP*](https://greenteapress.com/wp/think-dsp/).\n", "\n", "At least as an introduction." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Discrete Fourier transform as correspondence between a wave and its spectrum\n", "\n", "[Chapter 1](http://greenteapress.com/thinkdsp/html/thinkdsp002.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Harmonic structure of sound\n", "\n", "[Chapter 2](http://greenteapress.com/thinkdsp/html/thinkdsp003.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Lead in to chirps (variable frequency waves)\n", "\n", "[Chapter 3](http://greenteapress.com/thinkdsp/html/thinkdsp004.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Lead in to pink noise, which drops off like $1/f^{\\beta}$\n", "\n", "[Chapter 4](http://greenteapress.com/thinkdsp/html/thinkdsp005.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Additive synthesis\n", "\n", "[Chapter 7](http://greenteapress.com/thinkdsp/html/thinkdsp008.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Integral property of the Fourier transform\n", "\n", "[Chapter 9](http://greenteapress.com/thinkdsp/html/thinkdsp010.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Convolution in the time domain corresponds to multiplication in the frequency domain.\n", "\n", "[Chapter 10](http://greenteapress.com/thinkdsp/html/thinkdsp011.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Thank you!\n", "\n", "Web page: allendowney.com\n", "\n", "Twitter: @allendowney\n", "\n", "This notebook: [tinyurl.com/mysterywave](https://tinyurl.com/mysterywave)" ] } ], "metadata": { "celltoolbar": "Slideshow", "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.5" }, "rise": { "scroll": true } }, "nbformat": 4, "nbformat_minor": 4 }