{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ITU-T G.227 複素数フィルタ → 実数フィルタ\n", "\n", "まず、ITU-T G.227 https://www.itu.int/rec/T-REC-G.227-198811-I/en\n", "\n", "記載の伝達関数を周波数特性としてグラフ化。普通のフィルタのグラフと違ってyはゲインではなくロスなので注意\n", "\n", "\n", "$$ \\frac{E}{2V} = \n", "\\frac{\n", " 18400 + 91238\\ p^2 + 11638\\ p^4 + p (67280 + 54050\\ p^2)\n", "}{\n", " 400 + 4001\\ p^2 + p^4 + p (36040 + 130\\ p^2)\n", "}\n", "$$\n", "$$\n", "p = j \\frac{f}{1000}\n", "$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "from scipy import signal\n", "import json\n", "\n", "def g227(niq, size):\n", " f = np.linspace(0, niq, size)\n", " p = 1j * f / 1000\n", " numerator = 18400 + 91238*p**2 + 11638*p**4 + p*(67280 + 54050*p**2)\n", " denominator = 400 + 4001*p**2 + p**4 + p*(36040 + 130*p**2)\n", " loss = np.abs(numerator / denominator)\n", " dB = 20 * np.log10(loss)\n", " # adjust gain\n", " dB -= np.min(dB)\n", " loss = np.power(10, dB / 20)\n", " return f, loss" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0\n" ] }, { "data": { "image/png": "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hfET/DKtcYuIxKGGrBF7afXq1RQWFnLTTTcdfa68vJzCwkL69u0LcPS1s846i+LiYsrKypg9ezZDhw6lV69eANxzzz088MADJ13WNddcQ0ZGBgBDhw5l3bp1XHzxxdxxxx3ccccdIeUtLi5m7Nix/PnPf6Zz584AXHnlldx4441kZmaycOFCLrvsMqZOnUq/fv2orq5myZIlTJ48mYqKCi699FLy8vJCXl5jqLhFRMQzzjnatWvHokWLTjhNbdkmJycDgbX0xqidT+28aufz/PPP8/vf//647/nZz37GjTfeCMCuXbu46qqr+MlPfsINN9xwdJp27dodvT9kyBDOPfdc5syZQ79+/cjLy+P6668nPT2d9PR0xo4dy5w5czwtbm0qFxERz/Tp04dmzZrxwgsvHH1u5cqVHDx48vH3M888kwULFrBu3ToAxo8ff8zrLVq04MCBAyFluOOOO1i0aNFxb7WlvWfPHsaOHct9993Hvffee8z7i4qKjt7ftGkTs2bNYuDAgQDccsstfPjhhzjnqKys5KOPPmLQoEEh5WosFbeIiHgmJSWFt956iwkTJjBw4ED69+/Pd77znWMO5TqenJwc/vKXv3D55ZczZMgQdu3aRWpqKs2aNQPghz/8IWPGjGHw4MHs37+/yTkfffRR1q5dy1NPPXV0/Pvvf/87EBhT79+/P4MGDeLqq6/mv/7rvxgyZAgQ2MzfoUMHTjvtNAYPHkz//v2/VPzhZl4PoofD8OHD3bx58/yOIQli2rRpjBo1KmrmE2vLjgXx+N0UFhbSr1+/sM830upe6KPu/b///e88++yzTJ8+PSLL9kJDviMzm++cG3681zTGLSIiUelPf/oTr7zyClVVVbRp04a//vWvfkeKCipuERGJSg899BAPPfSQ3zGijsa4RUREYoiKW0REJIaouEVERGKIiltERCSGqLhFRCQuvfHGG8yZM6dR733uuee4/vrrw5woPFTcIiISl5pS3NFMh4OJiMSj9x6E7Uu9mXfH0+GyR0852ezZs3nwwQePnt7017/+NVlZWXz9619n3rx5tGrVirvvvpucnBweffRR7rrrLiBwYZLdu3dzwQUX8MQTT5CWlsbBgwd54IEHWLJkCWVlZYwePZrf//73JCcnU1RUxPe//33WrFkDwM0338zQoUOZNGkSU6ZM4ZlnnuGBBx7gjjvuYPz48fz5z3+mqqqKVq1a8eSTT9KnTx8qKiq4//77+eyzz2jXrt3RM6NFIxW3iIiE3f79+/nWt77Fu+++S6dOnSguLmbEiBEsW7aMO+64g3vvvZerr76a1atXH3NilXnz5jFr1iwyMjK4/PLLefrpp7nvvvt44IEHuOCCC3jmmWeoqanh1ltv5W9/+xvf+MY3uO2227j88suZOHEiALt376Zdu3ZcffXVDB8+nPvuuw+Azz77jJdffplPP/2U9PR03nvvPe655x5mzJjBU089xcaNG1mxYgWVlZWMHDmS/Px8Pz66U1Jxi4jEoxDWiL00c+ZMNmzYwGWXXXb0OTNj7dq1PPTQQ1x00UX88Ic/ZP78+aSkfFFF1113HVlZWQDceeedTJw4kfvuu49JkyYxZ84cfve73wFw+PBhcnNzKS0tZebMmUyePPnoPOpezauut956i8WLF3PmmWcCgSuX7du3D4CpU6dyyy23kJqaSmpqKrfddpunp1dtChW3iIiEnXOOgQMH8umnn37ptX379rF582bS09PZu3cveXl5Ic3vjTfeoHv37sc8X1pa2qBM99xzD7/+9a9Dfk800s5pIiISdueccw5r1qxh6tSpR5+bO3cuzjnuvvtuvv71rzN+/HhuuukmSkpKjk7zxhtvcOjQIaqqqnjhhRcYM2YMAFdffTWPPvoo1dXVQGBz+IYNG8jKyuKcc87hscceOzqP3bt3A9CyZctjLv151VVX8fzzz7N161YAqqurmT9/PgBjxoxhwoQJVFVVceTIEf75z3969Mk0nYpbRETCrnXr1kyaNIlf/epXDBo0iH79+vHwww/z2GOPUVZWxk9/+lMuvPBCbrjhBsaNG3f0fUOHDuWSSy6hX79+dO3a9ehrf/jDH0hOTmbQoEGcfvrpXHrppUevk/3iiy8yY8YMBgwYwKBBg3j22WcBuP322/nnP//J4MGDef755xk5ciSPPPIIV199NYMGDWLAgAG8+eabAIwbN46uXbvSr18/xowZw4gRIyL8iYVOm8pFRMQTI0aMYNq0aV96/oEHHjh6/z//8z+PeW3AgAE899xzX3pPixYtePLJJ4+7nC5duvDGG28cd/nLly8/5rlbb72VW2+99UvTpqWl8ac//cnTy3qGi9a4RUREYojWuEVEJCo899xzx4x3y/FpjVtEJE445/yOICcQzu9G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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sr = 44100\n", "firlen = 513\n", "xticks = [33, 50, 100, 500, 1000, 5000, 10000]\n", "\n", "f_m, loss_m = g227(sr/2, 2**13)\n", "f, loss = g227(sr/2, int(firlen/2))\n", "\n", "print(np.min(20 * np.log10(loss)))\n", "plt.figure(figsize=(8,10))\n", "plt.title(\"Frequency response\")\n", "plt.xscale('log')\n", "plt.grid(True)\n", "plt.ylabel('Composite loss')\n", "plt.xlabel('Frequency')\n", "plt.ylim((0, 70))\n", "#plt.xlim((33, 10000))\n", "plt.xlim((1, sr/2))\n", "plt.xticks(xticks, xticks)\n", "plt.plot(f, 20 * np.log10(loss), label=\"length=%d\" % int(firlen/2))\n", "plt.plot(f_m, 20 * np.log10(loss_m), label=\"expected\")\n", "plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=11)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FIR\n", "\n", "そのまま IFFT して有限インパルス応答 (FIR) を得る。フィルタにしたいのでロスの逆数をとってゲインにしている。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "513\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4YAAAFNCAYAAABcw3FTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeXzcVb3/8ddnZjLZmzZJky4B0pXSspZSdgkCAiKgVxDwiihcEZd7r+i9P71er6D36kWv13254BVBFgFx68UqyBIEoVDKXqB037dsTbPNZGbO74/vTDrNOpPMZNLk/Xw8hpn5rp9JvyR555zvOeacQ0RERERERCYuX64LEBERERERkdxSMBQREREREZngFAxFREREREQmOAVDERERERGRCU7BUEREREREZIJTMBQREREREZngFAxFRER6MbOPmNnTua5DRERktCgYiojImGVmm8zs3FzXISIiMt4pGIqIiOSAmQVyXYOIiEiCgqGIiBwS4t07/2pm3zGzFjPbYGanxZdvNbM9ZnZN0vZ3mNn/mNmfzWy/mT1pZkfE19WamUsOZ2ZWb2Z/1895LX7OPWbWamavmdnR8XX5ZvYtM9tiZrvj5ytMof5G4Ob48mvN7E0zazazh5NqHOy8A362+PrTzGylme2LP5/W63P+e7yW/Wb2iJlVxtcVmNndZtYY/xqvNLPq+LoyM/uZme00s+1m9h9m5h/+v6iIiIwlCoYiInIoORl4FagA7gXuA04C5gIfAn5oZiVJ2/8t8O9AJfAycM8wzvku4B3AfKAM+ADQGF93S3z58fEaZgJfHqL+DUA18DUzuxT4IvA3wFTgKeCXKZx3wM9mZuXAH4Dv432dvg38wcwqkvb9IPBRoAoIAv8UX35N/FyHxfe9AeiMr7sDiMQ/5wnx+voEaREROTQpGIqIyKFko3Pu5865KHA/XoD5qnMu5Jx7BAjjBZeEPzjn/uKcCwH/CpxqZoelec5uoBRYAJhz7k3n3E4zM+B64EbnXJNzbj/wdeDKQY61wzn3A+dcxDnXiRe8/jN+zEh8/+PjrX/9njeFz3YRsNY5d1f8PL8E3gIuTtr35865t+M1PIAXbBOftQKY65yLOudWOeda462G7wY+45xrd87tAb4zxGcVEZFDiIKhiIgcSnYnve4EcM71XpbcYrg18cI51wY0ATPSOaFz7nHgh8CPgD1mdpuZTcJr4SsCVsW7XbYAf4ovH8jWXu+PAL6XtH8TYMDMQc471GebAWzudZ7NeK2ZCbuSXndw4Gt2F/AwcJ+Z7TCzb5pZXrzOPGBnUq234rU4iojIOKBgKCIi41lP62C8i2k5sANojy8uStp22kAHcc593zl3IrAQr2vnPwMNeEF0kXNucvxR5pwrGeg4gOv1fivw8aT9JzvnCp1zzwxy3qE+2w68IJfscGD7IHUlPme3c+4rzrmFwGnAe4APx+sMAZVJdU5yzi0a6pgiInJoUDAUEZHx7N1mdoaZBfHux1vhnNvqnNuLF5Q+ZGZ+M7sWmNPfAczsJDM7Od5y1g50ATHnXAz4KfAdM6uKbzvTzM5Po77/Af7FzBbF9y8zs8sHO+9Qnw1YDsw3sw+aWcDMrsALlg8NVYyZnW1mx8QHlWnF61oai3dhfQT4bzObZGY+M5tjZmel8VlFRGQMUzAUEZHx7F7gJrxulifiDVCT8DG8FrhGYBHwzADHmIQXAJvxumQ2Av8VX/d5YB2wwsxagUeBI1Mtzjn3W+AbeF03W4HXgQtTOO+An80514jX0ve5+D7/D3iPc64hhZKmAQ/ihcI3gSfxupeC13IYBN6I1/QgMD3VzyoiImObOde7V4uIiMihz8zuALY5576U61oybTx/NhERyQ21GIqIiIiIiExwCoYiIiIiIiITnLqSioiIiIiITHBqMRQREREREZngFAxFREREREQmuECuCxhNlZWVrra2NtdlSJa1t7dTXFyc6zJknND1JJmk60kyTdeUZJKup4lh1apVDc65qb2XT6hgWFtbywsvvJDrMiTL6uvrqaury3UZMk7oepJM0vUkmaZrSjJJ19PEYGab+1uurqQiIiIiIiITnIKhiIiIiIjIBKdgKCIiIiIiMsEpGIqIiIiIiExwOQ2GZnaBma0xs3Vm9oV+1ueb2f3x9c+ZWW2v9YebWZuZ/dNo1SwiIiIiIjLe5CwYmpkf+BFwIbAQuMrMFvba7Dqg2Tk3F/gO8I1e678N/DHbtYqIiIiIiIxnuWwxXAqsc85tcM6FgfuAS3ttcylwZ/z1g8A5ZmYAZvZeYCOwepTqFRERERERGZdyGQxnAluT3m+LL+t3G+dcBNgHVJhZCfB54CujUKeIiIiIiMi4dqhOcH8z8B3nXFu8AXFAZnY9cD1AdXU19fX1WS9OcqutrU3/zpIxup4kk3Q9SabpmpJM0vU0seUyGG4HDkt6XxNf1t8228wsAJQBjcDJwGVm9k1gMhAzsy7n3A97n8Q5dxtwG8CSJUtcXV1dpj+HjDH19fXo31kyRdeTZEpjW4jfP/Y079H1JBmk71GSSYfS9RSLxWhoaKClpYVoNJrrcnKqoKCAmpoa8vLyRnScXAbDlcA8M5uFFwCvBD7Ya5tlwDXAs8BlwOPOOQecmdjAzG4G2voLhSIiImPFDx5fxy+f7+Kaix1+3+C9XUREZHDbtm3DzKitrSUvL4+hehGOV845Ghsb2bZtG7NmzRrRsXJ2j2H8nsFPAw8DbwIPOOdWm9lXzeyS+GY/w7uncB3wWaDPlBYiIiKHgvV72whFYee+zlyXIiJyyGtvb2fmzJkEg8EJGwoBzIyKigq6urpGfKyc3mPonFsOLO+17MtJr7uAy4c4xs1ZKU5ERCSDNuxtB2BjQzs1U4pyXI2IyKHP58vplOxjRqaCsb6aIiIiWdbVHWVHvKVwU0N7jqsRERHpS8FQREQky7Y2deCc93pjQ0duixERkTGtrq6Ohx56aNTPq2AoIiKSZRvjrYR+g02NajEUERnvIpFIrktIm4KhiIhIliXC4JHlPnUlFREZp8yMm2++mZNOOomvfOUrAHzjG99g6dKlLF68mIsvvphdu3YB8Nhjj3HqqadywgkncMwxx3DfffflsnTg0J3gXkRE5JCxsaGDKUV5zC6DP23qIBKNEfDrb7MiIpnylf9bzRs7WrNy7IUzJnHTxYtS2rawsJCVK1cCcPfdd7N+/XpWrFiBz+fjJz/5CZ/73Oe45557WLx4MU8//TR+v5/du3dz4okncv755zNlypSsfIZUKBiKiIhk2aaGdmori6ku6iASc2xv6eSIiuJclyUiIhl2zTXX9LxetmwZL7zwAosXLwa87qVlZWUA7N27l2uvvZa1a9cSCARoampizZo1nHLKKTmpGxQMRUREsm5jQzunzamgOujNM7WhoV3BUEQkg1Jt0cu2kpKSntfOOb70pS9x7bXX9tnuE5/4BJdccgm/+c1vMDPmz5+fkbkIR0L9WERERLKoqzvKrtYujqgoprrI+7G7pVEjk4qIjHeXXHIJP/7xj2lubgYgFArxyiuvANDS0kJtbS1mxp///GfWrVuXy1IBtRiKiIhkVWN7GICqSfmUtoPfZzS0hXJclYiIZNvVV19NQ0MDZ511FgCxWIxPfvKTHHfccdxyyy188pOf5KabbuKkk07i2GOPzXG1CoYiIiJZ1dTmBcPy4iC+DmNKUZCG+DIRERk/XGLC2iQ33ngjN954Y5/l5513HmvXru33OPX19ZkuLSXqSioiIpJFje1e62BlSbDnuVEthiIiMsYoGIqIiGRRU3uixTAfgIqSYE/3UhERkbFCwVBERCSLDgRDr8WwojhfLYYiIjLmKBiKiIhkUWN7mDy/ManAu62/oiRIo+4xFBGRMUbBUEREJIsa20JMKQpiZgBUluSzPxShqzua48pEREQOUDAUERHJoqb2cE83UoCK+Osm3WcoIiJjiIKhiIhIFjW2h6koSQqGJd4gNOpOKiIyvhx//PF0dnbmuoxh0zyGIiIiWdTUHqZmyuSe94mQ2NCuAWhERMaTl19+OdcljIiCoYiISBY1tYV7uo8CVManrWhSi6GIyLhiZuzfv5+SkhJqa2v50Ic+xGOPPcb27du55ZZb2LNnD/feey9NTU3cfvvtvOMd7yASiXDRRRfR2NhIZ2cnS5cu5dZbbyUYDBIOh/n0pz9NfX09VVVVHH/88ezatYsHH3wwK/UrGIqIiGRJKBJlfyhyUDBMtBg2qsVQRCRz/vgF2PVado497Ri48Ja0dwuFQjz77LOsXLmSuro6vvnNb/L888/zwAMP8MUvfpGnn34av9/PvffeS0VFBc45rrnmGm6//XZuuOEGbr31VrZs2cIbb7xBJBKhrq6OmpqaLHxAj4KhiIhIljS3dwNQnnSPYVHQT37Ap3sMRUTGuSuuuAKAxYsX09HR0fP+xBNPZN26dQDEYjG+9a1v8cc//pFoNEpzczNFRUUAPPHEE1x99dUEAgECgQBXXXUVTz31VNbqVTAUERHJkkSrYHKLoZlRWZJPg4KhiEjmDKNFL9sKCgoA8Pv9fd5HIhEA7r33Xp5++mmeeuopSktL+frXv87bb7+dk3o1KqmIiEiWJKakKI/fV5hQURJUV1IREaGlpYXKykpKS0vZt28f9957b8+6uro67rnnHiKRCF1dXdx///1ZrUUthiIiIllyIBgGD1peURxUi6GIiPDhD3+Y3//+9yxYsICqqirOPPPMnikvbrjhBl555RUWLlxIZWUlRx11VFZrUTAUERHJkkT4q+gdDEvyeWvX/lyUJCIiWeKc63m9adOmAdfV1tbS0NAAQFlZGY8++mi/xwsGg3z3u9+ltLSUUCjEJZdcwuWXX575wuMUDEVERLKkqT2E32eUFeYdtLyiOEhjexjnHGaWo+pERGSsO/fccwmFQnR1dXHuuefykY98JGvnUjAUERHJkqb2MFOK8vD5Dg5/5cVBwpEYHeEoxfn6USwiIv177rnnRu1cGnxGREQkSxrbwn3uL4QD9xwm7kEUERHJNQVDERGRLGlq7z8YHpjkXsFQRGS4YrFYrksYE5LvXxwJBUMREZEsaWoPU1GS32f5lKJEi6GmrBARGY7i4mK2b99OOBzOWDA6FDnnaGxs7JkjcSR0Y4OIiEiWNLaH+4xIClARn9ewUVNWiIgMS01NDQ0NDWzevLlnsviJqqCggJqamhEfJ6fB0MwuAL4H+IH/dc7d0mt9PvAL4ESgEbjCObfJzJYCtyU2A252zv129CoXEREZXHc0xr7O7v7vMYx3JW3uUDAUERkOn89HVVUVVVVVuS5l3MhZV1Iz8wM/Ai4EFgJXmdnCXptdBzQ75+YC3wG+EV/+OrDEOXc8cAFwq5mp9VNERMaMROjrr8WwOOgnGPDpHkMRERkzcnmP4VJgnXNug3MuDNwHXNprm0uBO+OvHwTOMTNzznU45xJtxgXAxO1YLCIiY1JixNHy4r73GJoZ5UVBmtSVVERExohcBsOZwNak99viy/rdJh4E9wEVAGZ2spmtBl4DbkgKiiIiIjmXuH+wv66kieWarkJERMaKQ7b7pXPuOWCRmR0F3Glmf3TOdfXezsyuB64HqK6upr6+fnQLlVHX1tamf2fJGF1PMlwrdnp/r9zwxiuEtnp/h02+nizcycadur5kZPQ9SjJJ19PElstguB04LOl9TXxZf9tsi99DWIY3CE0P59ybZtYGHA280PskzrnbiA9Us2TJEldXV5ep+mWMqq+vR//Okim6nmS4Nv11I7zyBueffTqV8Skrkq+n3+56iZe3tuj6khHR9yjJJF1PE1suu5KuBOaZ2SwzCwJXAst6bbMMuCb++jLgceeci+8TADCzI4AFwKbRKVtERGRoTe1hzA7MWdjbFN1jKCIiY0jOWgydcxEz+zTwMN50Fbc751ab2VeBF5xzy4CfAXeZ2TqgCS88ApwBfMHMuoEY8EnnXMPofwoREZH+NbaHmVIUxO+zftdXFAfZH4oQikTJD/hHuToREZGD5fQeQ+fccmB5r2VfTnrdBVzez353AXdlvUAREZFhamoPDzjwDCTNZdjezbQyBUMREcmtXHYlFRERGbcahwiGifkNG9tDo1WSiIjIgBQMRUREsqCpPdzv5PYJifkNm9u7R6skERGRASkYioiIZMGQXUmL8wC1GIqIyNigYCgiIpJh0ZijuSO1FkNNci8iImOBgqGIiEiGNXeEcY5BWwwnF+bhMwVDEREZGxQMRUREMiwR9srjE9v3x+czby5DBUMRERkDFAxFREQyrDE+cf1gXUkBphQrGIqIyNigYCgiIpJhPS2GQwTD8uIgjQqGIiIyBigYioiIZFhTfKTRoVoMK9RiKCIiY4SCoYiISIYlWgGnpNBiqGAoIiJjgYKhiIhIhjW1h5lUECDPP/iP2YriIC0dYaIxN0qViYiI9E/BUEREJMMa28NUDDIiacKU4iAxB/s6u0ehKhERkYEpGIqIiGRYU1t4yIFn4MDgNIl7EkVERHJFwVBERCTDmtpTC4YVxV6rYmJ6CxERkVxRMBQREcmwxvbwkCOSQnKLoYKhiIjkloKhiIhIBsVijuaONLuSdigYiohIbikYioiIZFBrVzfRmEspGE4pzgO8exJFRERyScFQREQkgxJzGFaUDB0M8wN+SvMDPfuIiIjkioKhiIhIBiXuFywvHnq6CoDyEk1yLyIiuadgKCIikkGJEUZTGXwGvPsMFQxFRCTXFAxFREQy6ECLYYrBsEjBUEREck/BUEREJIMSk9WnHAzVYigiImOAgqGIiEgGNbaHKQ76Kcjzp7R94h5D51yWKxMRERmYgqGIiEgGNbWHKU9hRNKEiuIg4WiMtlAki1WJiIgMTsFQREQkg5raw1SkOCIpwJSiYM9+IiIiuaJgKCIikkGNbeGURySFA/MdNrWHYf3j8MiX4K0/QCyWrRJFRET6UDAUERHJoKb2cMoDz0DSfIfrn4B7PgDP/ADu+yD85ZtZqlBERKQvBUMREZEMcc4N6x7DKbRy9NOfgqkL4J/Xw8L3wlPfhsb1WaxWRETkAAVDERGRDGkLRQhHY2l1JS0vDvIO36vkRTvgku9BcSVccAv4g/Cnf8litSIiIgcoGIqIiGTIgcntUx98pijopy7wOh2BMph+grdw0nQ44zOw9mHY9Xo2ShURETmIgqGIiEiGNMaDYTothgac6XuVNUVLwJf0Y3nJtZBXBCt+nOEqRURE+sppMDSzC8xsjZmtM7Mv9LM+38zuj69/zsxq48vPM7NVZvZa/Pmdo127iIhIb01tiRbD1IMhu1dTSQsv5i0+eHlROZzwIXj1Adi/K4NVioiI9JWzYGhmfuBHwIXAQuAqM1vYa7PrgGbn3FzgO8A34ssbgIudc8cA1wB3jU7VIiIiAzvQlTSNYLj+MQCedsf0XXfyDRDr9sKhiIhIFuWyxXApsM45t8E5FwbuAy7ttc2lwJ3x1w8C55iZOedecs7tiC9fDRSaWeo3dIiIiGRBT1fSNEYlZdtK9ubNZF1Xad91FXNg+nHwxu8zVKGIiEj/chkMZwJbk95viy/rdxvnXATYB1T02ub9wIvOuVCW6hQREUlJU3uIgjwfRcFA6jvtXUNj0eyebqh9LHwvbH8BWrb2v15ERCQD0vjJNfaY2SK87qXvGmSb64HrAaqrq6mvrx+d4iRn2tra9O8sGaPrSdLxxvoQxX434DXT+3qyWIQzG9ezrWQR7eEojzz2BEG/HbRPYcc0TgbW/d+32XZY7441MtHpe5Rkkq6niS2XwXA7cFjS+5r4sv622WZmAaAMaAQwsxrgt8CHnXMDzgDsnLsNuA1gyZIlrq6uLlP1yxhVX1+P/p0lU3Q9STru2Pg8MyxMXd0Z/a7vcz3tXQN/iVI06yTYC8csOYXpZYV9d9z8Y+aGXmdu3XeyU7gcsvQ9SjJJ19PElsuupCuBeWY2y8yCwJXAsl7bLMMbXAbgMuBx55wzs8nAH4AvOOf+OmoVi4iIDKKpPZzewDN73/Kepx4JQONA3UkXXQrbnod9vf9+KiIikhk5C4bxewY/DTwMvAk84JxbbWZfNbNL4pv9DKgws3XAZ4HElBafBuYCXzazl+OPqlH+CCIiIgdpbAunNYche98GIFi9ADgwqmkfC9/rPb/5fyMpT0REZEA5vcfQObccWN5r2ZeTXncBl/ez338A/5H1AkVERNKQdothwxooO5zJkyf37N+vynlQtQje+B2cckMGKhURETlYTie4FxERGS/aQxE6u6NUlqYxe9Let2DqfKaWePs0tA0ywPbCS2HLCmjdOcJKRURE+lIwFBERyYBEqEuEvCHFYtCwDqYuYFJhgKDfx95Bg+ElgIM1ywfeRkREZJgUDEVERDJg7/54MEy1xXD/Toh0QsUczIyppfk9x+jX1AUw+XBY+0gGqhURETmYgqGIiEgGJEJdZaothm27vOfS6d5+QwVDM5h3Pmx4Ero7R1KqiIhIHwqGIiIiGZDoBppyi2HbHu+5xBtUe2pJcPBgCDD/fK+VcdPTwy1TRESkXwqGIiIiGbB3fwifkfqopG27veeSasALlA0DzWOYUHsm5BXB2w+PoFIREZG+FAxFREQyYO/+EBUl+fh9ltoOiRbD4qmAN2hNU3uIaMwNvE9eAcw6C9Y+DG6Q7URERNKkYCgiIpIBe/eHUh+RFLwWw8IpEPD2mVqaT8xBY/tQ3UnfBS1bYO+aEVQrIiJyMAVDERGRDGhoC6U3h2Hb7p5upHDg3sQh7zOc9y7vea26k4qISOYoGIqIiGRA+i2Ge3oGnoE0gmFZDVQfDW9r2goREckcBUMREZERcs6xty2U+oikEG8xnNbzdmpJAZBCMASv1XDLs9DZkm6pIiIi/VIwFBERGaF9nd10R13qwdC5Pi2GlaXeaKZDjkwKMP8CcFFY//hwyhUREelDwVBERGSEEq18KQfD0H7o7jjoHsOiYICS/EBqLYY1S6CwHNaqO6mIiGSGgqGIiMgI9QTDVO8x7JncvvqgxZUlQfa2pRAMfX6Ye64XDGPRdEoVERHpl4KhiIjICCXC3NTSdCe3rzpo8dTSfPbu70rtGPPPh45G2P5iqmWKiIgMSMFQRERkhBIthpUptxgmguHBLYZTS/PZk0pXUoA57wTzadoKERHJCAVDERGREdrd2kV+wEdZYV5qOwzQlbSqtIC9rSkGw6JyOOwUePtPaVQqIiLSPwVDERGREdrVGmJaWQFmltoObbvBF4DCKQctnlZWwP5QhPZQJLXjHHkh7HoNWrakWbGIiMjBFAxFRERGaPe+LqonFaS+Q0cDFFWA7+Afw9Pix9jVmuJ9hgsu8p7fWp76uUVERPqhYCgiIjJCu1q7ekJdSjpb+rQWAj3hcve+FINhxRyYehS89VDq5xYREemHgqGIiMgIOOe8YFiWTjBshoLJfRYnjpFyiyHAgnfD5megoyn1fURERHpRMBQRERmBlo5uwpFYel1Ju1qgsJ9gmG5XUvC6k7qoJrsXEZERUTAUEREZgUSIS68r6b5+WwwLg34mFQRS70oKMP0EKJ2h7qQiIjIiCoYiIiIj0BMMy1KcwxAGbDH0jlOQXouhz+eNTrruMejuTH0/ERGRJAqGIiIiI5Bo3Uu5K2ksCqHWflsME8fZlepchgkLLoLuDtjwZHr7iYiIxCkYioiIjECida+qNMVg2LXPe+5nVFLwuqSm1ZUUoPZMyJ8Eb/1fevuJiIjEKRiKiIiMwO7WLipLggQDKf5I7Wz2ngfpSrq3LUQ05lIvIhCE+RfAmw9BJJz6fiIiInEKhiIiIiOwK93J7TtbvOdBupJGY46GtjS7kx79fu/exQ1PpLefiIgIKQZDM/ummU0yszwze8zM9prZh7JdnIiIyFi3qzWU3oikXUO0GCamrEi3O+mcd3ph87UH09tPRESE1FsM3+WcawXeA2wC5gL/nK2iREREDhW7W7uoTmty+8FbDIc1yT143UkXXgJrlkO4I719RURkwks1GObFny8CfuWc25elekRERA4ZneEoTe1hZqQTDLviwXCAFsPp8WPtaBnG1BNHXwbhNlj7cPr7iojIhJZqMPw/M3sLOBF4zMymAmn+KbMvM7vAzNaY2Toz+0I/6/PN7P74+ufMrDa+vMLMnjCzNjP74UjrEBERGY4d+7zwNnNKYeo7DdFiWF4cpCDPN7xgWHsGlFTD679Of18REZnQBg2GZnZ5/OWtwGnAEudcN9ABXDqSE5uZH/gRcCGwELjKzBb22uw6oNk5Nxf4DvCN+PIu4N+AfxpJDSIiIiOxvdkLbzPK0giGXS0QKIS8/lsZzYwZkwvZPpxg6PPDovfB248cmBZDREQkBUO1GP5L/PnXzrkm51wUwDnX7pzbNcJzLwXWOec2OOfCwH30DZuXAnfGXz8InGNmFj//02Sg1VJERGS4EuEt7RbDAbqRJsycXNgTOtN29GUQDcFby4e3v4iITEhDBcMmM3sEmG1my3o/RnjumcDWpPfb4sv63cY5FwH2ARUjPK+IiEhGbG/uxO+zNEclbRmwG2lCzZRhthgC1CyByYfDq/cPb38REZmQAkOsfzewGLgL+O/sl5N5ZnY9cD1AdXU19fX1uS1Isq6trU3/zpIxup5kMKvWdDE5CE8/9ZeUtm9ra6N550bMGS8Pcl2FmsM0tHXzyGNPEPRb2nUdMfl0Zm34JSv+eD9dhdVp7y+HDn2PkkzS9TSxDRUMf+acu9rMfuqcezLD594OHJb0via+rL9ttplZACgDGtM5iXPuNuA2gCVLlri6urrh1iuHiPr6evTvLJmi60kG8+M1zzJnGtTVnZrS9vX19UzJNyg7YtDrqmnSNn6z9hXmHnsSs6eWpF/Yvnnw3fs5Je8tqLsi/f3lkKHvUZJJup4mtqG6kp5oZjOAvzWzKWZWnvwY4blXAvPMbJaZBYErgd7dU5cB18RfXwY87pxzIzyviIhIRmxv7mTG5DS6kYLXlTSFewyB4XcnLZsJ886Hl+6GaPfwjiEiIhPKUC2G/wM8BswGVgHJ/VlcfPmwOOciZvZp4GHAD9zunFttZl8FXnDOLQN+BtxlZofcZ+UAACAASURBVOuAJrzwCICZbQImAUEzey/wLufcG8OtR0REJB2RaIxdrV3pDTwD8cFnpgy6yYxEMBzuADQAJ34E3v4jrPmjN/G9iIjIIAYNhs657wPfN7OfOOc+kemTO+eWA8t7Lfty0usu4PLe+8XX1Wa6HhERkVTt3h8iGnPMnFyU8j4Wi0J4/5CDz0wrK8BnI2gxBJh7LkyaCavuUDAUEZEhpTTBvXPuE2Z2hpl9FMDMKs1sVnZLExERGbsSrXnptBj6ox3ei4JJg26X5/cxbVLByFoM/QE44WpY/zg0bxr+cUREZEJIKRia2U3A5zkwr2EQuDtbRYmIiIx1OxJzGE5OJxjGp98NFg+57cyRTFmRcMKHwAxW3Tn0tiIiMqGlFAyB9wGXAO0AzrkdQGm2ihIRERnrtjZ5rX/DCoZ5Q3c/nTm5kG0jaTEEmHwYzL8QVv0cQm0jO5aIiIxrqQbDcHw0UAdgZkP/qVNERGQc29zUQfWkfAqD/pT3SafF8IiKYnbs6yQUiQ63RM8Zn4HOZnjxFyM7joiIjGupBsMHzOxWYLKZfQx4FPhp9soSEREZ2zY3tnNERXp/J/XFQt6LFFoMayuLcA62No2w1fCwpXDE6fDsDyESHtmxRERk3Ep18JlvAQ8CvwaOBL7snPtBNgsTEREZyzY1dlBbkfqIpAD+aDwYpthiCF4AHbEzboTW7fDar0Z+LBERGZdSbTEEeBV4EqgHXslKNSIiIoeA9lCEvftDabcYpnOPYW382JsaO9Kur4+550L1MfDX70IsNvLjiYjIuJPqqKQfAJ7Hm1PwA8BzZnZZNgsTEREZqzbHw1rtsLuSDj1gzZSiPEoLAplpMTTz7jVseBvWLB96exERmXBSbTH8V+Ak59w1zrkPA0uBf8teWSIiImNXIqwdkXZX0tQHnzEzaiuKM9NiCLDwvTBlFjzxdYiNcEAbEREZd1INhj7n3J6k941p7CsiIjKuJMLasINhCl1JE8fPSIsheBPen3sT7FkNL2kqYhEROViq4e5PZvawmX3EzD4C/AFQXxQREZmQNje2U1kSpLQgL639egafSTEY1lYUs625k+5ohu4LXPheOOxkeOJrENqfmWOKiMi4MGgwNLO5Zna6c+6fgVuBY+OPZ4HbRqE+ERGRMWfTMKaqAPDFuiBQCL7U/i57REUR0Zhj+0gnuk8wg/O/Dm274a/fy8wxRURkXBjqJ9N3gVYA59xvnHOfdc59FvhtfJ2IiMiEs7mxgyPK0+tGCvEWw2Dq+9VWeuFzY6a6kwLULIFjLodnfgD7tmXuuCIickgbKhhWO+de670wvqw2KxWJiIiMYfu7utm5r4s5VSVp7+uPdkFe6i2Ns+PBcP2etrTPNahzbvKe//Qv4Fxmjy0iIoekoYLh5EHWDT3WtoiIyDizfq/Xejd3uMEwjRbDipJ8youDrMt0MJx8GNR9Ad5cBq89mNlji4jIIWmoYPiCmX2s90Iz+ztgVXZKEhERGbvW7vYGbZk3jGDoi4VTHngmYW5VCWszHQwBTvsHqFkKyz8HrTsyf3wRETmkDBUMPwN81Mzqzey/448ngeuAf8x+eSIiImPLuj1tBP0+Dh/WPYZdKc1hmGxeVQlrd+/HZbrLp88P7/sfiHbDsr9Xl1IRkQlu0GDonNvtnDsN+AqwKf74inPuVOfcruyXJyIiMras3dPG7KnFBPzpT+fr3WOY3p0Y86tLae2KsHd/KO3zDaliDpz3VVj3KKz838wfX0REDhmBVDZyzj0BPJHlWkRERMa8tXv2c1zNYLfgD8wXC6XdlTTRZXXtnjaqJhUM67yDWnIdrP0z/OkLMPVImPWOzJ9DRETGvPT/3CkiIjJBdYQjbGvuZF5V6bD2H05X0rnVXjB8e3eWJqT3+eD9P4WKuXD/1dC4PjvnERGRMU3BUEREJEUb9rbjHMyrTn/gGYjPY5hmi+HUknzKCvOyMwBNQkEZXHWfd9/hvR+AzubsnUtERMYkBUMREZEUrd0z/BFJIf3pKgDMrGcAmqwqnwVX3A3Nm+Huy6CzJbvnExGRMUXBUEREJEVv7GglGPBRW5led1AAYlF8rjutCe4TFkwv5a2d+4nFsjxy6BGnwQfuhJ2vwJ0XQ3tjds8nIiJjhoKhiIhIil7bvo+jpk8ibxgjkhJu957TbDEEOGZmGftDETY3daR/3nQtuAiu+iU0vA13XAT7NQi5iMhEoGAoIiKSgljMsXp7K0fPmDS8A3R3es9p3mMIsGhGGQCvb983vHOna9558MEHoGUz3FYHW1aMznlFRCRnFAxFRERSsLW5g/2hCMfMLBveAboTLYbpdyWdX11K0O/j9R2jFAwBZp8F1z0CgQKv5XDFT8BluSuriIjkjIKhiIhICl6Lt9YdPdxgGI53A01zgnuAYMDHkdNKR6/FMGHaMXB9Pcx7lzfP4T2XQ/Om0a1BRERGhYKhiIhICl7f3kqe35hfPbw5DOlOBMNhDFyDF0hf396KG+1Wu8LJcMU9cMEtsOVZ+NHJ8NR/QyQ0unWIiEhWKRiKiIik4PXt+zhyWinBwDB/dI5g8BmAo2dOYl9nN9uaO4d3/pHw+eCUT8CnnvfuP3zsq/D9E+D5n0J31+jXIyIiGadgKCIiMoRYzPHa9n3Dv78QkloMhxcME+d+ZVsO5xcsm+nNdXj1b6GsBpb/E3zvOHjym7BvW+7qEhGREVMwFBERGcLaPW3s6+zmxCPKh3+QxD2Gwxh8BuCo6ZMozPPzwqbm4deQKXPeCdc+DB9eBlUL4ImvwXePgbvfDy/+Alp35LpCERFJUyCXJzezC4DvAX7gf51zt/Ranw/8AjgRaASucM5tiq/7F+A6IAr8g3Pu4VEsXUREJpCVm5oAWFo7gmCYGJV0mC2GeX4fJxw+uaeWnDPzRi6dfRY0bYSX7oZX7oN1j3rrqxbB3HNgztkwY7F3r6KIiIxZOQuGZuYHfgScB2wDVprZMufcG0mbXQc0O+fmmtmVwDeAK8xsIXAlsAiYATxqZvOdc9HR/RQiIjIRrNzURFVpPoeVpz+iaI+eFsPhBUOAk2rL+cHja9nf1U1pQd7wa8m08llwzr/BO78Ee97wwuHaP3tTXDzzfW+binkw43iYugCqjvLeTz4c8gpyW7uIiAC5bTFcCqxzzm0AMLP7gEuB5GB4KXBz/PWDwA/NzOLL73POhYCNZrYufrxnR6l2ERGZQF7Y1MxJs8rxfgQN0whHJQUvGMYcvLSlhXfMnzr8WrLFDKoXeY/T/xFC+2HbSti+Cratgi0r4LVfHbxPyTSYfBiUVEPpdCit9l7nT4L8EgiWxp+LD7wO5Ofm84mIjGO5DIYzga1J77cBJw+0jXMuYmb7gIr48hW99p2ZvVKzw8VibP/Dfx60rPevHAe/d94P3UG2763Peht0bdLhrd9thvqdqO9qN/D6wYsb+rP1qdUzZetWmkLP9VPrcI/fax9LvLY+y5JfJv8CaUkbmfXarp9j9j7/gWP6etaN4NfTvieQOIt/Xazn61OzdT2seLPfdQe/72f9gOuGOlY6+yY/D/Q5Unz2Bbw59vIKve6OgQLv2Z/Tuw5ybntLJ9tbOvnYmbNGdqDuDmLmxxcIDvsQJxw+Gb/PWLmpaWwGw97yS737Eee888Cy0H7YuwYa10PLZm9exNbt0LgONj0NXSkMruPLi4fFEu969QcPPALxZ18e+Pzedd3z8HsP86f4PTDF75M5PNbc7dugY/kwj3PwsUZWU6aPlcrpsv91T54dxmGAO+g3G9fzH/ou77N/0n/MetYd9JtSzzKXdM7+a+p3m35ms+mp5aBjub6vHFTs2EFT2xM9S/ufHcf6O00/2/b+LbbvXv19vv71f84Dxxn8/WB1pbuNS2GbhMKF76J87tIUzjc2jPuf9mZ2PXA9QHV1NfX19bktKImLxTh71TdzXca4Uw7enwpEMmAuwPpcV5FbMQsQ8wWJ+vOJ+fJ7XkcCxYSDk+nOKyMcLKM7b3L8uYxwcAqh/CneL+CHuGd2RACwxg3U128e9nHmbnibal+Qv4zw59DhJcYjL23gxODOER0n96q9x+SlkHT7oS8aIq97H4FIB/5oZ/zRRSDSedB7f7STQKQTXyyERSP4uiP4Yh2Ya8UX68ZcDHPRpMfB7zNn6HklLaNzT7qDwshUHKFdlrTWO19Kvyj3qqu/bawnfAxaUopS3TCFr+kQuziGihLJxxrG+QY08LEO/Nkv1bpS2Sazn3EywCBjR/lslOdRPcQt27KPSUd35LqMlOUyGG4HDkt6XxNf1t8228wsAJThDUKTyr4AOOduA24DWLJkiaurq8tE7RnhYjH+Mn110oIhvkG7/v8aNcDufd8nvTZcn0mSe//tqO/PscSfqA7+S9fQ9Vh8vetn3UD7Dv6N58DqxA+sA9uveWsN8488st/tzTmc9f32OOSE0c47R/Jf91zSsgPluAPrnOu17cHncUMcM7m2nm16nzP5fEnLE+9JOm/POgAXwzmIxZfHnCMWryIWO3CsWHynWPw8sV7LDuwfPweJ5fHa3IF9+tsmcYxozJsOwDlH1DliscQzROOvnXNEY65n377LB/8nHIrXbubij+Qfoq7fdX6D/ICP/IB5D/+B18GAn6DPyM8z8v1GMHmdP74s4CMYOLA+6IdgwAj6/QT9Fn/v8177oCjopzjoJz9g8Qu65yI48D5xkSQvS/UZINoN3Z3eIxJ/7u7C192Br9v7JbxnfXcHdLZA+0ZoajgwsEoyX57XRXDKLO++sqlHxrsZHn1I3Vf2u/teoqK4gavf8058vhG0drT+mtDeAkb6c+i5rrf46V82sPiU05k0lu4znCDCkRjtoQjt4Qgd4ShtoQgdofhzOBJfF6UjFCEUjdEdcXRHY3RHY4SjMbqjju5I4nWMcCQWX+96tjloWdK2I/0+lwoz8JnhN8MM/L6DX/vM8MWX+Qx88WXeOnpemxl+n/fe4tt6+9iBc/gOvE7sm9jWet57vWnMOLAObx2Jbei1fe9lxJclHcuXtF2/x4l/MRLLenoJxc+fOE/y1y1x7Pgh+yyDg2s7sN3B+yXeDHTu5PPR6zg9x0g6R/LrgXomJbz55pssXLhw4OP0s3/yYYbsrXVQo2Xf9sLe3fUTv0EOdPye984dVFs/p44vGjq4D+sPEwNYUl3GjPKSFLfOvVwGw5XAPDObhRfqrgQ+2GubZcA1ePcOXgY87pxzZrYMuNfMvo03+Mw84PlRqzxDzOfjHUfV5LqMcae+bRt1J83NdRkyylw8MEZiMWKxg58TITIS9YJlJOaFyWjMW5bYpjsaXxaLxZc7Xn39deYduYBwJEYoEiPUHSMUiXqvIzFC3UmvI1FC3TE6IjGaI1FCoYG2jxIZ5m94+QEfkwrzKCvMY1JBIOl1/Lkw0PM+ed3k4jxK8wMju0duMOF2aN8L7Q3e8/6d0LzZ6yrYuB42P+OFTfAC47SjoeYkmH021J4BBZOyU9cIRWOOJ9/ey9lHVo0sFAKEO4j6Rx6Izz6yip/Ur+evaxu48JjpIz7eRBOLOVo6u2lqD9PcEaap/cCjuT1MU0eYtq6k0BeO0B6K0h4Pfd3RFFtojPgffXzkBRLPRl5imd9Hnt97X5wfOLAs4C1PvA8G4s/xbfOS3gcDPta9vYZjj14U3za+TXy/oN9HwG8EfD4CPi+IBfzxZ58v/mw9z4nQJxNXWcta6o6bkesyJEdyFgzj9wx+GngYb7qK251zq83sq8ALzrllwM+Au+KDyzThhUfi2z2AN1BNBPiURiQVmdjMDL+B35foupiZLowFDW9Rd0Lm/4ATibcMeMExKTweFCS9oNkVidIWitLa2U1rZzf7Ortp7eqmtTNCY1uYjQ3t3rLO7kFbFPIDPipL8pla6j0qS/KpnpTP9LICqicVML2skOmTC4bXChUs9h5TavtfH4t6IXHX67DjRdj2gje9wfO3efd+1SyFIy+ERe/zWhnHiFe2tdDc0U3dgqqRH6y7g5hv5MFw8eGTmVQQ4Ik1exQMk8Rijsb2MDtaOtkRvy90574udrR00tAWigfBblo6wgP+f1IU9DOlKEhpQYDi/AClBQGmlxVQFAxQku+nKD9ASX7Aa8HPD1AcDFCc770uCvrj67xtCvJ82ftDTJL69g36RV5EMiKn9xg655YDy3st+3LS6y7g8gH2/RrwtawWKCKSJQG/j4DfR9HwxyHpwzlHWyhCa1fkQICMPzd3hGloC9OwP8TethBbmzp4cXMzTR3hPl27pxTlMauymNrKYmZVFDNrajG1FcXMqiymOH+YPzZ8fiif7T0WXuIti4Rg6/Ow/nFvaoM//xv8+cvevHeLPwwL3gP+3HaVfOKtPfgMzpqXgYFewu1E/SMfTTPg9/GO+VN5Ys1eYjE3oVp4wpEYW5raWb+3nQ1729nY0MbWpk527OtkZ0sX4WjsoO0L8/xMn1xAVWk+R04rZUpRkIriIFOKg5QXB5lS5D0nHgV5h/49sSIiwzXuB58REZkozIzSgjxKC/KYOTm1+fbCkRh79nexa19XT+vKpsYONja08cy6Rn7z4sG3b1eV5jOrspijZ5ZxbE0Zx8wso7aieHjhJJAPs870Hufe5I1O+fK98NI98KuPQNnhcOaNcPzf5mx6gsff2sOJR0yhrCgDAbU7M11JwetO+tCrO3l9xz6OrRmfE8c3tYd5c2crb+xo5Y3487q9bUSTmvumluZzeHkRx9ZM5oKjC5g5uZDpZYXMmFzAjLJCJhfljUqrnYjIeKBgKCIygQUDPmqmFFEzpf9J1zvCETY1dLCpsZ2NDd5j3Z427l6xmVDEa50pzQ8cCIo1ZSw+fAozUgymB5lSC2d/Ec76vNeC+Jf/goduhL98C875Mhx7RWaHuh/Chr1trN7Ryr+++6jMHDDcQdSfmUEI3rmgioDPeOjVneMiGHZ1R3l5awvPbWji1W0tvLGzlZ37unrWT5tUwMIZkzjnqCrmVpUwZ2oJs6YWa/AdEZEMUjAUEZEBFQUDLJwxiYUzDh4cpjsaY+3uNl7b3sJr2/fx2rZ9/Pyvm3q68h1eXsQps8s5ZXYFp86pYHpZGkHR54cjL4D558OGJ+Cxf4fffty7J/Gib8PU+Zn8iAP63cs7MINLjs/Q/Vvd7cTyKjNyqCnFQeqOnMrvX97O5y9YgP8Q607a1R1l1eZmntvQyIqNTby8tYVwJIYZzJ1awsmzyr3rbnoZR00vpaJEE9qLiGSbgqGIiKQtz+/rCYxXnOQtC0dirNm1n+c3NbFiQyMPr97NAy94k4ounD6J8xZWc97CahbNmJRa9z4zb2L0WXXw4h3w6M3wk9PgvK/AKZ/Mauuhc47fv7yd0+ZUUD0pQ1NrdHcSLcjcNB2XHj+TR9/cw3MbGjltbmYCZzY1tIV4/K09/PmN3Ty1di9d3TF8BkfPLOOaU4/g5FkVnFRbnpluuyIikjYFQxERyYhgwMcx8e6k150xi1jM8dau/Ty1di+Pvrmb7z++lu89tpbpZQWce1Q15y+axqlzKoZu7fL5YMm13mA0D90ID38Rtj4Hl/4I8kuz8lle2trC5sYOPnV2Bqe+CXdkZPCZhHOPqqY46Oe3L20fs8FwS2MHy1/fyaNv7GbVlmacgxllBXxgyWGcfWQVS2qnUKruoCIiY4KCoYiIZIXPZz2tih8/aw6NSS1GD67axl0rNjNtUgHvWzyT9y+uYW7VEPfflVTBFXfDM9/3Wg93vwEfvB8q5mS89juf2URJfoALj56WmQM653Ul9WUuGBYG/Vxy/Ax+8+J2vnDhgjHT3bK1q5vlr+7k1y9uY+WmZgAWzZjEP54zj3OPSqPFWERERpWCoYiIjIqKknwuX3IYly85jK7uKI+9uYdfv7iN2/6ygZ/Ur+eEwyfz/sU1XHzsjIG7E5rB6f8IMxbDr66Bn18IH14GVQsyVuf2lk4eenUn155em7nWrEgIXCxjo5ImXHfGLH75/FbuWrGZz5w7OvdeDuTFLc3c8ddNPLx6F6FIjNlTi/nn84/k0uNnDDi4kYiIjB0KhiIiMuoK8vxcdOx0Ljp2Onv2d/H7l3bwq1Vb+dLvXuc//vAG7zuhhmtPr2Ve9QBdRWedCR9ZDr+4BO54N1z9O5h+bEZqu/3pjRjw0dNnZeR4AHR3AGS0KynA3KpSzllQxS+e3cwNZ80Z9Xn4ItEYf1q9i589vZGXtrRQWhDgipMO428W13BcTZlaBkVEDiEKhiIiklNVpQV87B2z+bszZ/H69lbueW4zv3lxG798fgtnzqvk2tNncdb8qX3nSqxaAB/9I9x5Cdz5HvjIH2DaMSOqZUdLJ/c8t5mLj5sxvCk3BhJuB8h4iyHAx8+awwdufZbb/7qRT9Zl8J7IQbR2dXP/81u545lNbG/p5IiKIm6+eCGXLzmM4nz9aiEicijSd28RERkTzIxjasq4peZY/t8FC/jl81v4xbOb+OgdK5ldWcxHTq/l8hMPozCY1CpWMQc+utzrUnrvlfCxx6G0etg13PLHt3AOPntehrtlxlsMM3mPYcLSWeWce1Q1P3p8HZctrqEqU6Oo9mNLYwc/f2YjD6zcSns4ytJZ5dx08ULOOar6kJsyQ0REDubLdQEiIiK9lRcH+dTZc3n68+/ke1cez6TCPL78+9WcdstjfPfRt2lqDx/YeMoRcNUvobMJ7rsKujuHdc5n1jew7JUdXP+O2RxWnuF74rLYYgjwrxcdRTga42vL38Q5l9FjO+d4fmMTH7/rBeq+9QR3PbuZdy2axkN/fwYPfPxU3rVomkKhiMg4oBZDEREZs/L8Pi49fiaXHj+TlZuauPXJ9Xz30bXc+uQGrjjpMK47Y5YX4qYfB39zG9z/Ifj9p+D9P0trnsM9rV38wy9fZnZlMZ+oy/wopwfuMcxOMJxVWcynzp7Ldx9dyymzK7hq6eEjPmZ3NMby13bys6c38uq2fZQV5nHDWXP48Km1TCvLXqukiIjkhoKhiIgcEk6qLeek2nLW7t7PrX/ZwD3PbeauFZu56JjpfPys2Sw66mI45yZ47CtQsxROuSGl4+7v6ubjd6+iPRThnr87maJgFn40xlsxMz34TLK/f+c8Vm1u5qZlqzm8vIjThzm3YUNbiPtXbuWuZzezq7WL2ZXF/Pt7j+b9i2dm52sjIiJjgr7Di4jIIWVedSnfuvw4Pveu+fz8r5u497ktLHtlB0try/nbkz/Ae+Y+g//Rm2DuOVA5b9Bj7Wnt4mO/eIHVO1r54QcXc+S0AUZBHal4V9KYL3stbX6f8b0rT+Cq21bw0TtW8oOrTuD8RanPw/jK1hbufHYTD72yk3A0xulzK/ja+47m7COr+g78IyIi446CoYiIHJKmlxXyxXcfxafOnsv9K7dwz3Nb+Mf7X+FHhZfxO98Kuu+9lvyPP0pBft9WuvZQhAdXbeO/H1lDKBLjfz50IucuHP6gNUPK0nQVvZUXB/nl9adwze3P8/G7VnHp8TP4+3fOY25VSZ9tnXOs2b2fP6/ezZ9W72L1jlaKg36uXHoYV59yxMBThYiIyLikYCgiIoe0ssI8rn/HHP7ujNn8dX0DD7ywjZveupb/avoe3/na3/Nk9TXMriymvDhIKBJjU2M7L21poS0U4eRZ5fzn3xzD7Kl9g1NGZXnwmWTlxUEe/MSp/PiJ9fykfj2/f3kHC6dP4qjpk5hSlEdHd5QdLZ28ubOV3a0hAE44fDI3X7yQ959YQ2lBXtZrFBGRsUfBUERExgWfzzhz3lTOnDeVcOQ49vxiLf+w5UG2uzqe2VBNU0eYwjw/MyYXcvFxM7jsxJksPnzK6EzCnsXpKvqTH/Bz43nzufrUI7h/5VZWbGjk6XV7ae2MUJDnY1pZIafNqeSk2nLOXVhFVakGkxERmegUDEVEZNwJBnxUXfkj+P4JfGvS/fCp36U1SmnGhUenK2lvlSX5fOrsuXzq7NGZ+F5ERA5dmsdQRETGp6JyqPsCbKiHtX/ObS3d7RAoBNOPXRERGZv0E0pERMavJddB+Rx45F8h2p27OsIdECzK3flFRESGoGAoIiLjVyAI530VGt6GVXfkro7uDsgrzt35RUREhqBgKCIi49uCi+CIM6D+P6FrX25q6FaLoYiIjG0KhiIiMr6Zwfn/AR2N8PxPc1NDuAPyFAxFRGTsUjAUEZHxb8YJMPdcWPET6O4c/fN3KxiKiMjYpmAoIiITwxmfhY4GeOnu0T93uF1dSUVEZExTMBQRkYnhiNOgZik8832IRkb33GoxFBGRMU7BUEREJgYzOONGaNkCq387uucOd0BQo5KKiMjYpWAoIiITx/wLYOoCePo74Nzonbe7XS2GIiIypikYiojIxOHzwemfgT2rYcMTo3deTXAvIiJjnIKhiIhMLEf/DRSWj96E97EoREOa4F5ERP5/e/cebFdZn3H8+5BwCY0CETxEgsBAuARKFQLBAccoGKCooNJW7bShlsGOOKPVGQbFKY7aGaa1l/HaYZSWjoyWqhUULISUU2+gUGS4BEiCKAFDQgwBYkIgya9/7BXYhHMScrJ39tnZ38/MmbXWu96z1ns4vzmZh/fda41rBkNJ0mCZuDu87n1w/3Xw9LLu32/d062tnzGUJI1jBkNJ0uA5/jzYuB7uvKr793pmVWs7ae/u30uSpDHqSTBMMiXJvCSLmu0+o/Sb2/RZlGRuW/vfJlmSZPWOG7Ukaaex73Q46BS440rYuLG791rbBMM9DIaSpPGrVzOGFwPzq2o6ML85fpEkU4BLgVnAicClbQHye02bJEljc/x58MSv4KH/7e59np8xHPH/gUqSNC70KhieDVzZ7F8JnDNCn9OBeVW1sqqeAOYBZwBU1a1VtXSHjFSStHM66u2tsNbth9CsdSmpJGn8m9ij+w61BbvHgKER+hwALGk7fqRp2yZJLgAuABgaLFBOFAAADihJREFUGmJ4eHhbL6E+s3r1an/P6hjraed26KveyAH3fY9bbvwuz+3WneA29Tc/5wjgll/cx+r1e1hP6ij/RqmTrKfB1rVgmOQmYP8RTl3SflBVlaRrbxmuqsuBywFmzpxZs2fP7tatNE4MDw/j71mdYj3t5I56NXzlWk7eaznMGmnxSgf8+E5YCG94y5kM//Q260kd5d8odZL1NNi6Fgyr6rTRziVZlmRqVS1NMhVYPkK3R4HZbcfTgOGODlKSNNiGZsCrZ8A934ZZF3TnHs+sgl12hV19wb0kafzq1WcMrwU2PWV0LnDNCH1uAOYk2ad56Mycpk2SpM455t2w5FZYtWTrfcdi7arW5wuT7lxfkqQO6FUwvAx4a5JFwGnNMUlmJvkqQFWtBD4D3NZ8fbppI8nfJXkE2DPJI0k+1YOfQZK0Mzjm3a3tvd/pzvXXPuGrKiRJ415PHj5TVb8FTh2h/Xbg/LbjK4ArRuh3EXBRN8coSRoQUw6BA46Hu78FJ3+489d/ZpVPJJUkjXu9mjGUJGn8OOZceOwuWLGo89deu8oZQ0nSuGcwlCTp6HcCaT2EptOcMZQk9QGDoSRJr5wKB5/SWk5aHX6DkjOGkqQ+YDCUJAlaD6H57SJYdk/nrrlxIzzzpDOGkqRxz2AoSRLAkW8DAvdf37lrrnsKKJi0T+euKUlSFxgMJUkCmLwfHDgL7v9+5675zKrW1qWkkqRxzmAoSdImR57Vejrpqoc7c721T7S2LiWVJI1zBkNJkjY58qzWtlPLSdc6YyhJ6g8GQ0mSNnnVobDfkfDAdZ253qalpM4YSpLGOYOhJEntjjwLfvUTWLNy+6/ljKEkqU8YDCVJanfEWVAbYNGN238tZwwlSX3CYChJUrvXvB5eMbUzTydd+wRM2A123XP7ryVJUhcZDCVJarfLLnDEmbB4Pjy3dvuutXo5TB6CpDNjkySpSwyGkiRt7oiz4Lk18NCPtu86q5fB5Fd3ZkySJHWRwVCSpM0dfEpr+eeiG7bvOptmDCVJGucMhpIkbW7XPeCQN8HCG6Fq7NdxxlCS1CcMhpIkjeTw0+HJh+Hx+8f2/RvWw+9WOGMoSeoLBkNJkkYyfU5ru3CMy0nXrADKGUNJUl8wGEqSNJK9DoCh3x/7+wxXL2ttJ+/fuTFJktQlBkNJkkZz+Bx4+NbW+wi31dObgqFLSSVJ45/BUJKk0Uw/HWpD652G2+r5GUOXkkqSxj+DoSRJo5k2EyZNGdtyUoOhJKmPGAwlSRrNLhNg+lth0TzYuGHbvnf1cth9L9h1UnfGJklSBxkMJUnakulzYO1KePT/tu37fIehJKmPGAwlSdqSw06FTNj211asXu6DZyRJfcNgKEnSlkzaBw6cNYZguAxeYTCUJPUHg6EkSVtz+BxYdjc8+ejL/x5nDCVJfcRgKEnS1hx+Rmv7cp9OumYlPPs0vGJq98YkSVIHGQwlSdqa/Y6EvV8LD1z/8vqvWNh83xHdG5MkSR1kMJQkaWsSOOod8ODNsHbV1vs//kBru+/h3R2XJEkdYjCUJOnlmHEObHwOFv731vuuWAgTJ7VmGSVJ6gM9CYZJpiSZl2RRs91nlH5zmz6Lksxt2vZMcl2S+5Pcm+SyHTt6SdJAmjYTXjkNFlyz9b6P3w/7Hga7TOj+uCRJ6oBezRheDMyvqunA/Ob4RZJMAS4FZgEnApe2BcjPVdWRwOuBk5OcuWOGLUkaWAnMeAcsng/PPLXlvo8vhH39fKEkqX/0KhieDVzZ7F8JnDNCn9OBeVW1sqqeAOYBZ1TVmqq6GaCqngXuAKbtgDFLkgbdjHNgw7otv9Pw2d/Bkw+3HlgjSVKf6FUwHKqqpc3+Y8BIL3o6AFjSdvxI0/a8JHsDb6c16yhJUndNO6H1CooF3x29z/NPJPXBM5Kk/jGxWxdOchOw/winLmk/qKpKUmO4/kTgG8Dnq+qXW+h3AXABwNDQEMPDw9t6K/WZ1atX+3tWx1hP2txhrzyOqQtv5Kc3/YANEye95PzQY8McBfz8oadYs3z4ReesJ3WaNaVOsp4GW9eCYVWdNtq5JMuSTK2qpUmmAstH6PYoMLvteBow3HZ8ObCoqv55K+O4vOnLzJkza/bs2Vvqrp3A8PAw/p7VKdaTXuKQ3eBfr+ON+6+BY0b4iPsN82DC7px4+p/AxN1edMp6UqdZU+ok62mw9Wop6bXA3GZ/LjDSI95uAOYk2ad56Mycpo0knwX2Aj6yA8YqSdILDpzVWk76i6+PfP7B/4GD3vCSUChJ0njWq2B4GfDWJIuA05pjksxM8lWAqloJfAa4rfn6dFWtTDKN1nLUGcAdSe5Mcn4vfghJ0gDaZQKccH4rAC5b8OJzT/0Gli+AQ9/Sm7FJkjRGXVtKuiVV9Vvg1BHabwfObzu+Arhisz6PAOn2GCVJGtXM98OP/gFu+RKc86UX2h+8ubU99CX/xEmSNK71asZQkqT+tecUeN374O6rYeVDL7Q/OB8mD8HQ0b0bmyRJY2AwlCRpLN74MZiwG/zgIqiCp5bC4vmtZaRxYYskqb8YDCVJGotXvgbe/AlYdGMrHF51LmxcDyd9sNcjkyRpm/XkM4aSJO0UTvwA/PqncNvXILvAn14NU4/t9agkSdpmBkNJksZqwkR4z1WwbjVseLb12UNJkvqQwVCSpO21++Rej0CSpO3iZwwlSZIkacAZDCVJkiRpwBkMJUmSJGnAGQwlSZIkacAZDCVJkiRpwBkMJUmSJGnAGQwlSZIkacAZDCVJkiRpwBkMJUmSJGnAGQwlSZIkacClqno9hh0myePAr3s9DnXdvsCKXg9COw3rSZ1kPanTrCl1kvU0GA6qqv02bxyoYKjBkOT2qprZ63Fo52A9qZOsJ3WaNaVOsp4Gm0tJJUmSJGnAGQwlSZIkacAZDLUzurzXA9BOxXpSJ1lP6jRrSp1kPQ0wP2MoSZIkSQPOGUNJkiRJGnAGQ/WtJH+f5P4kdyX5ryR7t537eJLFSR5Icnpb+xlN2+IkF/dm5BqPkvxRknuTbEwyc7Nz1pO2m/WibZXkiiTLk9zT1jYlybwki5rtPk17kny+qa+7khzXu5FrPEpyYJKbkyxo/r37cNNuTQkwGKq/zQOOqapjgYXAxwGSzADeAxwNnAF8OcmEJBOALwFnAjOA9zZ9JYB7gHcBP2xvtJ7UCdaLxujfaP3daXcxML+qpgPzm2No1db05usC4Cs7aIzqH+uBj1XVDOAk4MLm75A1JcBgqD5WVTdW1frm8FZgWrN/NvDNqlpXVQ8Bi4ETm6/FVfXLqnoW+GbTV6Kq7quqB0Y4ZT2pE6wXbbOq+iGwcrPms4Erm/0rgXPa2v+9Wm4F9k4ydceMVP2gqpZW1R3N/tPAfcABWFNqGAy1s3g/8INm/wBgSdu5R5q20dqlLbGe1AnWizplqKqWNvuPAUPNvjWmly3JwcDrgZ9hTakxsdcDkLYkyU3A/iOcuqSqrmn6XEJrecRVO3Js6j8vp54kqV9UVSXx8fLaJkkmA98GPlJVTyV5/pw1NdgMhhrXquq0LZ1Pch7wNuDUeuHdK48CB7Z1m9a0sYV2DYCt1dMorCd1wpbqSNoWy5JMraqlzbK+5U27NaatSrIrrVB4VVV9p2m2pgS4lFR9LMkZwEXAO6pqTdupa4H3JNk9ySG0PjT9c+A2YHqSQ5LsRuuBItfu6HGr71hP6gTrRZ1yLTC32Z8LXNPW/ufNkyRPAp5sWx4okdbU4NeA+6rqH9tOWVMCnDFUf/sisDswr1kGcWtV/VVV3ZvkamABrSWmF1bVBoAkHwJuACYAV1TVvb0ZusabJO8EvgDsB1yX5M6qOt16UidU1XrrRdsqyTeA2cC+SR4BLgUuA65O8pfAr4E/brpfD/whrQdkrQH+YocPWOPdycCfAXcnubNp+wTWlBp5YfWdJEmSJGkQuZRUkiRJkgacwVCSJEmSBpzBUJIkSZIGnMFQkiRJkgacwVCSJEmSBpzBUJKkLUhySZJ7k9yV5M4ks7p4r+EkM7t1fUmSRuN7DCVJGkWSNwBvA46rqnVJ9gV26/GwJEnqOGcMJUka3VRgRVWtA6iqFVX1myR/k+S2JPckuTxJ4PkZv39KcnuS+5KckOQ7SRYl+WzT5+Ak9ye5qunzrSR7bn7jJHOS3JLkjiT/mWRy035ZkgXNDObnduB/C0nSTsxgKEnS6G4EDkyyMMmXk7ypaf9iVZ1QVccAk2jNKm7ybFXNBP4FuAa4EDgGOC/Jq5o+RwBfrqqjgKeAD7bftJmZ/CRwWlUdB9wOfLT5/ncCR1fVscBnu/AzS5IGkMFQkqRRVNVq4HjgAuBx4D+SnAe8OcnPktwNvAU4uu3brm22dwP3VtXSZsbxl8CBzbklVfWTZv/rwCmb3fokYAbwkyR3AnOBg4AngWeAryV5F7CmYz+sJGmg+RlDSZK2oKo2AMPAcBMEPwAcC8ysqiVJPgXs0fYt65rtxrb9Tceb/t2tzW+z2XGAeVX13s3Hk+RE4FTgXOBDtIKpJEnbxRlDSZJGkeSIJNPbml4HPNDsr2g+93fuGC792ubBNgDvA3682flbgZOTHNaM4/eSHN7cb6+quh74a+APxnBvSZJewhlDSZJGNxn4QpK9gfXAYlrLSlcB9wCPAbeN4boPABcmuQJYAHyl/WRVPd4sWf1Gkt2b5k8CTwPXJNmD1qziR8dwb0mSXiJVm69ekSRJ3ZLkYOD7zYNrJEkaF1xKKkmSJEkDzhlDSZIkSRpwzhhKkiRJ0oAzGEqSJEnSgDMYSpIkSdKAMxhKkiRJ0oAzGEqSJEnSgDMYSpIkSdKA+39zEnHMPX9p8AAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fir = np.fft.fftshift(np.fft.ifft(1.0/loss, n=firlen))\n", "print(len(fir))\n", "x = np.linspace(-firlen/2, firlen/2, len(fir))\n", "plt.figure(figsize=(15,5))\n", "plt.title(\"Impulse response\")\n", "plt.grid(True)\n", "plt.ylabel(\"Coeffs\")\n", "plt.xlabel(\"Samples\")\n", "#plt.xlim((-30,30))\n", "plt.plot(x, np.real(fir), label=\"real\")\n", "plt.plot(x, np.imag(fir), label=\"imag\")\n", "plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=11)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# FIR の周波数特性\n", "\n", "求めた FIR の周波数特性を評価する。freqz を使う。\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12.702398360824748\n", "Max Error 61.17456417683514 dB at 22006.93359375 Hz\n", "MSE 22.082582995621816 dB\n" ] }, { "data": { "image/png": "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GUA1YAPFbzwvIiIiElJJCUmk1k71NXAC1KwJzsGuQf/na7uRJuJmqQPjgHFm9hOQA5zvvBdN55pZwcbzuQQ2ng9jnSIiIlKFdErpxNx1/gbOAg0bhqTZiBFxgdM5lwOcW8x3dwEh21heREREpDidGnbi6WVPk5efR2xMrK9tx0TimLOPovzXExEREfFHp4ad2J27myVblvjetgKniIiIiNAppRNASIbVFThFREREJCQz1QuY+d5kRFHgFBEREQlCnep1SKuTFpLAqR5OEREREQFCN1NdgVNEREREAG/i0PwN88nL93dlRgVOEREREQG8wLknbw+LNi/ytV0FThEREREBQjdTXZOGRERERAQI3Ux1BU4RERERAaBWtVqkJ6WHZKZ6NFPgFBERESmFTg39n6muHk4RERER+V2nhp34ZeMv5ObnhruUSkOBU0RERKQUOqV0Iicvh+xN2b61qR5OEREREfldp4ah21M9WilwioiIiJRCh4YdMMzXiUPq4RQRERGR39WMr0nL5Jb8vP7ncJdSaShwioiIiJRS+wbtmb9hvm/tqYdTRERERPbToUEHftn4i+97qkcrBU4RERGRUmrfoD27c3ezfOtyX9pTD6eIiIiI7KdDgw4AzNswL8yVVA4KnCIiIiKl1L5BewDf3uNUD6eIiIiI7Kd+zfo0qNmAeevVwxkMBU4RERGRMujQoAPzN6qHMxgKnCIiIiJl4PfSSNFMgVNERESkDDo06MCGnRvYsHNDudtSD6eIiIiI/IHfE4eimQKniIiISBkUBE4/Jg6ph1NERERE/qBFUgsS4hLUwxkEBU4RERGRMoixGNrVb+fL4u/q4RQRERGRInVo2EE9nEFQ4BQREREpo/b127N0y1J27d1VrnbUwykiIiIiRerQsAMOx4KNC8JdSkRT4BQREREpo99nqpfzPU71cIqIiIhIkdrWa4theo/zIBQ4RURERMqoRnwNWia3LHfgVA+niIiIiBSrfYP2viyNFM0UOEVERETKoUODDizYuIC8/Lwyt6EeThEREREpVvsG7dmdu5tlW5eFu5SIpcApIiIiUg7t6rcDYOHGhWVuQz2cIiIiIlKsjPoZABGxFqeZXWlm881srpndX+j8LWaWbWa/mNmAQucHBs5lm9nNoaorLlQNi4iIiFQFKYkp1Klep1yB048eTjM7BjgZ6Oqc22Nm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "w, h = signal.freqz(fir, worN=2**13)\n", "x = w * sr * 1.0 / (2 * np.pi)\n", "plt.figure(figsize=(10,10))\n", "plt.title(\"Frequency response of impulse response (complex)\")\n", "plt.xscale('log')\n", "plt.grid(True)\n", "plt.ylabel('Gain')\n", "plt.xlabel('Frequency')\n", "plt.xlim((1, sr/2))\n", "plt.ylim((-100, 10))\n", "plt.xticks(xticks, xticks)\n", "\n", "freqz_dB = 20 * np.log10(abs(h))\n", "expected_dB = -20 * np.log10(loss_m)\n", "plt.plot(x, freqz_dB, 'b', label=\"freqz\")\n", "plt.plot(f_m, expected_dB, 'r', label=\"expected\")\n", "plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=11)\n", "print(len(h) / np.sum(np.abs(h)))\n", "\n", "error = np.abs(freqz_dB- expected_dB)\n", "print('Max Error', np.max(error), 'dB', 'at', x[np.argmax(error)], 'Hz')\n", "print('MSE', 20*np.log10(np.sqrt(np.mean(np.power(10, error / 20)**2))), 'dB')\n", "\n", "ax2 = plt.twinx()\n", "angles = np.unwrap(np.angle(h))\n", "ax2.plot(x, angles, 'g')\n", "ax2.set_ylabel('Angle (radians)', color='g')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 実数フィルタ\n", "\n", "実数フィルタにする。\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12.698620856044219\n", "Max Error 57.26387170919799 dB at 22006.93359375 Hz\n", "MSE 18.21432638645039 dB\n" ] }, { "data": { "image/png": "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RCQEtarWokmtJmEJnHEVPJFV8H+eiIiIiH/8HqleQIFTRERERABv4NDstbN9G6lewMzX5mKOAqeIiIhIiDrW78iOvB0s2LDA13bVwykiIiIiQPhGqitwioiIiAgQvpHqeqQuIiIiIgDUSKxB85TmCpz7SIFTREREZB90rO//SHUFThERERH5S8f6HZmzbg65+bnRLqXcUOAUERER2Qcd0zqyM28n89fP961N9XCKiIiIyF861g/PSPWKTIFTREREZB+0r98ew3wdOKQeThERERH5S/Uq1WmR2oJf1vwS7VLKDQVOERERkX3Url47Zq+dHe0yyg0FThEREZF91L5ee+asm+Pbmup6pC4iIiIiu2lXrx05uTks3bQ02qWUCwqcIiIiIvuofb32APy69ldf2lMPp4iIiIjspl29dgB6jzNECpwiIiIi+6hu9brUq16PX9eohzMUCpwiIiIipdC+Xntmr1MPZygUOEVERERKQVMjhU6BU0RERKQU2tdrz9pta1m7bW2Z29IjdRERERH5Gw0cCp0Cp4iIiEgpFAROPwYOqYdTRERERP6mWUozkhKS1MMZAgVOERERkVKIszja1m3r2+TvFZkCp4iIiEgpta/f3pceTj1SFxEREZEitavbjsUbF7P9z+3RLiWmKXCKiIiIlFL7+u1xOOaum1umdtTDKSIiIiJF+mukut7jLJECp4iIiEgptanTBsPK/B6nejhFREREpEjVqlSjRWqLMgfOdet8KihGKXCKiIiIlEG7eu3K/Ej96699KiZGKXCKiIiIlEH7eu2Zu24uefl5pW5Dj9RFREREpFjt6rUjJzeHJZuWRLuUmKXAKSIiIlIGbeu2BWDeunmlbkM9nCIiIiJSrMy6mQBlnovTD2Z2sZnNNrNZZnZXof3Xm9l8M5tjZgML7R8U3DffzK4LV10J4WpYREREpDJIS06jVtVaZQqcfvRwmll/YAjQxTm3w8zSgvs7ACcBHYF04FMzywxe9ghwOLAcmGpmE51zv5S9mt0pcIqIiIiUgZmRWTeTueuj3sN5AXCHc24HgHNudXD/EODV4P5FZjYfODB4bL5zbiGAmb0aPNf3wKlH6iIiIiJllFk3049H6glmll1oG7mvZQAHm9n3ZjbFzA4I7s8AlhU6b3lwX3H7faceThEREZEyyqyTyb9n/puc3BySEpJK20yuc65H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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "firr = np.copy(np.real(fir))\n", "firr *= 2\n", "\n", "w, h = signal.freqz(firr, worN=2**13)\n", "x = w * sr * 1.0 / (2 * np.pi)\n", "\n", "plt.figure(figsize=(10,10))\n", "plt.title(\"Frequency response of impulse response (real)\")\n", "plt.xscale('log')\n", "plt.grid(True)\n", "plt.ylabel('Gain')\n", "plt.xlabel('Frequency')\n", "plt.xlim((1, sr/2))\n", "plt.ylim((-100, 10))\n", "plt.xticks(xticks, xticks)\n", "\n", "freqz_dB = 20 * np.log10(abs(h))\n", "expected_dB = -20 * np.log10(loss_m)\n", "plt.plot(x, freqz_dB, 'b', label=\"freqz\")\n", "plt.plot(f_m, expected_dB, 'r', label=\"expected\")\n", "plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=11)\n", "print(len(h) / np.sum(np.abs(h)))\n", "error = np.abs(freqz_dB- expected_dB)\n", "print('Max Error', np.max(error), 'dB', 'at', x[np.argmax(error)], 'Hz')\n", "print('MSE', 20*np.log10(np.sqrt(np.mean(np.power(10, error / 20)**2))), 'dB')\n", "\n", "ax2 = plt.twinx()\n", "angles = np.unwrap(np.angle(h))\n", "ax2.plot(x, angles, 'g')\n", "ax2.set_ylabel('Angle (radians)', color='g')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# JSON" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-6.180171231999265e-05, -9.363064745945171e-07], [-6.178820397942836e-05, 8.880029113502316e-07], [-6.185158905688193e-05, -9.8419608839212e-07], [-6.181107878306835e-05, 8.392852645665589e-07], [-6.193786502482514e-05, -1.0316718249994602e-06], [-6.187039709126612e-05, 7.901533382799915e-07], [-6.206061673305784e-05, -1.0787336947006548e-06], [-6.196626502863231e-05, 7.40606874390972e-07], [-6.221996657939379e-05, -1.1253816454658483e-06], [-6.209883475840911e-05, 6.906455522378203e-07], [-6.241608318749344e-05, -1.171615562409222e-06], [-6.22683048807548e-05, 6.402689879459387e-07], [-6.26491818688762e-05, -1.2174352670603478e-06], [-6.247492095676518e-05, 5.894767335920336e-07], [-6.291952521182611e-05, -1.2628405164233077e-06], [-6.271897616073131e-05, 5.382682761598997e-07], [-6.322742379999499e-05, -1.3078310018369405e-06], [-6.300081206363113e-05, 4.866430362898774e-07], [-6.35732370640168e-05, -1.3524063476253306e-06], [-6.332081955164627e-05, 4.3460036681814107e-07], [-6.395737427023596e-05, -1.3965661095394978e-06], [-6.367943988399607e-05, 3.821395510942945e-07], [-6.438029565120988e-05, -1.4403097729858221e-06], [-6.407716589519281e-05, 3.2925980109426237e-07], [-6.48425136834161e-05, -1.4836367510154144e-06], [-6.451454334748665e-05, 2.7596025527759235e-07], [-6.534459451836434e-05, -1.5265463821080535e-06], [-6.499217244009476e-05, 2.222399762339932e-07], [-6.588715957406379e-05, -1.5690379276991532e-06], [-6.551070948258319e-05, 1.6809794807203827e-07], [-6.647088729468402e-05, -1.6111105694756762e-06], [-6.607086874070346e-05, 1.135330735471127e-07], [-6.70965150871597e-05, -1.6527634064128893e-06], [-6.667342446389013e-05, 5.854417094286078e-08], [-6.776484144445934e-05, -1.6939954515488993e-06], [-6.731921310470302e-05, 3.1299706549777975e-09], [-6.847672826633088e-05, -1.734805628489859e-06], [-6.800913574151864e-05, -5.2710888506314214e-08], [-6.923310338942046e-05, -1.775192767625172e-06], [-6.874416071706176e-05, -1.0897986331628179e-07], [-7.00349633399856e-05, -1.8151556020636275e-06], [-6.952532650659289e-05, -1.656785104704801e-07], [-7.088337632373081e-05, -1.854692763231247e-06], [-7.035374483103251e-05, -2.2280849126263599e-07], [-7.1779485468779e-05, -1.893802776178834e-06], [-7.12306040318116e-05, -2.803715766019011e-07], [-7.272451233939007e-05, -1.932484054541225e-06], [-7.215717272595529e-05, -3.3836965245531863e-07], [-7.371976073988035e-05, -1.970734895142727e-06], [-7.313480376173057e-05, -3.968047256628665e-07], [-7.47666208300329e-05, -2.0085534722552287e-06], [-7.416493849728653e-05, -4.556789302471708e-07], [-7.586657357549692e-05, -2.045937831457375e-06], [-7.524911142683533e-05, -5.149945341438543e-07], [-7.702119555902041e-05, -2.082885883134622e-06], [-7.63889551815527e-05, -5.74753946507718e-07], [-7.823216418091517e-05, -2.119395395552788e-06], [-7.758620593495172e-05, -6.349597255489307e-07], [-7.950126328007067e-05, -2.1554639875270356e-06], [-7.884270924561909e-05, -6.956145870068376e-07], [-8.083038920997532e-05, -2.1910891206860217e-06], [-8.016042637348202e-05, -7.567214132961271e-07], [-8.222155740774047e-05, -2.2262680912963643e-06], [-8.154144110946507e-05, -8.182832634260937e-07], [-8.367690949804827e-05, -2.26099802170086e-06], [-8.298796716264673e-05, -8.803033837634442e-07], [-8.519872097824807e-05, -2.2952758513263656e-06], [-8.450235615343655e-05, -9.427852197294472e-07], [-8.678940953574013e-05, -2.329098327351772e-06], [-8.608710626655284e-05, -1.0057324286313274e-06], [-8.845154405415586e-05, -2.362461995031047e-06], [-8.774487162327375e-05, -1.0691488936997963e-06], [-9.018785437088786e-05, -2.39536318776534e-06], [-8.94784724387643e-05, -1.133038739580181e-06], [-9.200124185532353e-05, -2.4277980170317546e-06], [-9.129090603755312e-05, -1.1974063495182512e-06], [-9.389479088471257e-05, -2.4597623622770854e-06], [-9.318535880819001e-05, -1.2622563845351969e-06], [-9.587178130311138e-05, -2.491251861037617e-06], [-9.516521918722219e-05, -1.3275938049806445e-06], [-9.793570195849672e-05, -2.5222618994992276e-06], [-9.723409177277224e-05, -1.3934238949306998e-06], [-0.00010009026542388495, -2.5527876039249434e-06], [-9.939581267951501e-05, -1.4597522900801381e-06], [-0.00010233942402057673, -2.5828238334325954e-06], [-0.00010165446625983818, -1.5265850098870936e-06], [-0.0001046873872753978, -2.612365174829303e-06], [-0.0001040144033306379, -1.5939284949819218e-06], [-0.0001071386409595288, -2.64140594043656e-06], [-0.0001064802610619365, -1.6617896511593802e-06], [-0.00010969796787422937, -2.669940170091854e-06], [-0.00010905698470240965, -1.7301759016026386e-06], [-0.0001123704705690241, -2.697961639048102e-06], [-0.00011174985133852225, -1.7990952495481583e-06], [-0.00011516159620093751, -2.725463873911764e-06], [-0.00011456449590858249, -1.8685563541821378e-06], [-0.00011807716376974492, -2.7524401795211966e-06], [-0.0001175069397211983, -1.938568623499279e-06], [-0.00012112339399423536, -2.7788836806645256e-06], [-0.00012058362175985753, -2.009142328892115e-06], [-0.00012430694212917762, -2.8047873837139064e-06], [-0.00012380143309241926, -2.080288747784221e-06], [-0.00012763493406227442, -2.8301442649781743e-06], [-0.00012716775474688182, -2.1520203425660672e-06], [-0.00013111500607623796, -2.854947394700529e-06], [-0.00013069049946399621, -2.224350986615247e-06], [-0.0001347553487138684, -2.8791901086252954e-06], [-0.00013437815779403803, -2.297296251637289e-06], [-0.00013856475524521902, -2.902866242787288e-06], [-0.00013823984907088388, -2.3708737749702042e-06], [-0.00014255267530669083, -2.9259704523216044e-06], [-0.00014228537787285253, -2.4451037314429057e-06], [-0.00014672927436432999, -2.948498641741193e-06], [-0.00014652529666868948, -2.520009442102349e-06], [-0.0001511054997494796, -2.9704485430106883e-06], [-0.0001509709754505768, -2.5956181624232147e-06], [-0.0001556931541268477, -2.991820489421099e-06], [-0.00015563467927710565, -2.671962106114164e-06], [-0.0001605049773860405, -3.0126184486969923e-06], [-0.0001605296547909005, -2.7490797785118944e-06], [-0.00016555473810099202, -3.032851399162605e-06], [-0.00016567022694173022, -2.827017717057569e-06], [-0.00017085733588200988, -3.0525351597461998e-06], [-0.00017107190734146354, -2.9058327674861513e-06], [-0.00017642891615710172, -3.071694819985889e-06], [-0.00017675151590733508, -2.985595065158651e-06], [-0.0001822869991692612, -3.090367963156662e-06], [-0.00018272731772148577, -3.066391945047398e-06], [-0.00018845062527145595, -3.108608937261524e-06], [-0.0001890191773556164, -3.1483330747954697e-06], [-0.00019494051894997308, -3.1264945099162113e-06], [-0.00019564873328914662, -3.2315571989328493e-06], [-0.00020177927441993997, -3.1441313502843173e-06], [-0.0002026395954990713, -3.3162410052572953e-06], [-0.00020899156612662762, -3.1616659219427325e-06], [-0.00021001756983310107, -3.4026107863115046e-06], [-0.00021660438806717322, -3.1792975557888696e-06], [-0.00021781091341078646, -3.490957781434544e-06], [-0.00022464732653736726, -3.197295715325166e-06], [-0.00022605062604926822, -3.5816583640353527e-06], [-0.00023315287172763797, -3.2160227860009174e-06], [-0.0002347707836034431, -3.675200604995562e-06], [-0.00024215677456587912, -3.235964139092921e-06], [-0.00024400892017132966, -3.7722192230754482e-06], [-0.00025169845636099003, -3.2577677693659913e-06], [-0.00025380646737507915, -3.873541561833901e-06], [-0.00026182148017318173, -3.2822965241274585e-06], [-0.00026420926042254595, -3.980248054849288e-06], [-0.0002725740944641284, -3.310696880580024e-06], [-0.00027526812242467967, -4.093751715611497e-06], [-0.0002840098615058414, -3.3444894552881817e-06], [-0.00028703954053781904, -4.215902591052692e-06], [-0.00029618838530199817, -3.3856880301833856e-06], [-0.00029958644996966056, -4.349124946202774e-06], [-0.0003091761564548532, -3.4369559650319324e-06], [-0.00031297914479169666, -4.496597328330457e-06], [-0.0003230475345552983, -3.5018115799814036e-06], [-0.00032729633790167136, -4.662488754411531e-06], [-0.0003378858923468191, -3.5848976178055795e-06], [-0.00034262639644117433, -4.852268284838829e-06], [-0.00035378495018028905, -3.6923344700733248e-06], [-0.00035906878355889896, -5.0731104561638835e-06], [-0.0003708503341949, -3.832182776970612e-06], [-0.0003767357426733693, -5.334425788064303e-06], [-0.00038920139727875383, -4.01504867251025e-06], [-0.0003957542663677178, -5.648554289959628e-06], [-0.0004089733482038515, -4.254874836231743e-06], [-0.0004162683987483409, -6.0316711236304514e-06], [-0.0004303197413766596, -4.569973251135596e-06], [-0.00043844192747186366, -6.504968029803259e-06], [-0.00045341538731269345, -4.984371942116594e-06], [-0.00046246152956003244, -7.096192681198019e-06], [-0.00047845975204404497, -5.5295689678805e-06], [-0.000488540443322762, -7.841651889988842e-06], [-0.0005056809218603692, -6.246813801651388e-06], [-0.0005169227467503476, -8.788814957481503e-06], [-0.0005353402174968136, -7.19007050431321e-06], [-0.0005478883298972455, -9.999692127196154e-06], [-0.0005677375482177238, -8.429860678555288e-06], [-0.0005817586539483677, -1.1555212209250428e-05], [-0.000603217599834028, -1.0058239441881787e-05], [-0.0006189033911627728, -1.3560885579963342e-05], [-0.0006421769495029057, -1.2195227430637973e-05], [-0.0006597480352696953, -1.6154117072195723e-05], [-0.0006850721912290439, -1.499710959553916e-05], [-0.0007047825575951714, -1.9513631529100293e-05], [-0.0007324291350671976, -1.8667121374722125e-05], [-0.0007545711551536064, -2.3871597446870895e-05], [-0.0007848531040854313, -2.3469179532197057e-05], [-0.0008097630859933108, -2.9529186331136336e-05], [-0.0008430402877192655, -2.974548401492105e-05], [-0.00087110450423559, -3.687649294102703e-05], [-0.0009077900064372468, -3.793902468562512e-05], [-0.0009394510786185188, -4.6417970785913374e-05], [-0.000980017584352602, -4.862227914172985e-05], [-0.0010157809848412203, -5.880481448649697e-05], [-0.001060767291185088, -6.253369127213284e-05], [-0.0011012075774571234, -7.487605176569727e-05], [-0.0011512244722907663, -8.062387988983572e-05], [-0.0011969906359303364, -9.571049699286347e-05], [-0.0012527254939664735, -0.00010411394523793316], [-0.0013045444936838945, -0.00012269216572506164], [-0.0013667634351439452, -0.00013456871576917625], [-0.001425440533947553, -0.00015759224898713217], [-0.0014949864812269025, -0.0001739882965135916], [-0.0015614003857181101, -0.00020267127850439264], [-0.0016391846217988528, -0.00022492181618591087], [-0.0017142745628211122, -0.0002608056411993775], [-0.0018012583899387898, -0.00029060777012498436], [-0.0018859991084645739, -0.0003356430522306461], [-0.001983160834971495, -0.0003751457267339107], [-0.0020785198407629927, -0.000431791848884583], [-0.0021868004698389586, -0.0004837042488651149], [-0.0022936697890840406, -0.0005550488210641348], [-0.002413888294156135, -0.0006227694215411763], [-0.0025329800469195856, -0.0007126694224597418], [-0.002665705807257654, -0.0008004369625977016], [-0.002797397148042099, -0.0009136820934323446], [-0.0029427627561783402, -0.0010267478757251894], [-0.003086870724126499, -0.0011692442630002525], [-0.003244302701316593, -0.0013140619756656245], [-0.0033997630849464484, -0.0014930301253699074], [-0.0035676007723203364, -0.0016774538074095552], [-0.0037320169242146973, -0.0019016275620989487], [-0.003906980708789431, -0.002135099079810153], [-0.00407599815166577, -0.002414900609627484], [-0.004252457132387499, -0.002708593022342704], [-0.004418907814999136, -0.0030562400492162014], [-0.0045878842733408235, -0.0034230993387445387], [-0.0047406310456526764, -0.0038525709466485187], [-0.004888465726519122, -0.004307160890743566], [-0.005010864761052034, -0.00483390141352315], [-0.005117455744841568, -0.0053918973849018965], [-0.005185346375184748, -0.006032064751956127], [-0.005221871378426242, -0.006709150322625474], [-0.005201008076320993, -0.007478101643789628], [-0.005127058280079552, -0.008287879113065921], [-0.004969936702083224, -0.009197410202378931], [-0.00473005616586136, -0.010147714640398695], [-0.004372192013481428, -0.01120129757386586], [-0.0038919844758640533, -0.0122879601062107], [-0.003247957444272118, -0.013472801044791278], [-0.002430303697939029, -0.014669372419120356], [-0.0013904402530421649, -0.015943459195418157], [-0.00011320262974662124, -0.017184570495762], [0.0014570091089693453, -0.01845587042124862], [0.0033385992665825415, -0.019610598595245846], [0.005591583250916492, -0.020704013208809748], [0.008230558567619988, -0.02153353998428774], [0.011311231570098368, -0.022138864939592492], [0.014825310334252864, -0.022229319799413522], [0.01880047434989794, -0.02182007552956377], [0.02315441756977442, -0.02047537366480261], [0.027823220621155314, -0.018185010962453854], [0.032491564738123625, -0.014248963560884384], [0.03681929809400242, -0.008708872238756146], [0.03937195143028251, 0.0], [0.03681929809400242, 0.008708872238756148], [0.03249156473812363, 0.014248963560884384], [0.02782322062115532, 0.018185010962453854], [0.023154417569774426, 0.02047537366480261], [0.018800474349897945, 0.02182007552956377], [0.014825310334252864, 0.022229319799413526], [0.01131123157009837, 0.022138864939592492], [0.008230558567619988, 0.02153353998428774], [0.005591583250916493, 0.020704013208809748], [0.0033385992665825423, 0.019610598595245842], [0.0014570091089693455, 0.01845587042124862], [-0.00011320262974661994, 0.017184570495762008], [-0.0013904402530421625, 0.015943459195418154], [-0.002430303697939028, 0.01466937241912036], [-0.003247957444272117, 0.013472801044791278], [-0.0038919844758640515, 0.0122879601062107], [-0.004372192013481429, 0.01120129757386586], [-0.004730056165861361, 0.010147714640398696], [-0.0049699367020832235, 0.009197410202378933], [-0.005127058280079553, 0.00828787911306592], [-0.005201008076320992, 0.007478101643789629], [-0.005221871378426241, 0.006709150322625476], [-0.005185346375184747, 0.006032064751956127], [-0.005117455744841568, 0.005391897384901895], [-0.005010864761052033, 0.00483390141352315], [-0.0048884657265191225, 0.004307160890743564], [-0.0047406310456526764, 0.0038525709466485187], [-0.00458788427334082, 0.0034230993387445387], [-0.004418907814999135, 0.0030562400492161993], [-0.004252457132387497, 0.002708593022342703], [-0.004075998151665769, 0.0024149006096274837], [-0.003906980708789431, 0.002135099079810152], [-0.0037320169242146973, 0.00190162756209895], [-0.003567600772320337, 0.0016774538074095582], [-0.003399763084946448, 0.001493030125369906], [-0.003244302701316592, 0.0013140619756656258], [-0.0030868707241264995, 0.0011692442630002538], [-0.00294276275617834, 0.0010267478757251902], [-0.002797397148042099, 0.0009136820934323462], [-0.002665705807257654, 0.0008004369625977042], [-0.002532980046919586, 0.0007126694224597467], [-0.0024138882941561347, 0.000622769421541178], [-0.002293669789084042, 0.0005550488210641353], [-0.002186800469838959, 0.0004837042488651164], [-0.0020785198407629927, 0.000431791848884584], [-0.001983160834971496, 0.00037514572673391275], [-0.001885999108464575, 0.00033564305223064716], [-0.0018012583899387903, 0.0002906077701249873], [-0.0017142745628211144, 0.00026080564119937525], [-0.0016391846217988569, 0.00022492181618591413], [-0.0015614003857181127, 0.00020267127850439156], [-0.0014949864812269, 0.00017398829651359162], [-0.0014254405339475542, 0.0001575922489871324], [-0.0013667634351439452, 0.00013456871576917625], [-0.0013045444936838951, 0.00012269216572506292], [-0.0012527254939664737, 0.00010411394523793348], [-0.0011969906359303346, 9.57104969928641e-05], [-0.0011512244722907653, 8.062387988983537e-05], [-0.0011012075774571226, 7.487605176569668e-05], [-0.0010607672911850867, 6.25336912721342e-05], [-0.0010157809848412196, 5.88048144864967e-05], [-0.0009800175843526012, 4.862227914172985e-05], [-0.0009394510786185178, 4.641797078591388e-05], [-0.0009077900064372472, 3.7939024685625584e-05], [-0.0008711045042355896, 3.6876492941026814e-05], [-0.0008430402877192656, 2.974548401492075e-05], [-0.0008097630859933103, 2.952918633113796e-05], [-0.0007848531040854308, 2.346917953219718e-05], [-0.0007545711551536062, 2.387159744687211e-05], [-0.0007324291350671954, 1.866712137472383e-05], [-0.0007047825575951714, 1.9513631529101184e-05], [-0.0006850721912290444, 1.499710959553897e-05], [-0.0006597480352696951, 1.615411707219575e-05], [-0.000642176949502906, 1.219522743063712e-05], [-0.0006189033911627724, 1.3560885579962043e-05], [-0.0006032175998340274, 1.0058239441882424e-05], [-0.0005817586539483687, 1.1555212209250604e-05], [-0.0005677375482177235, 8.429860678554705e-06], [-0.0005478883298972452, 9.999692127198177e-06], [-0.0005353402174968143, 7.190070504314644e-06], [-0.0005169227467503476, 8.788814957481503e-06], [-0.0005056809218603664, 6.2468138016537015e-06], [-0.0004885404433227598, 7.841651889989484e-06], [-0.0004784597520440439, 5.5295689678828135e-06], [-0.0004624615295600322, 7.096192681199737e-06], [-0.00045341538731269345, 4.984371942118935e-06], [-0.00043844192747186485, 6.50496802980261e-06], [-0.0004303197413766595, 4.569973251137531e-06], [-0.0004162683987483396, 6.0316711236316415e-06], [-0.00040897334820385044, 4.254874836232825e-06], [-0.00039575426636771836, 5.648554289960521e-06], [-0.00038920139727875367, 4.015048672511954e-06], [-0.00037673574267336915, 5.334425788067117e-06], [-0.0003708503341948996, 3.832182776969057e-06], [-0.0003590687835588988, 5.073110456166643e-06], [-0.00035378495018028943, 3.692334470073352e-06], [-0.00034262639644117433, 4.852268284839181e-06], [-0.0003378858923468203, 3.5848976178064045e-06], [-0.0003272963379016714, 4.662488754411653e-06], [-0.0003230475345552987, 3.5018115799826076e-06], [-0.0003129791447916976, 4.496597328329646e-06], [-0.0003091761564548547, 3.436955965033055e-06], [-0.0002995864499696609, 4.349124946204086e-06], [-0.0002961883853019999, 3.3856880301856713e-06], [-0.0002870395405378193, 4.215902591051907e-06], [-0.0002840098615058429, 3.3444894552892366e-06], [-0.00027526812242468026, 4.093751715611822e-06], [-0.0002725740944641284, 3.310696880580024e-06], [-0.0002642092604225458, 3.980248054846915e-06], [-0.00026182148017317767, 3.282296524126187e-06], [-0.00025380646737507834, 3.873541561835186e-06], [-0.00025169845636098737, 3.2577677693657885e-06], [-0.00024400892017132793, 3.77221922307814e-06], [-0.00024215677456587844, 3.235964139094206e-06], [-0.00023477078360344307, 3.675200604997266e-06], [-0.00023315287172763656, 3.216022786002473e-06], [-0.00022605062604926884, 3.5816583640370705e-06], [-0.00022464732653736694, 3.1972957153268837e-06], [-0.00021781091341078598, 3.49095778143706e-06], [-0.00021660438806717262, 3.1792975557894647e-06], [-0.00021001756983310155, 3.4026107863130462e-06], [-0.00020899156612662887, 3.161665921942922e-06], [-0.00020263959549907164, 3.3162410052585124e-06], [-0.00020177927441994073, 3.1441313502858864e-06], [-0.00019564873328914634, 3.2315571989339043e-06], [-0.0001949405189499738, 3.126494509917104e-06], [-0.000189019177355617, 3.148333074795605e-06], [-0.0001884506252714573, 3.1086089372642564e-06], [-0.00018272731772148504, 3.066391945047263e-06], [-0.00018228699916926264, 3.0903679631573385e-06], [-0.00017675151590733606, 2.985595065158096e-06], [-0.0001764289161571033, 3.0716948199852125e-06], [-0.000171071907341465, 2.9058327674861378e-06], [-0.0001708573358820127, 3.052535159745591e-06], [-0.00016567022694173022, 2.827017717057569e-06], [-0.0001655547381009904, 3.0328513991637075e-06], [-0.00016052965479089926, 2.749079778511191e-06], [-0.00016050497738603754, 3.012618448697398e-06], [-0.0001556346792771053, 2.6719621061168558e-06], [-0.0001556931541268467, 2.991820489423182e-06], [-0.00015097097545057673, 2.595618162425406e-06], [-0.00015110549974947914, 2.9704485430113646e-06], [-0.00014652529666868958, 2.5200094421037558e-06], [-0.00014672927436432952, 2.948498641741139e-06], [-0.00014228537787285207, 2.4451037314440686e-06], [-0.0001425526753066898, 2.9259704523224163e-06], [-0.00013823984907088382, 2.370873774971611e-06], [-0.0001385647552452186, 2.9028662427881264e-06], [-0.0001343781577940384, 2.2972962516378574e-06], [-0.00013475534871386846, 2.879190108627162e-06], [-0.00013069049946399573, 2.2243509866160315e-06], [-0.00013111500607623788, 2.8549473947012054e-06], [-0.00012716775474688266, 2.1520203425677177e-06], [-0.00012763493406227585, 2.8301442649814205e-06], [-0.00012380143309242012, 2.0802887477853573e-06], [-0.0001243069421291785, 2.804787383716936e-06], [-0.00012058362175985799, 2.0091423288927644e-06], [-0.00012112339399423543, 2.7788836806651206e-06], [-0.00011750693972119993, 1.9385686234999825e-06], [-0.00011807716376974592, 2.7524401795207638e-06], [-0.00011456449590858408, 1.86855635418113e-06], [-0.00011516159620093751, 2.725463873911764e-06], [-0.00011174985133852244, 1.799095249547279e-06], [-0.00011237047056902294, 2.6979616390494546e-06], [-0.00010905698470240971, 1.7301759016035314e-06], [-0.00010969796787422993, 2.669940170091773e-06], [-0.00010648026106193534, 1.6617896511588123e-06], [-0.00010713864095952848, 2.64140594043629e-06], [-0.00010401440333063671, 1.5939284949823006e-06], [-0.00010468738727539712, 2.6123651748310074e-06], [-0.00010165446625983766, 1.5265850098876347e-06], [-0.00010233942402057664, 2.582823833430485e-06], [-9.939581267951553e-05, 1.459752290081085e-06], [-0.00010009026542388593, 2.5527876039243755e-06], [-9.723409177277126e-05, 1.3934238949312409e-06], [-9.793570195849565e-05, 2.522261899499985e-06], [-9.516521918722202e-05, 1.3275938049815913e-06], [-9.587178130310997e-05, 2.4912518610368056e-06], [-9.318535880819103e-05, 1.2622563845377399e-06], [-9.389479088471212e-05, 2.459762362277302e-06], [-9.129090603755363e-05, 1.197406349517115e-06], [-9.200124185532617e-05, 2.427798017030997e-06], [-8.947847243876667e-05, 1.1330387395806678e-06], [-9.018785437088903e-05, 2.3953631877665842e-06], [-8.774487162327556e-05, 1.0691488937003102e-06], [-8.845154405415655e-05, 2.3624619950298564e-06], [-8.60871062665535e-05, 1.0057324286320306e-06], [-8.678940953574054e-05, 2.3290983273509675e-06], [-8.450235615343655e-05, 9.427852197294472e-07], [-8.519872097824718e-05, 2.2952758513275155e-06], [-8.29879671626462e-05, 8.803033837624432e-07], [-8.367690949804935e-05, 2.2609980217006165e-06], [-8.154144110946418e-05, 8.182832634276627e-07], [-8.222155740774148e-05, 2.2262680912988533e-06], [-8.016042637348061e-05, 7.567214132972092e-07], [-8.083038920997459e-05, 2.191089120686833e-06], [-7.884270924562115e-05, 6.956145870071081e-07], [-7.950126328007131e-05, 2.1554639875281715e-06], [-7.758620593494996e-05, 6.349597255507702e-07], [-7.823216418091481e-05, 2.1193953955534373e-06], [-7.638895518155161e-05, 5.74753946508719e-07], [-7.702119555901941e-05, 2.082885883135515e-06], [-7.52491114268368e-05, 5.149945341439895e-07], [-7.58665735754959e-05, 2.04593783145751e-06], [-7.416493849728653e-05, 4.5567893024922674e-07], [-7.476662083003324e-05, 2.008553472253524e-06], [-7.31348037617311e-05, 3.9680472566457077e-07], [-7.371976073988156e-05, 1.9707348951455945e-06], [-7.215717272595518e-05, 3.3836965245434475e-07], [-7.272451233938931e-05, 1.9324840545410085e-06], [-7.123060403181427e-05, 2.803715766043358e-07], [-7.177948546877861e-05, 1.8938027761769673e-06], [-7.035374483103272e-05, 2.228084912635287e-07], [-7.088337632373428e-05, 1.8546927632315446e-06], [-6.952532650659217e-05, 1.6567851047171096e-07], [-7.00349633399856e-05, 1.8151556020636275e-06], [-6.874416071706072e-05, 1.0897986331393501e-07], [-6.923310338941794e-05, 1.7751927676263081e-06], [-6.800913574151765e-05, 5.271088850655769e-08], [-6.847672826633037e-05, 1.7348056284881817e-06], [-6.731921310470143e-05, -3.129970654058022e-09], [-6.776484144445953e-05, 1.6939954515500085e-06], [-6.667342446389103e-05, -5.8544170943023094e-08], [-6.709651508715809e-05, 1.6527634064140256e-06], [-6.6070868740703e-05, -1.1353307354746438e-07], [-6.647088729468459e-05, 1.6111105694751082e-06], [-6.551070948258321e-05, -1.6809794807149723e-07], [-6.588715957406512e-05, 1.5690379276997754e-06], [-6.499217244009545e-05, -2.222399762333169e-07], [-6.534459451836339e-05, 1.5265463821100283e-06], [-6.45145433474875e-05, -2.7596025527645616e-07], [-6.484251368341541e-05, 1.4836367510151169e-06], [-6.407716589519217e-05, -3.292598010912596e-07], [-6.438029565120952e-05, 1.4403097729865525e-06], [-6.367943988399752e-05, -3.821395510934829e-07], [-6.395737427023595e-05, 1.3965661095412563e-06], [-6.33208195516476e-05, -4.346003668159769e-07], [-6.357323706401662e-05, 1.3524063476248166e-06], [-6.300081206363377e-05, -4.866430362884437e-07], [-6.322742379999576e-05, 1.3078310018379143e-06], [-6.27189761607319e-05, -5.382682761598186e-07], [-6.291952521182793e-05, 1.2628405164254583e-06], [-6.247492095676518e-05, -5.894767335920336e-07], [-6.26491818688752e-05, 1.217435267060206e-06], [-6.226830488075273e-05, -6.402689879452354e-07], [-6.241608318749378e-05, 1.1716155624102499e-06], [-6.209883475840671e-05, -6.906455522363054e-07], [-6.221996657939299e-05, 1.125381645466687e-06], [-6.196626502863209e-05, -7.406068743903498e-07], [-6.206061673305709e-05, 1.078733694702359e-06], [-6.187039709126795e-05, -7.901533382780979e-07], [-6.193786502482446e-05, 1.0316718249995955e-06], [-6.181107878306702e-05, -8.392852645668564e-07], [-6.185158905688148e-05, 9.841960883923635e-07], [-6.178820397942791e-05, -8.880029113487167e-07], [-6.180171231999293e-05, 9.363064745960591e-07]]\n" ] } ], "source": [ "print(json.dumps(list(map(lambda x: (x.real, x.imag), fir))))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-0.0001236034246399853, -0.00012357640795885672, -0.00012370317811376385, -0.0001236221575661367, -0.00012387573004965028, -0.00012374079418253224, -0.00012412123346611568, -0.00012393253005726462, -0.00012443993315878758, -0.00012419766951681822, -0.00012483216637498688, -0.0001245366097615096, -0.0001252983637377524, -0.00012494984191353036, -0.00012583905042365222, -0.00012543795232146263, -0.00012645484759998997, -0.00012600162412726226, -0.0001271464741280336, -0.00012664163910329254, -0.00012791474854047193, -0.00012735887976799215, -0.00012876059130241977, -0.00012815433179038562, -0.0001296850273668322, -0.0001290290866949733, -0.00013068918903672868, -0.00012998434488018952, -0.00013177431914812758, -0.00013102141896516637, -0.00013294177458936804, -0.00013214173748140692, -0.0001341930301743194, -0.00013334684892778027, -0.00013552968288891868, -0.00013463842620940603, -0.00013695345653266176, -0.0001360182714830373, -0.00013846620677884092, -0.00013748832143412352, -0.0001400699266799712, -0.00013905065301318578, -0.00014176675264746162, -0.00014070748966206503, -0.000143558970937558, -0.0001424612080636232, -0.00014544902467878015, -0.00014431434545191058, -0.0001474395214797607, -0.00014626960752346115, -0.0001495332416600658, -0.00014832987699457307, -0.00015173314715099384, -0.00015049822285367065, -0.00015404239111804083, -0.0001527779103631054, -0.00015646432836183033, -0.00015517241186990344, -0.00015900252656014135, -0.00015768541849123818, -0.00016166077841995064, -0.00016032085274696403, -0.00016444311481548095, -0.00016308288221893015, -0.00016735381899609655, -0.00016597593432529347, -0.00017039744195649614, -0.0001690047123068731, -0.00017357881907148026, -0.00017217421253310568, -0.00017690308810831173, -0.0001754897432465475, -0.00018037570874177572, -0.0001789569448775286, -0.00018400248371064706, -0.00018258181207510624, -0.00018778958176942514, -0.00018637071761638002, -0.00019174356260622276, -0.00019033043837444439, -0.00019587140391699343, -0.00019446818354554448, -0.0002001805308477699, -0.00019879162535903002, -0.00020467884804115346, -0.00020330893251967636, -0.0002093747745507956, -0.0002080288066612758, -0.0002142772819190576, -0.000212960522123873, -0.00021939593574845875, -0.0002181139694048193, -0.0002247409411380482, -0.0002234997026770445, -0.00023032319240187503, -0.00022912899181716498, -0.00023615432753948984, -0.0002350138794423966, -0.00024224678798847072, -0.00024116724351971506, -0.00024861388425835525, -0.0002476028661848385, -0.00025526986812454884, -0.00025433550949376365, -0.0002622300121524759, -0.00026138099892799243, -0.0002695106974277368, -0.00026875631558807606, -0.00027712951049043804, -0.00027647969814176775, -0.00028510535061338166, -0.00028457075574570505, -0.00029345854872865997, -0.00029305059333737895, -0.0003022109994989592, -0.0003019419509011536, -0.0003113863082536954, -0.0003112693585542113, -0.000321009954772081, -0.000321059309581801, -0.00033110947620198405, -0.00033134045388346045, -0.00034171467176401975, -0.00034214381468292707, -0.00035285783231420344, -0.00035350303181467017, -0.0003645739983385224, -0.00036545463544297154, -0.0003769012505429119, -0.0003780383547112328, -0.00038988103789994616, -0.00039129746657829323, -0.00040355854883987994, -0.0004052791909981426, -0.00041798313225325525, -0.00042003513966620213, -0.00043320877613434644, -0.00043562182682157293, -0.0004492946530747345, -0.00045210125209853644, -0.00046630574345527594, -0.0004695415672068862, -0.00048431354913175824, -0.0004880178403426593, -0.0005033969127219801, -0.0005076129347501583, -0.0005236429603463635, -0.0005284185208450919, -0.0005451481889282568, -0.0005505362448493593, -0.0005680197230116828, -0.0005740790810756381, -0.0005923767706039963, -0.0005991728999393211, -0.0006183523129097064, -0.0006259582895833933, -0.0006460950691105967, -0.0006545926758033427, -0.0006757717846936382, -0.0006852527928823487, -0.0007075699003605781, -0.0007181375671177979, -0.0007417006683898, -0.0007534714853467386, -0.0007784027945575077, -0.0007915085327354356, -0.000817946696407703, -0.0008325367974966818, -0.0008606394827533192, -0.0008768838549437273, -0.0009068307746253869, -0.0009249230591200649, -0.0009569195040880899, -0.000977080886645524, -0.0010113618437207384, -0.0010338454935006952, -0.0010706804349936271, -0.001095776659794491, -0.0011354750964354477, -0.0011635173078967354, -0.001206435199668056, -0.0012378067823255456, -0.0012843538990058114, -0.0013194960705393906, -0.0013701443824580878, -0.0014095651151903427, -0.0014648582701343952, -0.0015091423103072129, -0.0015697062081708626, -0.0016195261719866216, -0.001686080575438531, -0.00174220900847118, -0.0018155800128744936, -0.0018789021572370376, -0.001960035168705204, -0.0020315619696824406, -0.002121534582370176, -0.002202415154914247, -0.0023024489445815327, -0.0023939812718606727, -0.002505450987932947, -0.002609088987367789, -0.0027335268702878904, -0.002850881067895106, -0.002989972962453805, -0.0031228007714362203, -0.0032783692435977055, -0.0034285491256422244, -0.0036025167798775797, -0.0037719982169291478, -0.00396632166994299, -0.004157039681525985, -0.004373600939677917, -0.004587339578168081, -0.00482777658831227, -0.005065960093839171, -0.005331411614515308, -0.005594794296084198, -0.0058855255123566805, -0.006173741448252998, -0.006488605402633186, -0.006799526169892897, -0.007135201544640673, -0.007464033848429395, -0.007813961417578862, -0.00815199630333154, -0.008504914264774998, -0.008837815629998271, -0.009175768546681647, -0.009481262091305353, -0.009776931453038243, -0.010021729522104068, -0.010234911489683135, -0.010370692750369497, -0.010443742756852484, -0.010402016152641986, -0.010254116560159104, -0.009939873404166449, -0.00946011233172272, -0.008744384026962856, -0.0077839689517281065, -0.006495914888544236, -0.004860607395878058, -0.0027808805060843297, -0.00022640525949324248, 0.0029140182179386905, 0.006677198533165083, 0.011183166501832984, 0.016461117135239976, 0.022622463140196735, 0.02965062066850573, 0.03760094869979588, 0.04630883513954884, 0.05564644124231063, 0.06498312947624725, 0.07363859618800483, 0.07874390286056503, 0.07363859618800483, 0.06498312947624726, 0.05564644124231064, 0.04630883513954885, 0.03760094869979589, 0.02965062066850573, 0.02262246314019674, 0.016461117135239976, 0.011183166501832986, 0.006677198533165085, 0.002914018217938691, -0.00022640525949323988, -0.002780880506084325, -0.004860607395878056, -0.006495914888544234, -0.007783968951728103, -0.008744384026962858, -0.009460112331722722, -0.009939873404166447, -0.010254116560159105, -0.010402016152641984, -0.010443742756852482, -0.010370692750369495, -0.010234911489683135, -0.010021729522104067, -0.009776931453038245, -0.009481262091305353, -0.00917576854668164, -0.00883781562999827, -0.008504914264774994, -0.008151996303331539, -0.007813961417578862, -0.007464033848429395, -0.007135201544640674, -0.006799526169892896, -0.006488605402633184, -0.006173741448252999, -0.00588552551235668, -0.005594794296084198, -0.005331411614515308, -0.005065960093839172, -0.004827776588312269, -0.004587339578168084, -0.004373600939677918, -0.004157039681525985, -0.003966321669942992, -0.00377199821692915, -0.0036025167798775805, -0.0034285491256422287, -0.0032783692435977138, -0.0031228007714362255, -0.0029899729624538, -0.0028508810678951084, -0.0027335268702878904, -0.0026090889873677903, -0.0025054509879329475, -0.0023939812718606693, -0.0023024489445815305, -0.002202415154914245, -0.0021215345823701734, -0.0020315619696824392, -0.0019600351687052023, -0.0018789021572370357, -0.0018155800128744945, -0.0017422090084711793, -0.0016860805754385312, -0.0016195261719866205, -0.0015697062081708615, -0.0015091423103072124, -0.0014648582701343909, -0.0014095651151903427, -0.0013701443824580889, -0.0013194960705393902, -0.001284353899005812, -0.0012378067823255448, -0.0012064351996680547, -0.0011635173078967374, -0.001135475096435447, -0.0010957766597944904, -0.0010706804349936286, -0.0010338454935006952, -0.0010113618437207327, -0.0009770808866455196, -0.0009569195040880878, -0.0009249230591200644, -0.0009068307746253869, -0.0008768838549437297, -0.000860639482753319, -0.0008325367974966792, -0.0008179466964077009, -0.0007915085327354367, -0.0007784027945575073, -0.0007534714853467383, -0.0007417006683897992, -0.0007181375671177976, -0.0007075699003605789, -0.0006852527928823487, -0.0006757717846936406, -0.0006545926758033428, -0.0006460950691105974, -0.0006259582895833952, -0.0006183523129097094, -0.0005991728999393218, -0.0005923767706039998, -0.0005740790810756386, -0.0005680197230116858, -0.0005505362448493605, -0.0005451481889282568, -0.0005284185208450916, -0.0005236429603463553, -0.0005076129347501567, -0.0005033969127219747, -0.00048801784034265585, -0.0004843135491317569, -0.00046954156720688614, -0.0004663057434552731, -0.0004521012520985377, -0.00044929465307473387, -0.00043562182682157195, -0.00043320877613434525, -0.0004200351396662031, -0.00041798313225325774, -0.0004052791909981433, -0.00040355854883988146, -0.0003912974665782927, -0.0003898810378999476, -0.000378038354711234, -0.0003769012505429146, -0.0003654546354429701, -0.0003645739983385253, -0.0003535030318146721, -0.0003528578323142066, -0.00034214381468293, -0.0003417146717640254, -0.00033134045388346045, -0.0003311094762019808, -0.0003210593095817985, -0.00032100995477207507, -0.0003112693585542106, -0.0003113863082536934, -0.00030194195090115346, -0.0003022109994989583, -0.00029305059333737917, -0.00029345854872865905, -0.00028457075574570413, -0.0002851053506133796, -0.00027647969814176764, -0.0002771295104904372, -0.0002687563155880768, -0.0002695106974277369, -0.00026138099892799145, -0.00026223001215247576, -0.00025433550949376533, -0.0002552698681245517, -0.00024760286618484025, -0.000248613884258357, -0.00024116724351971598, -0.00024224678798847086, -0.00023501387944239985, -0.00023615432753949184, -0.00022912899181716815, -0.00023032319240187503, -0.00022349970267704488, -0.00022474094113804588, -0.00021811396940481941, -0.00021939593574845986, -0.0002129605221238707, -0.00021427728191905697, -0.00020802880666127342, -0.00020937477455079423, -0.00020330893251967533, -0.00020467884804115327, -0.00019879162535903105, -0.00020018053084777185, -0.00019446818354554253, -0.0001958714039169913, -0.00019033043837444403, -0.00019174356260621994, -0.00018637071761638205, -0.00018778958176942425, -0.00018258181207510727, -0.00018400248371065235, -0.00017895694487753334, -0.00018037570874177806, -0.0001754897432465511, -0.0001769030881083131, -0.000172174212533107, -0.00017357881907148107, -0.0001690047123068731, -0.00017039744195649435, -0.0001659759343252924, -0.0001673538189960987, -0.00016308288221892836, -0.00016444311481548295, -0.00016032085274696122, -0.00016166077841994918, -0.0001576854184912423, -0.00015900252656014262, -0.00015517241186989992, -0.00015646432836182963, -0.00015277791036310322, -0.00015404239111803882, -0.0001504982228536736, -0.0001517331471509918, -0.00014832987699457307, -0.00014953324166006648, -0.0001462696075234622, -0.00014743952147976312, -0.00014431434545191036, -0.00014544902467877863, -0.00014246120806362853, -0.00014355897093755723, -0.00014070748966206543, -0.00014176675264746856, -0.00013905065301318434, -0.0001400699266799712, -0.00013748832143412143, -0.00013846620677883587, -0.0001360182714830353, -0.00013695345653266073, -0.00013463842620940286, -0.00013552968288891906, -0.00013334684892778205, -0.00013419303017431618, -0.000132141737481406, -0.00013294177458936918, -0.00013102141896516642, -0.00013177431914813023, -0.0001299843448801909, -0.00013068918903672678, -0.000129029086694975, -0.00012968502736683082, -0.00012815433179038434, -0.00012876059130241904, -0.00012735887976799505, -0.0001279147485404719, -0.0001266416391032952, -0.00012714647412803324, -0.00012600162412726754, -0.00012645484759999152, -0.0001254379523214638, -0.00012583905042365585, -0.00012494984191353036, -0.0001252983637377504, -0.00012453660976150546, -0.00012483216637498756, -0.00012419766951681343, -0.00012443993315878598, -0.00012393253005726419, -0.00012412123346611418, -0.0001237407941825359, -0.00012387573004964892, -0.00012362215756613404, -0.00012370317811376296, -0.00012357640795885582, -0.00012360342463998587]\n" ] } ], "source": [ "print(json.dumps(list(map(lambda x: x.real, firr))))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }