Skip to content

Instantly share code, notes, and snippets.

@NT7S
Created August 28, 2018 20:46
Show Gist options
  • Save NT7S/41cbfbd1dbface0d3478e40eefce2388 to your computer and use it in GitHub Desktop.
Save NT7S/41cbfbd1dbface0d3478e40eefce2388 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import scipy.fftpack"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a sine wave"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"N = 1000\n",
"T = 0.02\n",
"A = 20\n",
"# f = 0.1\n",
"# signal = []\n",
"\n",
"x = np.linspace(0.0, N * T, N)\n",
"y = A * np.sin(2. * np.pi * x)\n",
"\n",
"# for x in range(0, N):\n",
"# signal.append(A * np.sin(2. * np.pi * f * x))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Look at the unfiltered waveform"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2643689a50>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f264397ef10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"s = pd.Series(y)\n",
"s.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get the FFT"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"fft1 = scipy.fftpack.fft(s)\n",
"# fft1"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"fft1_mag = np.sqrt(fft1.real * fft1.real + fft1.imag * fft1.imag)\n",
"fft1_mag = fft1_mag[0:N/2]\n",
"# fft1_mag"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f264365a150>"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAD8CAYAAACcjGjIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAFJNJREFUeJzt3X+QXWV9x/H3N1kIPzX8WCgk0WBNrWir0h2I0mktWEioNfwhnThOyTiZyUxLW+04Y6GdaaYqMzpTBWkt04ykBscRKWrJUCzNBJxqW5FFkF+RZhUla4JZJiH+QEI2+faP+yTezbl7stm72bvZ837N7Nxzvuc55z7PZpNPnnPO3ROZiSRJ7eb0ugOSpJnHcJAkVRgOkqQKw0GSVGE4SJIqDAdJUoXhIEmqMBwkSRWGgySpoq/XHZiss88+OxcvXtzrbkjScePhhx9+PjP7J9L2uA2HxYsXMzg42OtuSNJxIyJ+ONG2nlaSJFUYDpKkCsNBklRhOEiSKo4YDhGxPiJ2RsQTbbUzI2JTRGwtr2eUekTELRExFBGPRcRFbfusKu23RsSqtvpvRcTjZZ9bIiKmepCSpKMzkZnDZ4Flh9WuBzZn5hJgc1kHWA4sKV9rgFuhFSbAWuAS4GJg7cFAKW3WtO13+HtJkqbZEcMhM/8L2HVYeQWwoSxvAK5uq9+eLd8E5kfEecCVwKbM3JWZu4FNwLKy7RWZ+b/ZeiTd7W3HkiT1yGSvOZybmTsAyus5pb4A2NbWbrjU6urDHeozxne2vcDjw3t63Q1JmlZTfUG60/WCnES988Ej1kTEYEQMjoyMTLKLR2fFp/+bP/zHb0zLe0nSTDHZcPhxOSVEed1Z6sPAorZ2C4HtR6gv7FDvKDPXZeZAZg7090/oE+CSpEmYbDhsBA7ecbQKuLutfm25a2kpsKecdroPuCIizigXoq8A7ivbfhoRS8tdSte2HUuS1CNH/N1KEfEF4O3A2RExTOuuo48Bd0bEauBZ4JrS/F7gKmAIeBF4H0Bm7oqIjwAPlXYfzsyDF7n/hNYdUScDXy1fkqQeOmI4ZOZ7xtl0eYe2CVw3znHWA+s71AeBNx6pH5Kk6eMnpCVJFYaDJKnCcJAkVRgOkqQKw0GSVGE4SJIqDAdJUoXhIEmqMBwkSRWGgySpwnCQJFUYDpKkCsNBklRhOEiSKgwHSVKF4SBJqjAcJEkVhoMkqcJwkCRVGA6SpArDQZJUYThIkioMB0lSheEgSaowHCRJFYaDJKnCcJAkVRgOkqQKw0GSVGE4SJIqDAdJUkVX4RARfxkRT0bEExHxhYg4KSIuiIgHI2JrRHwxIk4sbeeV9aGyfXHbcW4o9acj4sruhiRJ6takwyEiFgB/AQxk5huBucBK4OPATZm5BNgNrC67rAZ2Z+ZrgZtKOyLiwrLfG4BlwD9FxNzJ9kuS1L1uTyv1ASdHRB9wCrADuAy4q2zfAFxdlleUdcr2yyMiSv2OzNybmc8AQ8DFXfZLktSFSYdDZv4I+HvgWVqhsAd4GHghM0dLs2FgQVleAGwr+46W9me11zvsI0nqgW5OK51B63/9FwDnA6cCyzs0zYO7jLNtvHqn91wTEYMRMTgyMnL0nZYkTUg3p5XeATyTmSOZuQ/4MvA2YH45zQSwENheloeBRQBl+yuBXe31DvuMkZnrMnMgMwf6+/u76LokqU434fAssDQiTinXDi4HngIeAN5d2qwC7i7LG8s6Zfv9mZmlvrLczXQBsAT4Vhf9kiR1qe/ITTrLzAcj4i7g28Ao8AiwDvh34I6I+Gip3VZ2uQ34XEQM0ZoxrCzHeTIi7qQVLKPAdZm5f7L9kiR1b9LhAJCZa4G1h5W/T4e7jTLzJeCacY5zI3BjN32RJE0dPyEtSaowHCRJFYaDJKnCcJAkVRgOkqQKw0GSVGE4SJIqDAdJUoXhIEmqMBwkSRWGgySpwnCQJFUYDpKkCsNBklRhOEiSKgwHSVKF4SBJqjAcJEkVhoMkqcJwkCRVGA6SpArDQZJUYThIkioMB0lSheEgSaowHCRJFYaDJKnCcJAkVRgOkqQKw0GSVGE4SJIqugqHiJgfEXdFxHcjYktEvDUizoyITRGxtbyeUdpGRNwSEUMR8VhEXNR2nFWl/daIWNXtoCRJ3el25vAp4D8y89eBNwFbgOuBzZm5BNhc1gGWA0vK1xrgVoCIOBNYC1wCXAysPRgovZaZve6CJPXEpMMhIl4B/A5wG0BmvpyZLwArgA2l2Qbg6rK8Arg9W74JzI+I84ArgU2ZuSszdwObgGWT7ddUMhskNVU3M4fXACPAv0TEIxHxmYg4FTg3M3cAlNdzSvsFwLa2/YdLbbx6RUSsiYjBiBgcGRnpousTYzZIaqpuwqEPuAi4NTPfAvycX55C6iQ61LKmXi1mrsvMgcwc6O/vP9r+HjVPK0lqqm7CYRgYzswHy/pdtMLix+V0EeV1Z1v7RW37LwS219QlST0y6XDIzOeAbRHxulK6HHgK2AgcvONoFXB3Wd4IXFvuWloK7Cmnne4DroiIM8qF6CtKreecN0hqqr4u9/9z4PMRcSLwfeB9tALnzohYDTwLXFPa3gtcBQwBL5a2ZOauiPgI8FBp9+HM3NVlv6ZE+1mlzCSi0xkwSZp9ugqHzHwUGOiw6fIObRO4bpzjrAfWd9OXYyHb5g6ZYDZIago/IV1jzMyhd92QpGlnOEiSKgyHCfK2VklNYjjU8LSSpKYyHGocfkFakprCcKgxduZgOkhqDsNhgpw5SGoSw6GGeSCpqQyHGt6hJKmpDIca7dFgTkhqEsOhhhekJTWV4TBBzhwkNYnhUMdAkNRQhkONMR+C62E/JGm6GQ41Dn+egyQ1heFQI8dZlqTZznCYICcOkprEcKjhqSRJTWU41MhxVyRpdjMcavghOElNZTjU8HkOkprKcJggs0FSkxgOdUwESQ1lONQY+1tZTQpJzWE41Bh7QVqSmsNwqOEFaUlNZThMkLeySmoSw6GGswVJTWU41PAT0pKaynCo0X6HktkgqUm6DoeImBsRj0TEPWX9goh4MCK2RsQXI+LEUp9X1ofK9sVtx7ih1J+OiCu77dNUGfs8h971Q5Km21TMHN4PbGlb/zhwU2YuAXYDq0t9NbA7M18L3FTaEREXAiuBNwDLgH+KiLlT0K8p5QVpSU3SVThExELgD4DPlPUALgPuKk02AFeX5RVlnbL98tJ+BXBHZu7NzGeAIeDibvolSepOtzOHm4EPAQfK+lnAC5k5WtaHgQVleQGwDaBs31PaH6p32KenPK0kqakmHQ4R8U5gZ2Y+3F7u0DSPsK1un8Pfc01EDEbE4MjIyFH1dzLGfAjumL+bJM0c3cwcLgXeFRE/AO6gdTrpZmB+RPSVNguB7WV5GFgEULa/EtjVXu+wzxiZuS4zBzJzoL+/v4uuT8zYmYPxIKk5Jh0OmXlDZi7MzMW0Lijfn5nvBR4A3l2arQLuLssbyzpl+/3Z+hd3I7Cy3M10AbAE+NZk+zWVxv7ivZ51Q5KmXd+Rmxy1vwLuiIiPAo8At5X6bcDnImKI1oxhJUBmPhkRdwJPAaPAdZm5/xj0S5I0QVMSDpn5NeBrZfn7dLjbKDNfAq4ZZ/8bgRunoi9TyVNJkprKT0jX8LSSpKYyHGqMfZ6D6SCpOQyHWj7PQVIzGQ4TZDZIahLDoYazBUlNZTjUGHtB2qSQ1ByGQ42xF6QlqTkMhxrpBWlJDWU4TJjpIKk5DIcazhYkNZXhUMPnOUhqKsOhhs9zkNRUhkMNZw6SmspwmCB/t5KkJjEcJEkVhkMNTytJairDoYYfgpPUVIZDDZ/nIKmpDIcJcuYgqUkMhxrmgaSmMhxq+Gu6JTWV4VBj7PMcetYNSZp2hkMNL0hLairDYYKcOUhqEsOhlokgqZkMhxo+JlRSUxkONcZekDYeJDWH4VDDmYOkpjIcJsiJg6QmMRxqjD2VZDpIag7DoYZxIKmpJh0OEbEoIh6IiC0R8WREvL/Uz4yITRGxtbyeUeoREbdExFBEPBYRF7Uda1VpvzUiVnU/rKnh8xwkNVU3M4dR4IOZ+XpgKXBdRFwIXA9szswlwOayDrAcWFK+1gC3QitMgLXAJcDFwNqDgdJrY57n0MN+SNJ0m3Q4ZOaOzPx2Wf4psAVYAKwANpRmG4Cry/IK4PZs+SYwPyLOA64ENmXmrszcDWwClk22X1PKmYOkhpqSaw4RsRh4C/AgcG5m7oBWgADnlGYLgG1tuw2X2nj1Tu+zJiIGI2JwZGRkKro+YX7OQVKTdB0OEXEa8CXgA5n5k7qmHWpZU68WM9dl5kBmDvT39x99Z4+ScSCpqboKh4g4gVYwfD4zv1zKPy6niyivO0t9GFjUtvtCYHtNvef8EJykpurmbqUAbgO2ZOYn2zZtBA7ecbQKuLutfm25a2kpsKecdroPuCIizigXoq8otZ4bc0HadJDUIH1d7Hsp8MfA4xHxaKn9NfAx4M6IWA08C1xTtt0LXAUMAS8C7wPIzF0R8RHgodLuw5m5q4t+TRmf5yCpqSYdDpn5DTpfLwC4vEP7BK4b51jrgfWT7cu0MBskNYifkK5hHkhqKsOhRvvtqwaFpCYxHGqMfZ5Dz7ohSdPOcKjjBWlJDWU4TJAzB0lNYjjUcLYgqakMhxp+QlpSUxkONcY+z8F4kNQchkMNHxIqqakMh4kyHSQ1iOFQw1NJkprKcKgx9rSSQSGpOQyHGmMvSPeuH5I03QyHWj7PQVIzGQ4TZDZIahLDoYazBUlNZTjUGPtbWU0KSc1hONTw12dIairDoUZ6QVpSQxkOE2Y6SGoOw6GGn3OQ1FSGQw3zQFJTGQ412u9QMigkNYnhMEGeVpLUJIbDBPmL9yQ1ieFQwwvSkprKcKjhbEFSUxkONfyEtKSmMhxqjD2tZDxIag7DYYJG9xsOkppjxoRDRCyLiKcjYigiru91fwC+N/KzQ8uDP9zdw55I0vSaEeEQEXOBTwPLgQuB90TEhb3s08ujB/jqE8/xtl89i+Vv/BU2PfUcIz/d28suSdK06et1B4qLgaHM/D5ARNwBrACeOtZvvP9A8uLLo7z48n5++tI+fvTCSzz93E/Y+J3tPPP8z/nQla/j/Pkn88DTO7nsE1/jd3+tn9edezrnzz+Z00/q47R5fZw6r4+TTphL39ygb07QN3cOfXOCuXOCE+bMYW6pR0Bw8BUiory2liVpppgp4bAA2Na2Pgxccize6J3/8HX2/GIfL+7dz89fHuWlfQc6tltyzml8auWbWf4b5wHwlT+9lM98/Rn+53vPc89jO45F1wAqwTGnFA6FSIdwoW19vGN2rI/bh3GOcxTHHu/oR9+X8dof27EezbFng9k6tvF+To5nZ556Iv923aXH/H1mSjh0+hOsXAGOiDXAGoBXvepVk3qj1/afxpwITpk3l1NP7OOUE/s4dd7cQ6/nzz+ZV591CuecftKY/V5/3iv4xB+9CYCX9u3nuT0v8bO9o/xs7yg/3zvKL/btZ/+BZHR/sv9Asu/AgUProwcOMHogyWzd9ZTZGlzr9ZfrZFbqB8oyh/bpvP94xrvLarxdxjtWp898jN/26I493h7jHv8o+ljffuLHn9WfeZmlQ5ulw+K0edPzz/ZMCYdhYFHb+kJg++GNMnMdsA5gYGBgUn/2N698y2R2G+OkE+ay+OxTuz6OJM1UM+KCNPAQsCQiLoiIE4GVwMYe90mSGmtGzBwyczQi/gy4D5gLrM/MJ3vcLUlqrBkRDgCZeS9wb6/7IUmaOaeVJEkziOEgSaowHCRJFYaDJKnCcJAkVcTx+pyCiBgBfjjJ3c8Gnp/C7hwPHHMzOOZmmOyYX52Z/RNpeNyGQzciYjAzB3rdj+nkmJvBMTfDdIzZ00qSpArDQZJU0dRwWNfrDvSAY24Gx9wMx3zMjbzmIEmq19SZgySpRqPCISKWRcTTETEUEdf3uj9TJSLWR8TOiHiirXZmRGyKiK3l9YxSj4i4pXwPHouIi3rX88mLiEUR8UBEbImIJyPi/aU+a8cdESdFxLci4jtlzH9X6hdExINlzF8sv/aeiJhX1ofK9sW97H83ImJuRDwSEfeU9Vk95oj4QUQ8HhGPRsRgqU3rz3ZjwiEi5gKfBpYDFwLviYgLe9urKfNZYNlhteuBzZm5BNhc1qE1/iXlaw1w6zT1caqNAh/MzNcDS4Hryp/nbB73XuCyzHwT8GZgWUQsBT4O3FTGvBtYXdqvBnZn5muBm0q749X7gS1t600Y8+9l5pvbblmd3p/t1mMnZ/8X8Fbgvrb1G4Abet2vKRzfYuCJtvWngfPK8nnA02X5n4H3dGp3PH8BdwO/35RxA6cA36b1rPXngb5SP/RzTuv5KG8ty32lXfS675MY60Ja/xheBtxD67HCs33MPwDOPqw2rT/bjZk5AAuAbW3rw6U2W52bmTsAyus5pT7rvg/l1MFbgAeZ5eMup1ceBXYCm4DvAS9k5mhp0j6uQ2Mu2/cAZ01vj6fEzcCHgANl/Sxm/5gT+M+IeDgi1pTatP5sz5iH/UyD6FBr4q1as+r7EBGnAV8CPpCZP4noNLxW0w61427cmbkfeHNEzAe+Ary+U7PyetyPOSLeCezMzIcj4u0Hyx2azpoxF5dm5vaIOAfYFBHfrWl7TMbcpJnDMLCobX0hsL1HfZkOP46I8wDK685SnzXfh4g4gVYwfD4zv1zKs37cAJn5AvA1Wtdb5kfEwf/otY/r0JjL9lcCu6a3p127FHhXRPwAuIPWqaWbmd1jJjO3l9edtP4TcDHT/LPdpHB4CFhS7nI4EVgJbOxxn46ljcCqsryK1jn5g/Vryx0OS4E9B6eqx5NoTRFuA7Zk5ifbNs3acUdEf5kxEBEnA++gdZH2AeDdpdnhYz74vXg3cH+Wk9LHi8y8ITMXZuZiWn9n78/M9zKLxxwRp0bE6QeXgSuAJ5jun+1eX3iZ5os8VwH/R+s87d/0uj9TOK4vADuAfbT+F7Ga1nnWzcDW8npmaRu07tr6HvA4MNDr/k9yzL9Na+r8GPBo+bpqNo8b+E3gkTLmJ4C/LfXXAN8ChoB/BeaV+kllfahsf02vx9Dl+N8O3DPbx1zG9p3y9eTBf6um+2fbT0hLkiqadFpJkjRBhoMkqcJwkCRVGA6SpArDQZJUYThIkioMB0lSheEgSar4f/8dVJQLIOGfAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f26435fb790>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fft1_df = pd.Series(fft1_mag)\n",
"fft1_df.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.15rc1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment