Skip to content

Instantly share code, notes, and snippets.

@peace098beat
Created August 11, 2015 06:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peace098beat/b233857e44b1abe3bebf to your computer and use it in GitHub Desktop.
Save peace098beat/b233857e44b1abe3bebf to your computer and use it in GitHub Desktop.
FFT_tutorial.ipynb
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:76c3abc2dd6875bb614414c97c37dab8e06d5052b5a2d8212667ae3ef60d42d2"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# \u521d\u3081\u3066\u306e\u4fe1\u53f7\u51e6\u7406\n",
"\u4eba\u5de5\u4fe1\u53f7\u306b\u5bfe\u3057\u3066FFT\u89e3\u6790\u3092\u884c\u3044\u3001Numpy, Matplotlib\u306e\u4f7f\u3044\u65b9\u3092\u8abf\u3079\u308b"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from numpy import *\n",
"from matplotlib.pyplot import *"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u4fe1\u53f7\u306e\u751f\u6210\n",
"\u30e9\u30f3\u30c0\u30e0\u3067\u9078\u3070\u308c\u305f\u5468\u6ce2\u6570\u3092\u7528\u3044\u3066\u3001\u6b63\u5f26\u6ce2\u3092\u8db3\u3057\u5408\u308f\u305b\u308b\u3002"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# \u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u5468\u6ce2\u6570\n",
"fs = 16000\n",
"# \u4fe1\u53f7\u9577\u3055[\u79d2]\n",
"T = 1\n",
"# \u6642\u9593\u914d\u5217\u3092\u751f\u6210\n",
"t = np.linspace(0,T,fs)\n",
"# \u4fe1\u53f7\u306e\u30d0\u30c3\u30d5\u30a1\n",
"S = np.zeros(fs)\n",
"# \u8db3\u3057\u5408\u308f\u305b\u308b\u4fe1\u53f7\u306e\u6570\n",
"fn = 10\n",
"\n",
"# \u4eba\u5de5\u4fe1\u53f7\u3092\u751f\u6210\n",
"for i in range(fn):\n",
" f = np.random.rand(1)*fs/2\n",
" S = S+np.sin(2*np.pi*f*t)\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 49
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# \u89e3\u6790\u3059\u308b\u4fe1\u53f7\u306e\u63cf\u753b\n",
"plot(S)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## FFT\u89e3\u6790\n",
"\u751f\u6210\u3057\u305f\u4eba\u5de5\u4fe1\u53f7\u3092\u3001numpy.fft(x)\u3092\u4f7f\u3044fft\u3092\u304b\u3051\u308b"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"S_fft = np.fft.fft(S)\n",
"S_fft_db = 20*np.log10(np.abs(S_fft))\n",
"\n",
"N = len(S_fft_db)\n",
"w = t * fs"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig1 = figure()\n",
"ax1 = plot(w[:fs/2], S_fft_db[:fs/2])\n",
"grid()\n",
"title('FFT')\n",
"xlabel('Freqency [Hz]')\n",
"ylabel('Amplitude [db]')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 43,
"text": [
"<matplotlib.text.Text at 0x112a523d0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x112a646d0>"
]
}
],
"prompt_number": 43
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## STFT\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"X = S\n",
"Nx = len(X)\n",
"frame_size = 512\n",
"overlap = frame_size/2\n",
"step_size = frame_size - overlap\n",
"window = np.hanning(frame_size)\n",
"maxframe = 5"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 126
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u30d5\u30ec\u30fc\u30e0\u3092\u5207\u308a\u51fa\u3059"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"# Z = zeros(maxframe*frame_size)\n",
"\n",
"X0 = X[0: 5*frame_size-1]\n",
"figure()\n",
"\n",
"subplot(4,1,1)\n",
"plot(X0)\n",
"\n",
"subplot(4,1,2)\n",
"step=0\n",
"ss = step*step_size\n",
"se = ss + frame_size\n",
"anadata = X0[ss:se] * window\n",
"X1 = zeros(maxframe*frame_size)\n",
"X1[ss:se] = anadata\n",
"plot(X1)\n",
"\n",
"subplot(4,1,3)\n",
"step=1\n",
"ss = step*step_size\n",
"se = ss + frame_size\n",
"anadata=[]\n",
"anadata = X0[ss:se] * window\n",
"X2 = zeros(maxframe*frame_size)\n",
"X2[ss:se] = anadata\n",
"plot(X2)\n",
"\n",
"subplot(4,1,4)\n",
"step=2\n",
"ss = step*step_size\n",
"se = ss + frame_size\n",
"anadata=[]\n",
"anadata = X0[ss:se] * window\n",
"X3 = zeros(maxframe*frame_size)\n",
"X3[ss:se] = anadata\n",
"plot(X3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 127,
"text": [
"[<matplotlib.lines.Line2D at 0x115c6add0>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x1163ca890>"
]
}
],
"prompt_number": 127
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u5404\u30d5\u30ec\u30fc\u30e0\u6bce\u306bFFT\u89e3\u6790\u3092\u884c\u3046"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for n in range(maxframe):\n",
" step = n\n",
" subplot(maxframe, 2, 2*(n+1)-1)\n",
" title('frame=%d' % (n) )\n",
" ss = step*step_size\n",
" se = ss + frame_size\n",
" anadata=[]\n",
" anadata = X0[ss:se]\n",
" anadata = anadata * window\n",
" X = zeros(maxframe*frame_size)\n",
" X[ss:se] = anadata\n",
" plot(X)\n",
" \n",
" subplot(maxframe, 2, 2*(n+1))\n",
" title('frame=%d' % (n))\n",
" XdBfft = 20*np.log10(np.abs(np.fft.fft(anadata)))\n",
" plot(XdBfft[:frame_size/2-1])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nSUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x116221990>"
]
}
],
"prompt_number": 128
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u7a93\u306e\u6ed1\u3089\u304b\u306a\u63a5\u7d9a\u3092\u78ba\u8a8d\u3059\u308b\n",
"https://kevinsprojects.wordpress.com/2014/12/13/short-time-fourier-transform-using-python-and-numpy/\n",
"\n",
"hamming\u7a93\u306e\u5834\u5408"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame_size = 512\n",
"overlap = frame_size/2\n",
"step_size = frame_size - overlap\n",
"maxframe = 5\n",
"\n",
"w_all = zeros(maxframe*frame_size)\n",
"for step in range(maxframe):\n",
" ss = step*step_size\n",
" se = ss + frame_size\n",
" w = np.hamming(frame_size)\n",
" w0 =np.zeros(maxframe * frame_size)\n",
" w0[ss:se] = w\n",
"# plot(20*np.log10(w0))\n",
" plot(w0)\n",
" w_all = w_all + w0\n",
"plot(w_all)\n",
"ylim(0,1.5)\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 152,
"text": [
"(0, 1.5)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x115eb0410>"
]
}
],
"prompt_number": 152
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"hamming\u7a93\u306f\u3001\u30cf\u30fc\u30d5\u30b3\u30b5\u30a4\u30f3\u3092\u30ea\u30d5\u30c8\u30a2\u30c3\u30d7\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u5408\u8a08\u5024\u304c1\u3088\u308a\u5927\u304d\u304f\u306a\u308b\u306e\u304c\u308f\u304b\u308b\u3002"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame_size = 512\n",
"overlap = frame_size/2\n",
"step_size = frame_size - overlap\n",
"maxframe = 5\n",
"\n",
"w_all = zeros(maxframe*frame_size)\n",
"for step in range(maxframe):\n",
" ss = step*step_size\n",
" se = ss + frame_size\n",
" w = np.hanning(frame_size)\n",
" w0 =np.zeros(maxframe * frame_size)\n",
" w0[ss:se] = w\n",
"# plot(20*np.log10(w0))\n",
" plot(w0)\n",
" w_all = w_all + w0\n",
"plot(w_all)\n",
"ylim(0,1.5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 154,
"text": [
"(0, 1.5)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n/wG/vVwTgBCCvAAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x115b94450>"
]
}
],
"prompt_number": 154
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"hanning\u7a93\u306f0.5\u30aa\u30fc\u30d0\u30fc\u30e9\u30c3\u30d7\u306e\u6642\u306b\u5408\u8a08\u5024\u304c1\u306b\u306a\u308b"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment