{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ThinkDSP\n", "\n", "This notebook contains code examples from Chapter 3: Non-periodic signals\n", "\n", "Copyright 2015 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Get thinkdsp.py\n", "\n", "import os\n", "\n", "if not os.path.exists('thinkdsp.py'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/thinkdsp.py" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from thinkdsp import decorate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Chirp\n", "\n", "Make a linear chirp from A3 to A5." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import Chirp\n", "\n", "signal = Chirp(start=220, end=880)\n", "wave1 = signal.make_wave(duration=2)\n", "wave1.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the waveform looks like near the beginning." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave1.segment(start=0, duration=0.01).plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And near the end." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave1.segment(start=0.9, duration=0.01).plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an exponential chirp with the same frequency range and duration." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import ExpoChirp\n", "\n", "signal = ExpoChirp(start=220, end=880)\n", "wave2 = signal.make_wave(duration=2)\n", "wave2.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Leakage\n", "\n", "Spectral leakage is when some of the energy at one frequency appears at another frequency (usually nearby).\n", "\n", "Let's look at the effect of leakage on a sine signal (which only contains one frequency component)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from thinkdsp import SinSignal\n", "\n", "signal = SinSignal(freq=440)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the duration is an integer multiple of the period, the beginning and end of the segment line up, and we get minimal leakage." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "duration = signal.period * 30\n", "wave = signal.make_wave(duration)\n", "wave.plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = wave.make_spectrum()\n", "spectrum.plot(high=880)\n", "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the duration is not a multiple of a period, the leakage is pretty bad." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "duration = signal.period * 30.25\n", "wave = signal.make_wave(duration)\n", "wave.plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de7xcZX3v8c9vLvuanftOCElIAoSrSsANQvXloRAtUBXtSwvW1tTSQ4/FU/FlL2hPz9HT+io9VWnthR4KKLaeKqKt6EEFo6h45JJACJcECSGQTUKyk5Drzsyey+/8sZ6ZPfs+2XvPZc9836/XvGatZ62ZefbKTH7r96xnPY+5OyIiIvUmVusKiIiIjEYBSkRE6pIClIiI1CUFKBERqUsKUCIiUpcSta4AwMKFC33lypW1roaIiNTAxo0b97l79/DyughQK1euZMOGDbWuhoiI1ICZvTRa+YRNfGbWZmaPmtmTZvaMmX06lH/JzF40s03hsSaUm5l9wcy2mdlmM7tgev8UERFpBuVkUGngMnc/amZJ4CEz+27Y9kfufs+w/a8EVofHm4Bbw7OIiEjZJsygPHI0rCbDY7zhJ64Gvhxe9zAw18yWTL2qIiLSTMrqxWdmcTPbBOwFHnD3R8Kmz4RmvFvMrDWULQV2lry8N5QNf8/rzWyDmW3o6+ubwp8gIiKNqKwA5e45d18DLAMuMrPXAZ8AzgIuBOYDfxJ2t9HeYpT3vM3de9y9p7t7ROcNERFpcid0H5S7HwQeBK5w992hGS8NfBG4KOzWCywvedkyYNc01FVERJpIOb34us1sblhuB9YCWwvXlczMgHcDT4eX3At8MPTmuxg45O67K1J7ERFpWOX04lsC3GVmcaKAdre7f8fMfmhm3URNepuA/xL2vw+4CtgG9AMfmv5qi4hIo5swQLn7ZuD8UcovG2N/B26YetVEGt+BYwN88WcvcuPaM4jHRrt8K9K8NBafSA09+Nxe/u6H29jed3TinUWajAKUSA2lMnkA+gdyNa6JSP1RgBKpoVQmCkzHMwpQIsMpQInUUDobZVAKUCIjKUCJ1FAxg1ITn8gIClAiNZTKKkCJjEUBSqSG0oVOEmriExlBAUqkhtIhg0opgxIZQQFKpIYK3czVSUJkJAUokRoqZFC6D0pkJAUokRoqZFApZVAiIyhAidTQYAaVrXFNROqPApRIDQ1eg8rXuCYi9UcBSqSGBm/UVQYlMpwClEgNaagjkbEpQInUkIY6EhmbApRIDWm6DZGxKUCJ1FBxJAk18YmMoAAlUkNpZVAiY1KAEqmRfN4ZyKmThMhYFKBEaqTQgy8eMzXxiYxCAUqkRgpBaV5HkkzOyeR0s65IKQUokRopZFBzO1oANfOJDDdhgDKzNjN71MyeNLNnzOzToXyVmT1iZs+b2dfMrCWUt4b1bWH7ysr+CSIzU2kGBboXSmS4cjKoNHCZu58HrAGuMLOLgb8CbnH31cBrwHVh/+uA19z9dOCWsJ+IDFOY7r2YQSlAiQwxYYDyyNGwmgwPBy4D7gnldwHvDstXh3XC9svNzKatxiINotDFvJhBqYlPZIiyrkGZWdzMNgF7gQeAF4CD7l4Y4bIXWBqWlwI7AcL2Q8CCUd7zejPbYGYb+vr6pvZXiMxAg018UQale6FEhiorQLl7zt3XAMuAi4CzR9stPI+WLfmIAvfb3L3H3Xu6u7vLra9Iw0gN6yShruYiQ51QLz53Pwg8CFwMzDWzRNi0DNgVlnuB5QBh+xzgwHRUVqSRpId1klAGJTJUOb34us1sblhuB9YCW4AfAe8Nu60DvhWW7w3rhO0/dPcRGZRIsxueQekalMhQiYl3YQlwl5nFiQLa3e7+HTN7Fviqmf0F8ARwR9j/DuBfzGwbUeZ0bQXqLTLjDc+gUsqgRIaYMEC5+2bg/FHKtxNdjxpengLeNy21E2lghQxqXmehk4Rm1RUppZEkRGqkkEHNLXYz11BHIqUUoERqpDDU0Zz2wkgSyqBESilAidRIKpMjZtASj9GejKuThMgwClAiNZLK5GhNxDEzOlri6mYuMowClEiNpLN52pLRT7BNGZTICApQIjWSyuRoS8YB6GiJayQJkWEUoERqJJ3N05qIfoLtauITGUEBSqRGSjOotmRc022IDKMAJVIjqUye1pImPl2DEhlKAUqkRtLZ3GATnzIokREUoERqJJXJF5v42pVBiYygACVSI9F9UMqgRMaiACVSIwPZkgxK90GJjKAAJVIjqUyOtpBBFTpJaOo0kUEKUCI1ksrmaS2MJNESx31wAFkRUYASqZl0JkdbInQzD019ug4lMkgBSqRGUtmhvfgA+nUdSqRIAUqkBrK5PLm8F3vxtSmDEhlBAUqkBgrTvQ8OFpsAFKBESilAidRAYeTyQieJ9kIGpSY+kSIFKJEaKPTWK3SSKFyDUoASGaQAJVIDY2ZQA9ma1Umk3kwYoMxsuZn9yMy2mNkzZvbRUP4pM3vFzDaFx1Ulr/mEmW0zs+fM7Fcq+QeIzETFAJUYHM0clEGJlEqUsU8W+Li7P25mXcBGM3sgbLvF3T9burOZnQNcC5wLnAz8wMzOcHf98kSCYhNfcnDCQkCTFoqUmDCDcvfd7v54WD4CbAGWjvOSq4Gvunva3V8EtgEXTUdlRRpFIYMqnbAQ1ItPpNQJXYMys5XA+cAjoegjZrbZzO40s3mhbCmws+RlvYwf0ESaTiGDai0Ziw8UoERKlR2gzGwW8A3gRnc/DNwKnAasAXYDnyvsOsrLR4yAaWbXm9kGM9vQ19d3whUXmcnSwzKoZDxGIma6BiVSoqwAZWZJouD0FXf/JoC773H3nLvngX9msBmvF1he8vJlwK7h7+nut7l7j7v3dHd3T+VvEJlxUpmhGRRo0kKR4crpxWfAHcAWd/98SfmSkt3eAzwdlu8FrjWzVjNbBawGHp2+KovMfOns0AwKNGmhyHDl9OJ7M/BbwFNmtimUfRJ4v5mtIWq+2wH8HoC7P2NmdwPPEvUAvEE9+ESGKmRQQwKUMiiRISYMUO7+EKNfV7pvnNd8BvjMFOol0tAG74MqaeJLxtXNXKSERpIQqYF0dvQMKqUMSqRIAUqkBlKZHMm4EY8NNk50tOgalEgpBSiRGkhn88VhjgrUxCcylAKUSA2kMrniMEcFbUk18YmUUoASqYFUZmQG1dGiDEqklAKUSA2ks7niVBsF7Ul1MxcppQAlUgOpTL44WWFBe0tCAUqkhAKUSA2MlUENZPPk8iOGrhRpSgpQIjWQHiWD0qSFIkMpQInUQCo7Si++4qSFmvZdBBSgRGoilcmNeh8UQGogX4sqidQdBSiRGkhn8yMyKDXxiQylACVSA+NlUGriE4koQInUwGgZVLsyKJEhFKBEaiAa6mj0DEoDxopEFKBEqszdw1BHyqBExqMAJVJlA7mol17rGBmUxuMTiShAiVTZaNO9w2AGpRHNRSIKUCJVlh5lunco6WauDEoEUIASqbrRpnsHikMfqYlPJKIAJVJlqTEyqFjMaEvG1MQnEihAiVTZWBkUaNp3kVIKUCJVVsiQht+oC5q0UKTUhAHKzJab2Y/MbIuZPWNmHw3l883sATN7PjzPC+VmZl8ws21mttnMLqj0HyEykxR68Q0f6giinnwKUCKRcjKoLPBxdz8buBi4wczOAW4C1rv7amB9WAe4ElgdHtcDt057rUVmsHR2nAyqJa5efCLBhAHK3Xe7++Nh+QiwBVgKXA3cFXa7C3h3WL4a+LJHHgbmmtmSaa+5yAw11n1QAB3JhAKUSHBC16DMbCVwPvAIsNjdd0MUxIBFYbelwM6Sl/WGsuHvdb2ZbTCzDX19fSdec5EZaqxefBBNWtivJj4R4AQClJnNAr4B3Ojuh8fbdZQyH1Hgfpu797h7T3d3d7nVEJnxxu/FFyOlDEoEKDNAmVmSKDh9xd2/GYr3FJruwvPeUN4LLC95+TJg1/RUV2TmGy+D6mhJqJOESFBOLz4D7gC2uPvnSzbdC6wLy+uAb5WUfzD05rsYOFRoChQRSBU7SYzMoNp0H5RIUaKMfd4M/BbwlJltCmWfBG4G7jaz64CXgfeFbfcBVwHbgH7gQ9NaY5EZLl3sZj5aBhXXSBIiwYQByt0fYvTrSgCXj7K/AzdMsV4iDSuVzdGSiBE1TgwVjSSRxd1H3S7STDSShEiVpTN52kbJniC6Dyrvg3NGiTQzBSiRKktnR073XlCYtDA1oAAlogAlUmWpTJ7WUUaRgMFJC/sz2WpWSaQuKUCJVFk6myvO/TScJi0UGaQAJVJl42VQhaY/dTUXUYASqbpUZuIMSl3NRRSgRKounc1P2ElCGZSIApRI1aUyuVFv0oXBJj4NdySiACVSdeNlUGriExmkACVSZalMbuJu5mriE1GAEqm2VCY/6nTvEE1YCOpmLgIKUCJVF40kMcY1qJaoXNegRBSgRKouPU4G1RKPETNlUCKgACVSVbm8M5DLj5lBmZkmLRQJFKBEqmhgnOneCzRpoUhEAUqkisab7r1AkxaKRBSgRKpovOneCwqTFoo0OwUokSoqTPc+1jUoiO6FOp7RfFAiClAiVVTIoMbqxQdRBpXSNSgRBSiRaio3g9KEhSIKUCJVNdhJYpwMqiWu+6BEUIASqapUtowMKqkAJQIKUCJVlS4jg+poietGXRHKCFBmdqeZ7TWzp0vKPmVmr5jZpvC4qmTbJ8xsm5k9Z2a/UqmKi8xE5WZQulFXpLwM6kvAFaOU3+Lua8LjPgAzOwe4Fjg3vOYfzWzsU0WRJlPONai2ZJx0Nk8+79WqlkhdmjBAuftPgANlvt/VwFfdPe3uLwLbgIumUD+RhpIuY6ij4qSFWWVR0tymcg3qI2a2OTQBzgtlS4GdJfv0hrIRzOx6M9tgZhv6+vqmUA2RmaN4DWqCbuagSQtFJhugbgVOA9YAu4HPhXIbZd9R2ync/TZ373H3nu7u7klWQ2RmKWZQE9yoC5pyQ2RSAcrd97h7zt3zwD8z2IzXCywv2XUZsGtqVRRpHKlMDjNIxkc7l4sUMij15JNmN6kAZWZLSlbfAxR6+N0LXGtmrWa2ClgNPDq1Koo0jlQmR1sijtk4AUoZlAgAiYl2MLN/Ay4FFppZL/A/gEvNbA1R890O4PcA3P0ZM7sbeBbIAje4u35lIkE6O/ZkhQXKoEQiEwYod3//KMV3jLP/Z4DPTKVSIo0qlcmN28UclEGJFGgkCZEqSmUmzqA6WqLzRmVQ0uwUoESqKJ3NjXsPFAxmUOpmLs1OAUqkilKZ/LjTvYOuQYkUKECJVFE6m6N1ogyqMJKEMihpcgpQIlVUVgalJj4RQAFKpKpSmYmvQcVjRksipiY+aXoKUCJVNJDNTxigoDBpoaZ9l+amACVSRdF9UBP/7DRpoYgClEhVpcoYSQJCBpXJV6FGIvVLAUqkitJhLL6JtKmJT0QBSqSaUtn8uHNBFaiJT0QBSqRqMrk8ubyXlUG1t8TVzVyangKUSJUUJissJ4OKevEpQElzU4ASqZJUaLIrq5u5mvhEFKBEqqWc6d4LlEGJKECJVE0hgyqriU8ZlIgClEi1FANUGRlUV2uCY+ksmZzuhZLmpQAlUiXFJr4yMqhl8zvIO+w6eLzS1RKpWwpQIlVyIhnUygWdAOzY31/ROonUMwUokSpJZ8rPoFYu6ADgpf3HKlonkXqmACVSJels+RlUd1cr7ck4O/Ypg5LmpQAlUiWpE8igzIwVCzqUQUlTU4ASqZJCBlXOjboQXYfaoQAlTWzCAGVmd5rZXjN7uqRsvpk9YGbPh+d5odzM7Atmts3MNpvZBZWsvMhMUsigypkPCmDFwg52HjhOLu+VrJZI3Srnl/Il4IphZTcB6919NbA+rANcCawOj+uBW6enmiIz34kMdQRRBjWQy7P7kLqaS3OaMEC5+0+AA8OKrwbuCst3Ae8uKf+yRx4G5prZkumqrMhMVhwsttwMqtiTTx0lpDlN9hrUYnffDRCeF4XypcDOkv16Q9kIZna9mW0wsw19fX2TrIbIzJHK5EjEjES8vJ/d4L1Qug4lzWm6O0nYKGWjNqC7+23u3uPuPd3d3dNcDZH6k8rky27eAzhpdhstiZgyKGlakw1QewpNd+F5byjvBZaX7LcM2DX56ok0jnQ2V3bzHkAsZpwyv4Md+5RBSXOabIC6F1gXltcB3yop/2DozXcxcKjQFCjS7E40g4JoRAllUNKsyulm/m/Az4EzzazXzK4DbgbeZmbPA28L6wD3AduBbcA/A79fkVqLzECpbK6sqTZKrVjQyUsHjuGurubSfBIT7eDu7x9j0+Wj7OvADVOtlEgjSmfyZQ1zVGrlgg5SmTx7j6RZPLutQjUTqU8aSUKkStLZXFnDHJVaUejJp+tQ0oQUoESqJJ3JlzXde6lCV3Ndh5JmpAAlUiWTuQZ18tw2EjHTvVDSlBSgRKoklcmdcAaViMdYPl89+aQ5KUCJVEk6mz/hDAqiIY+UQUkzUoASqZLJZFAQXYd6aX+/uppL01GAEqmS6EbdyWVQR9NZ9h8bqECtROqXApRIlaSzOVpPcCQJKO3Jp2Y+aS4KUCJV4O5RBnUCY/EVFKbd2LFPHSWkuShAiVTBQC7MBTWJDGrZvA5ipgxKmo8ClEgVnOh076VaEjGWzmtnh7qaS5NRgBKpgvQJTvc+3Ir5ncqgpOkoQIlUwYlO9z7cigUdvHRAGZQ0FwUokSo4PsUMauWCTg72ZzjYr67m0jwUoESqYNPOgwCsWtg5qdcXevJpyCNpJgpQIlWwfsselsxp49yTZ0/q9StDYNOQR9JMFKBEKiyVyfHT5/dx2VmLMLNJvccp85VBSfNRgBKpsJ9v30//QI615yye9Hu0JeMsmdOmDEqaigKUSIWt37KHjpY4l5y6YErvs2KBpt2Q5qIAJVJB7s76LXt5y+kLJ92DryAa1VwZlDQPBSiRCnpm12F2H0pNqXmvYMWCTvYdHeBIKjMNNROpfwpQIhW0fstezOCysxZN+b1Wqqu5NJkpBSgz22FmT5nZJjPbEMrmm9kDZvZ8eJ43PVUVmXnWb93DmuVzWTirdcrvtaI47YYClDSH6cigftnd17h7T1i/CVjv7quB9WFdpOnsOZxic+8h1p499eY9KJl2Q9ehpElUoonvauCusHwX8O4KfIZI3Vu/ZS/AtAWoztYE3V2t6ighTWOqAcqB+81so5ldH8oWu/tugPA8auO7mV1vZhvMbENfX98UqyFSf9Zv2cOyee2csXjWtL3nygUdPL/36LS9n0g9m2qAerO7XwBcCdxgZm8t94Xufpu797h7T3d39xSrIVJfjg/keGjbPtaevXjSo0eM5pfPWsQTLx/k8Zdfm7b3FKlXUwpQ7r4rPO8F/h24CNhjZksAwvPeqVZSZKZ5aNs+0tn8tDXvFay7ZCULOlv4/P2/mNb3FalHkw5QZtZpZl2FZeDtwNPAvcC6sNs64FtTraTITLN+yx66WhNctGr+tL5vZ2uCD196Gg9t28fPX9g/re8tUm+mkkEtBh4ysyeBR4H/6+7fA24G3mZmzwNvC+siTSOfd9Zv3ctbz+imZZITFI7nNy9eweLZrXz+gedw92l/f5F6kZjsC919O3DeKOX7gcunUimRmeypVw7RdyTN2nOmfnPuaNqScT5y2Wr+7D+e5ifP7+M/naFruNKYNJKEyDT7wZY9xAwuPaMyAQrgmp7lLJ3bzufuVxYljUsBSmQauTsPPLuHnhXzmdfZUrHPaUnE+Oja1WzuPcQPtqgfkjQmBSiRafSvj7zM1leP8M7zllT8s37t/KWsWtjJ5+5/jnxeWZQ0HgUokWmy8aXX+J/ffoZfPrObD7xpRcU/LxGPcePa1Wx99Qj3Pb274p8nUm0KUCLToO9Imt//ykaWzGnnb645n1hs+m7OHc8733AyZy7u4vMP/IJsLl+VzxSpFgUokSnK5vJ85P88zqHjGf7pN9/InI5k1T47FjM+9rbVbO87xtc39lbtc0WqQQFKZIpu/u5WHnnxAH/5a6/nnJNnV/3zf+Xck7ho5Xz+2388zT0KUtJAFKBEpuDbT+7i9odeZN0lK3jP+ctqUgcz484PXcgvnbaAP/z6k/zTj19Q13NpCApQIpP0iz1H+JNvbOaNK+bxp796Tk3rMqs1wR3rLuRd553Mzd/dyp9/Z4t69smMN+mRJESa2Q+37uGmbzxFZ2uCf/zABRUZ0uhEtSRi/M01a1gwq4U7f/Yi+46m+ez7zquLuolMhgKUyAk4nMrw599+lq9v7OWMxbP422vPZ/HstlpXqygWM/77O85hUVcbf/W9rbzWP8Df/8YFzGmvXscNkemiACVSpp8+38ef3LOZVw+n+P1LT+Oja1fTmojXulojmBkfvvQ0Fs5q4aZvPsVb/9eP+PClp7HukpW0t9RffUXGogAlMoGj6Sx/ed8WvvLIy5za3ck3PvxLnH/KvFpXa0Lv61nO2Utm87n7n+Pm727ljode5A8uO51rLjxFzX4yI1g99Pbp6enxDRs21LoaIkO80HeUf334Je7Z2MvRdJbffcsqPv72M2lLzrws5LEdB/jr7z3HozsOsGxeOzeuPYN3nrekLjNAaT5mttHde0aUK0CJDMrm8vxgy17+9eGXeGjbPpJx48rXLeG6t6zivOVza129KXF3fvyLPv76+8/xzK7DdLUmePu5J/GO85bwltMXkowrq5LaUIASGUMqk+OxHQf48XN93PfUbnYdSrFkThsfeNMpXHPhKXR3tda6itMqn3d+um0f335yF99/5lWOpLLM7Uhy5etO4qrXL6FnxXxdq5KqUoASCdydl/b385Pn+3jwuT5+/sJ+jmdytMRjXHLaAn7jTadw+VmLSDRBRpHO5vjJL/bxnc27eODZPfQP5EjGjdcvncOFq+Zz0cr59KyYX9Xhm6T5KEBJ09p7JMXmnYfY/MohNvce5KneQ+w/NgDAKfM7uPTMbi49s5uLT11AR0vz9hs6PpDj4e37eXTHAR598QCbew+SyTlmcHr3LM5eMpuzlnRx1kldnHXSbJbMacOsOoPiSmNTgJKGls87uw+neGHvUbb3HeWFvmNs33eU5/ccZe+RNAAxg9WLunj9sjmct2wOb1ndzaqFnTWuef1KZXI88fJBHttxgE07D/Lcq0d45eDx4vbZbQlOXzSLFQs6OWV+BysWFB6dLOhsUfCSsilAyYzl7hxOZek7kmbvkRS7D6Z45eBxXnntePQcHgPZwekmuloTnLpoFqd1d3LuyXN4w7I5nHvy7KbOkKbDoeMZfrHnCFt3H2bLq0fY3neUl/f3s/twitL/SloTMZbMaeOkOW0smdPOSXPaOGl2G91drSyc1crCWS0s7GqlqzWhQCZjBij9WqXqBrJ5Dh3PFB+Hj2c4cGwgevQP8NqxAfYfG2D/0TR9R9PsPZwmnR0519HCWa0sndfOOUtms/bsRaxc2MmpC2dx2qJOume16j++CpjTnuTClfO5cOX8IeWpTI7e147z8oFjvLS/n92HUuw+lOLVQ8d59MUD7DmcIjvK2IAtiRgLO1uY29HCvM5k9NyRZG57C3M7ksxuTzK7Lcns9gSz25LMaU/S1ZagszWhXodNQAFKxpXLO+lsjuMDOY5ncqQyOfoHBtf7B3IcS2ej54Es/eno+Wgqy9F09DiSKjxnOHw8y/FMbszPS8SM+Z0txccbT5nHotltdM9qZdHsVrq7Wjlpdhsnz22fkfcjNaq2ZJzTF83i9EWzRt2ezzv7jqXZd2SA/cfS7DsaLRfKDvYPcPB4hi27D3OwP8PB/gEmGuu2NRErBqtZrdFzR0uczpbwHNY7WuK0JeO0t8RpT0aPtpY4bYk4bckYbcmwPRmttybitCZiVZt0UsamAFVh7k7eIe9OLu+Dz3nI5vPkPFrOuZPLeVSWd3LuZHNONu9kc3my+eh1mVw+lOfJlD6H5YFstB7tlyedy5PJOgO5XHHbQDZPOptnIJcnncmRLqxnc6Qy0XI6kyOVzZHJnVgTcMygsyXBrLboP42utgSz25MsndtOZ2ucOe3J4mN2eMxpT7Kgs4V5nS1q8mlQsZixqKuNRV3ljVuYzztH0lkOH89wOJzYHEllOJyKyo4VTn7SWY6Fk6Bj6SwHjg2w80A//QO58Mie8He4IBm3YrBqTcRoKX3EC8txWuJWLEuG8sFnIxEbupxMxEjGjEQ8KkvGYyRiRiJsT5SWhfVE2L+wXzxsi55tyHMj/X4qFqDM7Argb4E4cLu731ypzzrUn+E3bn941G3u4MVlH1buxe2FbV7Y5o4TBZZofWiwyRfXQ1l+cDnnjhcDUqX+6vIM/pDCDyhhoSxe/NF1tSVYmIjTmozRGo/Rmiw5syw5yyycgXa0DJ6FDj9bbU3EGuoHIrURi1nxRGaqMrl8lP2XZP39A7niSVgqkyeVGXyOTtzypLOFk7cc6Ux0Qlc8uQuPQ8czZMLJXiY3WJ7JlZwoVvk/gZhBIhYjFqMYxOIlQSxmIciZEYtFz4Xt0TrRcmm5GbFh5bGY0T2rlU+969yK/S0VCVBmFgf+AXgb0As8Zmb3uvuzlfi8WAyWzBnvzMwo/J9pULIclZtFy4TymBlG9A9tYdnCP1DMjFhssLzwD2ZG8R+8uDzkCxC9Jh4b/GIkYoPbi2dB8fAFCuvJ+OBZUiIsF8/E4oNnVcnC2VgiRjJsa7SzKZHJSIbMZnZbbe7lyuedTLGlo7SFo1CeH9JaUmgZKZTlwmuLLSihNSWXH7m9+AgnyNlcdOIctcxALj/09YUWncK2XDjZLrzHQLbQyhNOvktf487+Ct/EXqkM6iJgm7tvBzCzrwJXAxUJUF1tSW5fd2El3lpEZEpiMaM1FqdVF1ROWKW6wSwFdpas94ayIjO73sw2mNmGvr6+ClVDRERmqkoFqNHalYY0xLr7be7e4+493d3dFaqGiIjMVJUKUL3A8pL1ZcCuCn2WiIg0oEoFqMeA1Wa2ysxagGuBeyv0WSIi0oAqctnO3bNm9hHg+0TdzO9092cq8VkiItKYKtavxN3vA+6r1PuLiEhj02BWIiJSlxSgRESkLilAiYhIXYaxACgAAAd/SURBVKqL+aDMrA94aRreaiGwbxrep1np+E2Njt/U6PhNzUw+fivcfcQNsXURoKaLmW0YbdIrKY+O39To+E2Njt/UNOLxUxOfiIjUJQUoERGpS40WoG6rdQVmOB2/qdHxmxodv6lpuOPXUNegRESkcTRaBiUiIg1CAUpEROpSQwQoM7vCzJ4zs21mdlOt61OPzGy5mf3IzLaY2TNm9tFQPt/MHjCz58PzvFBuZvaFcEw3m9kFtf0L6oOZxc3sCTP7TlhfZWaPhOP3tTB6P2bWGta3he0ra1nvemBmc83sHjPbGr6Hl+j7Vz4z+1j47T5tZv9mZm2N/v2b8QHKzOLAPwBXAucA7zezc2pbq7qUBT7u7mcDFwM3hON0E7De3VcD68M6RMdzdXhcD9xa/SrXpY8CW0rW/wq4JRy/14DrQvl1wGvufjpwS9iv2f0t8D13Pws4j+g46vtXBjNbCvwB0OPuryOaJeJaGvz7N+MDFHARsM3dt7v7APBV4Ooa16nuuPtud388LB8h+s9hKdGxuivsdhfw7rB8NfBljzwMzDWzJVWudl0xs2XArwK3h3UDLgPuCbsMP36F43oPcHnYvymZ2WzgrcAdAO4+4O4H0ffvRCSAdjNLAB3Abhr8+9cIAWopsLNkvTeUyRhCun8+8Aiw2N13QxTEgEVhNx3Xkf4G+GMgH9YXAAfdPRvWS49R8fiF7YfC/s3qVKAP+GJoIr3dzDrR968s7v4K8FngZaLAdAjYSIN//xohQI12VqC+82Mws1nAN4Ab3f3weLuOUta0x9XM3gHsdfeNpcWj7OplbGtGCeAC4FZ3Px84xmBz3mh0/EqEa3NXA6uAk4FOombQ4Rrq+9cIAaoXWF6yvgzYVaO61DUzSxIFp6+4+zdD8Z5C00l43hvKdVyHejPwLjPbQdSMfBlRRjU3NLnA0GNUPH5h+xzgQDUrXGd6gV53fySs30MUsPT9K89a4EV373P3DPBN4Jdo8O9fIwSox4DVoTdLC9GFw3trXKe6E9qf7wC2uPvnSzbdC6wLy+uAb5WUfzD0proYOFRoimlG7v4Jd1/m7iuJvmM/dPcPAD8C3ht2G378Csf1vWH/GXcGO13c/VVgp5mdGYouB55F379yvQxcbGYd4bdcOH4N/f1riJEkzOwqorPZOHCnu3+mxlWqO2b2FuCnwFMMXkP5JNF1qLuBU4h+BO9z9wPhR/D3wBVAP/Ahd99Q9YrXITO7FPhDd3+HmZ1KlFHNB54AftPd02bWBvwL0bW+A8C17r69VnWuB2a2hqiDSQuwHfgQ0Umyvn9lMLNPA9cQ9ch9AvhdomtNDfv9a4gAJSIijacRmvhERKQBKUCJiEhdUoASEZG6pAAlIiJ1SQFKRETqkgKUNBUzy5nZppLHylrXaTqZ2flmVhgr8LfN7O+HbX/QzHrGef1XzWx1pespUo7ExLuINJTj7r5mrI1mligZ22wm+iTwF1N4/a1E4w3+5+mpjsjkKYOSphcyja+b2beB+0PZH5nZY2Euok+X7PunFs099oMwJ88fhvJiZmJmC8OQSIX5o/665L1+L5RfGl5TmB/pK4XRps3sQjP7f2b2pJk9amZdZvbTcKNroR4/M7M3DPs7uoA3uPuTZfzN7yrJIp8zsxfDpp8Ca0uGzxGpGX0Jpdm0m9mmsPyiu78nLF9C9J/7ATN7O9E8RBcRDbp5r5m9lWiA02uJ7s5PAI8TjSg9nuuIhum50MxagZ+Z2f1h2/nAuUTjp/0MeLOZPQp8DbjG3R8L01QcJxqB4beBG83sDKDV3TcP+6we4OlhZdeEUUQKTgdw93sJQ4KZ2d3Aj0N53sy2Ec3XNNHfJlJRClDSbMZq4nvA3QuDab49PJ4I67OIAlYX8O/u3g9gZuWM+fh24A1mVhgvbU54rwHgUXfvDe+1CVhJNC3Cbnd/DKAw4ryZfR34MzP7I+B3gC+N8llLiKa0KPU1d/9IYcXMHizdaGZ/THRM/qGkeC/RiNkKUFJTClAikWMlywb8pbv/79IdzOxGxp6yIMtgk3nbsPf6r+7+/WHvdSmQLinKEf0ebbTPcPd+M3uAaMqFXyfKloY7Puyzx2VmlwPvI5pIsFRbeC+RmtI1KJGRvg/8Tpg7CzNbamaLgJ8A7zGz9nC9550lr9kBvDEsv3fYe304THWCmZ1h0UR9Y9kKnGxmF4b9u0quB90OfAF4rCTbK7WF0IQ3ETNbAfwj8OvuPjwYnQE8U877iFSSMiiRYdz9fjM7G/h56LdwlGiU6MfN7GvAJuAlog4FBZ8F7jaz3wJ+WFJ+O1HT3eOhE0Qfg9Nyj/bZA2Z2DfB3ZtZOlMmsBY66+0YzOwx8cYzXbjWzOWbW5e5HJvgzf5tohtV/D3/jLne/yswWEzX5NfPUFlInNJq5yCSZ2aeIAsdnq/R5JwMPAme5e36MfT4GHHH32yf5GR8DDrv7HZOuqMg0UROfyAxgZh8kmrvrT8cKTsGtDL22daIOAndN4fUi00YZlIiI1CVlUCIiUpcUoEREpC4pQImISF1SgBIRkbqkACUiInXp/wO/hK2KYUh3ngAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = wave.make_spectrum()\n", "spectrum.plot(high=880)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Windowing helps (but notice that it reduces the total energy)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave.hamming()\n", "spectrum = wave.make_spectrum()\n", "spectrum.plot(high=880)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectrogram\n", "\n", "If you blindly compute the DFT of a non-periodic segment, you get \"motion blur\"." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "signal = Chirp(start=220, end=440)\n", "wave = signal.make_wave(duration=1)\n", "spectrum = wave.make_spectrum()\n", "spectrum.plot(high=700)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A spectrogram is a visualization of a short-time DFT that lets you see how the spectrum varies over time." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def plot_spectrogram(wave, seg_length):\n", " \"\"\"\n", " \"\"\"\n", " spectrogram = wave.make_spectrogram(seg_length)\n", " print('Time resolution (s)', spectrogram.time_res)\n", " print('Frequency resolution (Hz)', spectrogram.freq_res)\n", " spectrogram.plot(high=700)\n", " decorate(xlabel='Time(s)', ylabel='Frequency (Hz)')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time resolution (s) 0.046439909297052155\n", "Frequency resolution (Hz) 21.533203125\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "signal = Chirp(start=220, end=440)\n", "wave = signal.make_wave(duration=1, framerate=11025)\n", "plot_spectrogram(wave, 512)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you increase the segment length, you get better frequency resolution, worse time resolution." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time resolution (s) 0.09287981859410431\n", "Frequency resolution (Hz) 10.7666015625\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAbfUlEQVR4nO3de7RdVXX48e8MSXgJhkegkfA2IPwqCERLf9TKSyv4ABU0KBgxGrVYddDfEKotUh8ttSpCVTSCEqiYIj6Iig+IIFWLGt4vLQEpxCAEVFJIICSZvz/OvuSY3Ny7Y/Y+Z93c72eMM87e66wz98xJ7p3Ze62zdmQmkiSVZky/E5AkaTAWKElSkSxQkqQiWaAkSUWyQEmSijS23wlsiO233yp3221iv9OQJG2A66//1cOZudYv8xFdoHbbbSI/nf+hfqchSdoAY+PE/xms3Ut8kqQiWaAkSUWyQEmSimSBkiQVyQIlSSqSBUqSVCQLlCSpSBYoSVKRLFCSpCJZoCRJRbJASZKKZIGSJBXJAiVJKpIFSpJUJAuUJKlIFihJUpEsUJKkIlmgJElFskBJkopkgZIkFckCJUkqkgVKklQkC5QkqUgWKElSkSxQkqQiWaAkSUVqtUBFxISIuCwifhERd0bEn0fEthFxZUTcVT1vU/WNiDg3IhZExC0RcWCbuUmSytb2GdQ5wHcz8znA/sCdwOnAvMycAsyr9gGOAqZUj5nAeS3nJkkqWGsFKiK2Bv4SuAAgM5dn5u+BY4DZVbfZwLHV9jHARdlxHTAhIia1lZ8kqWxtnkHtASwGvhgRN0bE+RGxJbBjZj4AUD3vUPXfCbi/6/0Lq7Y/EBEzI2J+RMxfvHhJi+lLkvqpzQI1FjgQOC8zDwAeZ/XlvMHEIG25VkPmrMycmplTJ07cuplMJUnFabNALQQWZuZPq/3L6BSsBwcu3VXPD3X137nr/ZOBRS3mJ0kqWGsFKjN/A9wfEXtXTUcAdwBzgelV23Tg8mp7LvDGajbfwcCjA5cCJUmjz9iW4/8N8KWIGA/cA5xMpyheGhEzgPuA46u+VwBHAwuApVVfSdIo1WqBysybgKmDvHTEIH0TOKXNfCRJI4crSUiSimSBkiQVyQIlSSqSBUqSVCQLlCSpSBYoSVKRLFCSpCJZoCRJRbJASZKKZIGSJBXJAiVJKpIFSpJUJAuUJKlIFihJUpEsUJKkIlmgJElFskBJkopkgZIkFckCJUkq0th+JyBJGllWrVrZk+N4BiVJKpIFSpJUJAuUJKlIjkFJ0kauV2NGTfMMSpJUpFYLVETcGxG3RsRNETG/ats2Iq6MiLuq522q9oiIcyNiQUTcEhEHtpmbJKlsvTiDOiwzn5eZU6v904F5mTkFmFftAxwFTKkeM4HzepCbJBVp1aqVjT1Gqn5c4jsGmF1tzwaO7Wq/KDuuAyZExKQ+5CdJKkDbBSqB70fE9RExs2rbMTMfAKied6jadwLu73rvwqrtD0TEzIiYHxHzFy9e0mLqkqR+ansW3yGZuSgidgCujIhfDNE3BmnLtRoyZwGzAKZO3WOt1yVJG4dWC1RmLqqeH4qIrwMvAB6MiEmZ+UB1Ce+hqvtCYOeut08GFrWZn6TRbSSPz4wGrV3ii4gtI2KrgW3gJcBtwFxgetVtOnB5tT0XeGM1m+9g4NGBS4GSpNGnzTOoHYGvR8TAcS7JzO9GxM+BSyNiBnAfcHzV/wrgaGABsBQ4ucXcJEmFa61AZeY9wP6DtD8CHDFIewKntJWPJGlkcakjSSOGY0aji0sdSZKKZIGSJBXJAiVJKpIFSpJUJAuUJKlIFihJUpEsUJKkIlmgJElFskBJkopkgZIkFWnYpY4iYgydNfWeBSwDbs/MB9tOTJJUpuVPPdKT46yzQEXEnsBpwJHAXcBiYDNgr4hYCnwOmJ2Zq3qRqCRpdBnqDOrDwHnA26qVxp8WETsCJwAnAbPbS0+SNFqts0Bl5glDvPYg8MlWMpK0UXEF8j/OmDGbNBbriScfGr7TetjsGx9oNN66DDtJIiLujoi3r9H2rfZSkiSp3iy+p4DDIuKLETG+atupxZwkSapVoJZm5uuAO4H/jIhdgRzmPZIkbZA6d9QNgMz8aERcD3wP2LbVrCRphGlyzAhg2bJFjcXa/D/+obFYAC/665MajQfnD9pap0CdMbCRmfMi4q+A6Q1lJUnSoIb6HtSB1eavu7YHOElCktSqoc6gPt61fRAwn+pyH50xqMPbSkqSpKG+B3XYwHZE3JiZFiRJG5Umx42WLb2vsVgAm37xHxuLdcBpr24sFsBTY37XaLx1qbtYrLP2JEk95WrmkqQiDTVJ4t9YfeY0OSLO7X49M99V5wARsQmd8atfZ+bLI2J3YA6dqeo3ACdl5vKI2BS4iM541yPA6zLz3vX880iSNhJDTZKY37V9/QYc4910vuS7dbX/L8DZmTknIj4LzKCzKO0M4HeZ+eyImFb1e90GHFfSRqbx7xo1OG407lP/1FgsgL0/dERjsSau2qyxWAA3fPKrjcYb97bB24eaJLHBq5RHxGTgZcBHgFMjIujM/nt91WU2cCadAnVMtQ1wGfCpiIg1V1KXJI0O6xyDiohZEfGn63hty4h4c0S8YZj4nwTeCwzcM2o74PeZuaLaX8jqdf12Au4HqF5/tOq/5rFnRsT8iJi/ePGSYQ4vSRqphrrE9xngjIh4LnAbq29YOIXO5bovAF9a15sj4uXAQ5l5fUQcOtA8SNes8drqhsxZwCyAqVP38OxKKlyTl+WWPn5PY7EAxn703OE71bTLx5/bWCyA/XKXxmJ99/yLGosF8MRrzmo0Hm87ddDmoS7x3QS8NiKeAUwFJtG55fudmfnLGoc8BHhlRBxNp7BtTeeMakJEjK3OkiYDAwtOLQR2BhZGxFjgmcBvaxxHkrQRGnaaeWY+lpnXZOaXM/MbNYsTmfl3mTk5M3cDpgE/yMw3AFcDx1XdpgOXV9tzWb3G33FVf8+QJGmU6sf3oE6jM2FiAZ0xpguq9guA7ar2U4HT+5CbJKkQdVYz32CZeQ1wTbV9D/CCQfo8ARzfi3wk9c7jS25vLtgH/725WMCffGbHxmIdOW5qY7EALv1Cc3/WJ17+4cZiAYwft9b8tVbUueX7oDP5JElqU51LfJ+NiJ9FxF9HxITWM5IkiXqTJP4CeAOdGXbzI+KSiHhx65lJkka1WmNQmXlXRPw9neWPzgUOqFaFeF9mfq3NBIfMi2TVqpWNxGp6CRWpl5r6OQBYtuS2xmIBPHX65cN3qmnyFxoLBcAJWze3nNCsiy9rLBbAE4c3d5v2Xo0ZNa3OGNR+EXE2nfX0DgdekZn7VNtnt5yfJGmUqnMG9Sng83TOlpYNNGbmouqsSpKkxtUpUEcDyzJzJUBEjAE2y8ylmXlxq9lJG6kmL8kBLPvd/OE71fTYe/6zsVgAu365uQVhTtnh9cN3Wg8f+9K3G4u1/JBmv7o5fuwzG4u1evnTZnQW+2lfnVl8VwGbd+1vUbVJktSaOgVqs8x8bGCn2t6ivZQkSapXoB6PiAMHdiLiIDqLxkqS1Jo6FxLfA3wlIgZWHZ/ERnin26bHBJy2vvFZufLJxmI9+fB1jcUCePgdzS0nNOXyBY3FAviHyW9qLNb751zdWCyA5Qe9u7FY4xocM2par8aMmjZs1pn584h4DrA3nXs2/SIzn2o9M0nSqFa3rD4f2K3qf0BEkJnN3gFLkqQuwxaoiLgY2BO4CRi4DpaABUqS1Jo6Z1BTgX29eWD/ND0+1qSSx9qaHDMCWP7gNY3F+p83Lxq+03rY7/vNfQ/qY3vMaCwWwDvn/LSxWCv2f0djsQDGbbJlo/HUrDqz+G4D/qTtRCRJ6lbnDGp74I6I+Bnw9H9JM/OVrWUlSRr16hSoM9tOYmNU8mW5kq1YsbS5WIuaXfDktpOay+3/XnttY7EAzt9nemOxXj+n2dXMV+5zcmOxxnpJblSpM838hxGxKzAlM6+KiC2AcgceJEkbhTq323grcBnwuappJ+AbbSYlSVKdSRKnAIcAS6Bz80JghzaTkiSpzhjUk5m5vHMDXYjOmhlOORfQ7JgRwIr7mrv9wU9OGN9YLICX/Oy7jcX6yv7N3jbiZXPuayxW7nlCY7HAcSP98eqcQf0wIt4HbB4RLwa+Anyz3bQkSaNdnQJ1OrAYuBV4G3AF4J10JUmtqjOLbxWdW75/vv10JEnqqLMW368YZMwpM/cY5n2bAdcCm1bHuSwzPxARuwNzgG2BG4CTqjGuTems73cQ8Ajwusy8d/3+OKpjxcrHmwt2d7MTOr8zrblFS46/+ZLGYgF87/mvbizWIXMebSwWwJhdjmsu1phNG4slbYi6a/EN2Aw4nk5xGc6TwOGZ+VhEjAN+FBHfAU4Fzs7MORHxWWAGcF71/LvMfHZETAP+hY3wvlOSpHqGHYPKzEe6Hr/OzE8Ch9d4X3bdKn5c9cjqvZdV7bOBY6vtY6p9qtePiIGpg5KkUafOJb4Du3bH0Dmj2qpO8IjYBLgeeDbwaeBu4PeZuaLqspDOF3+pnu8HyMwVEfEosB3w8BoxZwIzAXbZZbs6aYx4jV6SA+LOLzcW65JpezcWC+Atd84evlNNP3nhUY3FAtjv35uLNfZZL2suGDB27BaNxXKZLpWiziW+j3dtrwDuBV5bJ3hmrgSeFxETgK8D+wzWrXoe7GxpsLGvWcAsgIOm7u73sSRpI1VnFt9hG3qQzPx9RFwDHAxMiIix1VnUZGDgxjgLgZ2BhdWXgZ8J/HZDjy1JGpnqXOI7dajXM/MT63jfROCpqjhtDhxJZ+LD1cBxdGbyTQcur94yt9r/r+r1H3iTREkaverO4ns+nQIC8Ao608fvH+Z9k4DZ1TjUGODSzPxWRNwBzImIDwM3AhdU/S8ALo6IBXTOnKat15+kME2OG21y8xcbiwXwmROmDt+pplPvvmD4Tuvh5pe8qLFYu39xQmOxAMbteGhjsTbZxKncf4ym7+DseFvZ6t6w8MDM/F+AiDgT+EpmvmWoN2XmLcABg7TfA7xgkPYn6ExhlySp1lJHuwDLu/aXA7u1ko0kSZU6Z1AXAz+LiK/TmVX3KjorPkiS1Jo6s/g+Uq0A8cKq6eTMvLHdtHrvqRXNLj0z7vrmli78yLTmxmUAPrTwwsZiLTi2ufEsgInn7d5YrPHbH9xYLBg940ZNj/NIf6w6l/gAtgCWZOY5dKaBN/dbRJKkQdS55fsHgNOAv6uaxgENfqdekqS11RmDehWd2Xg3AGTmooiotdRR2zJXNnZpbvyPz2kkzoD3vqG5pWz+7aFmV+W+//XPbizWMz55UGOxADbbprlLhl6q0nCa/DfilPXm1bnEt7z6wmwCRIT3b5Ykta5Ogbo0Ij5HZ4mitwJX4c0LJUktqzOL72MR8WJgCbA3cEZmXtl6ZpKkUW3IAlUtU/S9zDwSKK4oxZLfMH7eWY3Eetsbm7sjKcAlj369sVgPzNi+sVgA4/95g9f/fdrmE57XWCxw3EgaCXr1czrkJb7qdhlLI+KZPclGkqRKnVl8TwC3RsSVwNMroGbmu1rLSpI06tUpUN+uHpIk9Uys65ZLEbFLZt7X43zWyzab7JiHP+N1jcS6cvlVjcQZsPCUx5oLdsaJzcUCNn/GcxqL5ZiR1I4mv1dV+s/p2Djx+sxc60uQQ41BfWNgIyK+2kpWkiStw1AFKrq292g7EUmSug01BpXr2C7GYzzOj1bObyTWg+9d3EicASve29wcki229P8H0mhT+mW5XhiqQO0fEUvonEltXm1T7Wdmbt16dpKkUWudBSozLd+SpL6pez8oSZJ6qs73oIq136Rl/ORdtzYS66l3vq+ROAO22GKXxmI1vYy/17YljQSeQUmSimSBkiQVyQIlSSrSiB6Dyh0m8dQ7T2kk1uYNjhmBt3+WpA3V2hlUROwcEVdHxJ0RcXtEvLtq3zYiroyIu6rnbar2iIhzI2JBRNwSEQe2lZskqXxtXuJbAfxtZu4DHAycEhH7AqcD8zJzCjCv2gc4CphSPWYC57WYmySpcK1d4svMB4AHqu3/jYg7gZ2AY4BDq26zgWuA06r2i7KzvPp1ETEhIiZVcQY1Zsz4xi7NeUlOksrSk0kSEbEbcADwU2DHgaJTPe9QddsJuL/rbQurtjVjzYyI+RExf/HiJWu+LEnaSLReoCLiGcBXgfdk5lAVJQZpW2uR2syclZlTM3PqxIkuByhJG6tWC1REjKNTnL6UmV+rmh+MiEnV65OAh6r2hcDOXW+fDCxqMz9JUrnanMUXwAXAnZn5ia6X5gLTq+3pwOVd7W+sZvMdDDw61PgTQJKsWrWykYckqSxtfg/qEOAk4NaIuKlqex9wFnBpRMwA7gOOr167AjgaWAAsBU5uMTdJUuHanMX3IwYfVwI4YpD+CTTzrVtJ0ojnUkeSpCJZoCRJRbJASZKKZIGSJBVpRK9mPlp4B1xJo5FnUJKkIlmgJElFskBJkopkgZIkFckCJUkqkgVKklQkC5QkqUgWKElSkSxQkqQiWaAkSUUa0UsdBdHYMkDeVVeSyuIZlCSpSBYoSVKRLFCSpCJZoCRJRbJASZKKZIGSJBXJAiVJKtKI/h5Uk7ytuiSVxTMoSVKRWitQEfGFiHgoIm7rats2Iq6MiLuq522q9oiIcyNiQUTcEhEHtpWXJGlkaPMM6kLgpWu0nQ7My8wpwLxqH+AoYEr1mAmc12JekqQRoLUClZnXAr9do/kYYHa1PRs4tqv9ouy4DpgQEZPayk2SVL5ej0HtmJkPAFTPO1TtOwH3d/VbWLVJkkapUiZJxCBtOWjHiJkRMT8i5i9evKTltCRJ/dLrAvXgwKW76vmhqn0hsHNXv8nAosECZOaszJyamVMnTty61WQlSf3T6wI1F5hebU8HLu9qf2M1m+9g4NGBS4GSpNGptS/qRsSXgUOB7SNiIfAB4Czg0oiYAdwHHF91vwI4GlgALAVObisvSdLI0FqByswT1vHSEYP0TeCUtnKRJI08pUySkCTpD1igJElFskBJkopkgZIkFckCJUkqkgVKklQkC5QkqUgWKElSkSxQkqQiWaAkSUWyQEmSimSBkiQVyQIlSSqSBUqSVCQLlCSpSBYoSVKRLFCSpCJZoCRJRbJASZKKZIGSJBXJAiVJKpIFSpJUJAuUJKlIFihJUpEsUJKkIlmgJElFKqpARcRLI+KXEbEgIk7vdz6SpP4ppkBFxCbAp4GjgH2BEyJi3/5mJUnql2IKFPACYEFm3pOZy4E5wDF9zkmS1Cdj+51Al52A+7v2FwJ/tmaniJgJzKx2HxsbJ/6ypXy2Bx5uKXaTzLNZ5tks82zWxprnroM1llSgYpC2XKshcxYwq/VkIuZn5tS2j7OhzLNZ5tks82zWaMuzpEt8C4Gdu/YnA4v6lIskqc9KKlA/B6ZExO4RMR6YBsztc06SpD4p5hJfZq6IiHcC3wM2Ab6Qmbf3MaXWLyM2xDybZZ7NMs9mjao8I3OtYR5JkvqupEt8kiQ9zQIlSSrSqC5Qwy2tFBF/GRE3RMSKiDiuHzlWeQyX56kRcUdE3BIR8yJi0O8UFJDn2yPi1oi4KSJ+1K+VQuouqRURx0VERkRfpvXW+DzfFBGLq8/zpoh4S4l5Vn1eW/0bvT0iLul1jlUOw32eZ3d9lv8dEb8vNM9dIuLqiLix+pk/utA8d61+H90SEddExOT1PkhmjsoHnYkYdwN7AOOBm4F91+izG7AfcBFwXMF5HgZsUW2/A/iPQvPcumv7lcB3S8yz6rcVcC1wHTC1xDyBNwGf6nVuf0SeU4AbgW2q/R1KzHON/n9DZ6JWcXnSmYDwjmp7X+DeQvP8CjC92j4cuHh9jzOaz6CGXVopM+/NzFuAVf1IsFInz6szc2m1ex2d75D1Wp08l3TtbskgX8TugbpLan0I+CjwRC+T6zJSlv6qk+dbgU9n5u8AMvOhHucI6/95ngB8uSeZ/aE6eSawdbX9TPrzfdE6ee4LzKu2rx7k9WGN5gI12NJKO/Upl6Gsb54zgO+0mtHgauUZEadExN10fvm/q0e5dRs2z4g4ANg5M7/Vy8TWUPfv/TXVJZTLImLnQV5vW5089wL2iogfR8R1EfHSnmW3Wu2fo+oS+e7AD3qQ15rq5HkmcGJELASuoHO212t18rwZeE21/Spgq4jYbn0OMpoLVK2llQpQO8+IOBGYCvxrqxkNru5SVZ/OzD2B04C/bz2rtQ2ZZ0SMAc4G/rZnGQ2uzuf5TWC3zNwPuAqY3XpWa6uT51g6l/kOpXNmcn5ETGg5rzWtz8/7NOCyzFzZYj7rUifPE4ALM3MycDRwcfXvtpfq5Pn/gBdFxI3Ai4BfAyvW5yCjuUCNlKWVauUZEUcC7wdemZlP9ii3buv7ec4Bjm01o8ENl+dWwJ8C10TEvcDBwNw+TJQY9vPMzEe6/q4/DxzUo9y61fl7XwhcnplPZeavgF/SKVi9tD7/PqfRn8t7UC/PGcClAJn5X8BmdBZn7aU6/z4XZearM/MAOr+byMxH1+sovR5cK+VB539199A5lR8Y5Ps/6+h7If2bJDFsnsABdAYsp5T8eXbnB7wCmF9inmv0v4b+TJKo83lO6tp+FXBdoXm+FJhdbW9P59LQdqXlWfXbG7iXahGDQj/P7wBvqrb3oVMYeppvzTy3B8ZU2x8BPrjex+nHX0IpDzqnx/9d/XJ/f9X2QTpnIQDPp/M/hceBR4DbC83zKuBB4KbqMbfQPM8Bbq9yvHqowtDPPNfo25cCVfPz/Ofq87y5+jyfU2ieAXwCuAO4FZhWYp7V/pnAWf3Ibz0+z32BH1d/7zcBLyk0z+OAu6o+5wObru8xXOpIklSk0TwGJUkqmAVKklQkC5QkqUgWKElSkSxQkqQiWaCkhkXEdl2rYv8mIn7dtf+TBo9zbEScMcTrz42IC5s6ntRrTjOXWhQRZwKPZebHWoj9EzrfOXl4iD5XAW/OzPuaPr7UNs+gpB6KiMeq50Mj4ocRcWl176GzIuINEfGz6p5Ze1b9JkbEVyPi59XjkKp9L+DJgeIUEcdHxG0RcXNEXNt1yG/SWbpHGnEsUFL/7A+8G3gucBKwV2a+gM637gdWqD4HODszn09nZejzq/ZDgBu6Yp0B/FVm7k/nXlsD5gMvbO1PILVobL8TkEaxn2fmAwDVLUi+X7XfSucmlABHAvtGPL149NYRsRUwCVjcFevHwIURcSnwta72h4BntZO+1C4LlNQ/3avOr+raX8Xqn80xwJ9n5rLuN0bEMjo3qwMgM98eEX8GvAy4KSKel5mP0Fnp+g/eK40UXuKTyvZ94J0DOxHxvGrzTuDZXe17ZuZPM/MM4GFW3wphL+C2HuUqNcoCJZXtXcDU6q65dwBvr9qvBQ6I1df+/rWaXHFb9drNVfthwLd7mrHUEKeZSyNURJwDfDMzr1rH65sCPwT+IjPX606mUgk8g5JGrn8Cthji9V2A0y1OGqk8g5IkFckzKElSkSxQkqQiWaAkSUWyQEmSimSBkiQV6f8D6BsKFMF8NgQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_spectrogram(wave, 1024)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you decrease the segment length, you get better time resolution, worse frequency resolution." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time resolution (s) 0.023219954648526078\n", "Frequency resolution (Hz) 43.06640625\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_spectrogram(wave, 256)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time resolution (s) 0.011609977324263039\n", "Frequency resolution (Hz) 86.1328125\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from ipywidgets import interact, interactive, fixed\n", "import ipywidgets as widgets\n", "\n", "slider = widgets.IntSlider(min=128, max=4096, value=100, step=128)\n", "interact(plot_spectrogram, wave=fixed(wave), seg_length=slider);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectrum of a chirp\n", "\n", "The following interaction lets you customize the Eye of Sauron as you vary the start and end frequency of the chirp." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def eye_of_sauron(start, end):\n", " \"\"\"Plots the spectrum of a chirp.\n", " \n", " start: initial frequency\n", " end: final frequency\n", " \"\"\"\n", " signal = Chirp(start=start, end=end)\n", " wave = signal.make_wave(duration=0.5)\n", " spectrum = wave.make_spectrum()\n", " \n", " spectrum.plot(high=1200)\n", " decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "slider1 = widgets.FloatSlider(min=100, max=1000, value=100, step=50)\n", "slider2 = widgets.FloatSlider(min=100, max=1000, value=200, step=50)\n", "interact(eye_of_sauron, start=slider1, end=slider2);" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "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.10" } }, "nbformat": 4, "nbformat_minor": 4 }