Created
January 17, 2019 00:23
-
-
Save coldino/4a8e420eaa3fa03eefbbb2be2322cdbc to your computer and use it in GitHub Desktop.
FFT Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Imports" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"plt.rcParams[\"figure.figsize\"] = (16,6)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Setup" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Sample count: 4410\n" | |
] | |
} | |
], | |
"source": [ | |
"samples_per_second = 44100\n", | |
"duration = 0.1 # seconds\n", | |
"\n", | |
"times = np.arange(0.0, duration, 1.0/samples_per_second) # 0-duration in 1/samples_per_second steps\n", | |
"samples = np.zeros(len(times))\n", | |
"print(\"Sample count:\", len(samples))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Input wave creation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Add 10Hz x 5f\n", | |
"Add 20Hz x 2f\n", | |
"Add 100Hz x 1f\n", | |
"Sample count: 4410\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAGDCAYAAAAWOSzVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd4VNXaxuHfTk8ghN57LwkdQgd7wwaIDaxIsfeCKMoRKxZUFCsIooigqCiiICK9hN4h1EBIISSkZ8r6/tjRT49yCJhkT5Lnvq65Diez98wznBz2vHut9S7LGIOIiIiIiIhISeHndAARERERERGRM6FCVkREREREREoUFbIiIiIiIiJSoqiQFRERERERkRJFhayIiIiIiIiUKCpkRUREREREpERRISsiIiIiIiIligpZERGRP7Es6wbLstZZlpVhWVa8ZVnzLcvq5XSu4mBZlrEsq6nTOURERE5HhayIiEg+y7IeBN4AngdqAPWBd4ArncwlIiIif6VCVkREBLAsKwIYB9xljPnKGJNpjHEZY74zxjxiWVawZVlvWJZ1NP/xhmVZwfnn9rMsK86yrEcty0rMH8m9yrKsSy3L2m1ZVoplWaP/9F7PWJY127KsLyzLSrcsa71lWe3+9Hwry7J+tSwr1bKsbZZlXfGn56ZaljXJsqzv889dbVlWkz8939KyrJ/z33OXZVmDC3KuZVm/5R+2KX80+lrLsqpaljUvP0eKZVlLLcvSdwcREXGcLkYiIiK27kAI8PUpnn8S6Aa0B9oBXYExf3q+Zv75dYCngQ+AIUAnoDfwtGVZjf90/JXAl0Bl4DNgrmVZgZZlBQLfAT8B1YF7gBmWZbX407nXA88ClYC9wHgAy7LKAT/nv171/OPesSyrzenONcb0yX++nTGmvDHmC+AhIA6ohj1CPRowp/j7ERERKTYqZEVERGxVgGRjjPsUz98IjDPGJBpjkrCLwaF/et4FjDfGuICZQFVgojEm3RizDdgGtP3T8THGmNn5x7+GXQR3y3+UB140xuQZY34B5mEXoL/7yhizJj/rDOziGqA/cMAYM8UY4zbGrAfmAIMKcO4/cQG1gAb5o9NLjTEqZEVExHEqZEVERGzHgaqWZQWc4vnawME//feD+T/743xjjCf/z9n5/5nwp+ezsQvU3x3+/Q/GGC/2yGft/Mfh/J/9+b3q/Om/H/vTn7P+9LoNgOj8qcCplmWlYhfgNQtw7j95BXvU9ifLsvZZlvX4/zhWRESk2KiQFRERsa0EcoCrTvH8UexC8Xf18392tur9/of8dad181/vKFDvv9ai1geOFOA1DwNLjDEV//Qob4wZdTYB80eTHzLGNAYuBx60LOu8s3ktERGRwqRCVkREBDDGpGGvbZ2U36gpLH/N6iWWZb0MfA6MsSyrmmVZVfOP/fRfvGUny7IG5I8A3w/kAquA1UAm8Gj++/fDLiJnFuA15wHNLcsa+vt6W8uyuliW1aqAmRKAP9bxWpbV37KsppZlWcBJwJP/EBERcZQKWRERkXzGmNeAB7GbOCVhj3DeDcwFngPWAZuBLcD6/J+drW+Aa4ET2GttB+SvQ80DrgAuAZKxt/+5yRizswD504ELgeuwR3aPAS8BwQXM9AzwSf605MFAM2AhkIE9Yv2OMebXgn5AERGRomKpZ4OIiEjxsizrGaCpMWaI01lERERKIo3IioiIiIiISImiQlZERERERERKFE0tFhERERERkRJFI7IiIiIiIiJSoqiQFRERERERkRIlwOkAZ6Jq1aqmYcOGTscQERERERGRIhATE5NsjKl2uuNKVCHbsGFD1q1b53QMERERERERKQKWZR0syHGaWiwiIiIiIiIligpZERERERERKVFUyIqIiIiIiEiJokJWREREREREShQVsiIiIiIiIlKiqJAVERERERGREkWFrIiIiIiIiJQoKmRFRERERESkRFEhKyIiIiIiIiWKClkREREREREpUVTIioiIiIiISIkS4HQAESl9jDFk5XlIz3GTkesiI9eD2+PF7TV4vQaPMXi8hqAAP4ID/AkO8CMk0P5zxbBAygcHYFmW0x9DRERERHyUClkROSNuj5cjqdnsT87k4PEsjp3MIeFkDoknc0k4mUNSRi4ns114zdm/R6C/RURoEJXLBVIpLIjaFUOpUzGUOpVCqV0xlLqVQqlfOYxAf00qERERESmLVMiKyD8yxnA4JZvt8WlsO3qSHfEn2ZecyeGULFye/69SA/0tqoeHUL1CME2qladb4ypEhAYSHhJA+ZAAwkMCKR/sT4CfHwF+Fn5+FgF+FpYFeW5DrttDrttLrttLTp6H1Ow8UjJdpGblcSIrj+MZeazZn8Kxkzl4vH9934ZVytG0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\n", | |
"text/plain": [ | |
"<Figure size 1152x432 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"gen_freqs = ((5, 10), (2, 20), (1, 100)) # list of (vol,freq) pairs\n", | |
"\n", | |
"for (vol,freq) in gen_freqs:\n", | |
" print(str.format(\"Add {}Hz x {}f\", freq, vol))\n", | |
" new_plot = vol * np.sin(2*np.pi * freq * times)\n", | |
" plt.plot(new_plot)\n", | |
" samples += new_plot\n", | |
" \n", | |
"print(\"Sample count:\", len(samples))\n", | |
"plt.title(\"Components\")\n", | |
"plt.xlabel(\"Time (sec)\")\n", | |
"plt.ylabel(\"Volume\")\n", | |
"\n", | |
"half_samples = int(np.ceil(len(samples)/2.0))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Combined input wave" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Volume')" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x432 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.plot(times, samples)\n", | |
"plt.title(\"Samples\")\n", | |
"plt.xlabel(\"Time (sec)\")\n", | |
"plt.ylabel(\"Volume\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Perform FFT" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"FFT Output Length: 4410\n", | |
"Frequency range: 0.0Hz to 22040.0Hz then -22050.0Hz to -10.0Hz\n", | |
"Frequencies: [ 0. 10. 20. ... -30. -20. -10.]\n" | |
] | |
} | |
], | |
"source": [ | |
"fft_out = np.fft.fft(samples)\n", | |
"print(\"FFT Output Length:\", len(fft_out))\n", | |
"\n", | |
"# Work out frequencies associated with each FFT output value\n", | |
"frequencies = np.fft.fftfreq(len(fft_out), 1.0/samples_per_second)\n", | |
"print(str.format(\"Frequency range: {}Hz to {}Hz then {}Hz to {}Hz\", frequencies[0], max(frequencies), min(frequencies), frequencies[-1]))\n", | |
"print(\"Frequencies:\", frequencies)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Show only the positive frequencies" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Volume')" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x432 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# We only want the positive frequencies (also scaled to make them correct)\n", | |
"half_spectrum = (2.0 / len(samples)) * fft_out[:half_samples]\n", | |
"half_spectrum_frequencies = frequencies[:half_samples]\n", | |
"\n", | |
"# Show the useful spectrum\n", | |
"plt.plot(half_spectrum_frequencies, np.abs(half_spectrum))\n", | |
"plt.title(\"Full FFT Spectrum\")\n", | |
"plt.xlabel(\"Frequency\")\n", | |
"plt.ylabel(\"Volume\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Show actual values (first few buckets, rounded for sanity)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.0Hz = 0.0\n", | |
"10.0Hz = 5.0\n", | |
"20.0Hz = 2.0\n", | |
"30.0Hz = 0.0\n", | |
"40.0Hz = 0.0\n", | |
"50.0Hz = 0.0\n", | |
"60.0Hz = 0.0\n", | |
"70.0Hz = 0.0\n", | |
"80.0Hz = 0.0\n", | |
"90.0Hz = 0.0\n", | |
"100.0Hz = 1.0\n", | |
"110.0Hz = 0.0\n", | |
"120.0Hz = 0.0\n", | |
"130.0Hz = 0.0\n", | |
"140.0Hz = 0.0\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Volume')" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x432 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"n_buckets = 15\n", | |
"for (vol,freq) in zip(np.round(np.abs(half_spectrum[:n_buckets]), 5), half_spectrum_frequencies[:n_buckets]):\n", | |
" print(str.format(\"{}Hz = {}\", freq, vol))\n", | |
"\n", | |
"plt.bar(half_spectrum_frequencies[:n_buckets], np.abs(half_spectrum[:n_buckets]))\n", | |
"plt.title(\"Partial FFT Spectrum\")\n", | |
"plt.xlabel(\"Frequency\")\n", | |
"plt.ylabel(\"Volume\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Reverse the FFT" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Regenerated samples count: 4410\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Volume')" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x432 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"regenerated_samples = np.fft.ifft(fft_out)\n", | |
"print(\"Regenerated samples count:\", len(regenerated_samples))\n", | |
"\n", | |
"plt.plot(np.abs(regenerated_samples))\n", | |
"plt.title(\"Regenerated Samples\")\n", | |
"plt.xlabel(\"Time (sec)\")\n", | |
"plt.ylabel(\"Volume\")" | |
] | |
} | |
], | |
"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.7.0" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment