{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Experiment 4a - Filters - Blackman Harris filter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Refs [1] https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.signal.freqz.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "BlackmanHarris filter is an averaging filter, mainly used to remove the additive gaussian noise. This is how it looks like in time domain" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os, sys\n", "nb_dir = os.path.split(os.getcwd())[0]\n", "if nb_dir not in sys.path:\n", " sys.path.append(nb_dir)\n", " \n", "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from directdemod import filters\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from scipy import signal" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bh = filters.blackmanHarris(151)\n", "\n", "plt.plot(bh.getB)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us observe in frequency domain [1]. Assuming we have a sampling rate of 2MHz" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nW+aV1/p8CPfuBR56yN3LUXHkCPDkk26kIEVNjezS8dFHXvm+fV4P5FYIl39m8mk8kxvPP8EL3G7G\ntwAAIABJREFU9PgSgF8AeDPAfwb4HIArmrIQL5mfZCziZmY+UnOE02al8a/+9auw5886y1k0/Ysc\nHnPXTczMPOaJMYxiMCb9on5B9dtvu/cAzGee6U3n88/dxdcmtmwJL48Evf6VV7zyzp1F/uijXvkV\nV4h86FCv/Mc/dtNavdqV//rXIuvZk/naa135s8+K/He/k+9ly0S+cKH8njePefp05n79RF5RIfLZ\nzhr5wkIpy/79zGlpzL/8pcjLy+W6e+9l7t6d+fLL3Twfesgt44gRrry2VhabA8xdujBXVYW/5913\nXXlpKXN6ushnzXLlR48yFxSEf27nnee2xf79rvyWW9w8zMXtf/iDK3/hBVf+8suu/Ne/duVLlrjy\nq6925Zs3u/LTTnPle/cyZ2eLfMgQaQdm5iNHmPv3F3l+PvO+fSKvq2M+4QSRd+ggi/YVU6a4eZSU\nuPLrrnPln37qyu+805Wb7/sjj7jyOXNc+UsvufKHHnLl77/vyouLXfmyZa78Zz9z5evXM7dvL/Ib\nb3Tlu3Yxd+sm8iuucOWHDzP37Svyc85x5bW1zMOGiXzcOG8wBQ1+MHSo26ZmG/XrJ23sb6P8fHkm\nijvucN/JrVtduQZ3SEtjLitz5Q88IHXbto2bDDSwiDueHxTjEhTjBRRjM4rxZxTjHBSjolFpNHgB\nOBvg6QC/DvBBgB8HeHKyKt3YT7LIjZm54MECvuaf14Q9d+aZzh/urs489s5bmJl56vNThdzOvids\nJ7p3r/ePwMy8YoX7xzWxa1d4eSTo9W+95ZV37CjyZ57xym+4QeTHH++Vmx30jh2u/OGHXfl//7cr\nX7BAZFdeKd9btohcO+Inn5RO47zzRF5Tw9yuHfPPfy5/dEA6f2bmMWOYzz5bjp95Rs6tXMl8/fXS\nYWnHM3Ei8+jRbgeqnbBGavnFL9hD6HV1zIMGSfrdu0uEGcWtt0p5xo5lzstzI8Io8UyYIN+rVolc\nyfnCC+X7qadEfviwtPWUKZLebbe5eYwcyXzSScwDBsjASDF1qhDo5MnyrfX70Y+YO3Vi/t73mLOy\nmKurRf7b30rkmxtvlLzLy0U+Z478/ulP5fv990X+r3/J75tvlu+5c0X+5Zfy+6ab5Puxx0S+dauk\nf9113oFGdbUMkq64Qsr1gx+47VpQIM+2Tx/mSy916zZ2rBDosGFeMjnnHHkW48fLe6GYNo05N5f5\njDOknbQtfvYziaIzaZKcP3xY5L//vZT9/PPlvBL344+LfPJk+d65U+QvvCC/J06U74oKkb/3nvxW\nItNBif43x4+X7wULRK4Dz3Hj2DNY2btXBkljxoj8iSe878WoUSJ/4AGR19Qw9+rFPHy4tLVGM6qr\nk/fllFO4WUgmuekHxchGMaajGK+jGAdRjMdRjKj4p0GHEmYcZMZzzJgCoB+ApQB+0UgVs00i0r5u\nnqUAjtNqvcdkGLMkIJ6FfjNkIsySavrxmyXVISTLF6fXLJN5zjRXmqbMvk6QfF0zp8sKNP2qKjED\n6XXp6eJ5uW6da77RgMzjxrk7mC9cKE4mw4fLerrdu8VMePCgbNdz3nnAlCly7bvvyvfrr0v5775b\nTKe648H69RIP9Ic/FFPf/Pluu7z9tphKb79dzFhqLn37bXHCUROj7mI+b558P/igON+8/778XrJE\nTIvXXQeccw7wmrNRwJYtUqcrrxRz3yefiNnt6FEp90UXyTzk5s1i8gXETHX66cB3vytmP83jo48k\nPujtt8tvNeG+/bbMlc6aJb91O6P582Xed+ZMeWaazsdOyPJbbxVvV63Tv/8tw5cf/lCWesyfL/JF\ni2SH9xkzpG56/6pVUu7LLwfOPVeeGbO047Jl8nzOP1/khw65QbwvvBD49relrbdtk3vef1/a4nvf\nk+e8Zo3b3pMmSZn27HHfs3nz5H25+WZJV82x770n88DaFlrnDz+UZS6PPy6/NarOggXSRnPnyjyy\nPrfXX5fvf/xD3ik1f+t9zzwj/+kPPnDzqa0F/vhHCViu+S5eLO/Fb34jXsL6HpWUiHn7zjvlWb/y\nisg3bZL3Zdo0tHrwTD7IM/k5nsmN5p+ovCXrM2LsYcZsZpzThHK2ORTlBO/rZs65nXhCev31cjJ0\nKUAQGvKWNCOPRIsgcvPPrfXrJ9/+uR6T3MzymeRmEqWGGFu/XuR6T/v28uffvl0Wd/fu7d4zeLCQ\n2+bN8lsXkQ8cKPMcBw9K5zZqlHhz6hY8ixdLp/DNN+Jo0r+/5K8bsi5bJo4sXboAZ5/tzmVox3fy\nyfLR9L/6StKbNEk6Z8C9Z/FiIdW+fSUfJb1PP5XOa+hQ4Kyz3F0U1DN0wgQhhrVrZY5I5+VOOEE+\nR49KeUtLpRynnw6ceaZc8/HHQgyrV4tcN5NdvlwIYMkSSUN3d9e0V6yQOchu3YBhw4SMALl+7Fgh\n6QkTXNJbuFDqVVQkZV2+3K1zZqYQqA406urc8+PHy6e0VOaXNP9TT5U1kVVVUu9Fi6S8EydKGx05\nIvOuy5cLyWkbad22bpX35IQT3Gf95Zfybq5dK8/hhBPcMtbVyea8p58OnHKKvCNKuB9/LHmOHy9t\npM9z4ULJc9gweRd1veaSJfKe9esnwQq0rsuWiYdw//6yNlOf/5Il0s4jR8rz0Xm0jz+W/96pp3rf\nC83/tNPknVy0yHWy0nfytNNkoHDkiNQLkDqnEngm7+GZPJtnclT80yhys2gcirrKrsU1dTUh55Tc\n0jNr0S1HyKzeY9JYCpCR4b/TiyDNLS1NHBz8zgHRIFrNTcnt66+9cpPQTHIO0txUuztyJJSM8/OF\nPGpr3TiXgLuJqpKblkUdVTZulNG7xrxUJ5XyclkGAQDHHCMj7VGj3NH8ihXuwvJjjxWi2LVLOsSO\nHeWc2UmqdjBypJQ1P19khw5Jx67XjhvndoZr1gAjnH1DR4+WeuzfL3n37y9paBlKSlwCGD3aTe/z\nz928hw2TuqSnS0eu9Rs1Ski6b19JZ+NG0V7HjZP347jjJO1vvnEHAoB06ppnWZmkrW24bp2QTmmp\nlIdI8tc6fPGFpNO+vXxXV8ug5csvxemnZ0+3DkuXSrnS02Wwotr36tWuo8Xw4ZI+IHnrIOT4491n\nWlLiEsf48SLPyBCSWb1a/mujR7ttu2SJvDfV1XJtly4y0Fi5UhwxduyQZ5+RIfK1a8VxY/VqlziH\nD5c2MwcM2uZaxi+/lHy1XJ9/LmUpKZH0iYSAVqyQAUtZmZBju3Zy3/btMgBYtcrdwWP4cCn3li2S\nb06O3DNypPxHysrk2aWluc+zrcKSWxxRmFOIWq7Fln1bQs4JuTFqubZ+w8ZYam6AmIAGhe7jGAh1\nzY/WWzKI3IKCOTdEbkB4ctORsKm55eZKvps2SYep7aBkVlIio/mBA9088vKkUysrk3Jp24waJR3I\nrl1i4tJOQUOGrV0rpDh4sNvhZWZKOhomTQngmGNEtmGDdDZKYqNGSRpHj0qnqB2zlqGiQu7R8moA\n6pUrpWyFhdIJFxVJGTZscPPW8vTv764jNNtCO+KKCm+9dH3hunVSLs2zqEjabt8+aS/d32/QIOlY\nd+zwerwq+ZSVCYEOHuzWGZDyr17t/tY6b9wo5Ro8WN4Zc2Cybp3UNy9P6q7EvXGjPDslqu7dpQ7l\n5W77t28vZVq50jVRjxol9w0ZImU3BwZa540b3XS0DoMHi2zLFnmeZp1LSsTM+fXX7vMfNUrKvmeP\ntIeS24gRQlRVVdIW5r6IzDI4WLvWfTbaRuvXewdpmk9pqcgHD5Z6+d+XIUO8IfXaIiy5xRGR1rrV\n1QEgUd90w8YBuQOQmZaJP93nRjRuiNxiuRer7vkWNF8XZJaMRG4mgsgtM9PVUP3k1qOH68pukltO\njrThqlWyqFuhnY/OY2inoOWtrJROp7DQrWdBgWgdOn+nHZtJbps3u/mkpYlZsbJSOpn27V2zqJKb\n7rGn9/TrJ53YF19IXtqpaidWXu4ljIEDpUMvLxei0bb2511Q4A46Bg6U65XEzI64rEw6aMCdu+zT\nRzQ57dC1rQoKpG3VHKbkpsS7dKncF67Drax009cyb93qrYOe1w5d78/Lk7ps2OAOJojkfSosFNLY\nuFHeA33HjjlG0ti6VZ6nBhro109k+hw0oLeuqfQPSgoL3XzN5zJ4sMh12YQ+52HDhPxVY9S6DRgg\nz3npUmlDvV7rvHKltJ0+fy1XRYUQmb5z2tY6WPG3dVmZ1E3fL31G69ZJ/bQ8bRmW3OIINTMGklua\nmCsz0qRnz+mQg6U/XIoZx11Tf11TzZJNQZDmpvBrbhqO6/rroyuTGeHET5SqvYXT3MIda1olJdJJ\n+69Rbc/cHLWgQEhq2zbvn1+DPatpUn8PHChtUl7uJTfAJcqKCiERDV82aJCMztU0qPloGf2doXai\nqmkqIaWnS1tUVYl5yiR2zdtfDw1vVlEhgwJ9Xr16idagpKdl0TTVjKZrErXN/vMf+dYOWsuqTjZa\nVjUXr10rmp2WSZ+Fzplqu2ZlyZzTli0yP6r3E0leqkFpB695r18vmrqWB5A0q6okrT593He4Vy/J\nc8cOGQipZt+3r7Td9u3SxlrnwkLR3PUd0LoOGiQamxK95q1tqPNbSl5aR33/9Lee1/Wa2vZmWx89\n6uardV+1Sp6zklufPtInbNok76S2dfv2EjEo3PvSVmHJLY7o31Xe3HC7Awi5yWSWmiUB4Ngex6JL\nR9dO15Dm1tD5xqAhcvMTEpE4PDzxhFceRG7m/UHkps4lCnNbHtMEq+S2d683rYwMMcfoXJypLSop\n7N7tJVHtXP0dUrt2ks+mTdLxmeSmneSuXd6Ym3qsnaR2gtq5aR56XU6OkNCnn8qI3+y4e/SQzn/b\ntlBy09idZj369ZPOraLCm45e8+WX4iChwbO13lpW7ei1nlpWfSZ6vRK0dsw5OfIu6PXa4WZmSt5l\nZdJxm3OmZvuZdSgqEk3lq6/c56DttXu3EJ85YOneXa7dssVtY0Du3bFDOnozkEDfvu48YF6e+84r\nUS9ZIu+PtpGWwV9n/3PWvDUvlWud9T1Qud6vbaWkpwOCrl2lDOrYo8+TyH0n9+3zvpP5+a5nsSU3\nS25xRfuM9ujTuU/UmpvCnKdqiLxiGRlf0wqaxwsXlDg72xt0GYhOmwwiN5PMAG/9zWNTC/SXq0sX\n1xxl7nzQu7d0pjt3eknUr7mZnWFenttph9Pc/J2zprt8uaSjbeHv3Mx7cnJcc5iZd36+dOb79nk7\nK5MYzHpo223e7G0fk9xMAjDJLTPTvV87XNXoNI/OneUd0YGD5pGeLsf+jh6QtvUPGvSakhJx1DAH\nB3l5Ml+1d6/3XdDoNlVVXpI0yc3U4Hv1EkeZ0lJvvlq35cu9z0DbvbzcOyDS47VrpTx+L2T/ICZI\nc/MPoLTOWVlyrCZxM++uXUN33dBr9Nn4ya2sTByzLLlZcos7gvZ1kzk3R3NLSw85r2jILKk4JwaL\nM15/XdYP+TW3s8+W72i1xGjIzU9IOt9nkpE/LfPY7AT8E+ddurjxJc0tfjTPHTu8pGB28h07eom3\nWzfXc880i/bpIx6RFRXetLQTWr3a28F07y7t5x+5A9KJ6XyYWd78fPd6M61evUT72LzZ2+lp21VW\netPRa8rKvMSgx6tXS+eugxu9V8ukbZ2WJud04ODPQwnabKeePd04oybJ9OrlzmOZddDtkurqQklm\nzx6xFJjPJy9PzIbl5d420rxWrAjNFxCHEjNfTbOyMpRUtS3CtenKlXKs76bW3T9QysyU43DPv3Pn\n0AEDIOUIN0jLzRXN0yyH5hXufWmrsOQWZwStdXvgAaB3XyE3v+ZmIhpC2bnTXRjaHEyeLOn4tcHX\nX3fna6KB/tEjaZV+zU3JyE9u0Whu4chNEY7cmL2E1L27lPXwYa/mBMh1+/d77zfLv39/eM1t/37v\n9WlpUuZDh+TYP0JXpxyzvD16uMswzHKZ9Q1HbtXV3jYwO1KzTGanb6afliYDnNpaKZs5wOraVTQD\nf1nNcpjlC0cskerQqZM8B81LkZMj5amr8747fpIIl1c0badpVleH19wOHgyur985Sgk3N9drBTHr\nY96fne2uFfWT2759oXXLzXWvN59nfr77PzLbva3CklucUZRThE17N6G2zhvzc/Jk4Itl8iaac25+\nRENu+fnx3a26Y0dvoOOGEElz03N+QtKAw7EkN91QNdx1JrllZLidRzhyU5gdibl8wbzGPPaXS59R\nt25eU67Z6fk1t3BpBS2dCErHvMa81/RSNfMC3Lr650C1bYm87RGURzizKeB9X/2amyIcyQDB5Gam\naeZlXhPUdma+4TQ3f77t2rn3+P972pb+LaL0uuxsbznMdM38ggZpQe+++Qz9UYPaIiy5xRmFXQtR\nU1eDbQe2hZxTwouFWbIlIZLmtmABcNVVoXNrjdXcOnVyTZl+EtG0/WkFkZuZtl+jDNJIgtIK6uSB\n4KgxZlv4TaKKoJBm4TQ3/7F5jb8jDqq31i/Iwce/zVFQvc331yT0oDqY5TDbJcjTNqhuZr6m9hRE\nqkEEk5XlphX0bvifs+bnH5hq3ibZAu4gIT09mGSjITezPrH0om6tsOQWZ0Ra66aRS5prlmxpiPTH\nOuMM2SIlzffmqeZm/okBb/3NztE07QVpbv60woX88ufjH0xEo7n5O3btxCJpbiaCOjH/jujh8g7S\njPzp6D3+jljr7X/PgjQ3zcPftkEkYz6zIHIz82is5mZ29EHkZh5HQ6pmXrrjvP8a835/m2p+fkcr\nLZ9/YKdtrV6nCvM6c7ASNN8c9L60VSSF3IjoCiJaRUR1RDTed+4uIlpHRKVEdJ4hH0dEK5xzDxPF\n0k8wfoi0r1sthy4F8CPVNLcgBGluQdFOALdjC+ctGS6tSJqbtrO/k4+G3PzmJ70nSHPzd5Lmjubm\nPUHONEHBqIM0NzPPIM3N3xk2pLn509ffmZnegUsQuZnlMAktSHMLiksa1LlHQ25mHdq1c9vCTz5B\n5BZkltT8/P9d1ej8gx5N178hsdmm4ZbB+NMKel/aKpKlua0EcBkAzxZ7RDQCwFUAjgXwLQCPEdX3\n/I8DuAHAEOfzrYSVthnQhdzhdgdYXbUaQGTNza/htAboH7Ex5BbNnJsf+iePheYWDbkFmSX9naH+\nDtLcgsyo7dp528zs0ILILRozFuDWPYjcotXcgtpWO+j6gOAOotHczLo1VnNrDrn5ySpo1/sgctM2\nCtLc/OQW9Pw1Hf8gSZ+nf2lOELmZ10UKy9dWkJSuk5lLmLk0zKmpAF5g5iPMXAFgHYATiag3gC7M\nvMjZZ+ivAC5JYJGbjKzMLPTM7hlWc5vyvOy3EmnOrTUilppbJHILMktqh+zf/TiaOTd/h6Smp7Q0\nb4cRpAGYvxtLbhrDUxGN5hYUozNIaw3anqixmpuf3PS3f2fsaDQ38z0JMg+a3n/RkJuZV9D8m1/j\nVy9QP7npOxBE6NFqbnqd/xloOn5nJv+gSaHkRhQ8ALKaW8ubc+sLYLPxu9KR9XWO/fJWgcKc8Gvd\nFJE0t9aIpvyxdMQfC81t+nT5PuMMr1yv80/cAw1rbtnZ3k7YzDOI3ILMkn65rknSzlURjeZmdvRm\n+YLqF63mpvXzaxO6CLqqyiv3azWKaDQ3E0FzjmYbm3kFOYsEaW6mJcRfZn0HNb6jQj2FY6W5+a/X\ndPxr0/TdO3DAK1fyzcqKTtNPBpoy9RRrxI3ciOhdIloZ5jM1Xnkaed9IREuIaEmNqgRJRKR93YDI\nc26tEU3R3JSQghwewiGI3Hr1klBNTz7plZvmH3/ZGnIo8Y/yg0yDQPDcSpDmdsopCItoNDd/uU4/\nXb79o37t1JvrUHLxxfKtETIU0ZCb2bbRhngLB7PO5nOMhtyiyUsj9is0+sjRo+HL4W9TrXO0c25a\nbv9AQvcH9CPovW9hmltTpp5iiripDMw8qQm3bQFgBJRBP0e2xTn2y4Pyng1gNgBkZ2dz0HWJQlHX\nIryy5hXUcR3SKHQ88fXhr8Pc1XrRFHJ79lng4YdD74n0Jw0ySwKhHYV5nb/DBoI1NzVJ+fOIRDCa\nVpDm5k/LDBtlIhrNze+R9/bbsiOz7o3mv665DiVFRcDPfx5KyH6CD1e+aDQ3zde/7s5EECnFitz8\nGpQuCN/mW80TNI/ZkLekv+6HDsm3vw179ABuuy106UAQubUkzY2ZSwAgjN9f/dQTgAoiWgfgRAD/\niXUZiP2G/gSCiD4AcDszL3F+HwvgOUhl+wB4D8AQZq4los8A/DeATwG8CeARZn6zoTwKCgp4zpw5\ncapBdHhlyyv407o/4eWTX0Zee9f/+KwPzwIAXFt0La4pvMZzjwZqHTcuYcWMGWpqJIYekWwq2Rzs\n2+eGv/K3xfbtEhZp1Kjo/8yffy6dkm45olizRqJQ5Od7A/PqPVlZ7t5sgLt9TbhyrV8voaIKC70d\n08aNEgexT5/QDvTAgdCF0brbNyC7Yav2VVvrbiYa7fuh9dNNLxUlJRLtondvL8lWVkqYsmOOiU6b\nqq52w2yZZdJn5JcfOOBuO+Ovw6ZN0rH7SSPoP6Hy4cPdDt9sowEDvCSt148c6SWEDRuEaPyam9at\nb19v5BOtW48e3hiP5eUScaZLF6+JU9u0Z0/vbg6bN0uUoYKC0Hm3cNC6dejg7uMGRG7TpuCss846\nCsDU0Wc7ikPUCNPHPwpgETP/zfn9NIC3mPnl5pfYB2ZO+AfApZB5syMAdgCYb5y7B0A5gFIA5xvy\n8RBVtxzAo3CIuaFPx44dOdmYVzaPUQz+96Z/e+QoBqMYXFJVEnKPdJ+JKmFs8fXXUvasrOantWBB\ncFu8/jpzTg7z/v3Rp5eVxXzBBaHyCRMkj5/8JPRct27MJ5/sldXVBZdr2jSR/+UvXvn114v8vvui\nK+sXX7h5fPONK6+ubvz7cdJJcv0LL3jl48eL/De/8crvuUfkK1dGl/6qVeHLdN994eWLFjW+DgsX\nMt9xR6hc01m1ypUdOODKX3wx/PXbt0ef99Kl3mfAzPzgg5LOTTd55ZddJvLzz/fKtU3vvtsrv/VW\nkc+ZE11ZamuZiZiPP94rb0qbRgKAgxy5H3/X6ZP9n6nGNR8AGG/8fhTAd43fTwO4PFI+Tf0kxZOB\nmf8J4J8B5+4FcG8Y+RIAI+NctLjA3NftlALXntOrUy9MGToFw7oPC7q1VcJvjmkOIs25XXihzK01\nxvzZsWNks2Q4E1a3bqGmx0h5ahp+t3j9HW1oJFOrCPI0jBZ6f1De0c65BSEas6SJpoSHmjBBPkGI\nlVkyHPxmXsBtM7+HaNC7pG3htzLMnClzpFddFV1Z0tLk+khmyUSAYzv1FHOklpteC4Uu5PZ7TNbW\n1aacpyQgHeMPfgBce23z04pkbmzKMv577gGOOy5UHjTnBoiTRjTmIoWmoWv3FDoDEG3HHrSAvSn1\nbmiXdX87n3028J3vRF/vaBxKTGg5YjkQaiy5NTf+opY9WnLT5+9fu9q1qxBcY5CbG9mhpAXjNQDP\nEdGDkKmnIQA+i0dGqdeztkB0atcJ3Tt2D/GYrKmrCfSUfO012Zm5NYII+POfY5NWrMOP3Xpr5HzC\ndYT/+7+Ny0PT8jvqquYWbZ1iORLXjtift3a4fvlJJwEvvhh9+o0lNyWWWAYpMMnNTDeI3Jqbt9bN\nr6EHkZteF4vYSqNGhc4Nt6SF20R0KYBHAOQDmEdEy5j5PGZeRURzAawGUAPgJ8xcGymtpsKSW4IQ\nbl+3Wq4NXMA9ZUoiStXykajYmpE0t8Zi6lRZhnDSSV65dm7RdqqxHIlrnv6OWNHcegfdnyzNzSSQ\neIWwMx18TAR5Szb2+UfCq6+GylqS5taUqadYw5JbglCUU4RVVas8spq6mpQ0S8YSiSI37XAa0xF+\n+GFohH8AOP98WZDt72wa27lFGolPmhS8Pi4cgkxoilh0jNOnC7GHy9cPrVssyS2ovZJFbtGaJWOF\nlqS5tQTYnjVBKMopwptr3wQz16/9qK2rTbkF3LFGondFaEx+/ggoJsKRhXZu0ZqlIhHOggXRpaE4\n7zzg3XdleUI4xKKd//73UFkQeXXqJLvH33578/NtKC+/vLQU2LWr+fldeKEsHfGbuhNhlgyHlqS5\ntQRYcksQCrsW4lDNIVRVV6FHtszS13JqOpTEEon+w8ZzF4ZYam6NxW23AVde6V2PZSJe7RxEOGlp\nQraxQGZmqPOOCf8zHTo0Nvn27Cnr04LySzS5Wc3NC9uzJgjmvm5KbjV1NSkXNDnWaMmaW2NRXAys\nWydaVDSIpcmOKDyxBTmUxAqxrEMQSkqA1auDzyd626ig8Fsa0GDUqPjkazU3Lyy5JQjmvm4n9j0R\ndSzDOGuWjIxEkZt28vHsCIcNA5YsiV/6zUFrJrdBg+QThESTW5DmNm2aRJrxR8eJFRLR1q0JLW1X\ngJSFf1+3aHbhtkgtza0lI9FmyUQiWeQWru7xIjaLUFhySxC6duiK3A659WvdauucXbitWTIiEk02\nrXHn81igNWtuDaGlaG4WiYUltwTC3NfNam7RIdHzCG1Nc1NzbLzauSV08Mkit3i5/FtEB9v8CYS5\nr1utsyjfzrlFRrI6prYGq7m13vwswsOSWwJR1FXIjZmtWTJKxMttOghtVXOLFwm1RXJLdp0bExA6\nlWHHGAlEYU4hDn5zELsP7bZmyUZCd4CON1raqPvxx717iMUL8RpEJLujBxL/TBM9IDOxcWPoDhZt\nFS3sr5zaMNe69e4su1Vas2TD2LMncX/YltAZm/jRj5JdguahJbRnSxuwxBP+YMptGdYsmUCY+7pZ\nzS165OS0PXNhqqAtk5uafC2SA0tuCYRqbhv3brRzbhYtAhr42TqUWKQa7GNPIHI65KBL+y5Wc2uB\naKuj7L//HXjhBWBknPa4t+RmkSzYx55AEFH9vm52KYBFS0DPnsDNN8cvfUtuFsmCNUv3LFE6AAAL\n+UlEQVQmGLrWzZolLdoC2jK5JdNr0sKSW8Kh5GbNkhZtAS2B3GykkLaJpDx2IrqCiFYRUR0RjTfk\n5xLR50S0wvk+2zj3ARGVEtEy59MjGWVvLgq7FmLfkX3YdUh2S7RmSYtURksgt2RpUG11HrelIFlq\nw0oAlwF40if/CsAUZt5KRCMBzAfQ1zh/NTO30E1DooN6TK7bvQ6A1dxaCrp1k++srOSWI9Vg57ss\nkoWkvHrMXAKIg4VPvtT4uQpAFhG1Z+YjCSxeXKHkVr67HICdc2spePhhYMwYYNKkZJcktdASNLdE\nw861tQy0ZGv0twF84SO2vzgmyV+SnxkNENGNRLSEiJbU1NTEv6SNgG5aWr7HITdrlmwR6NoVuPVW\n2zHFGm2R3CxaBuKmuRHRuwDCRcW7h5lfbeDeYwH8D4DJhvhqZt5CRJ0B/APA9wD8Ndz9zDwbwGwA\nyM7OblGW77ysPGRnZmP9nvUArFnSIrVhyc0iWYib5sbMk5h5ZJhPQ8TWD8A/AVzDzOVGeluc7/0A\nngNwYrzKHk8QEQpzCl3NzZolLVIYltzaJpriNBhrtCizJBHlAJgH4E5m/sSQZxBRd+c4E8BFEKeU\nVominCLsO7IPgNXcLFIbySS3yy9PTr7du8t3j1bpzx0zqNPgRz65Og2OAjADwJx4FSApPSsRXQrg\nEQD5AOYR0TJmPg/ATwEMBvArIvqVc/lkAAcBzHeILR3AuwD+nPiSxwZFXYvqj+2cm0UqI5nk9tJL\nycl3xgzxEp02LTn5twS0BKfBZHlL/hNievTLfwvgtwG3jWtKXt26dcMHH3zQlFvjhppdrpPLsqXL\ncGjdoSSWxsIifqipAR54QI5b2N8wrigoABYuTHYpmo0MIjKXXs12/BlihXBOgzFDytvEdu/ejYkT\nJya7GB7sXLUTsyvkHTnphJMwpteYJJfIwiI+2LULOPdcObaLmlsdaph5fNDJODgNxhQpT24tEbrW\nDbBmSYvUhnUoSV0wc5NWhQY5DcYaLcqhpK1ANy0FrEOJRWrDkpuFiSCnwXjAklsS0CO7BzpkdABg\nlwJYpDYsubVNENGlRFQJ4BSI0+B855TpNBjXOMFWbUgCdF+30l2lVnOzSGlYcmubaKLTYExhNbck\nQefd7JybRSrDBk62SBYsuSUJ9eRmzZIWKQy7l5pFsmBfvSRBnUqsWdIilaFreC3JWSQatmdNEqaP\nmo5DNYfQM7tnsotiYRFX/PGPwDnnJLsUFm0NxCm+sjI7O5sPHjyY7GJYWFhYtCoQUTUzZye7HE2F\nNRZYWFhYWKQcLLlZWFhYWKQcLLlZWFhYWKQcLLlZWFhYWKQcLLlZWFhYWKQcLLlZWFhYWKQcLLlZ\nWFhYWKQcLLlZWFhYWKQcUn4RNxHVATjUxNszANTEsDgtGW2proCtbyqjLdUViF99s5i51SpAKU9u\nzQERLYm0zXoqoS3VFbD1TWW0pboCba++0aLVsrKFhYWFhUUQLLlZWFhYWKQcLLlFxuxkFyCBaEt1\nBWx9Uxltqa5A26tvVLBzbhYWFhYWKQeruVlYWFhYpBwsuVlYWFhYpBwsuYUBEX2LiEqJaB0R3Zns\n8kQCERUQ0ftEtJqIVhHRzY68GxEtIKK1zneucc9dTt1Kieg8Qz6OiFY45x4mInLk7YnoRUf+KREV\nGffMcPJYS0QzElTndCJaSkRvtIG65hDRy0S0hohKiOiUFK/vrc57vJKInieiDqlUXyL6XyLaSUQr\nDVlS60dEA5xr1zn3totH3RMOZrYf4wMgHUA5gIEA2gFYDmBEsssVoby9ARzvHHcGUAZgBID7ANzp\nyO8E8D/O8QinTu0BDHDqmu6c+wzAyQAIwFsAznfkPwbwhHN8FYAXneNuANY737nOcW4C6vwzAM8B\neMP5ncp1/QuAHzjH7QDkpGp9AfQFUAFZPAwAcwF8P5XqC+AMAMcDWGnIklo/p52vco6fAPBf8X6v\nE/FJegFa2gfAKQDmG7/vAnBXssvViPK/CuBcAKUAejuy3gBKw9UHwHynzr0BrDHk0wA8aV7jHGcA\n+Mr5U9Vf45x7EsC0ONevH4D3AJwNl9xSta5dIZ09+eSpWt++ADY7HXAGgDcATE61+gIogpfcklY/\n59xXADIcuaf/a80fa5YMhf7BFJWOrMXDMUGMBfApgJ7MvM05tR1AT+c4qH59nWO/3HMPM9cA2Asg\nL0Ja8cRDAH4OoM6QpWpdBwCoAvCMY4Z9ioiykaL1ZeYtAB4AsAnANgB7mfkdpGh9DSSzfnkAvnau\n9afVqmHJLUVARJ0A/APALcy8zzzHMiRr9Ws+iOgiADuZ+fOga1Klrg4yICasx5l5LICDELNVPVKp\nvs5c01QIqfcBkE1E3zWvSaX6hkOq1y+RsOQWii0ACozf/RxZiwURZUKI7e/M/H+OeAcR9XbO9waw\n05EH1W+Lc+yXe+4hogyIuWxXhLTihQkALiaiDQBeAHA2Ef0NqVlXQEbRlcz8qfP7ZQjZpWp9JwGo\nYOYqZv4GwP8BOBWpW19FMuu3C0COc60/rdaNZNtFW9oHMlpeDxk9qkPJsckuV4TyEoC/AnjIJ78f\n3knq+5zjY+GdpF6P4EnqCxz5T+CdpJ7rHHeDzAnlOp8KAN0SVO+JcOfcUrauAD4GcIxzXOzUNSXr\nC+AkAKsAdHTK+RcAN6VafRE655bU+gF4CV6Hkh8n4j8c9/9OsgvQEj8ALoB4HZYDuCfZ5WmgrKdB\nzBhfAljmfC6A2NLfA7AWwLvmHxXAPU7dSuF4WTny8QBWOucehRvBpoPzB1jn/KkGGvdc58jXAbg2\ngfWeCJfcUrauAMYAWOI831ecjimV6zsLwBqnrHMgHXvK1BfA85D5xG8gmvn1ya4fxDP8M0f+EoD2\nifofx/Njw29ZWFhYWKQc7JybhYWFhUXKwZKbhYWFhUXKwZKbhYWFhUXKwZKbhYWFhUXKwZKbhYWF\nhUXKwZKbRZsAEdUS0TLjU5TsMsUKRPR9Iqoioqec3xPJ2THBuOZZIro8Qhr3E9F2Iro93uW1sEgE\nMhq+xMIiJXCImccEnSSiDHbj67VGvMjMP23qzcx8BxEdjGWBLCySCau5WbRZOBrPa0T0L8giWhDR\nHUS0mIi+JKJZxrX3EFEZES109hm73ZF/QETjnePuTmgw3XPufiOtHzryic49ukfb3429uE4gon8T\n0XIi+oyIOhPRR0Q0xijHQiI6rhl1Hm9oryuIyC50tUhJWM3Noq0gi4iWOccVzHypc3w8gNHMvJuI\nJgMYAuBESFij14joDEjA4qsg0UIyAHwBIDB4s4PrIVHtTyCi9gA+IaJ3nHNjIaGVtgL4BMAEIvoM\nwIsArmTmxUTUBcAhAE9D9jS7hYiGAujAzMujqO/pRn0BoD8kossSpx4govsBvB1FWhYWrQ6W3Cza\nCoLMkguYebdzPNn5LHV+d4KQXWcA/2TmagAgoteiyG8ygNHGPFdXJ62jAD5j5konrWWQWIN7AWxj\n5sUAwM7ODkT0EoBfEtEdkPBJz0ZZ34+Z+SL9QUSe+4joSgixT44yPQuLVgVLbhZtHeY8EwH4PTM/\naV5ARLdEuL8Grnm/gy+tm5h5vi+tiQCOGKJaRPgfMnM1ES2AbAXzHQDjIpQlKhDRSEgQ5jOYuba5\n6VlYtETYOTcLCxfzAVzn7I0HIupLRD0AfATgEiLKIqLOAKYY92yASziX+9L6L2c7IhDRUGej0SCU\nAuhNRCc413c2tiF5CsDDABYz857mVJCIciDBe69h5qrmpGVh0ZJhNTcLCwfM/A4RDQfwH8fH4wCA\n7zLzF0T0ImT7kZ0AFhu3PQBgLhHdCGCeIX8KYm78wnEYqQJwSYS8jzqmwkeIKAsy3zYJwAFm/pyI\n9gF4JgbVnAqgEMCfnToikhephUVrhd0VwMKikSCiYgjpPJCg/PoA+ADAMGauC3P++wDGN2cpgJNO\nMRJYLwuLeMKaJS0sWjCI6BoAn0L2FQwhNgeHAJyvi7ibmM/9AL4L7xykhUWrhdXcLCwsLCxSDlZz\ns7CwsLBIOVhys7CwsLBIOVhys7CwsLBIOVhys7CwsLBIOVhys7CwsLBIOfx/NtB3Go9MWCoAAAAA\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "3dB point: 20000.0 Hz\n" ] } ], "source": [ "bh = filters.blackmanHarris(101)\n", "\n", "plt.plot(bh.getB)\n", "\n", "w, h = signal.freqz(bh.getB)\n", "\n", "Fs = 2048000\n", "w *= Fs/(2*np.pi) \n", "\n", "plt.clf() \n", "fig = plt.figure()\n", "plt.title('Digital filter frequency response')\n", "ax1 = fig.add_subplot(111)\n", "\n", "plt.plot(w, 20 * np.log10(abs(h)), 'b')\n", "plt.ylabel('Amplitude [dB]', color='b')\n", "plt.xlabel('Frequency [Hz]')\n", "\n", "ax2 = ax1.twinx()\n", "angles = np.unwrap(np.angle(h))\n", "plt.plot(w, angles, 'g')\n", "plt.ylabel('Angle (radians)', color='g')\n", "plt.grid()\n", "plt.axis('tight')\n", "plt.show()\n", "\n", "hDB = 20 * np.log10(abs(h))\n", "print(\"3dB point:\", w[hDB < (hDB[0]-3)][0], \"Hz\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Observations and Conclusions\n", "\n", "This filter is a low pass filter. Another advantage of using the filter is the 34bB boost it gives to the lower frequencies. This filter will be mainly used to reduce gaussian noise in raw IQ data." ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }