{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction \n", "\n", "This lab introduces the use of the fast Fourier transform for estimation\n", "of the power spectral density and for simple filtering. If you need a refresher or\n", "are learning about fourier transforms for the first time, we recommend reading\n", "[Newman Chapter 7](http://clouds.eos.ubc.ca/~phil/docs/atsc500/pdf_files/newman_chapter7.pdf). For a description of the Fast Fourier transform,\n", "see [Stull Section 8.4](http://clouds.eos.ubc.ca/~phil/docs/atsc500/pdf_files/stull_section8_4.pdf) and [Jake VanderPlas's blog entry](https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/). Another good resources is\n", "[Numerical Recipes Chapter 12](http://clouds.eos.ubc.ca/~phil/docs/atsc500/pdf_files/numerical_recipes_fft.pdf)\n", "(user: green, password: house)\n", "\n", "\n", "\n", "## A simple transform\n", "\n", "To get started assume that there is a pure tone -- a cosine wave oscillating at a frequency of 1 Hz. Next assume that we sample that 1 Hz wave at a sampling rate of 5 Hz i.e. 5 times a second\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "#\n", "# create a cosine wave that oscilates 20 times in 20 seconds\n", "# sampled at Hz, so there are 20*5 = 100 measurements in 20 seconds\n", "#\n", "deltaT=0.2\n", "ticks = np.arange(0,20,deltaT)\n", "#\n", "#20 cycles in 20 seconds, each cycle goes through 2*pi radians\n", "#\n", "onehz=np.cos(2.*np.pi*ticks)\n", "fig,ax = plt.subplots(1,1,figsize=(8,6))\n", "ax.plot(ticks,onehz)\n", "ax.set_title('one hz wave sampled at 5 Hz')\n", "out=ax.set_xlabel('time (seconds)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Repeat, but for a 2 Hz wave" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "deltaT=0.2\n", "ticks = np.arange(0,20,deltaT)\n", "#\n", "#40 cycles in 20 seconds, each cycle goes through 2*pi radians\n", "#\n", "twohz=np.cos(2.*2.*np.pi*ticks)\n", "fig,ax = plt.subplots(1,1,figsize=(8,6))\n", "ax.plot(ticks,twohz)\n", "ax.set_title('two hz wave sampled at 5 Hz')\n", "out=ax.set_xlabel('time (seconds)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the problem at 2 Hz, the 5 Hz sampling frequency is too coarse to hit the top of every other\n", "peak in the wave" ] }, { "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": [ "#now take the fft, we have 100 bins, so we alias at 50 bins, which is the nyquist frequency of 5 Hz/2. = 2.5 Hz\n", "# so the fft frequency resolution is 20 bins/Hz, or 1 bin = 0.05 Hz\n", "thefft=np.fft.fft(onehz)\n", "real_coeffs=np.real(thefft)\n", "\n", "fig,theAx=plt.subplots(1,1,figsize=(8,6))\n", "theAx.plot(real_coeffs)\n", "out=theAx.set_title('real fft of onehz')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The layout of the fft return value is describe in [the scipy user manual](http://docs.scipy.org/doc/scipy/reference/tutorial/fftpack.html#id9). For reference, here is the Fourier transform calculated by numpy.fft:\n", "\n", "$$y[k] = \\sum_{n=0}^{N-1} x[n]\\exp \\left (- i 2 \\pi k n /N \\right )$$\n", "\n", "which is the discrete version of the continuous transform (Numerical Recipes 12.0.4):\n", "\n", "$$y(k) = \\int_{-\\infty}^{\\infty} x(t) \\exp \\left ( -i k t \\right ) dt$$\n", "\n", "(Note the different minus sign convention in the exponent compared to Numerical Recipes p. 490. It doesn't matter what you choose, as long\n", "as you're consistent).\n", "\n", "From the Scipy manual:\n", "\n", "> Inserting k=0 we see that np.sum(x) corresponds to y[0]. This term will be non-zero if we haven't removed any large scale trend in the data. For N even, the elements y[1]...y[N/2−1] contain the positive-frequency terms, and the elements y[N/2]...y[N−1] contain the negative-frequency terms, in order of decreasingly negative frequency. For N odd, the elements y[1]...y[(N−1)/2] contain the positive- frequency terms, and the elements y[(N+1)/2]...y[N−1] contain the negative- frequency terms, in order of decreasingly negative frequency.\n", "> In case the sequence x is real-valued, the values of y[n] for positive frequencies is the conjugate of the values y[n] for negative frequencies (because the spectrum is symmetric). Typically, only the FFT corresponding to positive frequencies is plotted.\n", "\n", "So the first peak at index 20 is (20 bins) x (0.05 Hz/bin) = 1 Hz, as expected. The nyquist frequency of 2.5 Hz is at an index of N/2 = 50 and the negative frequency peak is 20 bins to the left of the end bin.\n", "\n", "\n", "The inverse transform is:\n", "\n", "$$x[n] = \\frac{1}{N} \\sum_{k=0}^{N-1} y]k]\\exp \\left ( i 2 \\pi k n /N \\right )$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about the imaginary part? All imaginary coefficients are zero (neglecting roundoff errors)" ] }, { "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": [ "imag_coeffs=np.imag(thefft)\n", "fig,theAx=plt.subplots(1,1,figsize=(8,6))\n", "theAx.plot(imag_coeffs)\n", "out=theAx.set_title('imag fft of onehz')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#now evaluate the power spectrum using Stull's 8.6.1a on p. 312\n", "\n", "Power=np.real(thefft*np.conj(thefft))\n", "totsize=len(thefft)\n", "halfpoint=int(np.floor(totsize/2.))\n", "firsthalf=Power[0:halfpoint] \n", "\n", "\n", "fig,ax=plt.subplots(1,1)\n", "freq=np.arange(0,5.,0.05)\n", "ax.plot(freq[0:halfpoint],firsthalf)\n", "ax.set_title('power spectrum')\n", "out=ax.set_xlabel('frequency (Hz)')\n", "len(freq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check Stull 8.6.1b (or Numerical Recipes 12.0.13) which says that squared power spectrum = variance\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "simple cosine: velocity variance 0.500\n", "simple cosine: Power spectrum sum 0.500\n", "\n" ] } ], "source": [ "print('\\nsimple cosine: velocity variance %10.3f' % (np.sum(onehz*onehz)/totsize))\n", "print('simple cosine: Power spectrum sum %10.3f\\n' % (np.sum(Power)/totsize**2.))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Power spectrum of turbulent vertical velocity" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "ename": "NameError", "evalue": "name 'numpy' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#load data sampled at 20.8333 Hz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mtd\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'miami_tower.npz'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#load temp, uvel, vvel, wvel, minutes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'keys: '\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtd\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'description'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'numpy' is not defined" ] } ], "source": [ "#load data sampled at 20.8333 Hz\n", "\n", "td=numpy.load('miami_tower.npz') #load temp, uvel, vvel, wvel, minutes\n", "print('keys: ',td.keys())\n", "print(td['description'])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "lines_to_next_cell": 2, "scrolled": false }, "outputs": [ { "ename": "NameError", "evalue": "name 'td' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mtotsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m36000\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mwvel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtd\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'wvel'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mtotsize\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0mtemp\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtd\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'temp'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mtotsize\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mwvel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwvel\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwvel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'td' is not defined" ] } ], "source": [ "sampleRate=20.833\n", "nyquistfreq=sampleRate/2.\n", "\n", "\n", "totsize=36000\n", "wvel=td['wvel'][0:totsize].flatten()\n", "temp=td['temp'][0:totsize].flatten()\n", "wvel = wvel - np.mean(wvel)\n", "temp= temp - np.mean(temp)\n", "flux=wvel*temp\n", "\n", "\n", "halfpoint=np.int(np.floor(totsize/2.))\n", "frequencies=np.arange(0,halfpoint)\n", "frequencies=frequencies/halfpoint\n", "frequencies=frequencies*nyquistfreq\n", "\n", "# raw spectrum -- no windowing or averaging\n", "#First confirm Parseval's theorem\n", "# (Numerical Recipes 12.1.10, p. 498)\n", "\n", "thefft=np.fft.fft(wvel)\n", "Power=np.real(thefft*np.conj(thefft))\n", "print('check Wiener-Khichine theorem for wvel')\n", "print('\\nraw fft sum, full time series: %10.4f\\n' % (np.sum(Power)/totsize**2.))\n", "print('velocity variance: %10.4f\\n' % (np.sum(wvel*wvel)/totsize))\n", "\n", "\n", "fig,theAx=plt.subplots(1,1,figsize=(8,8))\n", "frequencies[0]=np.NaN\n", "Power[0]=np.NaN\n", "Power_half=Power[:halfpoint:]\n", "theAx.loglog(frequencies,Power_half)\n", "theAx.set_title('raw wvel spectrum with $f^{-5/3}$')\n", "theAx.set(xlabel='frequency (HZ)',ylabel='Power (m^2/s^2)')\n", "#\n", "# pick one point the line should pass through (by eye)\n", "# note that y intercept will be at log10(freq)=0\n", "# or freq=1 Hz\n", "#\n", "leftspec=np.log10(Power[1]*1.e-3)\n", "logy=leftspec - 5./3.*np.log10(frequencies)\n", "yvals=10.**logy\n", "theAx.loglog(frequencies,yvals,'r-')\n", "thePoint=theAx.plot(1.,Power[1]*1.e-3,'g+')\n", "thePoint[0].set_markersize(15)\n", "thePoint[0].set_marker('h')\n", "thePoint[0].set_markerfacecolor('g')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## power spectrum layout" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is what the entire power spectrum looks like, showing positive and negative frequencies" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,theAx=plt.subplots(1,1,figsize=(8,8))\n", "out=theAx.semilogy(Power)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and here is what fftshift does:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "shift_power=np.fft.fftshift(Power)\n", "fig,theAx=plt.subplots(1,1,figsize=(8,8))\n", "out=theAx.semilogy(shift_power)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Confirm that the fft at negative f is the complex conjugate of the fft at positive f" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'wvel' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtest_fft\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfft\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwvel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtheAx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mtheAx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msemilogy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_fft\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mtheAx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msemilogy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_fft\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_fft\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'wvel' is not defined" ] } ], "source": [ "test_fft=np.fft.fft(wvel)\n", "fig,theAx=plt.subplots(2,1,figsize=(8,10))\n", "theAx[0].semilogy(np.real(test_fft))\n", "theAx[1].semilogy(np.imag(test_fft))\n", "print(test_fft[100])\n", "print(test_fft[-100])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Windowing\n", "\n", "The FFT above is noisy, and there are several ways to smooth it. Numerical Recipes, p. 550 has a good discussion of \"windowing\" which helps remove the spurious power caused by the fact that the timeseries has a sudden stop and start.\n", "Below we split the timeseries into 25 segements of 1440 points each, fft each segment then average the 25. We convolve each segment with a Bartlett window." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "Try a windowed spectrum (Bartlett window)\n", "\n", "sumw: 0.533\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print('\\n\\n\\nTry a windowed spectrum (Bartlett window)\\n')\n", "## windowing -- see p. Numerical recipes 550 for notation\n", "\n", "def calc_window(numvals=1440):\n", " \"\"\"\n", " Calculate a Bartlett window following\n", " Numerical Recipes 13.4.13\n", " \"\"\"\n", " \n", " halfpoint=int(np.floor(numvals/2.))\n", " facm=halfpoint\n", " facp=1/facm\n", "\n", " window=np.empty([numvals],np.float)\n", " for j in np.arange(numvals):\n", " window[j]=(1.-((j - facm)*facp)**2.)\n", " return window\n", "\n", "#\n", "# we need to normalize by the squared weights\n", "# (see the fortran code on Numerical recipes p. 550)\n", "#\n", "numvals=1440\n", "window=calc_window(numvals=numvals)\n", "sumw=np.sum(window**2.)/numvals\n", "fig,theAx=plt.subplots(1,1,figsize=(8,8))\n", "theAx.plot(window)\n", "theAx.set_title('Bartlett window')\n", "print('sumw: %10.3f' % sumw)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def do_fft(the_series,window,ensemble=25,title='title'):\n", " numvals=len(window)\n", " sumw=np.sum(window**2.)/numvals\n", " subset=the_series.copy()\n", " subset=subset[:len(window)*ensemble]\n", " subset=np.reshape(subset,(ensemble,numvals))\n", " winspec=np.zeros([numvals],np.float)\n", "\n", " for therow in np.arange(ensemble):\n", " thedat=subset[therow,:]\n", " thefft =np.fft.fft(thedat*window)\n", " Power=thefft*np.conj(thefft)\n", " #print('\\nensemble member: %d' % therow)\n", " #print('\\nwindowed fft sum (m^2/s^2): %10.4f\\n' % (np.sum(Power)/(sumw*numvals**2.),))\n", " #print('velocity variance (m^2/s^2): %10.4f\\n\\n' % (np.sum(thedat*thedat)/numvals,))\n", " winspec=winspec + Power\n", "\n", " winspec=np.real(winspec/(numvals**2.*ensemble*sumw))\n", " return winspec" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compare power spectra for wvel, theta, sensible heat flux" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### start with wvel" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'wvel' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mwinspec\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_fft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwvel\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwindow\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0msampleRate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m20.833\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mnyquistfreq\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msampleRate\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m2.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mhalfpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m2.\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0maveraged_freq\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1.\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mhalfpoint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mnyquistfreq\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'wvel' is not defined" ] } ], "source": [ "winspec=do_fft(wvel,window)\n", "sampleRate=20.833\n", "nyquistfreq=sampleRate/2.\n", "halfpoint=int(len(winspec)/2.)\n", "averaged_freq=np.linspace(0,1.,halfpoint)*nyquistfreq \n", "winspec=winspec[0:halfpoint]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "ename": "NameError", "evalue": "name 'averaged_freq' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'wvel power spectrum'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'$(m^2\\,s^{-2}\\,Hz^{-1})$'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 19\u001b[0;31m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maveraged_freq\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'averaged_freq' is not defined" ] } ], "source": [ "def do_plot(the_freq,the_spec,title=None,ylabel=None):\n", " the_freq[0]=np.NaN\n", " the_spec[0]=np.NaN\n", " fig,theAx=plt.subplots(1,1,figsize=(8,6))\n", " theAx.loglog(the_freq,the_spec,label='fft power')\n", " if title:\n", " theAx.set_title(title)\n", " leftspec=np.log10(the_spec[int(np.floor(halfpoint/10.))])\n", " logy=leftspec - 5./3.*np.log10(the_freq)\n", " yvals=10.**logy\n", " theAx.loglog(the_freq,yvals,'g-',label='$f^{-5/3}$')\n", " theAx.set_xlabel('frequency (Hz)')\n", " if ylabel:\n", " out=theAx.set_ylabel(ylabel)\n", " out=theAx.legend(loc='best')\n", " return theAx\n", "\n", "labels=dict(title='wvel power spectrum',ylabel='$(m^2\\,s^{-2}\\,Hz^{-1})$')\n", "ax=do_plot(averaged_freq,winspec,**labels)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'temp' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mwinspec\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_fft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtemp\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwindow\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mwinspec\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mhalfpoint\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Temperature power spectrum'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'$K^{2}\\,Hz^{-1})$'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maveraged_freq\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'temp' is not defined" ] } ], "source": [ "winspec=do_fft(temp,window)\n", "winspec=winspec[0:halfpoint]\n", "labels=dict(title='Temperature power spectrum',ylabel='$K^{2}\\,Hz^{-1})$')\n", "ax=do_plot(averaged_freq,winspec,**labels)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'flux' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mwinspec\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_fft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mflux\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwindow\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mwinspec\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mhalfpoint\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Heat flux power spectrum'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'$K m s^{-1}\\,Hz^{-1})$'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdo_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maveraged_freq\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwinspec\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'flux' is not defined" ] } ], "source": [ "winspec=do_fft(flux,window)\n", "winspec=winspec[0:halfpoint]\n", "labels=dict(title='Heat flux power spectrum',ylabel='$K m s^{-1}\\,Hz^{-1})$')\n", "ax=do_plot(averaged_freq,winspec,**labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Filtering" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also filter our timeseries by removing frequencies we aren't interested in. Numerical Recipes discusses the approach on page 551. For example, suppose we want to filter all frequencies higher than 0.5 Hz from the vertical velocity data." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'wvel' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mwvel\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0mwvel\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwvel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mthefft\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfft\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwvel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mtotsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthefft\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0msamprate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m20.8333\u001b[0m \u001b[0;31m#Hz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mthe_time\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtotsize\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m20.8333\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'wvel' is not defined" ] } ], "source": [ "wvel= wvel - np.mean(wvel)\n", "thefft=np.fft.fft(wvel)\n", "totsize=len(thefft)\n", "samprate=20.8333 #Hz\n", "the_time=np.arange(0,totsize,1/20.8333)\n", "freq_bin_width=samprate/(totsize*2)\n", "half_hz_index=int(np.floor(0.5/freq_bin_width))\n", "filter_func=np.zeros_like(thefft,dtype=np.float64)\n", "filter_func[0:half_hz_index]=1.\n", "filter_func[-half_hz_index:]=1.\n", "filtered_wvel=np.real(np.fft.ifft(filter_func*thefft))\n", "fig,ax=plt.subplots(1,1,figsize=(10,6))\n", "numpoints=500\n", "ax.plot(the_time[:numpoints],filtered_wvel[:numpoints],label='filtered')\n", "ax.plot(the_time[:numpoints],wvel[:numpoints],'g+',label='data')\n", "ax.set(xlabel='time (seconds)',ylabel='wvel (m/s)')\n", "out=ax.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "encoding": "# -*- coding: utf-8 -*-", "formats": "ipynb,py:percent", "notebook_metadata_filter": "all,-language_info,-toc,-latex_envs" }, "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.6" }, "toc": { "nav_menu": {}, "number_sections": true, "sideBar": false, "skip_h1_title": false, "toc_cell": true, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }