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

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "
\n", "FFT(Fast Fourier Transformation)\n", "
\n", "
\n", "
\n", "file:/Users/bob/Github/TeamNishitani/jupyter_num_calc/fft\n", "
\n", "https://github.com/daddygongon/jupyter_num_calc/tree/master/notebooks_python\n", "
\n", "cc by Shigeto R. Nishitani 2017-19 \n", "
\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FFTの応用\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Fast Fourier Transformation(FFT)高速フーリエ変換(あるいはデジタル(離散)フーリエ変換(DFT))は,周波数分解やフィルターを初め,画像処理などの多くの分野で使われている.基本となる考え方は,直交基底による関数の内挿法である.最初にその応用例を見た後,どのような理屈でFFTが動いているかを解説する.\n", "\n", "いくつかFFTを解説する面白い動画があります.ただ,少し高度かも...\n", "1. [初音ミクを三角関数で描いてみた](https://www.youtube.com/watch?v=Gxaigb7yMbo)\n", "1. [A visual introduction.\n", "](https://www.youtube.com/watch?v=spUNpyF58BY)\n", "1. [From heat flow to circle drawings](https://www.youtube.com/watch?v=r6sGWTCMz2k)\n", "\n", "[Pythonで美しい動画を作ろう](https://qiita.com/Kohki_Mametani/items/3c7a44e2445958a5cc25#fn1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 周波数分解 \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "はじめの例は,周波数分解.先ずは,非整合な波を二つ用意しておく.\n", "\n", "![C10_FFTplot2d1.png](figs/C10_FFTplot2d1.png)\n", "\n", "これを重ねあわせた波を作る.\n", "\n", "![C10_FFTplot2d2.png](figs/C10_FFTplot2d2.png)\n", "\n", "ゆっくり変化する波に,激しく変化する波が重なっていることが読み取れる.これにFFTを掛ける\n", "その強さを求めて,周波数で表示すると,\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "![C10_FFTplot2d3.png](figs/C10_FFTplot2d3.png)\n", "\n", "もとの2つの周波数に対応するところにピークができているのが確認できる.広がりは,誤差のせい.\n", "logplotでも良い.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## python code\n", "\n", "scipyにあるfft, ifftを使う." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ ":20: DeprecationWarning: Using scipy.fft as a function is deprecated and will be removed in SciPy 1.5.0, use scipy.fft.fft instead.\n", " out = fft(yy)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from scipy import fft\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "\n", "def func(x):\n", " return np.sin(x/(13))+np.sin(x/(2/2))\n", "\n", "\n", "x = np.linspace(0, 256, 256) #0から2πまでの範囲を100分割したnumpy配列\n", "plt.plot(x, func(x), color = 'b')\n", "plt.plot(x, np.sin(x/(13)), color = 'r', linewidth=0.8)\n", "plt.plot(x, np.sin(x/(2/2)), color = 'r', linewidth=0.8)\n", "\n", "plt.grid()\n", "plt.show()\n", "\n", "yy = func(x)\n", "out = fft(yy)\n", "\n", "def spectrum_power(x):\n", " re, im = x.real, x.imag\n", " return np.sqrt(re**2+im**2)\n", "\n", "plt.plot(x,spectrum_power(out))\n", "plt.xlim(0,128)\n", "plt.show()\n", "\n", "plt.plot(x,spectrum_power(out))\n", "plt.xlim(0,128)\n", "plt.yscale('log')\n", "plt.show()" ] }, { "attachments": { "image-2.png": { "image/png": "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" }, "image.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "![image.png](attachment:image.png)\n", "![image-2.png](attachment:image-2.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 高周波フィルター \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次の例は,高周波フィルター.たとえば次のようなローレンツ関数を考える.\n", "```maple\n", "> restart;\n", " f1:=t->subs(a=10,b=40000,c=380,d=128,a+b/(c+(t-d)^2));\n", "```\n", "$$\n", "{\\it f1}\\, := \\,t\\mapsto 10+ \\frac{40000}{380+ \\left( t-128 \\right) ^{2} }\n", "$$\n", "\n", "```maple\n", "> plot(f1(t),t=1..256);\n", "```\n", "\n", "![C10_FFTplot2d4.png](figs/C10_FFTplot2d4.png)\n", "\n", "\n", "これにノイズがのると,次のようになる.\n", "```maple\n", "> T:=[seq(f1(i)*(0.6+0.8*evalf(rand()/10^12)),i=1..256)]:\n", " #T:=[seq(evalf(rand()/10^12),i=1..256)]: #これはホワイトノイズ\n", " #T:=[seq(f1(i),i=1..256)]: #これは元の関数そのまま\n", " with(plots):\n", " listplot(T);\n", "```\n", "\n", "![C10_FFTplot2d5.png](figs/C10_FFTplot2d5.png)\n", "\n", "これに高周波フィルターを掛けるとノイズが消えるが,その様子を示そう.先ずは,FFTを掛ける.\n", "```maple\n", "> Idata:=array([seq(0,i=1..256)]):\n", " Rdata:=convert(T,array):\n", " FFT(8,Rdata,Idata);\n", "```\n", "$$\n", "256\n", "$$\n", "これは次のような強度分布をもっている.\n", "```maple\n", "> Adata:=[seq([i,sqrt(Idata[i]^2+Rdata[i]^2)],i=1..128)]:\n", "> logplot(Adata);\n", "```\n", "\n", "![C10_FFTplot2d6.png](figs/C10_FFTplot2d6.png)\n", "\n", "低周波の部分に,ゆっくりとした変化を表す成分が固まっている.次のような三角フィルターを用意する.これは,低周波ほど影響を大きくするフィルター.\n", "```maple\n", "> filter:=x->piecewise(x>=0 and x<=20,(1-x/20)): #三角フィルター\n", " #filter:=x->piecewise(x>=0 and x<=20,1); #方形フィルター\n", " plot(filter(x),x=0..40);\n", "```\n", "\n", "![C10_FFTplot2d7.png](figs/C10_FFTplot2d7.png)\n", "\n", "これとデータを各点で掛けあわせる事によって,フィルターを通したことになる.\n", "```maple\n", "> FRdata:=array([seq(Rdata[i]*filter(i),i=1..256)]):\n", "> FIdata:=array([seq(Idata[i]*filter(i),i=1..256)]):\n", "```\n", "先ほどと同様に表示すると\n", "```maple\n", "> Bdata:=[seq([i,sqrt(FIdata[i]^2+FRdata[i]^2)],i=1..128)]:\n", "> logplot(Adata);\n", "```\n", "\n", "![C10_FFTplot3d6.png](figs/C10_FFTplot3d6.png)\n", "\n", "$i=20$以上の領域がフィルターによってちょん切られていることが確認できる.これを逆フーリエ変換する.\n", "```maple\n", "> iFFT(8,FRdata,FIdata);\n", "```\n", "$$\n", "256\n", "$$\n", "これを表示すると,\n", "```maple\n", "> listplot(FRdata);\n", "```\n", "\n", "![C10_FFTplot2d8.png](figs/C10_FFTplot2d8.png)\n", "\n", "となる.ノイズが取り除かれているのが確認できる.元の関数に加えたホワイトノイズにFFTを掛ければ分かるが,全周波数域にわたって均質に広がった関数となる.これを三角フィルターなどで高周波成分をカットすることで,ノイズが取り除かれていくのが理解されよう.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## python code" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ ":18: DeprecationWarning: Using scipy.fft as a function is deprecated and will be removed in SciPy 1.5.0, use scipy.fft.fft instead.\n", " out = fft(ydata)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAXhklEQVR4nO3df2zU933H8efbPzAYY4x9JiEYYvC5SdyWNNQhhHM7uk4rpFVptU4ia9cua4XQkq2bJi3pqm2a+tfUbeqqJkEsy9puVaOqzVpW0aZd1y7FEILTEAIhBGN+GQIYDNgxGGP7vT/uoFfnbJ/ts7/3/d7rIVn4+/1+fPf+yM5Ll/d97/Mxd0dERMKvKOgCREQkNxToIiIRoUAXEYkIBbqISEQo0EVEIqIkqCeOxWJeX18f1NOLiITSSy+9dN7dazNdCyzQ6+vraWtrC+rpRURCycyOj3ZNLRcRkYhQoIuIRIQCXUQkIhToIiIRoUAXEYmIcQPdzJ42s3Nmtn+U62ZmXzWzdjPbZ2Yrc1+miIiMJ5tX6F8H1o1xfT3QmPraBDw59bJERGSixg10d38e6B5jyAbgm570AlBlZovGe9xzvdeyr1JERMaVix76YuBk2nFn6tzbmNkmM2szs7azPf309F/PwdOLiAjkJtAtw7mMu2a4+1Z3b3b3ZoAXjlzIwdOLiAjkJtA7gSVpx3XA6XGf2IzW9vM5eHoREYHcBPo24NOpu11WA5fd/c3xfmjurGJa9QpdRCRnxl2cy8y+DawFYmbWCfwdUArg7luA7cADQDtwBXgomyeeO7uE9nNvceZyP7fOnz256kVE5KZxA93dHxznugMPT/SJK8pK6ANa28/ze++tm+iPi4jICIF9UnROaTHVc2epjy4ikiOBfvR/TUMNrUfOk3yRLyIiUxFooCfiMc72XONI11tBliEiEgmBBnpLPAbAjsNqu4iITFWggb6kupyl1eXsaNftiyIiUxX48rmJeIzdHRcYHBoOuhQRkVDLg0CvoffaIPtOXQ66FBGRUAs80Nc0JPvoreqji4hMSeCBXj13Fu+8rZIduh9dRGRKAg90SN7t8vKJS1wZGAy6FBGR0MqLQF8TjzEwNMyeYxeDLkVEJLTyItDvrV/ArOIiLQMgIjIFeRHo5bNKWHl7lT5gJCIyBXkR6JDso7/2Zg/dfQNBlyIiEkp5E+hrUssA7DyiV+kiIpORN4G+YvF85pWVqI8uIjJJeRPoJcVFrG6o0f3oIiKTlDeBDsk++snuq5y4cCXoUkREQievAj0RrwGgVX10EZEJy6tAb6it4JbKMrVdREQmIa8C3cxIxGPsOnKB4WFtSyciMhF5FeiQ7KN39w1w8ExP0KWIiIRK3gV6InU/um5fFBGZmLwL9FsqZxNfWKFt6UREJijvAh2SbZc9R7u5NjgUdCkiIqGRl4GeiMe4en2Il09cCroUEZHQyMtAv295NUWmPrqIyETkZaBXzi7l7iVVuh9dRGQC8jLQIdlH39d5mZ7+60GXIiISCnkb6Il4jKFhZ3dHd9CliIiEQt4G+j1Lq5hdqm3pRESylVWgm9k6MztkZu1m9liG6/PN7L/N7BUzO2BmD021sLKSYlYt03K6IiLZGjfQzawYeBxYDzQBD5pZ04hhDwOvufvdwFrgn8xs1lSLa4nX0H7uLc729E/1oUREIi+bV+irgHZ373D3AeAZYMOIMQ7MMzMDKoBuYHCqxWkZABGR7GUT6IuBk2nHnalz6b4G3AWcBl4FPu/uwyMfyMw2mVmbmbV1dXWN+8R33VpJ9dxZaruIiGQhm0C3DOdGrm37IWAvcBvwHuBrZlb5th9y3+ruze7eXFtbO35xRcb9DTW0tp/HXcvpioiMJZtA7wSWpB3XkXwlnu4h4FlPageOAnfmosCWeIyzPdc40tWXi4cTEYmsbAJ9D9BoZstSb3RuBLaNGHMC+CCAmd0C3AF05KLAFvXRRUSyMm6gu/sg8AjwHHAQ+I67HzCzzWa2OTXsS8AaM3sV+BnwqLvnJIGXVJezpHqO+ugiIuMoyWaQu28Hto84tyXt+9PA7+a2tF9ricf44StvMjg0TElx3n4WSkQkUKFIx0Q8Ru+1QV49dTnoUkRE8lYoAv3+5TWA+ugiImMJRaDXVJTRtKhSfXQRkTGEItABWhpj/Or4Ja4OaFs6EZFMQhPoiXiMgaFh9hzTcroiIpmEJtDvrV9AabGpjy4iMorQBHr5rBJWLl2gPrqIyChCE+iQvB/9wOkeuvsGgi5FRCTvhCrQE43JZQB2HbkQcCUiIvknVIG+YvF85pWVqO0iIpJBqAK9pLiI+5bX6I1REZEMQhXokNyW7kT3FU52Xwm6FBGRvBK+QG/UcroiIpmELtAbaitYOK9MfXQRkRFCF+hmRks8xs4jFxge1rZ0IiI3hC7QIbkMQHffAAfP9ARdiohI3ghtoAPsbNf96CIiN4Qy0G+dP5uG2rnqo4uIpAlloENyGYAXj3ZzbVDL6YqIQIgDPRGPcfX6EC+fuBR0KSIieSG0gb66oYYig51qu4iIACEO9MrZpayoq1IfXUQkJbSBDsk++iudl+npvx50KSIigQt1oCfiMYaGnd0d2pZORCTUgb7y9ipmlxZpXRcREUIe6GUlxdxbX61AFxEh5IEOyT764XNvcbanP+hSREQCFfpAv7EMgF6li0ihC32gNy2qZEF5Ka1a10VEClzoA72oyFjTEKO1/TzuWk5XRApXVoFuZuvM7JCZtZvZY6OMWWtme83sgJn9X27LHFsiHuNMTz9Huvpm8mlFRPLKuIFuZsXA48B6oAl40MyaRoypAp4APuru7wR+P/eljq5FfXQRkaxeoa8C2t29w90HgGeADSPG/AHwrLufAHD3c7ktc2xLa8pZUj1HgS4iBS2bQF8MnEw77kydS/cOYIGZ/cLMXjKzT2d6IDPbZGZtZtbW1dU1uYpHkWiIsavjAoNDwzl9XBGRsMgm0C3DuZHvPpYA7wU+DHwI+Bsze8fbfsh9q7s3u3tzbW3thIsdSyIeo7d/kFdPXc7p44qIhEU2gd4JLEk7rgNOZxjzY3fvc/fzwPPA3bkpMTtrGmoA9dFFpHBlE+h7gEYzW2Zms4CNwLYRY34AvM/MSsysHLgPOJjbUsdWU1FG06JK3Y8uIgVr3EB390HgEeA5kiH9HXc/YGabzWxzasxB4MfAPuBF4Cl33z99ZWeWiNfw0vGLXB3QtnQiUnhKshnk7tuB7SPObRlx/GXgy7krbeIS8Rj/+suj7DnWzfvfkdsevYhIvgv9J0XTrVpWTWmxqY8uIgUpUoFePquElUsX0HpEgS4ihSdSgQ7JtsuB0z109w0EXYqIyIyKZKC7w64juttFRApL5AL97rr5VJSVsEN9dBEpMJEL9JLiIlYvr2Gn+ugiUmAiF+iQvB/9+IUrnOy+EnQpIiIzJpKBruV0RaQQRTLQ4wsrWDivTH10ESkokQx0M6MlHmPXkQsMD2tbOhEpDJEMdIA18RgX+gZ4/Uxv0KWIiMyIyAZ6Iq7ldEWksEQ20BfNn0ND7Vz10UWkYEQ20CF5t8uLR7sZGNS2dCISfZEO9DXxGFevD/HyiYtBlyIiMu0iHeirl9dQZOqji0hhiHSgz59Tyoq6KvXRRaQgRDrQIXm3yyudl+ntvx50KSIi06oAAj3G0LCzu6M76FJERKZV5AN95dIFzC4tUttFRCIv8oE+u7SYe+ur9caoiERe5AMdkm2Xw+fe4lxPf9CliIhMm4II9JvL6WrTCxGJsIII9KZFlVSVl7LjsPYZFZHoKohALyoyEg0xWtvP467ldEUkmgoi0AHWxGs409NPx/m+oEsREZkWBRPo2pZORKKuYAJ9aXU5dQvmsOOwAl1EoqlgAv3mtnQdFxgc0nK6IhI9BRPokFxOt7d/kP2ne4IuRUQk5wor0Bu0LZ2IRFdWgW5m68zskJm1m9ljY4y718yGzOwTuSsxd2IVZdy1qFJ9dBGJpHED3cyKgceB9UAT8KCZNY0y7h+A53JdZC61xGt46fhFrg4MBV2KiEhOZfMKfRXQ7u4d7j4APANsyDDuT4HvAedyWF/OrYnHGBgapu24ltMVkWjJJtAXAyfTjjtT524ys8XAx4EtYz2QmW0yszYza+vq6pporTmxqr6a0mLTcroiEjnZBLplODfy8/NfAR519zH7GO6+1d2b3b25trY2yxJza25ZCfcsXaA3RkUkcrIJ9E5gSdpxHXB6xJhm4BkzOwZ8AnjCzD6WiwKnQ0s8xoHTPVzsGwi6FBGRnMkm0PcAjWa2zMxmARuBbekD3H2Zu9e7ez3wXeBP3P37uS42VxLxGtxhV4dWXxSR6Bg30N19EHiE5N0rB4HvuPsBM9tsZpunu8DpsKKuioqyEvXRRSRSSrIZ5O7bge0jzmV8A9Td/2jqZU2v0uIiVi/XtnQiEi0F9UnRdIl4jOMXrnCy+0rQpYiI5ERBBzrATm1LJyIRUbCB3riwgtp5Zexo1xujIhINBRvoN5bT3dl+nuFhbUsnIuFXsIEOybbLhb4BXj/TG3QpIiJTVuCBnlxOV310EYmCgg70RfPnsLx2ru5HF5FIKOhAh+QyALs7uhkY1LZ0IhJuBR/oiXiMq9eHePnExaBLERGZkoIP9NXLaygyaD2i2xdFJNwKPtDnzynl3XVVWgZAREKv4AMdktvS7T15id7+60GXIiIyaQp0kn30oWFnd4e2pROR8FKgAyuXLqCspIhW3Y8uIiGmQAdmlxazapmW0xWRcFOgpyTiMd44+xbnevqDLkVEZFIU6CktqeV01XYRkbBSoKc0LaqkqryUVi2nKyIhpUBPKSoy1jTU0Np+Hnctpysi4aNAT5OIx3jzcj8d5/uCLkVEZMIU6Glu9tF1t4uIhJACPc3S6nIWV81RoItIKCnQ09zclu7IBYa0LZ2IhIwCfYREY4ze/kFePXU56FJERCZEgT7CmobktnRqu4hI2CjQR4hVlHHnrfMU6CISOgr0DFriMdqOXeTqwFDQpYiIZE2BnkGiMcbA0DBtx7WcroiEhwI9g1X11ZQWGzvUdhGREFGgZzC3rIR7lixgp9Z1EZEQySrQzWydmR0ys3YzeyzD9U+a2b7U104zuzv3pc6sRDzG/tOXudg3EHQpIiJZGTfQzawYeBxYDzQBD5pZ04hhR4HfcvcVwJeArbkudKa1NNbgDrs69CpdRMIhm1foq4B2d+9w9wHgGWBD+gB33+nuF1OHLwB1uS1z5q2oq6KirER9dBEJjWwCfTFwMu24M3VuNJ8FfpTpgpltMrM2M2vr6urKvsoAlBYXcd+yanYq0EUkJLIJdMtwLuNCJ2b2AZKB/mim6+6+1d2b3b25trY2+yoDkojHOHbhCie7rwRdiojIuLIJ9E5gSdpxHXB65CAzWwE8BWxw90g0nlsak8vp7tS2dCISAtkE+h6g0cyWmdksYCOwLX2AmS0FngX+0N3fyH2ZwWhcWEHtvDJ26PZFEQmBkvEGuPugmT0CPAcUA0+7+wEz25y6vgX4W6AGeMLMAAbdvXn6yp4ZZkaioYZfHj7P8LBTVJSp+yQikh/GDXQAd98ObB9xbkva958DPpfb0vJDIh7j+3tPc+hsL3ctqgy6HBGRUemTouNIaFs6EQkJBfo4bquaw/LYXN2PLiJ5T4GehUQ8xotHuxkYHA66FBGRUSnQs5CIx7gyMMTek5eCLkVEZFQK9Czcv7yGIkNtFxHJawr0LMwvL+Xdi+frjVERyWsK9Cwl4jH2nrxEb//1oEsREclIgZ6llniMoWHnxaPalk5E8pMCPUsrb19AWUmR+ugikrcU6FmaXVrMvfXV6qOLSN5SoE9AIh7jjbNvca63P+hSRETeRoE+AS2pZQC0ebSI5CMF+gQ03VZJVXmp+ugikpcU6BNQXGTcv7yG1vbzuGfctElEJDAK9AlKxGO8ebmfo+f7gi5FROQ3KNAnqEXL6YpInlKgT9DtNeUsrpqjPrqI5B0F+gSZGYl4DbuOXGBoWH10EckfCvRJSMRj9PQPsv/U5aBLERG5SYE+CWsakn10tV1EJJ8o0Cehdl4Zd946T2+MikheUaBPUiIeo+34RfqvDwVdiogIoECftJZ4jIHBYdqOXQy6FBERQIE+aauWVVNSZOqji0jeUKBP0tyyElYuXcCO9q6gSxERARToU/K+xhj7T/XQ1Xst6FJERBToU/GBOxcC8PwbepUuIsFToE9B06JKYhVl/PzQuaBLERFRoE9FUZGx9o5afnn4PINDw0GXIyIFToE+RWvvqOXy1evsPXkp6FJEpMAp0KfoffFaiouMXxxSH11EgpVVoJvZOjM7ZGbtZvZYhutmZl9NXd9nZitzX2p+ml9eysqlVfziDfXRRSRY4wa6mRUDjwPrgSbgQTNrGjFsPdCY+toEPJnjOvPa2jsWsv9UD+d6+4MuRUQKWEkWY1YB7e7eAWBmzwAbgNfSxmwAvunJjTZfMLMqM1vk7m/mvOI8tPaOWr783CE+/vhOymcVB12OiBSobAJ9MXAy7bgTuC+LMYuB3wh0M9tE8hU8S5cunWiteatpUSWb3r+czotXgi5FRCLuf8a4lk2gW4ZzI7fqyWYM7r4V2ArQ3Nwcme1+zIy/fuCuoMsQkQLw5KdGv5bNm6KdwJK04zrg9CTGiIjINMom0PcAjWa2zMxmARuBbSPGbAM+nbrbZTVwuVD65yIi+WLclou7D5rZI8BzQDHwtLsfMLPNqetbgO3AA0A7cAV4aPpKFhGRTLLpoePu20mGdvq5LWnfO/BwbksTEZGJ0CdFRUQiQoEuIhIRCnQRkYhQoIuIRIQl388M4InNeoFDgTz59IkBUdo1WvPJb1GbD0RvTtMxn9vdvTbThazucpkmh9y9OcDnzzkza4vSnDSf/Ba1+UD05jTT81HLRUQkIhToIiIREWSgbw3wuadL1Oak+eS3qM0HojenGZ1PYG+KiohIbqnlIiISEQp0EZGICCTQx9t0Ot+Z2RIz+7mZHTSzA2b2+dT5ajP7qZkdTv27IOhaJ8LMis3sZTP7Yeo47POpMrPvmtnrqd/V/WGek5n9Rervbb+ZfdvMZodpPmb2tJmdM7P9aedGrd/MvpDKiENm9qFgqh7bKHP6cupvbp+Z/ZeZVaVdm9Y5zXigZ7npdL4bBP7S3e8CVgMPp+bwGPAzd28EfpY6DpPPAwfTjsM+n38BfuzudwJ3k5xbKOdkZouBPwOa3f1dJJey3ki45vN1YN2IcxnrT/33tBF4Z+pnnkhlR775Om+f00+Bd7n7CuAN4AswM3MK4hX6zU2n3X0AuLHpdGi4+5vu/qvU970kg2IxyXl8IzXsG8DHAilwEsysDvgw8FTa6TDPpxJ4P/BvAO4+4O6XCPGcSH4QcI6ZlQDlJHcFC8183P15oHvE6dHq3wA84+7X3P0oyb0WVs1EnRORaU7u/hN3H0wdvkByBzeYgTkFEeijbSgdSmZWD9wD7AZuubFTU+rfhQGWNlFfAf4KGE47F+b5LAe6gH9PtZGeMrO5hHRO7n4K+EfgBMnN1y+7+08I6XzSjFZ/VHLij4Efpb6f9jkFEehZbSgdBmZWAXwP+HN37wm6nskys48A59z9paBryaESYCXwpLvfA/SR3+2IMaV6yxuAZcBtwFwzG2O74NALfU6Y2RdJtme/deNUhmE5nVMQgR6JDaXNrJRkmH/L3Z9NnT5rZotS1xcB54Kqb4ISwEfN7BjJFthvm9l/Et75QPLvrNPdd6eOv0sy4MM6p98Bjrp7l7tfB54F1hDe+dwwWv2hzgkz+wzwEeCT/usP+0z7nIII9Gw2nc5rZmYke7MH3f2f0y5tAz6T+v4zwA9murbJcPcvuHudu9eT/H38r7t/ipDOB8DdzwAnzeyO1KkPAq8R3jmdAFabWXnq7++DJN+7Cet8bhit/m3ARjMrM7NlQCPwYgD1TZiZrQMeBT7q7lfSLk3/nNx9xr9Ibij9BnAE+GIQNUyx/haS/6u0D9ib+noAqCH5Tv3h1L/VQdc6ibmtBX6Y+j7U8wHeA7Slfk/fBxaEeU7A3wOvA/uB/wDKwjQf4Nsk+//XSb5a/exY9QNfTGXEIWB90PVPYE7tJHvlN7Jhy0zNSR/9FxGJCH1SVEQkIhToIiIRoUAXEYkIBbqISEQo0EVEIkKBLiISEQp0EZGI+H/9JcuSb0pkSgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/bob/opt/anaconda3/lib/python3.8/site-packages/numpy/core/_asarray.py:83: ComplexWarning: Casting complex values to real discards the imaginary part\n", " return array(a, dtype, copy=False, order=order)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ ":45: DeprecationWarning: scipy.ifft is deprecated and will be removed in SciPy 2.0.0, use scipy.fft.ifft instead\n", " inved_data = ifft(filtered_out)\n", "/Users/bob/opt/anaconda3/lib/python3.8/site-packages/numpy/core/_asarray.py:83: ComplexWarning: Casting complex values to real discards the imaginary part\n", " return array(a, dtype, copy=False, order=order)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from scipy import fft, ifft\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "def func(x):\n", " a,b,c,d=10, 40000, 380, 128\n", " return a+b/(c+(x-d)**2)\n", "\n", "xdata = np.linspace(0, 256, 256)\n", "y = func(xdata)\n", "y_noise = 10 * np.random.normal(size=xdata.size)\n", "ydata = y + y_noise\n", "plt.plot(xdata, ydata, 'b-', label='data')\n", "plt.grid()\n", "plt.show()\n", "\n", "out = fft(ydata)\n", "\n", "def spectrum_power(x):\n", " re, im = x.real, x.imag\n", " return np.sqrt(re**2+im**2)\n", "\n", "plt.plot(x,spectrum_power(out))\n", "plt.xlim(0,128)\n", "plt.show()\n", "\n", "def filter(x):\n", " return (1-x/20)*np.piecewise(x, [x < 20, x >= 20], [1, 0])\n", "\n", "plt.plot(x,filter(x))\n", "plt.xlim(0,128)\n", "plt.show()\n", "\n", "filtered_out = []\n", "for i in range(0, 256):\n", " y = out[i]\n", " re, im = y.real, y.imag\n", " yy = complex(filter(i)*y.real,filter(i)*y.imag)\n", " filtered_out.append(yy)\n", "\n", "plt.plot(x,filtered_out)\n", "plt.show()\n", "\n", "inved_data = ifft(filtered_out)\n", "plt.plot(x,inved_data)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FFTの動作原理\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "このように便利なFFTであるが,どのような理屈で導かれるのか? Fourier変換法は,この課題だけでも何回ものコマ数が必要なほどの内容を含んでいる.ここでは,\n", "その基本となる考え方(のひとつ)だけを提示する.\n", "1. 関数の内挿で導入した基底関数を直交関数系でとる.ところが,展開係数を逆行列で求める手法では計算が破綻.\n", "1. 直交関係からの積分による係数決定.\n", "1. 選点直交性による計算の簡素化.\n", "1. 高速フーリエ変換アルゴリズムによる高速化.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 関数内挿としてのFourier関数系\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "一連の関数系による関数の内挿は,基底関数を$\\varphi_n(x)$として\n", "\n", "$$\n", "F(x) = \\sum^N_{n=1}a_n \\varphi_n(x)\n", "$$\n", "で得られることを見た.\n", "Fourier変換では基底関数として$\\varphi _{n} \\left( x \\right) =\\sin \\left( 2\\,\\pi {\\it nx} \\right) ,\\,\\cos \\left( 2\\,\\pi {\\it nx} \\right)$をとる.関数の内挿法で示したように,この$x_i$での値$f_i, i=1 \\cdots M$と,近似の次数($N$)とでつくる係数行列,\n", "\n", "$$\n", "A=\\left[ \\begin{array}{cccc}\n", "\\varphi_0(x_0)&\\varphi_1(x_0)& \\cdots &\\varphi_N(x_0) \\\\\n", "\\vdots & \\vdots & \\vdots & \\vdots \\\\\n", "\\varphi_0(x_M)&\\varphi_1(x_M)& \\cdots &\\varphi_N(x_M) \n", "\\end{array}\\right]\n", "$$\n", "を求めて,係数$a_i$とデータ点$f_i$をそれぞれベクトルと考えると,\n", "\n", "$$\n", "\\boldsymbol{A}.\\boldsymbol{a} = \\boldsymbol{f}\n", "$$\n", "から,通常の逆行列を求める手法で係数を決定することもできる.しかし,この強引な方法はデータ数,関数の次数が多い,フーリエ変換が対象としようとする問題では破綻する.もっといい方法が必要で,それが直交関数系では存在する.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 直交関係からの積分による係数決定\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "関数の直交関係は,\n", "$$\n", "\\int _{a}^{b}\\varphi _{n} \\left( x \\right) \\varphi _{m} \\left( x \\right) {dx}=\n", "\\delta_{\\it mn}C_{n}= \\left\\{\\begin{array}{lr}\n", "C_m & at\\, n=m \\\\\n", "0 & at\\, n\\neq m\n", "\\end{array}\\right.\n", "$$\n", "である.定数$C_m$は,$\\sin,\\cos$の三角関数系では次の通り.\n", "```maple\n", "> plot([sin(x),sin(3*x)],x=0..2*Pi);\n", "```\n", "\n", "![C10_FFTplot2d9.png](figs/C10_FFTplot2d9.png)\n", "\n", "\n", "```maple\n", "> plot([sin(x)*sin(3*x)],x=0..2*Pi, color=black);\n", "```\n", "\n", "![C10_FFTplot2d10.png](figs/C10_FFTplot2d10.png)\n", "\n", "\n", "```maple\n", "> int(sin(x)*sin(3*x),x=0..2*Pi);\n", "```\n", "$$\n", "0\n", "$$\n", "```maple\n", "> for i from 1 to 3 do for j from 1 to 3 do S:=int(sin(i*x)*sin(j*x),x=0..2*Pi);\n", "> print(i,j,S); end do; end do:\n", "```\n", "$$\n", "1, 1, \\pi \\notag \\\\\n", "1, 2, 0 \\notag \\\\\n", "1, 3, 0 \\notag \\\\\n", "2, 1, 0 \\notag \\\\\n", "2, 2, \\pi \\notag \\\\\n", "2, 3, 0 \\notag \\\\\n", "3, 1, 0 \\notag \\\\\n", "3, 2, 0 \\notag \\\\\n", "3, 3, \\pi \\notag\n", "$$\n", "\n", "$$\n", "\\int _{a}^{b}F \\left( x \\right) \\varphi _{m} \\left( x \\right) {dx}\n", "$$\n", "を考える.先程の\\ref{Eq:Orthogonal}式をいれると\n", "$$\n", "\\int _{a }^{b }F \\left(x \\right)\\varphi _{m }\\left(x \\right) dx =\\int _{a }^{b }{\\sum^N_{n=1} }a _{n }\\varphi _{n }\\left(x \\right)\\varphi _{m }\\left(x \\right)d x = \n", "\\left\\{\\begin{array}{lr}\n", "a_m C_m & at\\, n=m \\\\\n", "0 & at\\, n\\neq m\n", "\\end{array}\\right.\n", "$$\n", "となる.こうして,係数$a_n$が\n", "\n", "$$\n", "a_{{n}}=\\frac {1}{C_n}\\int _{a}^{b} F \\left( x \\right) \\varphi _{{n}} \\left( x \\right) {dx}\n", "$$\n", "で決定できる.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 直接積分によるフーリエ係数\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "対象とする関数をまず作る.\n", "```maple\n", "> restart;\n", "> #F:=x->piecewise(x=0,1/2,x>0,x); \n", " #F:=x->piecewise(x<1/2,x,x>=1/2,1-x);\n", " #F:=x->piecewise(x<1/2,-1,x>1/2,1); \n", " F:=x->piecewise(x<1/2,-1,x>=1/2,1);\n", " #F:=x->piecewise(x>0 and x<1/2,-1,x>1/2,1); \n", " #F:=x->x-1/2; \n", " plot(F(x),x=0..1);\n", "```\n", "$$\n", "F := x \\mapsto piecewise(x < \\frac{1}{2}, -1, \\frac{1}{2} \\leq x, 1) \n", "$$\n", "\n", "![C10_FFTplot2d11.png](figs/C10_FFTplot2d11.png)\n", "\n", "piecewise関数は階段関数で,振る舞いはコメント(\\#)を適当に外して確認せよ.\n", "初期設定.\n", "```maple\n", "> KK:=3; N:=2^KK;L:=1-0;\n", "> 2*Pi*1/L*x;\n", "```\n", "$$\n", "2 \\pi x\n", "$$\n", "```maple\n", "> int(F(x)*cos(2*Pi*1/L*x),x=0..L);\n", "```\n", "$$\n", "0\n", "$$\n", "\n", "```maple\n", "> for n from 0 to N do\n", " a[n]:=2/L*int(F(x)*cos(2*Pi*n/L*x),x=0..L); \n", " end do;\n", "```\n", "$$\n", "a_0:=0 \\notag \\\\\n", "a_1:=0 \\notag \\\\\n", "a_2:=0 \\notag \\\\\n", "a_3:=0 \\notag \\\\\n", "a_4:=0 \\notag \\\\\n", "a_5:=0 \\notag \\\\\n", "a_6:=0 \\notag \\\\\n", "a_7:=0 \\notag \\\\\n", "a_8:=0 \\notag \n", "$$\n", "\n", "```maple\n", "> for n from 0 to N do \n", " b[n]:=2/L*int(F(x)*sin(2*Pi*n/L*x),x=0..L); \n", " end do;\n", "```\n", "$$\n", "b_0:=0 \\notag \\\\\n", "b_1:=\\frac{4}{\\pi} \\notag \\\\\n", "b_2:=0 \\notag \\\\\n", "b_3:=\\frac{4}{3\\pi} \\notag \\\\\n", "b_4:=0 \\notag \\\\\n", "b_5:=\\frac{4}{5\\pi} \\notag \\\\\n", "b_6:=0 \\notag \\\\\n", "b_7:=\\frac{4}{7\\pi} \\notag \\\\\n", "b_8:=0 \\notag \n", "$$\n", "ここで,オイラーの関係\n", "$$\n", "a[n]=c[n]+c[-n],\\, b[n]=I (c[n]-c[-n]) \\notag \\\\\n", "c[-n]= \\frac{1}{2} (a[n] + b[n]),\\, c[n]=\\frac{1}{2} (a[n] - I b[n])\n", "$$\n", "を使って,三角関数系から$\\exp$へ変換する.\n", "\n", "```maple\n", "> for n from 0 to N do c[n]:=1/L*int(F(x)*exp(-I*2*Pi*n/L*x),x=0..L); end do;\n", "> for n from 1 to N do c[-n]:=1/L*int(F(x)*exp(I*2*Pi*n/L*x),x=0..L); end do;\n", "```\n", "$$\n", "c_0:=0 \\notag \\\\\n", "c_1:=\\frac{2I}{\\pi} \\notag \\\\\n", "c_2:=0 \\notag \\\\\n", "c_3:=\\frac{2I}{3\\pi} \\notag \\\\\n", "c_4:=0 \\notag \\\\\n", "c_5:=\\frac{2I}{5\\pi} \\notag \\\\\n", "c_6:=0 \\notag \\\\\n", "c_7:=\\frac{2I}{7\\pi} \\notag \\\\\n", "c_8:=0 \\notag \\\\\n", "c_{-1}:=-\\frac{2I}{\\pi} \\notag \\\\\n", "c_{-2}:=0 \\notag \\\\\n", "c_{-3}:=-\\frac{2I}{3\\pi} \\notag \\\\\n", "c_{-4}:=0 \\notag \\\\\n", "c_{-5}:=-\\frac{2I}{5\\pi} \\notag \\\\\n", "c_{-6}:=0 \\notag \\\\\n", "c_{-7}:=-\\frac{2I}{7\\pi} \\notag \\\\\n", "c_{-8}:=0 \\notag \n", "$$\n", "\n", "```maple\n", "> F1:=unapply(sum(evalf(c[i]*exp(I*2*Pi*i/L*x)),i=-(N-1)..(N-1)),x):\n", "> plot({Re(F1(x)),F(x)},x=0..1);\n", "```\n", "\n", "![C10_FFTplot2d12.png](figs/C10_FFTplot2d12.png)\n", "\n", "\n", "```maple\n", "> evalf(2/3/Pi);\n", "```\n", "$$\n", "0.2122065907\n", "$$\n", "```\n", "\n", "```\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 選点直交性による計算の簡素化\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "ところが,実際に積分していては,時間がかかりすぎる.直交関数系の選点直交性を使うとより簡単になる.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 直交関数系の選点直交性 \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "直交多項式は,\n", "\n", "$$\n", "\\varphi _{n} \\left( x \\right) =0 \\,at\\,x_1,\\,x_2,\\,\\cdots x_{n}\n", "$$\n", "である.$n-1$以下の次数$m,\\,l$では,\n", "\n", "$$\n", "\\sum _{i=1}^{n}\\phi_{l} \\left( x_{i} \\right) \\varphi _{m} \\left( x_{i} \\right) =\\delta_{\\it ml}C_{l}\n", "$$\n", "が成り立つ.これは,直交関係と違い積分でないことに注意.証明は略.\n", "これを使えば,この先程の直交関数展開\n", "\n", "$$\n", "F \\left( x \\right) =\\sum _{l=1}^{N}a_{l}\\varphi _{l} \\left( x \\right)\n", "$$\n", "の両辺に$\\varphi _{m} \\left( x_{i} \\right)$を掛けて$i$について和をとれば,\n", "$$\n", "\\sum _{i=1}^{n} F \\left(x _{i }\\right)\\phi _{m }\\left(x _{i }\\right) = \\\\\n", "\\sum _{i=1}^{n} \\sum _{l=1}^{N}a_{l}\\varphi _{l} \\left( x_{i} \\right) \\varphi _{m} \\left( x_{i} \\right) \\notag \\\\\n", "=\\sum _{l=1}^{N} a_{l}\\sum _{i=1}^{n}\\varphi _{l} \\left( x_{i} \\right) \\varphi _{m} \\left( x_{i} \\right) \\notag \\\\\n", "=\\sum _{l=1}^{N}a_{l}\\delta_{\\it ml}C_{m}=a_{m}C_{m} \\notag\n", "$$\n", "となる.つまり,\n", "\n", "$$\n", "a_{m}=\\frac{1}{C_{m}} {\\sum _{i=1}^{n}F \\left( x_{i} \\right) \\varphi _{m} \\left( x_{i} \\right) }\n", "$$\n", "となり,単純な関数の代入とかけ算で係数が決定される.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 選点直交性を用いた結果 \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```maple\n", "> KK:=4; N:=2^KK;L:=1-0;\n", "> for k from 0 to N-1 do \n", " c[k]:=evalf(sum(F(i*L/N)*exp(-I*2*Pi*k*i/N),i=0..N-1));\n", " end do;\n", "```\n", "```maple\n", "c_0:=0. \n", "c_1:=-2.000000000 + 10.05467898 I \n", "c_2:=0. \n", "c_3:=-2.000000000 + 2.993211524 I \n", "c_4:=0. \n", "c_5:=-2.000000001 + 1.336357276 I \n", "c_6:=0. \n", "c_7:=-2.000000001 + 0.3978247331 I \n", "c_8:=0. \n", "c_9:=-2.000000001 - 0.3978247331 I \n", "c_10:=0. \n", "c_11:=-2.000000001 - 1.336357276 I \n", "c_12:=0. \n", "c_13:=-2.000000000 - 2.993211524 I \n", "c_14:=0. \n", "c_15:=-2.000000000 - 10.05467898 I\n", "```\n", "\n", "```maple\n", "> F1:=unapply(sum(evalf(c[i]*exp(I*2*Pi*i/L*x)/N),i=0..(N/2-1))+\n", "> sum(evalf(c[N-i]*exp(-I*2*Pi*i/L*x)/N),i=1..(N/2-1)),x):\n", "> plot({Re(F1(x)),F(x)},x=0..1);\n", "```\n", "\n", "![C10_FFTplot2d13.png](figs/C10_FFTplot2d13.png)\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 高速フーリエ変換アルゴリズムによる高速化\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$\\sin, \\cos$と$\\exp$関数を結びつけるオイラーの関係を使うと,\n", "\n", "$$\n", "$$\n", "と変換できる.これを使うと,\n", "\n", "$$\n", "c_{{k}}=\\frac{1}{C_{{m}}}\\sum _{i=0}^{N-1}F \\left( x_{{i}} \\right) {{\\exp}\\left({{\\frac {-2\\,\\pi I}{N}}}\\right)}\n", "$$\n", "となる.$N = 8$の場合を実際に計算すると,$ z = \\exp(-\\frac{2\\pi}{8}I)$として,$z^8=1,z^9=z, \\cdots$を使うと,\n", "\n", "$$\n", "\\left[\\begin{array}{c}\n", "c_0\\\\c_1\\\\c_2\\\\c_3\\\\c_4\\\\c_5\\\\c_6\\\\c_7\n", "\\end{array}\\right] =\n", "\\left[\\begin{array}{cccccccc}\n", "1&1&1&1&1&1&1&1\\\\\n", "1&z&z^2&z^3&z^4&z^5&z^6&z^7\\\\\n", "1&z^2&z^4&z^6&1&z^2&z^4&z^6\\\\\n", "1&z^3&z^6&z&z^4&z^7&z^2&z^5\\\\\n", "1&z^4&1&z^4&1&z^4&1&z^4\\\\\n", "1&z^5&z^2&z^7&z^4&z^1&z^6&z^3\\\\\n", "\\vdots & & & & & & & \\\\\n", "\\vdots & & & & & & & \n", "\\end{array}\\right]\n", "\\left[\\begin{array}{c}\n", "F_0\\\\F_1\\\\F_2\\\\F_3\\\\F_4\\\\F_5\\\\F_6\\\\F_7\n", "\\end{array}\\right]\n", "$$\n", "となる.この行列計算を素直に実行すると,8×8=64回の演算が必要となる.これを減らせないかと考えたのが,高速フーリエ変換の始まりである.\n", "この行列をよく見ると同じ計算を重複しておこなっていることが分かる.そこで,行列の左側と右側で同じ計算をしている部分をまとめると,\n", "\n", "$$\n", "\\left[\\begin{array}{c}\n", "c_0\\\\c_1\\\\c_2\\\\c_3\\\\c_4\\\\c_5\\\\c_6\\\\c_7\n", "\\end{array}\\right] =\n", "\\left[\\begin{array}{cccccccc}\n", "1&1&1&1&0&0&0&0\\\\\n", "0&0&0&0&1&z&z^2&z^3\\\\\n", "1&z^2&z^4&z^6&0&0&0&0\\\\\n", "0&0&0&0&1&z^3&z^6&z\\\\\n", "1&z^4&1&z^4&0&0&0&0\\\\\n", "0&0&0&0&1&z^5&z^2&z^7\\\\\n", "1&z^6&z^4&z^2&0&0&0&0\\\\\n", "0&0&0&0&1&z^7&z^6&z^5\\\\\n", "\\end{array}\\right]\n", "\\left[\\begin{array}{c}\n", "F_0+F_4\\\\F_1+F_5\\\\F_2+F_6\\\\F_3+F_7\\\\F_0-F_4\\\\F_1-F_5\\\\F_{[ \\,\\,]}-F_6\\\\F_{[\\,\\,]}-F_7\n", "\\end{array}\\right]\n", "$$\n", "とすることができる.ここで,$z^4 =-1$などを使っている.右側のベクトルの計算でロスするが,行列の中の計算の回数を半分に減らすことができる.再度できあがった行列を見れば,同じ計算をさらにまとめるこ\n", "とができそうである.こうして,次々と計算回数を減らしていくことが可能で,最終的に行列部分の計算が一切なくなる.残るのは,右側のベクトルの足し算引き算だけになる.\n", "\n", "このベクトルの組み合わせは,一見相当複雑そうで,その条件分岐で時間がかかりそうに思われる.しかし,よく調べてみれば,単純なビット演算で処理することが可能であるこ\n", "とが判明した.こうして,2の整数乗のデータの組に対しては,極めて高速にフーリエ変換を実行することが可能となった.\n", "FFTでの演算回数は,データ数をNとすると\n", "\n", "$$\n", "N\\log_2 N\n", "$$\n", "となる.単純な場合の$N^2$と比較すると,以下のようになり,どれだけ高速化されているかが理解されよう.\n", "```maple\n", "> dN2:=[]; dFft:=[]; for i from 2 to 16 do N:=2^i; n2:=N*N; Fft:=N/2*log[2](N);\n", "> Fft/n2; printf(\"%10d %12d %12d %10.5f\\n\",N,n2,Fft,evalf(Fft/n2));\n", "> dN2:=[op(dN2),[N,n2]]; dFft:=[op(dFft),[N,Fft]]; end do:\n", "```\n", "```maple\n", " 4 16 4 0.25000\n", " 8 64 12 0.18750\n", " 16 256 32 0.12500\n", " 32 1024 80 0.07812\n", " 64 4096 192 0.04688\n", " 128 16384 448 0.02734\n", " 256 65536 1024 0.01562\n", " 512 262144 2304 0.00879\n", " 1024 1048576 5120 0.00488\n", " 2048 4194304 11264 0.00269\n", " 4096 16777216 24576 0.00146\n", " 8192 67108864 53248 0.00079\n", " 16384 268435456 114688 0.00043\n", " 32768 1073741824 245760 0.00023\n", " 65536 4294967296 524288 0.00012\n", "```\n", "```maple\n", "> with(plots):\n", "> l1:=plot(dN2): l2:=plot(dFft):\n", "> display(l1,l2);\n", "```\n", "\n", "![C10_FFTplot2d14.png](figs/C10_FFTplot2d14.png)\n", "\n", "\n", "```maple\n", "> l1:=logplot(dN2): l2:=logplot(dFft):\n", "> display(l1,l2);\n", "```\n", "\n", "![C10_FFTplot2d15.png](figs/C10_FFTplot2d15.png)\n", "\n", "\n", "```maple\n", "> l1:=loglogplot(dN2): l2:=loglogplot(dFft):\n", "> display(l1,l2);\n", "```\n", "\n", "![C10_FFTplot2d16.png](figs/C10_FFTplot2d16.png)\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FFT関数を用いた結果\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "```maple\n", "> KK:=4;\n", " N:=2^KK;i:='i';L:=1-0;\n", " x1:=array([evalf(seq(F(i/N),i=0..N-1))]);\n", " y1:=array([evalf(seq(0,i=0..N-1))]);\n", "```\n", "$$\n", "{\\it x1}\\, := \\, \\left[ \\begin {array}{cccccccccccccccc} - 1.0&- 1.0&- 1.0&- 1.0&- 1.0&- 1.0&- 1.0&- 1.0& 1.0& 1.0& 1.0& 1.0& 1.0& 1.0& 1.0& 1.0\\end {array} \\right] \\notag \\\\\n", "{\\it y1}\\, := \\, \\left[ \\begin {array}{cccccccccccccccc} 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0& 0.0\\end {array} \\right] \\notag\n", "$$\n", "```maple\n", "> FFT(KK,x1,y1);\n", "```\n", "$$\n", "16\n", "$$\n", "\n", "```maple\n", "> interface(displayprecision=2):\n", " print(x1);print(y1);\n", "```\n", "$$\n", "\\left[ \\begin {array}{cccccccccccccccc} 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0& 0.0&- 2.0\\end {array} \\right] \\notag \\\\\n", "\\left[ \\begin {array}{cccccccccccccccc} 0.0& 10.05& 0.0& 2.99& 0.0& 1.34& 0.0& 0.40& 0.0&- 0.40& 0.0&- 1.34& 0.0&- 2.99& 0.0&- 10.05\\end {array} \\right] \\notag\n", "$$\n", "\n", "```maple\n", "> F2:=unapply(sum(evalf((x1[i]+I*y1[i])*exp(I*2*Pi*(i-1)/L*x)/N),i=1..N/2)+\n", " sum(evalf((x1[N-i+2]+I*y1[N-i+2])*exp(-I*2*Pi*(i-1)/L*x)/N),i=2..N/2),x):\n", "> plot({Re(F2(x)),F(x)},x=0..1);\n", "```\n", "\n", "![C10_FFTplot2d17.png](figs/C10_FFTplot2d17.png)\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 課題と解答例\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## 合成波のFFT\n", "\n", "\n", "下の例に従って,sin(i/13)とsin(i/2)の合成波を作成し,FFTをかけた後,周波数での強度を表示せよ.合成波(2*sin(i*2)+sin(i/2))との違いをのべよ.\n", "\n", "\n", "![FFTExplot2d1.png](figs/FFTExplot2d1.png)\n", "\n", "\n", "\n", "![FFTExplot2d2.png](figs/FFTExplot2d2.png)\n", "\n", "\n", "\n", "![FFTExplot2d3.png](figs/FFTExplot2d3.png)\n", "\n" ] }, { "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.8.5" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": { "height": "12px", "width": "252px" }, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": "block", "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }