Skip to content

Instantly share code, notes, and snippets.

@Cartman0
Created February 5, 2022 15:24
Show Gist options
  • Save Cartman0/50ffbe3a6232dff3f3af35e288b996f4 to your computer and use it in GitHub Desktop.
Save Cartman0/50ffbe3a6232dff3f3af35e288b996f4 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"たたみこみ積分\n",
"\n",
"イメージ:\n",
"- 入力信号fに伝達関数g(例えば減衰)を適用して変化した値の総和\n",
"- =これは伝達関数gを反転させて左から右へ通過させて重なった領域の総和(積分)に等しい\n",
"\n",
"例:単位ステップ波$f(\\tau)=1(0\\leq \\tau \\leq 1)$を入力して減衰関数$g(\\tau)=e^{-\\tau}$を全体に適用して\n",
"入力開始からt=1秒後の出力値を考える.\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def f(x, a=1):\n",
" if (0 <= x) and (x <= a):\n",
" return 1\n",
" return 0\n",
"f_vec=np.vectorize(f)\n",
"\n",
"'''\n",
"g(x)=exp(-x)\n",
"'''\n",
"def g(x):\n",
" return np.exp(-x)\n",
"\n",
"tau= np.linspace(0, 2, 500)\n",
"f_vec(tau)\n",
"plt.axis('equal')\n",
"plt.plot(tau, f_vec(tau))\n",
"plt.plot(tau, g(tau)) \n",
"\n",
"plt.scatter(0, 1, color=\"orange\")\n",
"plt.scatter(1, g(1), color=\"orange\")\n",
"plt.plot(tau+0.25, g(tau)) \n",
"plt.scatter(0.25, 1, color=\"g\")\n",
"plt.scatter(1, g(1-0.25), color=\"g\")\n",
"plt.plot(tau+0.5, g(tau)) \n",
"plt.scatter(0.5, 1, color=\"r\")\n",
"plt.scatter(1, g(1-0.5), color=\"r\")\n",
"plt.plot(tau+0.75, g(tau)) \n",
"plt.scatter(0.75, 1, color=\"purple\")\n",
"plt.scatter(1, g(1-0.75), color=\"purple\")\n",
"plt.scatter(1, g(1-1), color=\"b\")\n",
"\n",
"plt.xlabel(\"$\\\\tau$\")\n",
"plt.text(0+.02, 0-0.08, \"$\\\\tau=0$\")\n",
"plt.text(1+.02, 0-0.08, \"$\\\\tau=t=1$\")\n",
"\n",
"plt.xlim(-.1, 2)\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\tau=1$上の点すべての高さを総和(積分)した値が畳み込み積分の値になる。\n",
"\n",
"この点たちをもともとの入力にあった時間に並び替える。\n",
"例えば、オレンジの点は元々$\\tau=0$のときだったので$\\tau=0$に並び替える。\n",
"これをすべての点にやると次の図になる.\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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": [
"def f(x, a=1):\n",
" if (0 <= x) and (x <= a):\n",
" return 1\n",
" return 0\n",
"f_vec=np.vectorize(f)\n",
"\n",
"'''\n",
"g(x)=exp(-x)\n",
"'''\n",
"def g(x):\n",
" return np.exp(-x)\n",
"\n",
"tau= np.linspace(0, 2, 500)\n",
"f_vec(tau)\n",
"t=1\n",
"t0=np.linspace(-1, t, 500)\n",
"plt.axis('equal')\n",
"plt.plot(tau, f_vec(tau))\n",
"plt.plot(t0, g(t-t0)) \n",
"\n",
"# between\n",
"plt.fill_between(t0[t0>=0], 0, g(t-t0[t0>=0]), color=\"orange\", alpha=.4)\n",
"\n",
"'''\n",
"scatter\n",
"'''\n",
"plt.scatter(0, g(1), color=\"orange\")\n",
"plt.vlines(0, ymin=0, ymax=g(1), colors=\"orange\")\n",
"plt.scatter(0, g(1), color=\"orange\")\n",
"plt.vlines(0, ymin=0, ymax=g(1), colors=\"orange\")\n",
"plt.scatter(0.25, g(1-0.25), color=\"g\")\n",
"plt.vlines(0.25, ymin=0, ymax=g(1-0.25), colors=\"g\")\n",
"plt.scatter(0.5, g(1-0.5), color=\"r\")\n",
"plt.vlines(0.5, ymin=0, ymax=g(1-0.5), colors=\"r\")\n",
"plt.scatter(0.75, g(1-0.75), color=\"purple\")\n",
"plt.vlines(0.75, ymin=0, ymax=g(1-0.75), colors=\"purple\")\n",
"plt.scatter(1, g(1-1), color=\"b\")\n",
"\n",
"plt.text(0+.02, 0-0.08, \"$\\\\tau=0$\")\n",
"plt.text(1+.02, 0-0.08, \"$\\\\tau=t=1$\")\n",
"plt.xlabel(\"$\\\\tau$\")\n",
"plt.xlim(-0.1, 2)\n",
"plt.ylim(-0.1, 1.1)\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"これはつまり反転させた伝達関数との積分にほかならない。\n",
"\n",
"伝達関数$g(\\tau)$はどう変わったか見ると、反転させて終了時間$\\tau=1$までシフトさせたもので\n",
"式に直すと$g(1-\\tau)$となる。\n",
"\n",
"積分の式にすると\n",
"\n",
"$$\n",
"x(t=1)=\\int_{\\tau=0}^{\\tau=1}f(\\tau)g(1-\\tau)d\\tau\n",
"$$\n",
"\n",
"これは畳込み積分の式となる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ちなみに、上の積分は領域が台形に似てるので台形の公式で近似できる。\n",
"\n",
"$$\n",
"(上底0.4 + 下底1)*高さ1 / 2 = 0.7\n",
"$$\n",
"\n",
"また入力波形の正方形面積の半分(0.5)より大きいので以下の範囲で収まると概算できる。\n",
"\n",
"$$\n",
"0.5<x(t=1)<0.7\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"実際にたたみこみ積分を計算してみる。\n",
"範囲は$0<=\\tau <=1$とする。\n",
"\n",
"伝達関数は\n",
"\n",
"$$\n",
"g(\\tau)=\\exp{(-\\tau)}\n",
"$$\n",
"\n",
"だった。これを代入して計算すると、\n",
"\n",
"\\begin{eqnarray}\n",
"x(t=1)&=&\\int_{\\tau=0}^{\\tau=1}f(\\tau)g(1-\\tau)d\\tau\\\\\n",
"&=&\\int_{\\tau=0}^{\\tau=1}1\\cdot \\exp{(-(1-\\tau))}d\\tau\\\\\n",
"&=&\\int_{\\tau=0}^{\\tau=1} \\exp{(\\tau-1)}d\\tau\\\\\n",
"&=&\\exp{(-1)}\\int_{\\tau=0}^{\\tau=1} \\exp{(\\tau)}d\\tau\\\\\n",
"&=&\\exp{(-1)}\\left[ \\exp{(\\tau)} \\right]_{\\tau=0}^{\\tau=1} \\\\\n",
"&=&\\exp{(-1)}\\left[ \\exp{(\\tau=1)} - 1 \\right]\\\\\n",
"&=& 1 - \\exp{(-1)}\\\\\n",
"&\\fallingdotseq& 0.632\n",
"\\end{eqnarray}\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6321205588285577"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"1-np.exp(-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"また、畳込み積分は終了時間を変数で表す事が多いので次のような式になり、\n",
"積分結果が変数を持つので関数の形になる。\n",
"\n",
"$$\n",
"(f*g)(t)=\\int_{\\tau=0}^{\\tau=1}f(\\tau)g(t-\\tau)d\\tau\n",
"$$\n",
"\n",
"ちなみに先程の例を変数ありで積分するとほぼ上記の積分と同じになるが、次のようになる。\n",
"\n",
"\\begin{eqnarray}\n",
"(f*g)(t)\n",
"&=&\\int_{0}^{t}f(\\tau)g(t-\\tau)d\\tau \\\\\n",
"&=& \\int_{0}^{t}1\\cdot \\exp{(-(t-\\tau))}d\\tau\\\\\n",
"&=& \\int_{0}^{t} \\exp{(\\tau-t)}d\\tau\\\\\n",
"&=& \\int_{0}^{t} \\exp{(-t)}\\exp{(\\tau)} d\\tau \\\\\n",
"&=& \\exp{(-t)}\\left[\\exp{(\\tau)} \\right]_0^t \\\\\n",
"&=& \\exp{(-t)}(\\exp{(t)} - 1) \\\\\n",
"&=&1-\\exp{(-t)}, (0 \\leq t \\leq 1)\n",
"\\end{eqnarray}\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"終了時刻t=0からt=1まで変えた畳み込み積分の結果を図示したのが次のグラフとなる。\n",
"これは伝達関数gを反転させて終了時刻まで移動させてその時重なった領域をプロットしていったものに等しい。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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": [
"plt.axis('equal')\n",
"\n",
"t=np.linspace(0, 1, 500)\n",
"plt.plot(t, 1-np.exp(-t))\n",
"plt.xlabel(\"$t$\")\n",
"plt.ylabel(\"$(f*g)(t)$\")\n",
"plt.grid()"
]
},
{
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment