{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Finite Impulse Response (FIR) Filter Design\n",
    "\n",
    "This notebook shows how to design and find the frequency response of an FIR filter using the IDFT. The example filter designed here is a low pass filter with cutoff frequency, $f_c$. \n",
    "\n",
    "We would like to know the frequency response of this FIR filter having $N$ filter coefficients. In is designed by using the IDFT of the desired frequency response.  We know it is correct at the sample points, but what about other frequencies.  Maybe it is bouncing all over the place there.  This notebook describes a way to find this information using the computer.  There is an analytical way of finding it at every frequency too, but that requires a little more theoretical work to explain.\n",
    "\n",
    "Pick $N$ to be odd.  Otherwise $H(-n) \\ne H(n)^*$ and $h(k)$ will not be real.  $H(n) = H(n+N)$ is a sampled version of the desired frequency response.  It is sampled every $1/{NT}$ Hz for frequencies from $-1/{2T} < f < 1/{2T}$ to obtain $N$ points.  Then the negative frequency samples are moved ahead by one period, or $N$ points, so that, for example, $H(-1)$ is moved to $H(N-1)$, and $H(-2)$ is moved to $H(N-2)$.  This leaves us with $\\{ H(0), H(1), ..., H(N-1)\\}$.  We then use the IDFT to obtain the FIR filter coefficients.  $$h(k) = \\sum_{n=0}^{N-1} H(n)e^{j2\\pi nk/N}$$.  A python example is shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Low Pass FIR Filter Design\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "T =  1/8000\n",
    "N = 128  # Don't pick N odd.  If you do, H(-n) will not equal H(n)^*, and h(k) will not be real.\n",
    "f_c = 1/6/T  # Cutoff of low pass filter\n",
    "\n",
    "k = np.arange(0,N)\n",
    "n = np.arange(np.int(-N/2),np.int((N+1)/2), 1)\n",
    "f = n/N/T\n",
    "H = np.piecewise(f, [(-f_c < f)&(f < f_c), (f >= f_c)|(f <= -f_c)],[1, 0])\n",
    "plt.plot(f, H, '.')\n",
    "plt.title('Desired Frequency Response Samples')\n",
    "plt.xlabel('f (Hz)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that the desired frequency respones is only specified at the $N$ points as described above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Hs = np.fft.fftshift(H)  # Now shift the frequency components for doing the IFFT.\n",
    "plt.plot(k, Hs,'.')\n",
    "plt.show()\n",
    "h = np.fft.ifft(Hs)\n",
    "t = k*T\n",
    "plt.plot(t, np.real(h), '.', t, np.imag(h), 'o')\n",
    "plt.xlabel('time, t (s)')\n",
    "plt.title('$h(k)$ from the IFFT')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that $h(k)$ as given above is large at first and at the end.  Remember that $h(k) = h(k+N)$.  If you really want to know what the impulse response looks like you need to shift the last half of the data back $N$ points.  This makes it evident that this filter is noncausal, because it's impulse response starts before the impulse occurs.  It is also important to make this shift if the data to be filtered is not periodic with period, $N$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#h = np.fft.fftshift(h)  # Uncomment this line to see what happens\n",
    "# when you don't shift, but use this to filter a signal x(t) with\n",
    "# longer duration than NT.\n",
    "\n",
    "hs = np.fft.fftshift(h)\n",
    "plt.plot(t, hs, '.', t, hs)\n",
    "plt.xlabel('time, t (s)')\n",
    "plt.title('$h(kT)$ Shifted')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It really isn't possible to have a noncausal filter function such as the one you see above.  The solution is to delay it by $NT/2$.  This delays the output by the same amount, but at least you can do do the filtering.  With that delay, the index $k$, runs from zero to $N-1$ so that $0 \\le k <N$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we would like to view the frequency spectra at points in between the sampled points to see how it really looks.  To do this, recall that the spacing between FFT points is $1/{NT}$.  If we added a bunch of zeros before and after the impulse response above, and took the FFT, we would have more resolution.  The zeros basically are assuming that the impulse response before and after what you see above is zero, and that is actually exactly right, the way we are filtering the incoming A/D samples, $x(kt)$ where $k$ keeps advancing as long as the song lasts."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "M = 100  # Half the number of zeros to add.\n",
    "h_ext = np.concatenate((np.zeros(M), hs), 0)\n",
    "h_ext = np.concatenate((h_ext, np.zeros(M)), 0)\n",
    "plt.plot(h_ext,'.', h_ext)\n",
    "plt.title('Impulse Response with Attached Zeros')\n",
    "plt.xlabel('Index, $k$')\n",
    "plt.ylabel('FIR Filter Coefficients')\n",
    "plt.show()\n",
    "H_interp = np.fft.fft(h_ext)\n",
    "\n",
    "m = np.arange(0, 2*M+N)\n",
    "f_interp = 1/(2*M+N)/T*m\n",
    "#f_interp = np.arange(0, 1/T-1/(2*M+N)/T, 1/(2*M+N)/T)\n",
    "H_interp_mag = np.abs(H_interp)\n",
    "H_interp_angle = np.angle(H_interp)\n",
    "plt.plot(f_interp, H_interp_mag,'.',f_interp, H_interp_mag)\n",
    "plt.title('Interpolated Frequency Response')\n",
    "plt.xlabel('Frequency, $f$ (Hz)')\n",
    "plt.ylabel('Magnitude of FIR Filter Response')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the frequencies $ 5 < f < 10 $ are really the negative frequency components, $-5 < f < 0$.  The periodic nature of the frequency response and the Gibbs phenomena (side lobes of the filter) are very evident.  If you plot the response in decibels, you get this.  Also note the sharp discontinuity just after the first set of zeros end, and just as the second set begins.  This causes the [Gibbs phenomenom](https://en.wikipedia.org/wiki/Gibbs_phenomenon) and the nasty sidelobes you can easily see in the decibel plot below.  The ultimate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Magnitude of FIR Filter Response (dB)')"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "H_m_db = 20*np.log10(H_interp_mag)\n",
    "plt.ylim([-120,0])\n",
    "plt.plot(f_interp, H_m_db,'o',f_interp, H_m_db)\n",
    "plt.title('Interpolated Frequency Response')\n",
    "plt.xlabel('Frequency, $f$ (Hz)')\n",
    "plt.ylabel('Magnitude of FIR Filter Response (dB)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Another thing that would be instructive is to construct what happens if you didn't delay the impulse response by $NT/2$.  You can comment out a line of code above that does the fftshift and run the cells further down to see how terrible the result is. \n",
    "## Windowing\n",
    "Note that the sidelobes of the filter above are really pretty big.  To take care of that you need to smooth out the transition at the end of the original filter coefficients.  This is done with a [windowing function](https://www.edn.com/electronics-news/4383713/Windowing-Functions-Improve-FFT-Results-Part-I).  This next section shows what can be accomplished with a Blackman window, one of my favorites.  A windowing function is a function whose purpose is the reduce the effect of the discontinuity at the point where the FIR filter stops, because more coefficients were all approximated to be zero.  Here is a plot of the Blackman window.  Notice how it gradually builds to one, and decays back to zero."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "blackman = np.blackman(N)\n",
    "plt.plot(blackman, '.', blackman)\n",
    "plt.title('Blackman Window of Length N')\n",
    "plt.xlabel('Index, $k$')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To apply the Blackman window we multiply the original filter by it, so the discontinuities are smoothed out.  Here is what the result looks like."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Index $k$')"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Blackman = np.fft.fft(blackman)\n",
    "plt.plot(np.real(Blackman), '.', np.imag(Blackman), '.', Blackman)\n",
    "plt.title('FFT of Blackman Window')\n",
    "plt.xlabel('Index $k$')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Windowing in time is convolving in frequency.  The Blackman window is even in frequency.  When you convolve with it, the effect is to perform the weighted average, which ends up being over just several nearest neighbors.  This smooths out the frequency response."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Index, $k$')"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "h_windowed = hs*blackman\n",
    "plt.plot(h_windowed, '.', h_windowed)\n",
    "plt.title('Windowed FIR Filter Coefficients')\n",
    "plt.xlabel('Index, $k$')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's see how this helps the frequency response of our FIR filter.  We do the same interpolation done above, but with the windowed coefficients."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "h_window_ext = np.concatenate((np.zeros(M), h_windowed), 0)\n",
    "h_window_ext = np.concatenate((h_window_ext, np.zeros(M)), 0)\n",
    "plt.plot(h_window_ext,'.', h_window_ext)\n",
    "plt.title('Impulse Response of Windowed Filter with Attached Zeros')\n",
    "plt.xlabel('Index, $k$')\n",
    "plt.ylabel('Windowed FIR Filter Coefficients')\n",
    "plt.show()\n",
    "H_window_interp = np.fft.fft(h_window_ext)\n",
    "H_window_interp_mag = np.abs(H_window_interp)\n",
    "H_window_interp_angle = np.angle(H_window_interp)\n",
    "plt.plot(f_interp, H_window_interp_mag,'.',f_interp, H_window_interp_mag)\n",
    "plt.title('Interpolated Frequency Response of Windowed Filter')\n",
    "plt.xlabel('Frequency, $f$ (Hz)')\n",
    "plt.ylabel('Magnitude of FIR Filter Response')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's compare the responses of the windowed and unwindowed in decibels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7f7bc5cf0510>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "H_m_window_db = 20*np.log10(H_window_interp_mag)\n",
    "plt.ylim([-120,0])\n",
    "plt.plot(f_interp, H_m_db, f_interp, H_m_window_db)\n",
    "plt.title('Interpolated Frequency Response')\n",
    "plt.xlabel('Frequency, $f$ (Hz)')\n",
    "plt.ylabel('Magnitude of FIR Filter Response (dB)')\n",
    "plt.legend(['Unwindowed', 'Windowed'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that the windowed filter has much better ultimate attenuation in the stop band.  The cost is that it does not roll off quite as fast as the unwindowed filter.  The windowed filter is usually better to use in practice."
   ]
  },
  {
   "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": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
