From 2046b0933485db2ceac323e370982b681e60327c Mon Sep 17 00:00:00 2001 From: sara Date: Sat, 27 Nov 2021 18:44:24 +0100 Subject: Notebook aufgereumt --- notebooks/FIRDelay.ipynb | 181 ----------- notebooks/FIR_mehrere.ipynb | 658 --------------------------------------- notebooks/FIR_mehrere_V2.ipynb | 389 +++++++++++++++++++++++ notebooks/Test/FIRDelay.ipynb | 181 +++++++++++ notebooks/Test/FIR_mehrere.ipynb | 658 +++++++++++++++++++++++++++++++++++++++ notebooks/Test/Untitled.ipynb | 193 ++++++++++++ notebooks/Untitled.ipynb | 193 ------------ notebooks/Untitled1.ipynb | 33 -- notebooks/Untitled2.ipynb | 182 ----------- 9 files changed, 1421 insertions(+), 1247 deletions(-) delete mode 100644 notebooks/FIRDelay.ipynb delete mode 100644 notebooks/FIR_mehrere.ipynb create mode 100644 notebooks/FIR_mehrere_V2.ipynb create mode 100644 notebooks/Test/FIRDelay.ipynb create mode 100644 notebooks/Test/FIR_mehrere.ipynb create mode 100644 notebooks/Test/Untitled.ipynb delete mode 100644 notebooks/Untitled.ipynb delete mode 100644 notebooks/Untitled1.ipynb delete mode 100644 notebooks/Untitled2.ipynb (limited to 'notebooks') diff --git a/notebooks/FIRDelay.ipynb b/notebooks/FIRDelay.ipynb deleted file mode 100644 index 4576f88..0000000 --- a/notebooks/FIRDelay.ipynb +++ /dev/null @@ -1,181 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "acccd8cc", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np \n", - "from numpy.fft import fft,ifft,fftshift\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bee9dae9", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "405fcd96", - "metadata": {}, - "source": [ - "# Delay as a Convolution System" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "7210e2de", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 0, 0, 1]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Create the FIR\n", - "D = 3 # Delay value\n", - "h = [0]*D+[1]\n", - "h" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "892c62dd", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "d = 3.3\n", - "k = np.linspace(-5,10,1000)\n", - "h_ideal = np.sinc(k-d)\n", - "plt.plot(k,h_ideal)\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "c640e03e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "n = 4\n", - "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", - "window = []\n", - "for ws in window_sample: \n", - " idx = (np.abs(k-ws)).argmin()\n", - " window.append(idx)\n", - " \n", - "plt.plot(k,h_ideal)\n", - "plt.plot(window_sample,h_ideal[window],\"*\")\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "17a5bf03", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "n = 4\n", - "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", - "window = []\n", - "for ws in window_sample: \n", - " idx = (np.abs(k-ws)).argmin()\n", - " window.append(idx)\n", - "\n", - " \n", - "fig = plt.figure()\n", - "\n", - "plt.plot(k,h_ideal)\n", - "plt.plot(window_sample,h_ideal[window],\"o\")\n", - "plt.xlim(-5,10)\n", - "plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a82e44c", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/FIR_mehrere.ipynb b/notebooks/FIR_mehrere.ipynb deleted file mode 100644 index cdd7e25..0000000 --- a/notebooks/FIR_mehrere.ipynb +++ /dev/null @@ -1,658 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d828ae1c", - "metadata": {}, - "source": [ - "# FIR Filter Parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9aed9f51", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np \n", - "from numpy.fft import fft,ifft,fftshift\n", - "import matplotlib.pyplot as plt\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "9a16a6d2", - "metadata": {}, - "outputs": [], - "source": [ - "# Anfangs werte noch variabel machen \n", - "delays = [3,5,2]\n", - "ampl = [0.2,0.5,0.8]" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "04de21c9", - "metadata": {}, - "outputs": [], - "source": [ - "#if len(delays)!= len(ampl):\n", - "# Exeption ? " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "01fe08fe", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1, 0, 0, 0, 0.2]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[1]+[0 for n in range (0,delays[0])]+[ampl[0]]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9ab70ca5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "f55da062", - "metadata": {}, - "outputs": [], - "source": [ - "i = len(ampl)\n", - "x = [([1]+[0 for n in range (0,delays[i])]+[ampl[i]]) for i in range(0,i)]" - ] - }, - { - "cell_type": "markdown", - "id": "5ad0edf9", - "metadata": {}, - "source": [ - "# Dealy Window\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "bf92d73a", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "d =0\n", - "k = np.linspace(-5,10,1000)\n", - "h_ideal = np.sinc(k-d)\n", - "plt.plot(k,h_ideal)\n", - "plt.show()\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "dd93e444", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "n = 4.5\n", - "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", - "window = []\n", - "for ws in window_sample: \n", - " idx = (np.abs(k-ws)).argmin()\n", - " window.append(idx)\n", - " \n", - "plt.plot(k,h_ideal)\n", - "plt.plot(window_sample,h_ideal[window],\"-*\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "12b0c2d2", - "metadata": {}, - "source": [ - "# FIR" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "efc93b69", - "metadata": {}, - "outputs": [], - "source": [ - "delay = 3\n", - "amplitude = 1\n", - "\n", - "d_int = int(np.floor(delay))\n", - "#d_frac = delay - d_int\n", - "\n", - "h_int = np.concatenate([np.zeros(d_int-1), [amplitude], np.zeros(3)])" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "43372541", - "metadata": {}, - "outputs": [], - "source": [ - "#H_int = fft(h_int)\n", - "#h = ifft(H_int)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "a32cb580", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "test = np.random.randint(0, 10, size = 20)# Signal\n", - "\n", - "y = np.convolve(test.real, h_int)#Faltung\n", - "\n", - "plt.stem(test, linefmt=\"C0-\")\n", - "plt.stem(y, linefmt='C1-')" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "39fb3489", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([9, 9, 2, 7, 8, 2, 8, 6, 2, 8, 4, 5, 7, 8, 2, 3, 0, 6, 4, 6])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "test" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "7fd06347", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0., 0., 1., 0., 0., 0.])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "h_int" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "a9612999", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0., 0., 9., 9., 2., 7., 8., 2., 8., 6., 2., 8., 4., 5., 7., 8., 2.,\n", - " 3., 0., 6., 4., 6., 0., 0., 0.])" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "y" - ] - }, - { - "cell_type": "markdown", - "id": "706a51b1", - "metadata": {}, - "source": [ - "# FIR mit Delay \n" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "d51e107c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "System frequencies fs=100, T=0.01\n", - "Tap with amplitude=4, delay=0.0725\n", - "Creating filter of order N=15.0\n", - "[-0.12418156 0.14405061 -0.17148882 0.21183913 -0.2770204 0.40014058\n", - " -0.72025305 3.60126526 1.20042175 -0.51446647 0.32738775 -0.24008435\n", - " 0.18954028 -0.15657675 0.13338019 -0.11616985]\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "samp_rate = 100\n", - "period = 1 / samp_rate\n", - "print(f\"System frequencies fs={samp_rate}, T={period}\")\n", - "\n", - "delay = 7.25 * period\n", - "ampl = 4\n", - "print(f\"Tap with amplitude={ampl}, delay={delay}\")\n", - "\n", - "order = 2 * np.floor(delay / period) + 1 #N\n", - "print(f\"Creating filter of order N={order}\")\n", - "\n", - "skip = np.floor(delay / period) - (order - 1) / 2 #M\n", - "assert skip >= 0\n", - "\n", - "samples = np.arange(0, order +1) * period - delay\n", - "\n", - "h = ampl*(np.sin(samp_rate * samples*np.pi) / (samp_rate * samples * np.pi)) #sinc\n", - "print(h)\n", - "plt.stem(h)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "70acad87", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Tap with amplitude=1, delay=1.25\n", - "Creating filter of order N=3.0\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "delay = 1.25\n", - "ampl = 1\n", - "print(f\"Tap with amplitude={ampl}, delay={delay}\")\n", - "\n", - "order = 2 * np.floor(delay) + 1 #N\n", - "print(f\"Creating filter of order N={order}\")\n", - "\n", - "samples = np.arange(0, order +1) - delay\n", - "\n", - "h = ampl*(np.sinc(samples)) #sinc\n", - "\n", - "plt.stem(samples, h)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "c89c83ae", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "t = np.arange(200)\n", - "\n", - "signal = np.sin(2 * np.pi * t * 0.05)\n", - "\n", - "signal_shifted = np.convolve(h, signal, mode='full')\n", - "\n", - "plt.plot(t, signal)\n", - "plt.grid(True)\n", - "plt.show()\n", - "plt.plot(signal_shifted)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "15f663c6", - "metadata": {}, - "source": [ - "# Test Delay " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "afb9e748", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "samp_rate = 100\n", - "period = 1 / samp_rate\n", - "\n", - "#samp_rate_2 = 100\n", - "#period_2 = 1 / samp_rate_2\n", - "\n", - "print(f\"System frequencies fs={samp_rate}, T={period}\")\n", - "\n", - "delay_freq = 1.25 * period\n", - "delay_int = int(np.floor(delay_freq/period))\n", - "ampl = 4\n", - "print(f\"Tap with amplitude={ampl}, delay_freq={delay_freq}, delay_int={delay_int}\")\n", - "\n", - "order = 2 * np.floor(delay / period) + 1 #N\n", - "print(f\"Creating filter of order N={order}\")\n", - "\n", - "skip = np.floor(delay / period) - (order - 1) / 2 #M\n", - "assert skip >= 0\n", - "\n", - "samples_freq = np.arange(0, order + 1) * period - delay_freq\n", - "print(f\"samples_freq{samples_freq}\")\n", - "\n", - "samples_int = np.arange(0,delay_int,1)\n", - "print(f\"samples_int{samples_int}\")\n", - "\n", - "h_freq = ampl*(np.sin(samp_rate * samples_freq) / (samp_rate * samples_freq)) #sinc\n", - "\n", - "h_ideal = np.exp(-1j*delay_int*2*np.pi*samp_rate)\n", - "print(f\"h_freq{h_freq}\")\n", - "#print(f\"h_ideal{h_ideal}\")\n", - "\n", - "t_freq = np.linspace(0, delay_freq + period, samp_rate)\n", - "t_int = np.linspace(0, delay_int + period, samp_rate)\n", - "\n", - "f_freq = np.sin(2 * np.pi * samp_rate * t_freq)#test Signal\n", - "f_int = np.sin(2 * np.pi * samp_rate * t_int)#test Signal\n", - "\n", - "f_shift_freq = np.convolve(h_freq , f_freq)[:len(f_freq)]#Faltung freq \n", - "f_shift_int = np.convolve(h_int , f_int)[:len(f_int)]#Faltung int \n", - "\n", - "\n", - "\n", - "#h_int = np.concatenate([np.zeros(delay_int-1), [ampl], np.zeros(3)])\n", - "#y1 = np.convolve(test.real, h_int)\n", - "plt.grid(True)\n", - "plt.stem(t_freq, f_shift_freq, linefmt=\"C0-\")\n", - "plt.stem(t_int, f_shift_int, linefmt='C1-')\n", - "plt.show()\n", - "plt.grid(True)\n", - "plt.stem(f_shift_freq, linefmt=\"C2-\", label='freq')\n", - "plt.stem(f_shift_int, linefmt='C3-', label = 'int')\n", - "#plt.legend(loc=\"upper left\")" - ] - }, - { - "cell_type": "markdown", - "id": "6fb85387", - "metadata": {}, - "source": [ - "# Test 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f224987a", - "metadata": {}, - "outputs": [], - "source": [ - "samp_rate = 10e6\n", - "period = 1 / samp_rate\n", - "#print(f\"System frequencies fs={samp_rate}, T={period}\")\n", - "\n", - "delay_freq = 7.25 * period\n", - "delay_int = int(np.floor(delay_freq/period))\n", - "ampl = 2\n", - "#print(f\"Tap with amplitude={ampl}, delay_freq={delay_freq}, delay_int={delay_int}\")\n", - "\n", - "#order = 2 * np.floor(delay / period) + 1 #N\n", - "#print(f\"Creating filter of order N={order}\")\n", - "\n", - "#skip = np.floor(delay / period) - (order - 1) / 2 #M\n", - "#assert skip >= 0\n", - "\n", - "#samples_freq = np.arange(0, order + 1) * period - delay_freq\n", - "#print(f\"samples_freq{samples_freq}\")\n", - "\n", - "samples_int = np.arange(0,delay_int,1)\n", - "#print(f\"samples_int{samples_int}\")\n", - "\n", - "#h_freq = ampl*(np.sin(samp_rate * samples_freq) / (samp_rate * samples_freq)) #sinc\n", - "\n", - "H_ideal = np.exp(-1j*delay_int*2*np.pi*samples_int)\n", - "h_ideal = ifft(H_ideal)\n", - "\n", - "plt.stem(H_ideal.real, linefmt=\"C0-\")\n", - "plt.stem(h_ideal.real, linefmt='C1-')\n", - "#print(f\"h_freq{h_freq}\")\n", - "#print(f\"h_ideal{h_ideal}\")\n", - "\n", - "#t_freq = np.linspace(0, delay_freq + period, samp_rate)\n", - "#t_int = np.linspace(0, delay_int + period, samp_rate)\n", - "\n", - "#f_freq = np.sin(2 * np.pi * samp_rate * t_freq)#test Signal\n", - "#f_int = np.sin(2 * np.pi * samp_rate * t_int)#test Signal\n", - "\n", - "#f_shift_freq = np.convolve(h_freq , f_freq)[:len(f_freq)]#Faltung freq \n", - "#f_shift_int = np.convolve(h_int , f_int)[:len(f_int)]#Faltung int \n", - "\n", - "\n", - "\n", - "#h_int = np.concatenate([np.zeros(delay_int-1), [ampl], np.zeros(3)])\n", - "#y1 = np.convolve(test.real, h_int)\n", - "#plt.grid(True)\n", - "#plt.stem(t_freq, f_shift_freq, linefmt=\"C0-\")\n", - "#plt.stem(t_int, f_shift_int, linefmt='C1-')\n", - "#plt.show()\n", - "#plt.grid(True)\n", - "#plt.stem(f_shift_freq, linefmt=\"C2-\", label='freq')\n", - "#plt.stem(f_shift_int, linefmt='C3-', label = 'int')\n", - "#plt.legend(loc=\"upper left\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87e52ab7", - "metadata": {}, - "outputs": [], - "source": [ - "h_ideal\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "97f54131", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cb6163b1", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/FIR_mehrere_V2.ipynb b/notebooks/FIR_mehrere_V2.ipynb new file mode 100644 index 0000000..6e213f3 --- /dev/null +++ b/notebooks/FIR_mehrere_V2.ipynb @@ -0,0 +1,389 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d828ae1c", + "metadata": {}, + "source": [ + "# FIR Filter Parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "9aed9f51", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np \n", + "from numpy.fft import fft,ifft,fftshift\n", + "import matplotlib.pyplot as plt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9a16a6d2", + "metadata": {}, + "outputs": [], + "source": [ + "# Anfangs werte noch variabel machen \n", + "delays = [3,5,2]\n", + "ampl = [0.2,0.5,0.8]" + ] + }, + { + "cell_type": "markdown", + "id": "5ad0edf9", + "metadata": {}, + "source": [ + "# Dealy Window\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bf92d73a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "d =0\n", + "k = np.linspace(-5,10,1000)\n", + "h_ideal = np.sinc(k-d)\n", + "plt.plot(k,h_ideal)\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "dd93e444", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "n = 4.5\n", + "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", + "window = []\n", + "for ws in window_sample: \n", + " idx = (np.abs(k-ws)).argmin()\n", + " window.append(idx)\n", + " \n", + "plt.plot(k,h_ideal)\n", + "plt.plot(window_sample,h_ideal[window],\"-*\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "12b0c2d2", + "metadata": {}, + "source": [ + "# FIR" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "efc93b69", + "metadata": {}, + "outputs": [], + "source": [ + "delay = 3\n", + "amplitude = 1\n", + "\n", + "d_int = int(np.floor(delay))\n", + "#d_frac = delay - d_int\n", + "\n", + "h_int = np.concatenate([np.zeros(d_int-1), [amplitude], np.zeros(3)])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "43372541", + "metadata": {}, + "outputs": [], + "source": [ + "#H_int = fft(h_int)\n", + "#h = ifft(H_int)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a32cb580", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "test = np.random.randint(0, 10, size = 20)# Signal\n", + "\n", + "y = np.convolve(test.real, h_int)#Faltung\n", + "\n", + "plt.stem(test, linefmt=\"C0-\")\n", + "plt.stem(y, linefmt='C1-')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "39fb3489", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 8, 9, 1, 3, 5, 7, 9, 8, 4, 8, 2, 6, 1, 5, 5, 3, 5, 0, 7])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7fd06347", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 1., 0., 0., 0.])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_int" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a9612999", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 1., 8., 9., 1., 3., 5., 7., 9., 8., 4., 8., 2., 6., 1., 5.,\n", + " 5., 3., 5., 0., 7., 0., 0., 0.])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "markdown", + "id": "706a51b1", + "metadata": {}, + "source": [ + "# FIR mit Delay \n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "79e18131", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tap with amplitude=1, delay=7.5\n", + "Creating filter of order N=15.0\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "delay = 7.5\n", + "ampl = 1\n", + "print(f\"Tap with amplitude={ampl}, delay={delay}\")\n", + "\n", + "order = 2 * np.floor(delay) + 1 #N\n", + "print(f\"Creating filter of order N={order}\")\n", + "\n", + "skip = np.floor(delay) - (order - 1) / 2 #M\n", + "assert skip >= 0\n", + "\n", + "samples = np.arange(0, order +1) - delay\n", + "\n", + "h = ampl*(np.sinc(samples)) #sinc\n", + "\n", + "plt.stem(samples, h)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c89c83ae", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "t = np.arange(200)\n", + "\n", + "signal = np.sin(2 * np.pi * t * 0.05)\n", + "\n", + "signal_shifted = np.convolve(h, signal, mode='full')\n", + "\n", + "plt.plot(t, signal)\n", + "plt.grid(True)\n", + "plt.show()\n", + "plt.plot(signal_shifted)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d51d8a62", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Test/FIRDelay.ipynb b/notebooks/Test/FIRDelay.ipynb new file mode 100644 index 0000000..4576f88 --- /dev/null +++ b/notebooks/Test/FIRDelay.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "acccd8cc", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np \n", + "from numpy.fft import fft,ifft,fftshift\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bee9dae9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "405fcd96", + "metadata": {}, + "source": [ + "# Delay as a Convolution System" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7210e2de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 0, 0, 1]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create the FIR\n", + "D = 3 # Delay value\n", + "h = [0]*D+[1]\n", + "h" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "892c62dd", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "d = 3.3\n", + "k = np.linspace(-5,10,1000)\n", + "h_ideal = np.sinc(k-d)\n", + "plt.plot(k,h_ideal)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c640e03e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "n = 4\n", + "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", + "window = []\n", + "for ws in window_sample: \n", + " idx = (np.abs(k-ws)).argmin()\n", + " window.append(idx)\n", + " \n", + "plt.plot(k,h_ideal)\n", + "plt.plot(window_sample,h_ideal[window],\"*\")\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "17a5bf03", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "n = 4\n", + "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", + "window = []\n", + "for ws in window_sample: \n", + " idx = (np.abs(k-ws)).argmin()\n", + " window.append(idx)\n", + "\n", + " \n", + "fig = plt.figure()\n", + "\n", + "plt.plot(k,h_ideal)\n", + "plt.plot(window_sample,h_ideal[window],\"o\")\n", + "plt.xlim(-5,10)\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a82e44c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Test/FIR_mehrere.ipynb b/notebooks/Test/FIR_mehrere.ipynb new file mode 100644 index 0000000..e7f2240 --- /dev/null +++ b/notebooks/Test/FIR_mehrere.ipynb @@ -0,0 +1,658 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d828ae1c", + "metadata": {}, + "source": [ + "# FIR Filter Parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "9aed9f51", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np \n", + "from numpy.fft import fft,ifft,fftshift\n", + "import matplotlib.pyplot as plt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9a16a6d2", + "metadata": {}, + "outputs": [], + "source": [ + "# Anfangs werte noch variabel machen \n", + "delays = [3,5,2]\n", + "ampl = [0.2,0.5,0.8]" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "04de21c9", + "metadata": {}, + "outputs": [], + "source": [ + "#if len(delays)!= len(ampl):\n", + "# Exeption ? " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "01fe08fe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 0, 0, 0, 0.2]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[1]+[0 for n in range (0,delays[0])]+[ampl[0]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ab70ca5", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f55da062", + "metadata": {}, + "outputs": [], + "source": [ + "i = len(ampl)\n", + "x = [([1]+[0 for n in range (0,delays[i])]+[ampl[i]]) for i in range(0,i)]" + ] + }, + { + "cell_type": "markdown", + "id": "5ad0edf9", + "metadata": {}, + "source": [ + "# Dealy Window\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "bf92d73a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "d =0\n", + "k = np.linspace(-5,10,1000)\n", + "h_ideal = np.sinc(k-d)\n", + "plt.plot(k,h_ideal)\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dd93e444", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "n = 4.5\n", + "window_sample= np.arange(np.round(d-(n-1)/2),np.round(d+(n+1)/2))\n", + "window = []\n", + "for ws in window_sample: \n", + " idx = (np.abs(k-ws)).argmin()\n", + " window.append(idx)\n", + " \n", + "plt.plot(k,h_ideal)\n", + "plt.plot(window_sample,h_ideal[window],\"-*\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "12b0c2d2", + "metadata": {}, + "source": [ + "# FIR" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "efc93b69", + "metadata": {}, + "outputs": [], + "source": [ + "delay = 3\n", + "amplitude = 1\n", + "\n", + "d_int = int(np.floor(delay))\n", + "#d_frac = delay - d_int\n", + "\n", + "h_int = np.concatenate([np.zeros(d_int-1), [amplitude], np.zeros(3)])" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "43372541", + "metadata": {}, + "outputs": [], + "source": [ + "#H_int = fft(h_int)\n", + "#h = ifft(H_int)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a32cb580", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "test = np.random.randint(0, 10, size = 20)# Signal\n", + "\n", + "y = np.convolve(test.real, h_int)#Faltung\n", + "\n", + "plt.stem(test, linefmt=\"C0-\")\n", + "plt.stem(y, linefmt='C1-')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "39fb3489", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([9, 9, 2, 7, 8, 2, 8, 6, 2, 8, 4, 5, 7, 8, 2, 3, 0, 6, 4, 6])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7fd06347", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 1., 0., 0., 0.])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_int" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a9612999", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 9., 9., 2., 7., 8., 2., 8., 6., 2., 8., 4., 5., 7., 8., 2.,\n", + " 3., 0., 6., 4., 6., 0., 0., 0.])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "markdown", + "id": "706a51b1", + "metadata": {}, + "source": [ + "# FIR mit Delay \n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d51e107c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "System frequencies fs=100, T=0.01\n", + "Tap with amplitude=4, delay=0.0725\n", + "Creating filter of order N=15.0\n", + "[-0.12418156 0.14405061 -0.17148882 0.21183913 -0.2770204 0.40014058\n", + " -0.72025305 3.60126526 1.20042175 -0.51446647 0.32738775 -0.24008435\n", + " 0.18954028 -0.15657675 0.13338019 -0.11616985]\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "samp_rate = 100\n", + "period = 1 / samp_rate\n", + "print(f\"System frequencies fs={samp_rate}, T={period}\")\n", + "\n", + "delay = 7.25 * period\n", + "ampl = 4\n", + "print(f\"Tap with amplitude={ampl}, delay={delay}\")\n", + "\n", + "order = 2 * np.floor(delay / period) + 1 #N\n", + "print(f\"Creating filter of order N={order}\")\n", + "\n", + "skip = np.floor(delay / period) - (order - 1) / 2 #M\n", + "assert skip >= 0\n", + "\n", + "samples = np.arange(0, order +1) * period - delay\n", + "\n", + "h = ampl*(np.sin(samp_rate * samples*np.pi) / (samp_rate * samples * np.pi)) #sinc\n", + "print(h)\n", + "plt.stem(h)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "79e18131", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tap with amplitude=1, delay=7.5\n", + "Creating filter of order N=15.0\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAASXklEQVR4nO3df6xf913f8edr1wm4Q527xV0bO52DlJqaNm2629AuYhTSzklATUAIpR2lsLEQ1HQtYm6TViBNkyDDE6PTwjKrZANRNYzUcyPm1hTKmBBLGqcucRPj1kpVxz+63tKZIPBw7Lz3x/frcn3zvff6+p57v+d7P8+HdOXvOd/PPZ/31+d8X/d8P+d8z0lVIUla+/7WuAuQJK0OA1+SGmHgS1IjDHxJaoSBL0mNWDfuAhZyxRVX1JYtW8ZdhiRNjMcff/zrVbVx1HO9DvwtW7awf//+cZchSRMjyVfme84hHUlqhIEvSY0w8CWpEQa+JDXCwJekRvT6LB1ptew5cJyd+w5z4tRprtywnh3bt3LbdZt6szypCwa+mrfnwHHu2X2Q08+dA+D4qdPcs/sgwCWFdNfLk7rikI6at3Pf4W+G83mnnzvHzn2He7E8qSsGvpp34tTpJc1f7eVJXTHw1bwrN6xf0vzVXp7UFQNfzduxfSvrL5u6YN76y6bYsX1rL5YndcWDtmre+QOp73/oCc6ce55NyzyrpuvlSV0x8CUGIf2xzx4F4Ld+6k29W57UBYd0JKkRnQR+kpuSHE5yJMnd87R5c5LPJ3kyyR920a8k6eIte0gnyRRwH/BW4BjwWJKHq+qpWW02AL8K3FRVR5O8dLn9SpKWpos9/OuBI1X1dFWdAR4Ebp3T5h3A7qo6ClBVX+ugX0nSEnQR+JuAZ2ZNHxvOm+2VwEuS/M8kjyf5sfkWluSOJPuT7J+ZmemgPEkSdBP4GTGv5kyvA/4h8P3AduDnkrxy1MKqaldVTVfV9MaNI2/LKEm6BF2clnkMuGrW9GbgxIg2X6+qvwT+Msn/Al4LfLGD/iVJF6GLPfzHgGuSXJ3kcuB24OE5bT4BfHeSdUleBHwXcKiDviVJF2nZe/hVdTbJXcA+YAp4oKqeTHLn8Pn7q+pQkk8BTwDPAx+pqi8st29J0sXr5Ju2VbUX2Dtn3v1zpncCO7voT5K0dH7TVpIaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8SWqEgS9JjTDwJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqRGdBH6Sm5IcTnIkyd0LtHtDknNJfriLfiVJF2/ZgZ9kCrgPuBnYBrw9ybZ52v1bYN9y+5QkLV0Xe/jXA0eq6umqOgM8CNw6ot17gI8DX+ugT0nSEnUR+JuAZ2ZNHxvO+6Ykm4AfBO5fbGFJ7kiyP8n+mZmZDsqTJEE3gZ8R82rO9K8AH6iqc4strKp2VdV0VU1v3Lixg/IkSQDrOljGMeCqWdObgRNz2kwDDyYBuAK4JcnZqtrTQf+SpIvQReA/BlyT5GrgOHA78I7ZDarq6vOPk/xX4HcMe0laXcsO/Ko6m+QuBmffTAEPVNWTSe4cPr/ouL0kaeV1sYdPVe0F9s6ZNzLoq+rHu+hTkrQ0ftNWkhph4EtSIwx8SWqEgS9JjTDwJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8SWqEgS9JjTDwJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDWik8BPclOSw0mOJLl7xPP/NMkTw58/TvLaLvqVJF28ZQd+kingPuBmYBvw9iTb5jT7MvA9VXUt8G+AXcvtV5K0NF3s4V8PHKmqp6vqDPAgcOvsBlX1x1X1f4eTjwCbO+hXkrQEXQT+JuCZWdPHhvPm88+BT873ZJI7kuxPsn9mZqaD8iRJ0E3gZ8S8Gtkw+V4Ggf+B+RZWVbuqarqqpjdu3NhBeZIkgHUdLOMYcNWs6c3AibmNklwLfAS4uar+rIN+JUlL0MUe/mPANUmuTnI5cDvw8OwGSV4B7AbeWVVf7KBPSdISLXsPv6rOJrkL2AdMAQ9U1ZNJ7hw+fz/w88DfA341CcDZqppebt+SpIvXxZAOVbUX2Dtn3v2zHv8k8JNd9CVJujR+01aSGmHgS1IjDHxJaoSBL0mNMPAlqREGviQ1wsCXpEYY+JLUiE6+eCUtZM+B4+zcd5gTp05z5Yb17Ni+lduuW+iCqloNrpf2GPhaUXsOHOee3Qc5/dw5AI6fOs09uw8CGC5j5Hppk0M6WlE79x3+Zqicd/q5c+zcd3hMFQlcL60y8LWiTpw6vaT5Wh2ulzYZ+FpRV25Yv6T5Wh2ulzYZ+FpRO7ZvZf1lUxfMW3/ZFDu2bx1TRQLXS6s8aKsVdf4A4PsfeoIz555nk2eD9ILrpU0Gvlbcbddt4mOfPQrAb/3Um8Zcjc5zvbTHIR1JaoSBL0mNMPAlqREGviQ1wsCXpEZ4ls4a4EWwtBa5XXfPwJ9wXgRLa5Hb9cpwSGfCeREsrUVu1yvDwJ9wXgRLa5Hb9cow8CecF8HSWuR2vTIM/EXsOXCcG+79DFff/T+44d7PsOfA8XGXdAEvgqW1aFK2677nw1wetF3AJBw48iJYWosmYbuehHyYy8BfwEIHjvq0Qr0Iltaivm/Xk5IPszmkswAPHEmazyTmg4G/AA8cSZrPJOaDgb+ASTlwJGn1TWI+OIa/gEk4cCRpPCYxHwz8RfT9wJGk8Zm0fHBIR5IaYeBLUiMMfElqRCeBn+SmJIeTHEly94jnk+Q/DJ9/Isnru+hXknTxlh34SaaA+4CbgW3A25Nsm9PsZuCa4c8dwH9abr+SpKXp4iyd64EjVfU0QJIHgVuBp2a1uRX4jaoq4JEkG5K8vKpOdtD/C3z1F36Bvz70p50t78dPPgvAV/7oxZ0ts2t9r7Hv9UH3Nbb4mrvW9/pgZWr8lld9By/74Ac7W955XQT+JuCZWdPHgO+6iDabgBcEfpI7GHwK4BWveMUlFfTJgyd52cyzbHt5Nyugq+Wc99RwA+lyuX2vsev6oP819n2ddL0s6P86gf7X+NTJZ/nq2ZP8RKdLHegi8DNiXl1Cm8HMql3ALoDp6emRbRbzqTe/A+jvebHv/8//G+hvfWCNfTQJr9cal+98fSsR+F0ctD0GXDVrejNw4hLaSJJWUBeB/xhwTZKrk1wO3A48PKfNw8CPDc/WeSPw5ys1fi9JGm3ZQzpVdTbJXcA+YAp4oKqeTHLn8Pn7gb3ALcAR4K9YmU8rkqQFdHItnarayyDUZ8+7f9bjAt7dRV+SpEvjN20lqRFrLvD3HDjOgaOnePTL35iImwpL0nkrnV9rKvDP31T4zLnngb+5qbChL6nvViO/1lTgL3RTYUnqs9XIrzUV+JN4U2FJgtXJrzUV+JNwU2GPMUjj0+f332rk15oK/L7fVNhjDNL49P39txr5taYC/7brNvGLP/QaNm1YT4BNG9bziz/0mt7cVNhjDNL49P39txr5teZuYn7bdZt6E/BzeYxBGp9JeP+tdH6tqT38vpuEYwzSWuX7z8BfVX0/xiCtZb7/1uCQTp+d/6i2c99hTpw6zZUb1rNj+9beDkFJa4nvPwN/1fX5GIO01rX+/nNIRy/Q53OV1V9uN/1n4OsCfT9XWf3kdjMZDHxdoO/nKquf3G4mg4GvC0zCucrqH7ebyWDg6wKeq6xL4XYzGQx8XcBzlXUp3G4mg6dl6gKeq6xL4XYzGQx8vUDr5yrr0rjd9J9DOpLUCANfkhph4EtSIwx8SWqEgS9JjTDwJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRhj4ktSIZQV+kr+b5NNJvjT89yUj2lyV5A+SHEryZJL3LqdPSdKlWe4e/t3A71fVNcDvD6fnOgv8bFW9Cngj8O4k25bZryRpiZYb+LcCvz58/OvAbXMbVNXJqvrc8PFfAIcAb3wpSatsuYH/96vqJAyCHXjpQo2TbAGuAx5doM0dSfYn2T8zM7PM8rRW7TlwnANHT/Hol7/BDfd+hj0Hjo+7pBXV2uvVyli3WIMkvwe8bMRTH1pKR0m+Dfg48L6qena+dlW1C9gFMD09XUvpQ23Yc+A49+w+yJlzzwNw/NRp7tl9EIDbrlt7Hx5be71aOYvu4VfVW6rq1SN+PgH8nyQvBxj++7VRy0hyGYOw/2hV7e7yBag9O/cd5vRz5y6Yd/q5c+zcd3hMFa2s1l6vVs5yh3QeBt41fPwu4BNzGyQJ8GvAoar65WX2J3Hi1OklzZ90rb1erZzlBv69wFuTfAl463CaJFcm2TtscwPwTuD7knx++HPLMvtVw67csH5J8ydda69XK2dZgV9Vf1ZVN1bVNcN/vzGcf6Kqbhk+/qOqSlVdW1WvG/7sXXjJ0vx2bN/K+sumLpi3/rIpdmzfOqaKVlZrr1crZ9GDtlLfnD9QuXPfYU6cOs2VG9azY/vWNXsAs7XXq5WTqv6eCDM9PV379+8fdxmSNDGSPF5V06Oe81o6ktQIA1+SGmHgS1IjDHxJaoSBL0mN6PVZOklmgK/MmX0F8PUxlHOx+l4f9L/GvtcH1tiFvtcH/a9xVH3/oKo2jmrc68AfJcn++U456oO+1wf9r7Hv9YE1dqHv9UH/a1xqfQ7pSFIjDHxJasQkBv6ucRewiL7XB/2vse/1gTV2oe/1Qf9rXFJ9EzeGL0m6NJO4hy9JugQGviQ1YuICP8nrkjwyvJHK/iTXj7umUZK8J8nhJE8m+aVx1zOfJP8qSSW5Yty1zJZkZ5I/TfJEkv+eZMO4awJIctNwvR5Jcve465kryVVJ/iDJoeG2995x1zRKkqkkB5L8zrhrGSXJhiQPDbfBQ0neNO6a5kryM8N1/IUkH0vyrYv9zsQFPvBLwL+uqtcBPz+c7pUk3wvcClxbVd8J/LsxlzRSkqsY3Kns6LhrGeHTwKur6lrgi8A9Y66HJFPAfcDNwDbg7Um2jbeqFzgL/GxVvQp4I/DuHtYI8F7g0LiLWMCHgU9V1XcAr6VntSbZBPxLYLqqXg1MAbcv9nuTGPgFvHj4+O8AJ8ZYy3x+Gri3qv4aoKpG3ty9B/498H4G/6e9UlW/W1Vnh5OPAJvHWc/Q9cCRqnq6qs4ADzL4w94bVXWyqj43fPwXDIKqV3dKSbIZ+H7gI+OuZZQkLwb+MYN7cVNVZ6rq1FiLGm0dsD7JOuBFXEQWTmLgvw/YmeQZBnvOY9/zG+GVwHcneTTJHyZ5w7gLmivJ24DjVfUn467lIvwz4JPjLoJBcD4za/oYPQvT2ZJsAa4DHh1zKXP9CoMdjefHXMd8vh2YAf7LcNjpI0n+9riLmq2qjjPIv6PASeDPq+p3F/u9Xt7iMMnvAS8b8dSHgBuBn6mqjyf5EQZ/hd+ymvXBojWuA17C4CP1G4D/luTba5XPgV2kxg8C/2Q165lrofqq6hPDNh9iMEzx0dWsbR4ZMa93n44Aknwb8HHgfVX17LjrOS/JDwBfq6rHk7x5zOXMZx3weuA9VfVokg8DdwM/N96y/kaSlzD4dHk1cAr47SQ/WlW/udDv9TLwq2reAE/yGwzG/wB+mzF9LFykxp8Gdg8D/rNJnmdwkaOZ1aoP5q8xyWsYbCh/kgQGwyWfS3J9VX113PWdl+RdwA8AN672H8t5HAOumjW9mR4OKSa5jEHYf7Sqdo+7njluAN6W5BbgW4EXJ/nNqvrRMdc12zHgWFWd/2T0EIPA75O3AF+uqhmAJLuBfwQsGPiTOKRzAvie4ePvA740xlrms4dBbSR5JXA5PbriXlUdrKqXVtWWqtrCYAN//WqG/WKS3AR8AHhbVf3VuOsZegy4JsnVSS5ncJDs4THXdIEM/oL/GnCoqn553PXMVVX3VNXm4XZ3O/CZnoU9w/fBM0m2DmfdCDw1xpJGOQq8McmLhuv8Ri7iwHIv9/AX8S+ADw8PVPw/4I4x1zPKA8ADSb4AnAHe1ZM91EnyH4FvAT49/BTySFXdOc6CqupskruAfQzOinigqp4cZ00j3AC8EziY5PPDeR+sqr3jK2kivQf46PAP+9PAT4y5ngsMh5oeAj7HYMjzABdxmQUvrSBJjZjEIR1J0iUw8CWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1Ij/j8LwkpcCafaXwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "delay = 7.5\n", + "ampl = 1\n", + "print(f\"Tap with amplitude={ampl}, delay={delay}\")\n", + "\n", + "order = 2 * np.floor(delay) + 1 #N\n", + "print(f\"Creating filter of order N={order}\")\n", + "\n", + "samples = np.arange(0, order +1) - delay\n", + "\n", + "h = ampl*(np.sinc(samples)) #sinc\n", + "\n", + "plt.stem(samples, h)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "c89c83ae", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "t = np.arange(200)\n", + "\n", + "signal = np.sin(2 * np.pi * t * 0.05)\n", + "\n", + "signal_shifted = np.convolve(h, signal, mode='full')\n", + "\n", + "plt.plot(t, signal)\n", + "plt.grid(True)\n", + "plt.show()\n", + "plt.plot(signal_shifted)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "15f663c6", + "metadata": {}, + "source": [ + "# Test Delay " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "afb9e748", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "samp_rate = 100\n", + "period = 1 / samp_rate\n", + "\n", + "#samp_rate_2 = 100\n", + "#period_2 = 1 / samp_rate_2\n", + "\n", + "print(f\"System frequencies fs={samp_rate}, T={period}\")\n", + "\n", + "delay_freq = 1.25 * period\n", + "delay_int = int(np.floor(delay_freq/period))\n", + "ampl = 4\n", + "print(f\"Tap with amplitude={ampl}, delay_freq={delay_freq}, delay_int={delay_int}\")\n", + "\n", + "order = 2 * np.floor(delay / period) + 1 #N\n", + "print(f\"Creating filter of order N={order}\")\n", + "\n", + "skip = np.floor(delay / period) - (order - 1) / 2 #M\n", + "assert skip >= 0\n", + "\n", + "samples_freq = np.arange(0, order + 1) * period - delay_freq\n", + "print(f\"samples_freq{samples_freq}\")\n", + "\n", + "samples_int = np.arange(0,delay_int,1)\n", + "print(f\"samples_int{samples_int}\")\n", + "\n", + "h_freq = ampl*(np.sin(samp_rate * samples_freq) / (samp_rate * samples_freq)) #sinc\n", + "\n", + "h_ideal = np.exp(-1j*delay_int*2*np.pi*samp_rate)\n", + "print(f\"h_freq{h_freq}\")\n", + "#print(f\"h_ideal{h_ideal}\")\n", + "\n", + "t_freq = np.linspace(0, delay_freq + period, samp_rate)\n", + "t_int = np.linspace(0, delay_int + period, samp_rate)\n", + "\n", + "f_freq = np.sin(2 * np.pi * samp_rate * t_freq)#test Signal\n", + "f_int = np.sin(2 * np.pi * samp_rate * t_int)#test Signal\n", + "\n", + "f_shift_freq = np.convolve(h_freq , f_freq)[:len(f_freq)]#Faltung freq \n", + "f_shift_int = np.convolve(h_int , f_int)[:len(f_int)]#Faltung int \n", + "\n", + "\n", + "\n", + "#h_int = np.concatenate([np.zeros(delay_int-1), [ampl], np.zeros(3)])\n", + "#y1 = np.convolve(test.real, h_int)\n", + "plt.grid(True)\n", + "plt.stem(t_freq, f_shift_freq, linefmt=\"C0-\")\n", + "plt.stem(t_int, f_shift_int, linefmt='C1-')\n", + "plt.show()\n", + "plt.grid(True)\n", + "plt.stem(f_shift_freq, linefmt=\"C2-\", label='freq')\n", + "plt.stem(f_shift_int, linefmt='C3-', label = 'int')\n", + "#plt.legend(loc=\"upper left\")" + ] + }, + { + "cell_type": "markdown", + "id": "892b32f7", + "metadata": {}, + "source": [ + "# Test 2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f224987a", + "metadata": {}, + "outputs": [], + "source": [ + "samp_rate = 10e6\n", + "period = 1 / samp_rate\n", + "#print(f\"System frequencies fs={samp_rate}, T={period}\")\n", + "\n", + "delay_freq = 7.25 * period\n", + "delay_int = int(np.floor(delay_freq/period))\n", + "ampl = 2\n", + "#print(f\"Tap with amplitude={ampl}, delay_freq={delay_freq}, delay_int={delay_int}\")\n", + "\n", + "#order = 2 * np.floor(delay / period) + 1 #N\n", + "#print(f\"Creating filter of order N={order}\")\n", + "\n", + "#skip = np.floor(delay / period) - (order - 1) / 2 #M\n", + "#assert skip >= 0\n", + "\n", + "#samples_freq = np.arange(0, order + 1) * period - delay_freq\n", + "#print(f\"samples_freq{samples_freq}\")\n", + "\n", + "samples_int = np.arange(0,delay_int,1)\n", + "#print(f\"samples_int{samples_int}\")\n", + "\n", + "#h_freq = ampl*(np.sin(samp_rate * samples_freq) / (samp_rate * samples_freq)) #sinc\n", + "\n", + "H_ideal = np.exp(-1j*delay_int*2*np.pi*samples_int)\n", + "h_ideal = ifft(H_ideal)\n", + "\n", + "plt.stem(H_ideal.real, linefmt=\"C0-\")\n", + "plt.stem(h_ideal.real, linefmt='C1-')\n", + "#print(f\"h_freq{h_freq}\")\n", + "#print(f\"h_ideal{h_ideal}\")\n", + "\n", + "#t_freq = np.linspace(0, delay_freq + period, samp_rate)\n", + "#t_int = np.linspace(0, delay_int + period, samp_rate)\n", + "\n", + "#f_freq = np.sin(2 * np.pi * samp_rate * t_freq)#test Signal\n", + "#f_int = np.sin(2 * np.pi * samp_rate * t_int)#test Signal\n", + "\n", + "#f_shift_freq = np.convolve(h_freq , f_freq)[:len(f_freq)]#Faltung freq \n", + "#f_shift_int = np.convolve(h_int , f_int)[:len(f_int)]#Faltung int \n", + "\n", + "\n", + "\n", + "#h_int = np.concatenate([np.zeros(delay_int-1), [ampl], np.zeros(3)])\n", + "#y1 = np.convolve(test.real, h_int)\n", + "#plt.grid(True)\n", + "#plt.stem(t_freq, f_shift_freq, linefmt=\"C0-\")\n", + "#plt.stem(t_int, f_shift_int, linefmt='C1-')\n", + "#plt.show()\n", + "#plt.grid(True)\n", + "#plt.stem(f_shift_freq, linefmt=\"C2-\", label='freq')\n", + "#plt.stem(f_shift_int, linefmt='C3-', label = 'int')\n", + "#plt.legend(loc=\"upper left\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ba475b6", + "metadata": {}, + "outputs": [], + "source": [ + "h_ideal\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1cfddba", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b4c5781", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Test/Untitled.ipynb b/notebooks/Test/Untitled.ipynb new file mode 100644 index 0000000..0a1a81c --- /dev/null +++ b/notebooks/Test/Untitled.ipynb @@ -0,0 +1,193 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "6b0e891f", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np \n", + "from numpy.fft import fft,ifft,fftshift\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f7878dca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-4, -3, -2, -1, 0, 1, 2, 3])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tau = 1\n", + "freq = np.arange(-4,4)\n", + "freq" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6b5000a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1.-9.79717439e-16j, 1.-7.34788079e-16j, 1.-4.89858720e-16j,\n", + " 1.-2.44929360e-16j, 1.+0.00000000e+00j, 1.+2.44929360e-16j,\n", + " 1.+4.89858720e-16j, 1.+7.34788079e-16j])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f_tabs = np.exp((-2j*np.pi*freq*tau))\n", + "f_tabs" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "54df500d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(f_tabs.real)\n", + "plt.plot(f_tabs.imag)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bffc82f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1.00000000e+00-1.2246468e-16j, -2.95655891e-16+1.2246468e-16j,\n", + " 1.22464680e-16-1.2246468e-16j, -5.07265313e-17+1.2246468e-16j,\n", + " 0.00000000e+00-1.2246468e-16j, 5.07265313e-17+1.2246468e-16j,\n", + " -1.22464680e-16-1.2246468e-16j, 2.95655891e-16+1.2246468e-16j])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "i_tabs = ifft(fftshift(f_tabs))\n", + "i_tabs" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "12ff730b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "shiftet= fftshift(f_tabs)\n", + "plt.plot(shiftet.real)\n", + "plt.plot(shiftet.imag)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a075dd24", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(i_tabs.real)\n", + "plt.plot(i_tabs.imag)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92311556", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Untitled.ipynb b/notebooks/Untitled.ipynb deleted file mode 100644 index 0a1a81c..0000000 --- a/notebooks/Untitled.ipynb +++ /dev/null @@ -1,193 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "6b0e891f", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np \n", - "from numpy.fft import fft,ifft,fftshift\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "f7878dca", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-4, -3, -2, -1, 0, 1, 2, 3])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tau = 1\n", - "freq = np.arange(-4,4)\n", - "freq" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6b5000a6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1.-9.79717439e-16j, 1.-7.34788079e-16j, 1.-4.89858720e-16j,\n", - " 1.-2.44929360e-16j, 1.+0.00000000e+00j, 1.+2.44929360e-16j,\n", - " 1.+4.89858720e-16j, 1.+7.34788079e-16j])" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f_tabs = np.exp((-2j*np.pi*freq*tau))\n", - "f_tabs" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "54df500d", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(f_tabs.real)\n", - "plt.plot(f_tabs.imag)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "bffc82f4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 1.00000000e+00-1.2246468e-16j, -2.95655891e-16+1.2246468e-16j,\n", - " 1.22464680e-16-1.2246468e-16j, -5.07265313e-17+1.2246468e-16j,\n", - " 0.00000000e+00-1.2246468e-16j, 5.07265313e-17+1.2246468e-16j,\n", - " -1.22464680e-16-1.2246468e-16j, 2.95655891e-16+1.2246468e-16j])" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "i_tabs = ifft(fftshift(f_tabs))\n", - "i_tabs" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "12ff730b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "shiftet= fftshift(f_tabs)\n", - "plt.plot(shiftet.real)\n", - "plt.plot(shiftet.imag)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "a075dd24", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(i_tabs.real)\n", - "plt.plot(i_tabs.imag)\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "92311556", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/Untitled1.ipynb b/notebooks/Untitled1.ipynb deleted file mode 100644 index 652e4fe..0000000 --- a/notebooks/Untitled1.ipynb +++ /dev/null @@ -1,33 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "f7f019cc", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/Untitled2.ipynb b/notebooks/Untitled2.ipynb deleted file mode 100644 index 4515e16..0000000 --- a/notebooks/Untitled2.ipynb +++ /dev/null @@ -1,182 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "c9db320e", - "metadata": {}, - "outputs": [ - { - "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" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEGCAYAAABmXi5tAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABf1UlEQVR4nO29d3gc13W4/d7ZvoteSYIk2ClSJEWKFCVKlgg1qyWWZblIrontyCWO4y+RHSeO83McW7HjuJfYsmU7sh0VV9kSVUyJoColFrFT7CAJNhAdi+079/tjdmZ3gAWJsgAW2Ps+Dx7s3Lkze3f2ztkz55x7jpBSolAoFIrJjzbeA1AoFArF2KAEvkKhUBQISuArFApFgaAEvkKhUBQISuArFApFgeAc7wGcj6qqKjlr1qzxHsaA9Pb2EggExnsYeYe6LtlR1yU76rpkZ7jXZevWra1Syups+/Ja4M+aNYstW7aM9zAGpLGxkYaGhvEeRt6hrkt21HXJjrou2RnudRFCHBtonzLpKBQKRYGgBL5CoVAUCErgKxQKRYGgBL5CoVAUCDkR+EKInwohWoQQuwfY3yCE6BJCbE/9/Vsu3lehUCgUgydXUTo/B74HPHiePi9IKf8iR++nUCgUiiGSEw1fSvk80J6LcykUCoVidBC5So8shJgFPC6lXJJlXwPwW6AZOAXcK6XcM8B57gHuAaitrV358MMP52R8o0EwGKSoqGi8h5F3qOuSHfO6SCl58WSCy6c6cTvEeA9r3FHzJTvDvS7XXnvtVinlqmz7xmrh1TagXkoZFELcCvwBmJ+to5TyfuB+gFWrVsl8XpChFoxkR12X7JjX5Zk9Z3jg6a24q2bwT9dfNN7DGnfUfMnOaFyXMYnSkVJ2SymDqdfrAJcQomos3luhyDdaeqIAdIZi4zwSRaExJgJfCDFFCCFSr1en3rdtLN57rHnxYCtvnOke72Eo8phIPAmAx+kY55EoCo2cmHSEEA8BDUCVEKIZ+H+AC0BK+UPg7cDHhBAJIAzcJSdpbcX3PvAqAE1fuW2cR6LIV6IJHQCPSy2DUYwtORH4Usq7L7D/exhhmwpFwdNXw//FpmMcbgnyhbdcPJ7DUhQASsXIIZkPLR29yj6ryE5PJAFAPGlo+p//w25+/nITuj4pH3oVeYQS+COgPaJzuitsbZuP6gD7lB1fMQAdKWdtOJa0tR9p7R2P4SgKCCXwR8A/NIZZ85/PWdu90YT1+mx3ZDyGpJgAdITiQNq0403Z8ned7ByvISkKBCXwc0hvNK2xxTK0fYUiEzMcM5wS+HVlPgAOtQTHbUyKwkAJ/ByQTNlee6Jxq80U+C8cPMdvtzaPy7gU+UlnSsM3TTqxlC0/GEkMeIxCkQvyusThRKE1GKW2xGvT8E17/vseeA2AO1dOH5exKfKPUErQmxp+OGbMlZ6oEviK0UVp+DngVKfhuM204UeVSUcxANGEIehNG775v1cJfMUoowR+DjjdZThoe/oI/Em6tkwxQkxlIBI35oip6QeVwFeMMkrg54AzKYGfqaHFEjrd4fS2Ev4KMOaB6d8Jx5PEk9LyAQWjyfMdqlCMGCXwh0kimTbZmJqZ3aST5GRn9hh9ReGSOQ/CsaSl3YMy6ShGHyXwh0kk48btjRk3qrmCstzvIpawL8oKxZT2poBoPD1vIvGkZb8HFaWjGH2UwB8mmaskzde90QR+twOfy0E0odOekV4hFFM3syLtsPW7HYTjSWvuVATcNg0/GE2oOaPIOUrgD5NMzSwUS0I0Sm8sQcDjxONyEEvotsd3peErIG3SKfO5CMeT1ryoKnITjCUsX88V9z3LZV9aP27jVExOlMAfJqamBjB30wYoL2fmpo0UeZy4HRrRRFIJfEU/zHlT4nMhJXSGjafA6mIPUqbnSTCaoDeWVCu2FTlFCfxhYi6WQUr+8pHvQjjMXfd/kRKXwOPSUhp+5lOAejxXGKGYYAh8gO6wseq2qsgD9Hfcbj/ROXaDU0x6lMAfJpGUMC+L9DD95BG47DLKu1pZeXw3HqdGNKHbtLOQCrlTkNbwheMs7a4f8ZnGd9Lm+gHCeRrov9p2v8q6qsghSuAPE9PZdnHvWaPh3nsJu31cs+1Z3E6tvw0/rgR+obL1WIf1hBeN60S03fz+9Hvocf6JXW0vEnSu4wf77iSsbe+n4atwXkUuUQJ/mJhO28XBlMC/5BJeWnQFq7ZuwI8kmtBtIXghFWNdkBxr6+XO/3mZLz+xD4BTPac55/4ycT1k6xfXI7S6v8LR9hO2QiixpBL4ityhBP4wMePw53efISk0mD2bdYvXUtTTycpdL1k2fKcmAOW0LVRMG3xTm1Hc5AevfwFd9GTtq4sg39/2ZdtiLOW0VeQSJfCHSSQlwOvbT3G6tAbcbp6uv5T2afXc8Zvvc81rT7G48XGqvMYlDiuTTkGy9VgHAOV+NyfDJ9l44g+2/VqfhLXPHvs1+84dsraVwFfkEiXwh4nptK3ubuNUcRXxpE6v1Nj491+gtL2Fzz38n7znO//CNx75D5yaUMvmC5R9pw2na1swxv8d/z900gLcpc/k/fUbcekzrDYdnR9v+6G1rQS+IpcogT9MTKdtcW8nbb4Sq6hF+5Vr+caPnuTOv/sJj91xD1fufZmrT+1WJp0CxayR0Nx1mmfOPmPbV5p4J71RQUnyDlv77/c/gkz9MCgbviKXKIE/TN65agZfvNJLUXcH7f4SWoNRAIo9ThLlVRwon87jN72HHn8xb9/5rIrDL1BM5/6R3g0kZHoOTCuahT95NT2RBBXiWorcRda+c6EzxLT9gNLwFblFCfxhUh5wM7NI4OnupM1XSkuPIfCN1ApGHH5QuNl+8RquOvAq4UjsAmdUTBYycyiZAr9N32jrc8eC9yJw0BOJ43P6uXX+rbb9Ie1lQGn4E50j54KWMpgPKIE/Apw9PWi6Toe/hDOpzJgBjwOPUyOW1AnHk+xafhVlvV1UH9w7zqNVjAWN+1u49D/+zIsHWwHDWe92dxPVdtv6/eWCtwFGhlWPU+PORXfa9vc6XkYilYafx7x8qJWz3ZHz9rnu6xu59muNYzOgQZATgS+E+KkQokUIsXuA/UII8R0hxCEhxE4hxKW5eN/xxt3VBUCbv5RDLUEAyvxu3E7jsvZE4jQtXA5A3cFd4zJGxfB4bPtJDpzNHj55Pl4/3gnAq0fbACOVgqd4C4i04PbIOSyoXAAYc8Tj0rh1/q1ouKw+Se0s0nlMCfw85t0/eZUbvrHxgv3yqVZxrjT8nwM3n2f/LcD81N89wP/k6H3HFVdK4Hf4StjRbLyeVubF53IA0B1J0FtbR1dJObMO7xm3cSqGzt8/vJ03f/P5IR/ncxvffTiWtMoXdkj7ecrFWksp0CV4nA6K3EVUuy+z9ZPu3cqkk6eYWU17zlPDIHMBXb6QE4EvpXweaD9Pl9uBB6XBJqBMCDE1F+89nrg6OwFo95eys7kTl0NQFfBYAr8rFMfjcnB8zsXMO7ZvHEeqGArxEQhZjzO97iKa0EnSwanwNluf6Z7rcDu0fsdM99kFfkTbqTT8PCWeTAvzgcqXBvMwUMN54S45oQ44kbHdnGo73bejEOIejKcAamtraWxsHIvxDYuKlhYAOv0lROI61T7B889v5Ogp44uOJXXazp1l/9TZvG37S7zwxBMkA4HxHPKYEAwG8/p7uxDBWPoGHurn2HvEcNg2nTjF+g2thBwvWyGWACXaXAJ6Ja9tetlqi4aM61WWWGA7V2dyBy2trRP6Wg6GiThfwon0HHnsmQ2Uefrrzm3h9Pc+nM83GtdlrAS+yNKW9WdRSnk/cD/AqlWrZENDwygOa2QcevRRANwV5RCHuVPLaWhYQ3TPGdi5FYDZM6cTXrUG7clfcLXfD3n8eXJFY2Mj+fy9XYjjbSF4bgPAkD/Hluh+OHCI4vIqVl1+Mb0vftK2f7rvBqaXVXB9wyp49ikAqivKaWi4gj+1lLJxXwkJjMVaCXqJ+87Q0PDhkX+oPGYizpe2YBTWGwVq6hYu57JZFf367D/TAxsNc97atWsRIpsYhINne3A5NGZV2ZXB0bguYxWl0wzMyNieDpwao/ceNZy9Rn4Uf0UZANPKfACWSQfA7dRoW3yJsbF5M2DEVo/EbKAYXXqicet1coh2WLOgfXtvjOOdp4hqdt9NibyaUp/LbtJxGa9LfR58cqmt/5no1iG9v2JsyPStmIswu8JxvvT4XiuAoyeSnkfnW3h54zefp+G/G0dnoH0YK4H/R+D9qWidK4AuKWU/c85EwxEKQVERp1Ix+MtnlAFpxx0Y9lmtuprjpbXI1wyBf/l967n+6xf27ivGh0xHXFtvOoZaSnnBMDwzhUZrb5Q/Hfw9iPQPhlufSyhUTYnPiaYJXA5D4zNt+JVFbpzxJbbztcdVdFc+kpkJ10xh/Znf7OAnLx7l3/9k/MhnzqPOcJwLMRb+mlyFZT4EvAIsFEI0CyE+JIT4qBDio6ku64AjwCHgx8DHc/G+440jHIbiYu69aSFvW1HHey6vB+wavsep4Xc72DVlHnKroa11hOIcbw9lPadi/Alm3Kgt3WmB/6tXj3P5fc8aj+oD0Jty1LUFY6w79DvbPn/yarrCcavalanle5zGfKkIuPHqF9uO6UruRUpJazB63vdVjC2ZGr5Z1GZXKlLvhYNGfH53hobfFbqwwN9zqivHo+xPTmz4Usq7L7BfAn+bi/fKJ5y9vVBSwnsur7eEPYC3j0nH73aye8o8btv4ErKtbTyGqhgCmSadzFWzrxw2vrs9p7pYOKU467HBVO6cnvg5ms6+YtvnT74JgFJT4Ds1emNJS8OvCLhxyXqE9CCF8UMTp4NjXce487sHaeuN0fSV23LxERUjJFMbj8aNVOinuyMsqSth98luznZH+mj42VfaZ0b47D7ZxcGzQVbPruhnz88VaqXtCDA1/L5kmnSKvS5Dw6+dB0DvK69Z+xLKjp+XZGr4mVlO/anv1Uyjcdf9r/DZ3+60HWv275QvIDPiEpbXXopLTgGgxJsW+JC24VcG3AgcuPX5tnNuat5EW+qHZ6AQQMXYklmvOprQOdkRRkpYNr0MMJ7iMwV+9wAmncy06fvO9PCZ3+7kXfe/krVvLlACfwQ4e3uzC/wMDb/M58LndrB7ylwAwps2W/vaelV+nXykO1PgZzjbzDKVR84ZTrlNR9p5ePMJ27GmwA85XrS13730XdbrTA0fwO0w5kt5wA2AR19oO3ZT8ybrtSp5mB9kfg/RRNIy0S6rKwWgMxQjmPGkOFA9jMwfhef2GWHeZ7tHL/eOEvgjwBEKQUlJv3abwPe7KfY46fSVEKmbgdyWXoTTMopfrGL4BKPZNfyzXYbD9vC5Xlv/5o60P6Y3liAhzhHV7LmT3rH4HcwtNW43R6oKmmXDz9Dwob/Af/Xkq9brTLuwYvywmXQSOidMgZ/S8DtDcduTYjiW/Yc6U/M/kxEQcNcoaflK4I+AgUw6pk0WoMzvoq7cCNdsXbAE/67t1r5zwfNHfCjGh55IHL/bgU6EV049zdde+BH3/v6P1g15tjtiu+HN/Dlg5L8POTbYonOW165kdvls3n+xm/pKPyvrywFwWU5b479l6ukj8Led3obEEAzd4fxbvVmIRPvY8M2n9bk1hu29IxQjFEsSMFNtZGj4LT0RPvbLrXSF4tbTZLE37U6tK/NR5nMPOSR4MIzVwqtJiem07YumpRdYlPvdVBa50QQ0zbqIN214kpJIkG5vkdLw85RgJIHm284p7av8aE8npELpfcnLqOTvCcfcthjrtoz0tz3ROGHXBtv53r30fQDUlzjY+OkGq93S9FMCX9OE8TpRSYVnKu1RI3I5lowRE0fwyIVKw88TYn1MOgld4nVpeJwO44k+FCccT1IecNMbC1tpsgHu33iEJ3efYcXMMubXGgrjnKoAO5q7uGNFHd9813JgeKtzL4TS8EfAQBp+JmV+Fy6HxtRSH7unGI7bS1uPAnbTgSJ/ONy1mb2xz5MUnbb2sGMzZ7330hk7Y7O9tqdC7uJJnWDyDSKZWUSkg3cvvSvr+9x8seHEbe1J+3JMG/C8MntC2aj2BnD+ZF2KsSNT4EfiOsFogiKPoT+XBVx0hGJE4kmKvS4cmrAWZ2USievW92n++K9dUD2q41YCf7hEo2jx+AUFvhmiOaPCx6vlswC4JnjcOIVywOUdvbFeNpz7f0iyC9a4OMMJ7fOc6DxntXWGDIHdG03Q7fyjrb9fv4xpxTVZz3XP2jm8+/KZ3L06vQj9/VfOAuDiqpW2vtFUBayBoj0UY0tfp20omsDvNgR+ud9tafh+twOfy2Ez6ZhPaae7wtb3+S+3LuKvrpzFrUtHN6ekMukMl57UIpgsJp1szKzw8+czPZwuq2H52UOIRRAdwHOvGD++99r36E2esbU5ZAVJkU4GG9eO8ck/vx/JPyJwWrH6e1sOEXK8YDu2gpsGzKHicTq47w57KoW3XDKN2ZUBOpOl/GzPF632mHYAUE7bfCGWCsv0pqrb9caSBEwN3++mMxTDoQn8bifePgL/RLtRLOnIuV5mVhg2/4unlbIqSz6eXKM0/OFiCvwLaPgmN108hY5QnK1TFjL/0C68TgcRpeHnFdFElG+9+i1bW3HiLdRFfsbSiutt7dtbXqDD9RO8Lo2OlIb/vc3fsBU68Yt6qp1rhjyOpdNLWTntUjSRjvZKaGdI0qVMOnmCudK2xOsyBH40YTloS30uusJxwnEdr8uBz60RyTDpnEhFdTW19RKMxnFoAq9rbESxEvjDpdvIaDhYgX/dRTUsqSthS90iilvPMDPUqjT8PGPdwXWcCaa1e6fwURq/G4GDP77n11w540pb/x7n48iix2jvjfPaydd4ZN/PbPsr9DvxuV0MB7/LT33JRba2mHZQmXTyBDOXTrHXSTSetGn4RR4nwWiSSDyJL8Oks+90N+/60Ss0dxgafmcoTm/UMPsM9BSYa5TAHy4XMOm89rnr2fy5G6xtIQQP/c0VzL/jJgAuO7lP2fDzjEf2PGLbnl90Gw6MH/RpJaX8/l2/p8ZfZ+tzIPIjXuv6HG956C3oMv19OvRatMjVI9LcFlX2ddweUCadPCGW1BECAh5nWsP3GBp+kcdBMBonHEvic2l4XQ4i8STfefYgrx41TINXzKkgmtDpDMUsZ+9YoAT+cLmASaem2Et1scfWVux18Z6PvAUCAS49sdcWqqUYX0LxEH868Cdb25LyWwFDi3M7NWoCNXxl7S8Q0mvr1y5f4GzvWVtbRfwjCFy2vEpD5eIqu8CPOw4Siqo5kw/EEjoep4bX6ejntC3yuKzIHZ/LYdnwM7NiXLvQcOSf7Y5aKTvGAiXwh8sQTToWTidcfjlLj+1RGn4e8cSBJwjF0ytmS1y1zCs1BK65AhZgWe1yqmOfx4FvwHPdvfij+PXVgH3V9VBZVm2P1IlpB2zL9RXjRzSh43ZoeFJO28ywzKLUIqpgNIHXMunoHGwxlMS/u24elUWGMni2O6I0/AnBEKN0bFx1FXNOHUb0qHS3+cJDu35r2760+haqiw2hnhlzHfA48OmXMEv/LzxM6Xeekvjb+OLar1rbI9Hw51dcZHuaSNDFuXDzsM+nyB3RhI7b6cDj1IjEdUKxpKWpF3nS37nf5cTnctAVitHUFuLvrpvHP755obWy9kx3xHoyGAuUwB8uw9XwAa68EofUmX5g54X7KkYdKSVPHnzO1nZZ7U288zIjPr49lF4Y5XcZN2ciOps3FT/I/97+K8qTd3J1zd/xuZXrKE98kJqStPY/EoHvdblw6/NsbadCqiBKPmCadDxOBz2ROAldZjht0456n1vD53ZwrD1EUpfMqPADUJzqG8pw9o4FKg5/uAwxLNPGmjXoQjDnoBL4+cDGw7uI6OmFVEJ6WFx9KXVlPr5913KrdCWAP0N7K/UFeP/yG2ncPp/n3mjh5ZAPhxai2ONECJCSETlt3U4Nj76AqGO31dYS3XueIxRjRTSRTAl8jY7UOgwzLLMoIy+OacM37femebDYm/5RCHiUDT//6ekh6fWCYxhfVmkpJ+vmsuDQDpK65Nl9Z1We83HkY7/5hW3boy+i1GtoYrcvr7MVqPbbah0YN/Z3716BJoyFNIFUiJ03VcVqJDZ8t1PDrS+wtXXE0wI/FEvYcvooxo5YQjd+kF2alUI7MyzTxOty2OZARUrgZ/4oKJPORKC7m6RvYMfdhWhaeAkLm/aybnszH/rfLTzw4tEcDk4xWKKJJCdCm21tXn0pPlf2m9DrdGCGTJvZLQMeJ6vqjR8F82Y3Ux6PxKTjdmh4pF3g9+gHSejG4qvr/nsjS7/wzLDPrxg+sWTapGNSlEXg+9zGwiuTyoDhrM3MjlmkNPwJQE8PicDwy5Adv2gFgWiIwEEjKdZDrx3P1cgUQ+DIuSARzW4X9+jLBgyV0zRBUUojy7xp59cWAVBTYjhZLQ1/BCF3HqeGQ1ajyTKrTSfC3nOGln/mAgXVFaNHNG5o+JlzwCxs09ekk6nBVxSlNHyP0vAnFiPU8E9evAKA4q1GcYu+RTUUY8PLTftteXKE9ODR551XUE8tM4R6ph3WrHnwnstnAlDiM25ir3NkNnyBwNPHrJNZAQvsRVoUY0MsaQh8U8gDVnF6m4bvclBf6be2TTt/5pOfCsucCPT0kPT7L9xvAELTZtJSVEH562lzgrLjjz0vHLMLT7c+D4HrvLb3qqL+j+V/feVsfvjeS3n7yukATCk1fgC8I9DwrRKIfQT+i8dftm2bS/UVo8v6vWd5z082kUjqqSgdhyXkIUPDzxDgMyr8LJqaDt3OlkLBP4YmHRWlM1x6ekiMQOB73A62TV/Mlbu2Qmp9zViHaCngUOcO27ZbGmGQU0q92boDaUGfebP73A5uXpJObTulxPhRMMsYDgezIpZXX0xXRvuLx+0ZOZs7QiycMoxoMcWgkVLy4Qe3AEYt6mgiiduhUZap4aee+Bya4JoF1Vwzv4oZFf4BK1fNqQpwpHVsn+yVhj9cenpGZNLxOB28Nm0RJWdPUtvTCqiCKOPBiWBf+72hTZtafDZMU45TGzjh1ZSULX8kyc6cmkAIQ8PXMnSzo51HONl1yto266kqRo9jbelr3BaMWVE6mSadzCe+Bz+4mg9fPQdIFzfpm2rl23etoMTrZPmMslEcuR0l8IdLMDgik47XpbFl+iIAVjXvA1AhdmOMLnXOhPfZ2tz6fK6eX3Xe40xN7nzfV23qCeF01/Adq0II3A4NDS+VbnvmzPVHN1qvzXz8itEj83vsCMWIphZelfrTAl87jwKw8wtvZsO9Dba2pdNL2fmFm7h4WmnOxzsQSuAPlxxo+Htr5hB1e1h10oi6ULnOx5YDbQeI6UFru9xbzpMffwf3v2/VeY8z7fRmAqxs/MXSaayeXcHfXjtvwD6DwbTjT/OtsLVvbEqbdaJJlZNptGnNqFvc1pvW8Mt87vMclabE6xpT5+xA5ETgCyFuFkLsF0IcEkJ8Nsv+BiFElxBie+rv33LxvuNGMgmh0Ig0fI9TI+FwcmDmIlaeNDV8JfDHgh9tPMyRc0G2nNpia181bRXLZpRdMJRy8bQSmr5ym1WAOhulfhePfmQNs6qGH7oLxjwBmFlkz5z5cvOL1mszN7ti9MgU+O3BqOW0zTTpTARGLPCFEA7g+8AtwGLgbiHE4ixdX5BSLk/9fTHL/olDr+FoGYmGb4ZlvTZzKRefPUJJJDgsG35Ld0SF5Q2BUCzBfz75Bm/9/kvsPGtPbbFy6soBjho/TKfvrKKVCNImg/1tu0jSAaSrL3WGYmxuarcdf7IzzI4TnWMz2EnMuZ6oteCuPRRPJU/TxqxSVa7IxWhXA4eklEeklDHgYeD2HJw3f0nl0UmMQOCbj3fPTFuCQ+qsOb6zn004Ek8O6OEH0HXJ6vue5SO/2DrscRQakZQ23B1JsLtlt23fstpl4zGk82KadMp95SytsZt1wo7XgbSG/7YfvMw7fviKbc6884evcPv3XyKuzD4j4mxPEN2/DqdvD8c7T1lx+GNVqSpX5MKoVAecyNhuBi7P0m+NEGIHcAq4V0q5J9vJhBD3APcA1NbW0tjYmIMh5hbf8eNcDvRq2rDHd7jVyL+xbcoCwm4vVzXtYPue/dT2HgFg06kEP9wZ5b2L3NxQn/2xsanLOMeLh1rz6joFg8G8Gk8mbeG04Ntywm7SCR8L09jWOGrvPZzrEosaMfZnT59isXsxO9lm7QtrWylKXseJU6dpbOywQvyeXN9IkdsQRCc7jeMfeGwDF1WMXbz3UMjn+WLyetN+jus/AODbe8HlmcWp4z+isfEUfznXRV1g+LJgIEbjuuRC4Gf7ieurlm4D6qWUQSHErcAfgPnZTialvB+4H2DVqlWyoaEhB0PMMVsMQeEqL2e44ys70cnXtrxE3OHi2JLLuKppO2119TQ0GGGBP/3pa8A5HGVTaWhYkvUcP9x4GHiDFTPLaGi4aljjGA0aGxuHfV1GmyPngrBxIzpBzkXTGTKdmpP33vJe3I7BOeGGw3CuS8n25zkV7GH+nHpWL7yHh3/+S2tfxPE6lW4XpRUVrFh9CTxl5NVZvOIy5lQbqR6W7HqB3Se7CQam09CwMGefJZfk83wxuXfr87ZthyznogXzaLh6DqM19NG4Lrkw6TQDMzK2p2No8RZSym4pZTD1eh3gEkKcP/YtnwkakR0jcdpmeuyPr7ySue0n0U6k8+kEU+adyHkcckfOBfudS3F+zOsZ047Z2hdWLhxVYT9czHDA+soAa2aswUHaCayLbly+I0QTOofOpaONOkJp06C5ePtcT9rpqBg6LZFDtm2XnGmZ2yYSuRjxZmC+EGK2EMIN3AX8MbODEGKKSBm7hBCrU+/bloP3Hh9SNvyROG0zhfS5NWsBmPni+vRbpCJ2grGBHbLhlPAKxVSd08ESSRjXKi7sAn9JTfanqPGmK7Vwa9HUYpyak0qn3bHcLjcQjSdt9ZG7wum4fHMehVT95BHRk7Bns3Xp9VYE1URixCOWUiaATwBPA/uAR6WUe4QQHxVCfDTV7e3A7pQN/zvAXXIiJ47JhYafsSpPLL6Yo3XzWNr4uNVm3qh9I3AOnO3h4FnjByecEvQqSmfwmA7OeB8Nf2nN0vEYzqCZV2OYaOYE3mxrPxFZTyQRs+YCQEdvWsM3AwFCao6MiF5pF/huvb5gNXyklOuklAuklHOllF9Otf1QSvnD1OvvSSkvllJeIqW8Qkr58vnPmOfkQMP39ymKsPOaW5l3dA8cMh4dzRs1U5if64ny5m8+z43ffJ6O3pil1YWV9jZoTA0/NkE0fHM5vpl3fXH5WhykFY2I3s6p8BbbHOhMPRVIKa1QX/UUOHx6Y2HinLa1ueQM3MMpfjTOTLyfqHwgpeGPJCwzcxl2ZZGbU7e8FQD9V78iqUurik4wmr5RD7Wk7bRtvVFL4KubefBE40kksp+Gn68Cf/3/t5Yt/3qDtV1dVEKZuNrW53j0TzaTTmeqBm80oRNPGg/SyqQzfLaf3g0i7Utz6DVo+AvTpFOQpDR8fQQCP5OKgJvSBXN5oX45oe98n2B3OoNeKMOGfzQjs153JGFpdWEl8AdNJK6TpANd9FhtHoeP2eWzx3FUA1Pqd9kSuZX53Xhia219WhIv0NSZdip2pAR+d8a6jvB5fEGK/ui6ZP8ZY45sP2Nfr+GW9cZ/JfALhGAQfD5kjh7pKgNuppf7+OEVb6eo/RzBb38PAJdD0BtNoOuSB19p4n82pm/qngyBH4olVC79QRKJJ4lrTba2+pKFaGJi3ApTS704E0vxkvkDpfPLN76ERFJT7LGidIIpP5BDE+opcIh857mD3PSt59l/poddZ+0ZVV26EviFRU8PFBXl7HQlXhfLppfyUv0lPD9rBVX/fR91XS1MKfUSjCbYfaqLf31sK4c73iAmjiGJ0ROJWw5IXRqP74oLYwh8uzlnbtmicRrN0JlR4UMgKIq93da+s+05up2/ZWaFj7NdEdrD7Ww9tZ24OElNkVM9BQ6RZ/e1ABCMxnmjda9tnyul4U9Ek44K4B4OPT1QnLuCE5omKPO7ee1zN/D2zjM8/YtP8bcv/QufmTaFFq2Ta37ZQ5cvHcUqpJuvb76Dntg7ACMNbziWHFHB7EIhktD7OWwvqrx4nEYzdGaUGw5bf/Iapgeeobk3XcCl0/Vznmp/gkgixG//K2X+80JrooySxFuIJxtwOSZWsq/xInPdwoH2vim0jTKWSsMvFILBnAj82hJ7QYTqYg/ddTP5p7v+jbJwGyf17cS1Jrqi9iULUsRobH6EffrH8XqNfcopNziyafiLqieOwJ+eEvgCwXsXfBWPZg8N7k2cI4m9ilJMdtLqeJA3//Jm3vmjjexs7hyr4U5YzOyY7aFuTvemF0RqQsMpjfTYE1HDn3gjzgdyZNJ57h8b2P5vN1rbQgjmVRfxx5qL+fcb/vmCxydEC83aF5DElFNukIRiCeLiuK1tWW1+x+Bn4nM7LM1ybvl87rn4hwg5cDnGTBqbnmNd8xe599c7Lty5wEmkEtAdaLNr9zNL5qBhKGq1JYO77vmEEvjDIUcafsDjpMxvX85fV25E/pwqtVc4QmrMKZ/D1KKptuZeeZQu5yPKKTdIzvQeQ4r047omS5hZOm0cRzR0rr/IKLwyv7aYZdVXMTX6ber9DQjSJj2ncFPrm4OQfZ4AnM9xsNteE1dhJzPbaF9zzqKq9NOgWepyIqEE/nDIsdM2k2llhsAv8ZTz5at/wZTIt7jS/yhXeJ7k8CcPc+xTx6jQ7HHY3c4/0Nx1OtvpFH04Gdxv23bpM/FPsFxE//PelRy571bWLqjG49RwyTpWF9/HdcVP8uoH9zA9/EumhX7N7VMfYSE/pa7InqfwpP4ASV0pCAPRm/G0fKTTLvCX1BgCf9n0sStLmEuUwB8OOdLws2EK/IDbyS3zbsMj53GyzU9VkaGpuRwulhd9Fo+osI6RIsr/7b1/VMYz2TgdOmjbdst6/BeocJWPmAv3zBW4neEYAY+f1TMW85P3XY/Awfp9LdQGavjMZd8FmV7oF9eaeGTXn8Zl3BOBeEbE27Fuu4Kwqu4SfvL+VfziQ9kywOc/SuAPh1HU8OvKDLugy6FRnmHuqQikX1f6ypki7rYd98ThXxJLqmLWF6IlbBf4Hjkbl2Pi3gamPb8zFMeXqr503UU1eF0aSV1SEXCztHYF/qT9qfAHW34w5mOdKJirkwFOBA/Y9i2pWcINi2snXGlDk4k708cLKUdVw68pNgS+0yEozxTyGa+LvU5E+FqbfbYz2sqzR54dlTFNJtpi9jS3xc78XGE7WMxIkc5w3ArLdTk0ltWVAVAR8OB3OShJ2IvQvXLyOVpDrWM61omCWR0sSQ+d0bNWu0tzMb8iaxmPCYMS+EMlEjGKmI+Shj+7KoBDE3zmposo8TqtOpq1pemIgCKvE6l7CSSvsR37u32/G5UxTRaiiShdcXuETrlrzjiNJjd4U+aoWELHl7EO46p56XITpX4XHrkQlz7LatNlks89+bMxG+dEwqwR3Dd8d2HVwgm/jkEJ/KGSyqMzWhp+wOPk8H23ctuyqQghrAIWpm0fDA0fwJ+80nbsH/b/gYSuwjMHYn/bfiRpZ6VDr6bYPTGdbyaZdRUyBX7DwmoATnWGqUiZBvvOl1/s+LWVTVORxtTw+4bv5muCvaGgBP5QSWXKHC2BPxDTbQLf0DK8+lKbwGoNtfLi8RfHdFwTib5Fy11yJj73xIrQ6UsgY/yeDIG/tK6Uu1fP5Et3LLFMg30Fflh7nV0nVXRXX+IJQ8vql1G1Wgn8wsPU8EfJpDMQ2TR8gYs3z77N1u/3+x5jxRef4Y87bFUmFdAvCZZbn5gROplkavglGUV1NE3wn29byqUzy3E5NIq9TlyynhrfrPTBIsFzTX8ew9FODEyTTt8UHBfXTJwV2QOhBP5Q6ew0/peOrSlgWlnahp+54OOORXZn3FMHn6UjFOc7z9qjURSwq6VP1kNZbzODTEQCnvT4S84TOVIZcCMQXDH1Jlv7q6fUIqy+xJP6hKqZMBSUwB8qHR3G//LyMXm7qiLjcTxTyGdqcjfNu87W/2DHbpIEWVY3sW3To0Ffge/WZ9sW2UxEAgNo+H0xzTpXzbDn0t/eMrGLz40G8aROknZbzQSH8DKnfGI7+EEJ/KEzxgL/8b+7mj/87VW2tuKMG7sqUEWRlp6IEklU22PlAlEYdEY6Od6VdsI5hAOXnMHxttA4jmrkZCbwupCGD3Dt7Kttuf9P9Bygpbdl9AY4AYkn9X41EyrccydMzYTzMfE/wVhjCvyKivP3yxFTSr0sn1Fma+ubw6Pavdy2HdF2WTVxFQZ97ffzKxYicNHWO7EXqwmRXkF7PoFvLuKbXVnNiikrbPueP/b86AxughJLSGKavWh5tWfBOI0mtyiBP1Q6OkAIKCkZtyEU93l0n+q91LYddexW4XZ96GvOWT51GW6HxieunTdOI8o9JedJ5jW11IvP5aDC72Ztvd2ss7Fp42gPbUIRT+rE+zhsp/iVwC9MOjqgrAy08bt0fTX8mUWrbNsx7Qgd4R4UaXae3WnbXlazjANfvoV7b1o4TiPKPaW+gW34H7p6Dr/+6Bo0TdAwq8G276UTL43yyCYW8aTeT8OvC0yOeaIE/lDp6Bgz+/1A9NXwK3zV+MT0jBads2F70qdCp5/Ar102TiMZPc6n4Zf6XCxJOfLXzFhj27erZReP72wazaFNKMLxKHHRbGubUawEfmGSBwK/KLXY5i2XGHnc/S4HXmnP8dEa29vvuEJFl3q/RVdLJ1DRk8FyPht+JlX+KmaVzbK2E3qCv3nod2w8cG6URjaxON59GETaJOqQlVT4KsdxRLlDCfyBOH4c3v1u+K//srfngcDXNMGWf72B/37HJQDG4qHYXFufHv0NpCysSB0pJT954YitHmlSlzx/ZC89sbSJy+8sZkbJjPEY4qgylJrGl027zLYd1Q7w6OYTuR7ShORoV5+i5fqsSVMvOicCXwhxsxBivxDikBDis1n2CyHEd1L7dwohLs12nrxBSvjgB+Ghh+Cf/gleey29Lw8EPkBVkcdKjetzO3FLu/MxKg7RW2BVsJo7wnzpiX184Kfp7+uOH7zEOx94xNZvZvEiW3RLIbJqWl+/zyHl6E9xvOcN27Zbnz0h69dmY8SfQgjhAL4P3AIsBu4WQizu0+0WYH7q7x7gf0b6vjkhHoc//AEefxz0dNEDNm6EZ5+F//gP8PvhwQfT+1pboTK/Hu/m1RTh1ueCTH+dCe0kzZ2T6xG9KxRnS1P7gPujqcIVe093W207m7uI9Ympnl26aFTGN15s/HQDD/3NFUM6pq+GH9MOEi4QBSGR1GnuGHj9xYk+At8l6yeNhp+LzFGrgUNSyiMAQoiHgduBzOei24EHpWFj2CSEKBNCTJVSjk7mpk9/GkIhSCSM3DdtbeDxwLx58KY3wbRpsG4d/OQncDo1hDvvhP/7P3C74Wtfg+pquPdeQ7tft87Q+iMR41zTp5///ceYW5ZM4d5f+3DJ6bYMf682b+Gi2r8cx5Hllrt/vIm9p7s5fN+tOLT+Gno0kRZYPZG4VdgkLpps/eaW9dVHJjb1lQHqKwNDOubSqfaH7Lg4QXese4Dek4svPr6XB185xvZ/u7FfTWmAk732gAe3PlsJ/AzqgEzjXzPQt/5Xtj51QD+BL4S4B+MpgNraWhobG4c8oDU/+xlaPI50OEj4/SSKi9FiMXxPP43jm98EQApB++WXc+rjHydw/DhzfvxjWm66idO33cYl69Zx5MMf5vimTUybO5cFf/oTr/7f/0Hqg+3r6eFsYyPBYHBY4xsNPrrMw+/PLeS1zrTAX7ftCep7xjarJzBq12Xv6V4A1m9oxOPoL/APdaYF/jMbXsAsZBV32PMKaZ3ecfne8mm+AJQ66uhKnjQ2hORE5y4aGz1jPo6xvi5/2Gpo9+s3vkiVz27kaI+10xU7k26QTlyyjiMH36Cxx148Z7QZjeuSC4GfzRja11s4mD5Go5T3A/cDrFq1SjY0NAx9RK3pSj623+9YDLZtg9ZWxPLlVE6fjmWcWbCAmk9/mprGRpgzhznf+Q5zfD6oqYFvfYvLo1GYY6QwWHTjjSxqaKCxsZFhjW8UaAC8m3bz2tPp7IdBXyeLL72CN870cM2C6jEby6hdl6eeAGD1FVfZqoGZeA63waZNAKy87HISuiS54U/ERbpqEdLBX65+Kw2LZuZ+fBcgn+YLwKxdy9jRftLaDmvNNDTcO+bjGOvrIjc8DSRYsWo1c6uNrLfxpE44nuSF48/AK+m+bjkbgYuVlyylYVHtmI0RRue65ELgNwOZIQ/Tgb65eQfTZ/Rxu+GKAWyd994L9fWwfTt84hPgS6UjXrTIsNm/8IJhFoK8M+mY9I0tP9S+l4//ahtbjnWw8wtvPm+c9kQimlFk2t6e1vBjSZ1gNEFMs2v3LllPsWdo5o/JSn3pIna0P2ltdyePjONoxo5w3JgnmT6LTz70Ok/uPsMHbnrN1tetGytsJ4tJJxeu583AfCHEbCGEG7gL+GOfPn8E3p+K1rkC6Bo1+/1IeMc74MtfhqlT021CGHb/F16A5tRijLq68RnfBVhaY48tP9q1n45QGICdJ7rGY0g5Q89IBpcp2DPJ/CGIJXS6wnGifQS+R59vKxRSyMwpszuve/XCEPhmYkFT8AM8udsw42xq3mzr69GN6LeJWrS8LyMW+FLKBPAJ4GlgH/ColHKPEOKjQoiPprqtA44Ah4AfAx8f6fuOKddcA4cPwyuvGHnwx7j4yWCpDlQzpWiKtR3XY9RUGMnetp/oGK9h5YTMJGcDa/i67XV3OE5Ms9td3fp83I7JEWI3UhZV2vO7R0UTiWT2azsZCaU0/GTqB0Ai2Xp6i62PWzcWNNYUj71vYzTISX03KeU6DKGe2fbDjNcS+NtcvNe4cPXVxv/HHoObbx7fsVyAZbXLOBNMO526k4eBJbZQxYnI2e6I9ToSH0DDz2iPWQL/gK2PoeErgQ8wq2wWQvqQwngKlKKXA21HWVwz9wJHTg5Mk86hFqNsaVKcoy2cDmX2Of24pGGJrsjiM5qIqJk/GFZkpJO99dbxG8cgWFZjt+OfCRkCLzTBY6wzzTiD0fBjSZ1jXSdIinTcvpAuXLJeafgpir0u3PpsW9u2UzvGaTRjQ+bq83DcWGh2ot2I2okKu3KwpGY5AsP855wkc2ZyfIrRxumE55+H66837Px5TN8cMecixiSODSAkJwo2c018EAI/obPr3Cbbfrc+D4FTafgpijxGndtMdpzZOUDvyUF3JL2aOBwz5su5oJGKI+qwp9BePW312A1sjFAzf7BcfTWsXw9Tply47zjSN1KnPWbYsCe6wI/Z7POGtr/7ZBe3f+9F2swbNmE36ezveNV2Do9u2KyLPZPDATdSirzOfhr+ntbdA/SeHHSF0oWBTKetmXspotk/+7Wz7XUDJgNK4E8yFlUtwiHSUSi9yTPo9A5oBpkoZAr8SErDf98Dr7KjuYvNTYZDOlPzjyWTHAvaHXBefQnlfhc+t4rSAaMAukvOsrXtb5vcAj9TKQin6hmf64lS5Av1KVouuE4JfEW+43F6uKjqIltbTGua+Bp+0q7hx5M6HSltzcyLkvmjdjZ4ms54+gbWcODRF1Fb4h2jEec/xR4Xbt1u0jnWdYhoIjrAEROfzDliavgtPREcXns6hXLXfMp9RpLEO1bkZxj2cFACfxLS144fF002gTkRifUJuezNyOx4tLU31Z7W3na12s05s0uXouG38usowOvS0Ajg0GustqRMsvfcxK2l8J9P7mPWZ58YMDV4psA3AxnO9USJ9LHfT/MZuYYOfvkWvp5KQz4ZULN/EtI3UiemHZ/4Gr7NaZukJ9Jf4EfiupUyelvLs7bjV065CjBqCSgMzBTRNT57vda+xWImEj/aaCwey4xKe+NMN+v3Guk17KbBtIZ/NpaRTwGY4TfSR7sc2qSaM0rgT0KW1NgX1MTFsQFXp04UMp9QIgndEvg+l4NjbaZJJ0mJ14kkzo7W52zHXz3jBgCy5FwraLb+6w28d+VVtraJLPBNOsNp5+zt33uJDz+4he5I3HYfmD8Kp3sP0BVP53YUuJhTPPkidEAJ/ElJP4GvHSMy0QV+n7BMs1hHfaWfjpCxCjea0Cn2uohouwgn0gvNqvxVvGPpjQD8zdVzxnDU+U9lkYcVU+wmi10tuwboPXHoyLIy+6ndZ2zzKBxLktQlbfqLtmNLxApKvKVjM9AxRgn8SUh9WT0aaeekLnoIJ9rGcUQjp6/TNhg1NLi6Mh+hmOHEjcZ1vC4HEefLtmNvX3g7tSUBmr5yG7csnYrCTl8FYTJo+F0pDT9zhfb2E52W8C/yOAnHkwSjCUIO+3wp0q/E45yckVxK4E9CNKER0GbZ2npl04SucWtqZn63g2iGSWdamZHVNBhJEE0kcTri9Gr2G/hti942toOdYCysWohTS2dZOdF9gq7IxE6215mK4Np+otNq640mrHlU6nMRiiXZfHI78cyKaFLDk7h80i7Om5yfSkGJw76gJsYxK0vgRCSW0HFqAp/LQSTDaWsKfMM+q3M2/hxJkTbneB3FXD/7+nEZ80TB7XCzsHKhrW2ia/mmmW/jgXME3A7m1xQZAj+ZFvjRRJIfb/uB7TifXEoyUaw0fMXEotRlt1XHtWMTevFVLGFE4HicGtFE2oZfV54S+OEE4XiMN0L/aztuReXb8DgnR6bD0WSymHXM2vRd4ThSSja80cLV86sp97vpiSSsBHslPicd0ZP8bv+vbMcH4rcATJqi5X2ZnJ9KQaXbnvEwph2b0KGZsWRK4LsMk04wksChCSttbXckzt7gT+lJNKcPkg7eNOU94zTiicVkEPjRRBLTatnRG6MrHOd0V4RVs8op8jrpjaU1/CKPxt7wf5PQ09E8ld7p+HWjQNJkFfg5SY+syD+qvPNs23Fx3JY+eKIRS+i4NEG33MxTJ58j1NxMl0fjS68spNPp5Isv/pIj0YdtxxQlb2Racf0AZ1Rk0rd4zkSM1OnKCMXsDMc50dFD0PFnHtj3XY60nyAe99G6ZxadTh/rzx2iU99qO/7OeZ/i6c2GSJysRXKUwJ+klLpr0WQAXRiLkqQIc7TjGFPLLrrAkflJKBbiqPwSbaHnbe1PHNoJLnjmmL2/V6ugLP7+SWuLzTXZNHwppbU4ayLQHU4vxmvuPsEdv3kPbe49tGXU1nu1ZSu4oKvXfuyauqu5afY7eXqzkS3UO0k1/Mn5qRR4XQ5cffKk7GmdWFqbrkuklOhS54/Nn6ZNf/7CBwEabi4t/ncclOCdpNEWuWZ2+WycIh3K2xZu42zv2fMckX90RwwNP0kPT5z+KIc79wzqOIdezc9vfxC/O51FdbJq+OpumKS4nRouOdPWtu/cvnEazfB47wOv8q77N/HNV77JsdCLFz4AKHNPY235t/EkDI1VafiDQxMa1X3MgP/ypyd4/sC5AY7IPyKplbOdnu8RTJ4c1DGzii9lauyrzK+qx5+RRVXZ8BUTCo9T66fhH2ifOEmxDp7t4eXDbSRo58n2L9j2FWmzWV7ySVwOwbuu8PL5JzZwUW05h5qr+NvL3sG+U2He6O4BJu+NOxpMDczndDjtrP3D7k08t2MKTV+5bRxHNXjC8SRh7XWC2ku29tsX3s7CwLv52St7WVgX5GDbCS6fNZ1X36jhHYtv5snuMwghlMBXTFwCHifuPtWMDnZMHIHfuN/QLLudvyMYC1rtHq2Epd6vUiKmMLXYy0dWXcaD6+ezsryC400nCbi9eF1RusJGHLZ3kj6ajwYzihayrTW9HdOOwQTy84djSTpdv7S1lTgW8ug7HuV3W8/wiB5ghrsS3R3irXNns2PvXtp6Y5R4DVNO5lyZrPNmcv6MKSj2OPtp+E1dB0nqw7uDw7Ekv9vWPGardY+09qITIuh82ta+pvqjiGQl4XjSuikDHoe10MbjdOBzO4knZWpbTfHBMr9ikW3btgJ1ArCj5TVimj2v/RUVn8btcBPwGLpte28Mj1Oz5k5rMEpRap/5HybvvJmcn0pBkdeJg1I0WWa1xZIRjnQcGdb57lu3j394dAevHB6bnDxHW4NUVm1DirDV5tUquKz6HUQTSSKxJL7UTet3O61kWR6nhr8ANLXR4OaF9gyRcXEcycRZu7H++KO27UrH5cwtXQ6khXl7bwy3U7Oc+a3BGEVeY9/UsrTTerL6fpTAn6QUpx5T3brdcTvcBTWnuwzBm1kEejQ5cq6XdjbY2i4qfitFbj/RuE44nrRKFQY8DtpNDd+l2UoYTtacKKPBNXPm45DF1rYUURKiZULkYIomorx25glbW3HyNkp9bgBLqFsafkqgnwtGKU7tyxTyk3XeTM5PpbA0GlcfO/7wV1COXTx2bzTBqZ6TnOh9zda+uOxWPC4jtUI4btfw24Npk07AM/mdb6OBy+mg1jff1hYXTfTGBmcGbOmJ8I0/H7AKi4wl6w6uI5SREluTJejhZZT6DMUn4Dbuh4QuUxq+MUdiCd1myjGZrPNmcn4qhaW19LXj7z7XX+B3heM8u29wMdfJMUjA1t4bI+R8Hkn6vQJiAbX+uXicGrGkTiSVChkg4HZYQsnj1PC70zewXxUsHxI3zr/Mth3XjtHaM7gat4/vOM13nj3Ivz029mkZfrWrT06c5DUInJbAzxTqZk4mE/NpOBNl0smCEKJCCPFnIcTB1P/yAfo1CSF2CSG2CyG2jOQ9FYPDEvh9NPw9Lf0Xo/zTb3byof/dwon20AXPm1lLdrQIRhOENPs0Kec6PE6H7UY0TTf+jJvZ63JYmj9Aia//zawYmCtmLrdtx8QxWoODE/hmecknd5/J9bDOSywZ45nDz9jaAokGgLTA92Y6ZB22hVXFGfs+/CYjy2zmU+JkYqQa/meBZ6WU84FnU9sDca2UcrmUctUI31MxCAay4e9v28/Te47z7fUHrbZTKfv8YG7snjEQ+OeCnUQ1ewipJ7GagNthWznry9DwrX5OzabVl2TR3hQD079aWpOtPuz5MLOx6mOchvuVE6/QE+uxtsu91bilUafXMulkCHC3Q7PNo0zt/19uXcSOf3uz7SlxMjFSgX87YOaj/V/grSM8nyJHmJNYI0B9aVrLT+gJPvW7x/nm+gNs2N8CpIViZvKpgQiOktP2wNkenthpJD154cRGEOn38Yo6kvEa/B6nXcPPsOGbeJxaP41fMXj610M+STBmVI06fC7I4XPBbIcB6SI1meI+ntT59vqD/HZrc/aDcsBTh56yba+Zdh0iJdpMge9xOnClChqX+ly2eZGp4WuaoNQ/eZWEkf6M1UopTwNIKU8LIWoG6CeBZ4QQEviRlPL+gU4ohLgHuAegtraWxsbGEQ5x9AgGg3k7vlA8fdvNcM7gGOnsYgn2A/X8Yv3riNMeIj3GDf3Slh1wOvtkP91iPAXsO3SURuf5l60P57r81VNGNqtAe4Andv7ats+TWIGUcKa5ibA77Tw+cmg/jb2HOdOc/qHas3M7XbH0Z8+n7yef50sm1Z5qzkVTKRVEkvVbnsLfOt/6jn5+cyDrcQcOGY7zeCJpfc7njsd5cG+Map+gsucQUkreaNe5qEKzErON9Lr8dsdvbdszknMxDZeH9u4gcdIQ7m5NEk9CT9sZtm9JrzBrPnqIxnif7Ht5wGjMlwsKfCHEemBKll2fG8L7XCWlPJX6QfizEOINKWXWTFipH4P7AVatWiUbGhqG8DZjS2NjI/k6Pl2X8Ow6AN689M282JjORdPNUXxAefUUGhou4cnWnWw5e4LK6XNoWDs36/m+teclaOukvGYqDQ1Ls/YxGdZ1ecoIqbv6mrUc3vwB2y53YiUASxctpNzvgl2vA7DykqU0LK6l2XuMR/YbjsI1l19mxORvexUgr76ffJ4vmaw8udKmNcvKKNMXr4SnjFs28zPoukQIEELwWuQNOHSYpIS1a9cihOCVJ/cBR6irKqWh4Sp+uekYX928m/95z6VWfeGRXJezwbMc3Hgwo0Xw4ev+hqfeMET+9VevYUaFHwDvC3+mNx5j2UVzWbtyOmxcD8Bly5fQsCT/ah2Pxny5oElHSnmDlHJJlr/HgLNCiKkAqf8tA5zjVOp/C/B7YHW2forcoWlpTXjF1BW2fV2JAwBW+Jwj9ah77jzRGKazNjjKNvy9Z4/QEjpubTuEC69u/MAE3HanrWmH7RuG6VOROSOib278Qx27efGgoRH3zT4651/W8dc/3wykTTq6xFrpbKYsNufasTbjKaGp7cIBAoPh+WN2vbHcuZAlU2ewqr6c+TVFVBenq52ZxU/K/X1NOpPXhNOXkZp0/gh8APhK6v9jfTsIIQKAJqXsSb1+M/DFEb6vYhB86ob5rJhZzrwpMVt7TDQhSRJO3YTRuHEjnM9pawr80Y7S2XDUfgPPKb2EWMhYAel3O7M6bW02fJeDwASu3ZsPrJy60rZ9qHOHVUO4yNNfOJp5jzJLaEYSSdxOje6UX8jc59CM7y+p52YF78Y+An+qbyVel4PffOzKfn3jKYFf5nfbHP2FFLo7UqftV4AbhRAHgRtT2wghpgkh1qX61AIvCiF2AK8BT0gpn8p6NkVO+dQNC1i7oJppxdNwiTKrXYoocXGScCr6Ipow/p9Pwzejc0bLaWvycrM90+HSqvTDYMDTV8M3XvfNgeJTjtoRcVmdPRa/qXsXobghuGOJdMRO3wVWmSU0zX1mjnpz25l68kzk6Ee5scku8Gf4VwzQExKpp44ynwshBD9870oqAm7qK7P7JCYjI9LwpZRtwPVZ2k8Bt6ZeHwEuGcn7KEaGEIIy5wLOxdMrVz3+JsLxZUD6Rs3U3h/bfpKfvtTEbz+6BocmrH2jHZa5+fTLtu1VU69ka6pui9/ttAQGpOPw+wr8iVOjKT+ZXTabSl8lbWEjb1Ik2cvJnsOAZgvR7KsgmCYTSD81mhq+ZT5MfX+5CN3sinSxr9W+yGtWycoBeqd/ZMoDRrqFm5dM4eYl2dyTkxe10rZAqHDZSxs6PAczNHzd9h/gS0/sY8eJTp57o4VIXMe8P0fTpJMkyNHON6xtgeCaWW+ytgMehy3HianJL55WYrV5nA7LxKM0/eEhhGDVNPtymaYeo/RfQpeWgtDXBBjNov13WQLfOMZcqR1Njtyk80rzK+gyfR6XPpNyb8UFjyubxGGXF0IJ/AJhqs/+kNWl70nb8FM3auYj+YLaIgDW7Tqd9UbOJWZyrpi2z5ZOYUnNEhZUpzWwgNtpJb0CqC0xbPsuh8Zls8pTrwVel8bHGuby64+uyflYC4XLptnNOieCaU3aVBT6afgZ8ydsmXQS1raU0npC6MmBafDBrXbLsEdfTHWRZ4DeacpSCdUKkcm5nEzRj2k+e+RFW/QQQYexOjGbht/aYzh6u8Jxq93lEKMi8K0fnj65zN80801UBtI3p8/tsOywF00ptswDAL/68BW09ESs2O5/unliFmvPF/ra8U+Hd2MmDw7FE5TiojVoDwawOW3jOlJKusJxhAApSSW9MwR99yAW+Z2PY229/H5PI2Q8xHn0xcypLhrwmAc+sIrfvX7SSgFRiCiBXyCUeSvxi5mEpBHyKNHpiO8F3mLZWzNtsGe6jcVYoVjS0txKvK5RseGbjuCodsDWfsX0K2zhpQG3E5/bwX+9fRlvXlxr6+t2akwv9+d8bIXK6jp75HRLZB/TCaPhozfaX8NPJHWiCR2nJkjokkg8SSiWJKlLppR4OdMdIRrXrWNHquGf7Q4T1Q7a2jz6QuZUD+yAvX5RLdcvqh1wfyFQuD91BYbHpVEkFtvaunRjcYppsommNO1IPGnZXkOxpKW5lfhcxBJ6znOl9EQTSCSxPgK/r9AxQzLfuWoGZf7CfSwfC6YUTWFB5QJrW5K08huZJh2zyhhAb0oxMJPVZc6h2hLDzBJJJC2Tjhm9M1y2ndqLFOlYfk0GcMppzKoqnIib4aAEfoHgdTnwSnsJu7DYQzylmUFawz/TFbH6hGKJtIafupnNfifaQ/zkhSMjLpARjCRIiNPoIp2nxa0V2QQOYJlrFGPDtbOutW1HNCNcKhRLRWxlaOnBaIJoQrdy10QSuiXUq4sNY5Ch9fc/djhsObXZtl2iLUIgVLK8C6AEfoHgdTpIhO0CNKrtoS3UY7PhSylpST2qTy31GiadpGnSMSyAph3/3l/vMKJ5mrtGNLZgNNFPu6/zX4wmjOl556XTbeGYirGhYVaDbTvuNBy3ppaeGbEVjCSIJZK2OdIVsmv44XjSqlswUhv+ntZttu0PXX4jz/3j2hGdsxBQAr9A8Lo0nHI6Dj2d306KGM8d2ZDOciiNsLv2VH3Y6eU+y4YviRPXmmwLtkw7/592nBrR2MKxZD/7fX1xOqro6++8hEP33Tqi91AMnbX1dgEaFgfQCVkCPzPNRjBqOPfNp8DOcCdbT28jQSs1loavE46lo3ZGwtHuHfaxzlpzXoetwkA5bQsEr8uBQODTVxLUnrTanz78JNHEW63taEK3bLN1ZT5eP9HGT3Z8nRPeb3P8eC944cqf/xdfu/EbnGg3QiR2NneOaGzRhE5M2AX+3DK1Vm+8mVo8lRJHPd1JM5OkTljbRih2BWAI/GKPk55ogp6IYfrzuMO0ub7DxzdsICnj4IMf7l1NXPw1kXjSctpmRvQMlWgiyrmIPaKrb1SRIjtKwy8QTIenL2lfULOh6RkiGY/isQyBX1MqOOW4jx/vuA8peq1jmroO887fvJVu7Vlqij0EoyPT1npjEaLaYVvbRRUDL5FXjB11PvtahpDjRZuGX1tqaO+90STBxFkeO/lhgs5nDGGf4o2O1zjtuZedZ1+3NPuROP93nN2BTvrpYmbpTKYUFdaK2eGiBH6BYEa1ePVLcDvSES4nepqI0WRlDIwldDp6Y3hckocOf4qwY1PW80kk7e7vMrfu7IhX3x7q2AsiLSAcspIpRdNGdE5FbphffKNtO+zYTHvYKBYejCSoKjLm0tngWQ7Je2mNHu53DgApevnXFz5Ad7TTaosNc7Xtayftxe37RnMpBkYJ/ALh6vlVAGh4uW72dbZ9vY7nLNtrNJGkIxSn2/0zdrdttPVzafZVjJIEjS330Ru1L8AZKm+0v27bdusLCiqDYT4zo2g5HpGOXZciyrazzwKG07Yy4EES57+23ENc2GvZujSfbftc+BRnxf9SnMp9ZK7/GCr9BP40JfAHixL4BcLU0vTN975l77PtCzrX43Ob2RB1Np15lDP672x9XPpMfnjji1TFPm1rPxPey5n4CwDsPdXN7H9+gpbQ0G7kQ53bbdseJfDzBq/LQaV2ja3tpTMPI6UkGEtQ7nfR5voB+zvsYZLzi6/jY/Mbmeq4w9YedDyF22MkZctM2TEUlIY/fJTALyBe/ux1vPCZa3nrRW+lxF1qteuihxNxQ8D/+ehTvNz+Vdtxxc5aaqNfZk75TALJtVxc9mbb/lbxa+KJJA+8eBQpYU/r0G7ko132iAu3vgDfJC0iPdFwOzUCyQZb29Ge13jmUCNSwpaOH9Pr/LNtf7njUq6tuY/eqMbFgY8xu2xOeqdI0iqMuTYcx21npJP9bWmHrSY0Vk4bOEOmwo4S+AXEtDIfMyr8+F1+3rPkb2z7tnc+QIfzp/zD+g8gSQtsIT3cWPt1HJRbZp+53r+2HRvTDvDMkQ00dxgrH/2uwcfM90R7OBvOsPtKgUefpzT8PMHj1EhE6vEkl9na73n8g7S5vsfTJ75ra6/x1XN56ZcIxwTdkTgV/iI+feVnbX1Oxp4gSfeQNfxjbb387+ZnbW2LqxdT5FbhmINFCfwC5WOrPokm0zdKQkbodv2OaDJstQkElbF/wJE0NDRzFWNrRw2+pD0M7n82f5/mDuPYSGLw0RebT222Zch0yjo0Aiq1cZ7gcznQJZQl3m1rP97dRNBpz1apySLuXfkAFb5ygpE43eE4JT4X71/2XhwynbY4SYRe53orZfJgWfu1Rr7wtL2onrLfDw0l8AuUKUU1lMc/fN4+/3b11wnoV9GZCtMs8RlmlpOdYaY732Xr+8yRdTR3GSWNw0MI2nm1+VXbtkc3slyqurT5QSDlYPXqS7h+5rsH7OcUHqpj/49ZpQsIuJ30RpN0huKU+VwEPD5Kk7fb+gcdzw3LpBPV3rBtXzH9iiGfo5BRAr9A8bg0ipI3cGlZFqEvndw9/4t8eMVHAOgMxdGEka3SpL5oJfMq5lnbcT1GUDOct+EhaPibTtrDPj36QqCw6ozmM5m1Xz+2/MvUea/q18dBKddWfQuvvgiPy0GRx0kwmqA1GLWKiFeKGxAZ4iauNbH73I5+5zofEtkvhfbl0y8f0jkKHSXwCxRPKif4At+HqI1+havr7sSbXMGNMz7ItOj3uXXO+63KUZ2hOB6nw6ohC1BV5OX9y95vO2fQadhXB2vSkVKyqXkAge9STtt8IJBRPrLC7+fmKd9gme/zrJl6K77kKj61+vMsdfwUnzTqLbgdGkVeJyc7wyR0aQn8gLOKGrfd/PL4oYcHPQ5dlyTEGXTRbbV5HX4urr54JB+v4FACv0BxO4yvvjsSx6sv4TOrv0Nt7D+4Ydqncck6ir1OS8uOJXXcTg2HJnA5DIdsRZGb911iD++MafuJizOEB+mLa+psoqW3xdr2Of24ZL3xWmn4eUGmwC/xuijyuCjlWj646LvUxL7AF9Z+noCrjJ5UZkyPS7MdYwp8j9NBlbAv4tpw7DF0qZPQJftOd3M+WnujxPpo94uqLsWhqXkyFJTAL1CEELidmpWm1lxp25aqYlTideFxaphJKs0qQabjtjLgZlbZLFZN7b/0frAmnb7a/eKqSxE4cGiioKsS5RN2ge/E53YSiiVpDcZwOzRKfE7bPPI4NFtReTNxmsel4UmsRkivta8tcoaXT7zMk0fj3PLtF9h9cuCsq6c6I/3MOctrVg3QWzEQ6q4qYDxOzcpZXpzKpWMWpi7yOhFCWHZ784mgvtKoKlUZMDS3Oxa+3XbOkOOlQTttXz1pd9heU7+GS6aX8htVizZvyLThF3td+N0OQjHDPl9Z5EYIgcfpsDR8t1OzHWNq+G6HRijqxJe0m3Ue3fMoZ3oNBeHlw62AUej8Zy8dtbKyApztjvRz2F46VUXoDBUl8AsYj9Nh5SW3Qi5TqZHNHwDTtGLa/M0buCJg9H/nxW8HmY67j2kH6YgPLl1yXw1/7ayreOwTb2LFzPJhfR5F7snU8E0zXziepKUn7ZB1OzUrxNLjdGQ36bg0wvEkgeSbbOf/zd7fIDCOfemQsQL38Z2n+Pc/7eU7z6VLGLYGe4iJI7ZjV9cph+1QUQK/gPE4NcyEhWalopZUjnvTxGPevKaJparIuIHNkLo5FTPw6PbSiSfjL17wvaOJKK+fsefQUREX+UemecbvduB3O5ESTnaErLngyTC/uZ12k4752uM0FAevvhK/M73+43TwNEfCRqnNk53GOo6OlNLRk1EGcc+5HSDSGr9Dr6W+TCXYGypK4BcwmTeq322E051OlTc0b1RzAZQp8O9YUQfA6tnGQhpNE5QLe66VFv2FC773ttPbiCXTSdeKnVNVits8JDM8VghhbR9vD1mZMjPnkcepUVNi2Ok/eNVsWzuAhofrZt1ie4+jUSNJn2nCiScNLcTtSL/33rYttmM8+kLl2B8GIxL4Qoh3CCH2CCF0IcSAHhQhxM1CiP1CiENCiM8O1E8xtrj73KjZNLOAx27SWTWrgqP/eSvLppdZfWtda21mnbA4xJEO++N3XxqbGm3b0/zLsndUjCuZ5hlIm/jiSWkl5Our4V86s4yNn27g83+RrqGc2efORXa/T6v+MpKklSvf/G9GhAHs6+gbvnuRWo09DEaq4e8G3gY8P1AHIYQD+D5wC7AYuFsIsXig/oqxw5O6YRyawOnQLLt9kceJIxWeYyYxM5200L+YeLm3Fo9uj4d+dM+j1us/7z3LLzcds+1/8uB62/asIuWAy0c8faKl6iv81usldUYCPncfgS+EoL4yYJsnpkkH4Ka5NyFkOntrQrQT1fZZBc7NEpum2TChJ2jq2WobR7ljOS6HMlAMlRFdMSnlPinl/gt0Ww0cklIekVLGgIeB2y9wjGIM8KRuGPOmzhT4JmbEhVmIOhsBj6OfM+6R3WmB/zcPbuFf/2AUwO4MxbjxG+vZdPJlW//5pWqJfD7S98f9khll1usldSWAXZj3/YEwyfxRKPMVUYL9+3YWvUokblTBMiPFzICC10+/TkwPWn01WcKM4oXD+DSKsVjOWAecyNhuBgb0zgkh7gHuAaitraWxsXFUBzcSgsFgXo/vQvT2GE4yIZM0NjYSDxn2e7eMWZ/r3Dmjrbf1FI2NrVnPEw+F8Sevol3+CIRhf91+9nV+9eSvqPPVWf0aGxvZ3ZpkV+tW4p6I1e6QlSTaHRP6Wg6GiT5f+o79jW2b2C8EbeeiVtuml1/EpfXPltrRmu7zykvPUyavoktssNraEo3U8Ff8+blGDjcbc+NI8xkaGxt56PhDtnN59aW49eiEvpaDYTTmywUFvhBiPZDNm/Y5KeVjWdr7nSJL24Arc6SU9wP3A6xatUo2NDQM4i3Gh8bGRvJ5fBfil8c2s6ethSKfh4aGBn5zahu7Wk8zZ1olDQ2GieWBw6/C2VauWL6YhpXTs57nwabN7O/Q8cklhMUuq/1E8QnuuvLd8NQ6AK6+Zi09u04T2f4z2/He5DKWLJxLQ8M8JjMTdb6s3v8KS6aV0tBgWGLXLeimrTfK1fOrAXiuazfPNxsmuxuubej3VACwvnMXL5w8jlMTXHfttczcEudU2E9cGim1I7KDqLaXVVf8fyR2bgKCuItKaWhYw1d/Za/P4E0uY860GhoaJnce/NGYLxcU+FLKG0b4Hs3AjIzt6cDgArUVo4r5mG0+kpuhmLXF6dWQwVS92iklXgbCdOyVa2sJkxb4j+55lPcv+Xtruzsc51xPlLDDXrHIqy+14rUV+cejH7EvhFs8rcS2bS7KM+332TDnmDnnKvwB6riaptDTVh+jQPon6UyZcrrDcYKxYD8Hv1dfplZiD5OxuGqbgflCiNlCCDdwF/DHMXhfxQUwb0LT7mra62sy7PXmkvnKIjcDUZSK5JniugZNpKfU62de5+Wm3dZ2ZzjOgdajxLSDtuO9yZVK4E9gPK6U4nAeJ6o5x0xBXeZ3Ue1Ya+vT63iJ3miMSCpKpyeSYN3BdUQSafNftW8GTjkdZxazkeLCjDQs8w4hRDOwBnhCCPF0qn2aEGIdgJQyAXwCeBrYBzwqpdwzsmErcoF5E5o3bCxpREWU+dPC/cq5lQDUnkfDN7NqVvlqWTnFnj73D/t/a73uDMV49cyT9jEkF+GkkuoiJfAnKma8vNMxsBA2lQunlhL4Pheu+Ao0mY760UUnL514ySpu3h2J89t9v7Wd57LamxGI876XYmBGGqXzeynldCmlR0pZK6W8KdV+Skp5a0a/dVLKBVLKuVLKL4900Irc4Olj0jEXvmQutvnX2xbzwmeupSIwsIZvmnTmVAd468I7bfs2nPidVdGqMxxnb4c9HNOvXwnYnyoUEwtvSmFI6gMnzetrginzuznZkcSXtMdvPHbwYUvx6I728sSBJ2z7P7zybgDuXj1zxOMuRJQhrIAxb0LTBmvG3meGZbqdGjMyYq+zYT5dz6zwc+eit4FMT6tTvQcJa8Yqyf3nDtESsxe98CUN+3BmnL9iYjGtzIip744MnDWvb7hmmd/wF/n7hPM+eeRRErRRVeQmpG2iN95r7avyTeH2i9fS9JXbVL6lYaIEfgEzv7YYwEpL+5mbL+Ij18zh5iVDS3FwKpUDZXqFn9kVdfh1u5Ov2/UIEsnvDvyYzACty6Zdhksa7+VQNtkJy+yqwAX7mFlZF0015lxZKneTT19JtbvW6pfQY3Q7f09lwE230x4E+LaL7rT5iBRDR129AuYvlk0FjHw4ABUBN/9866Ihr2C8cm4VAGvmVOJ2alQm32nbH9XeoMv5CM81/8rW/vHLPs7qWRWUeFV1q4mMmTL7fKyeZeRe+vxfGKGdpp9I4OTumXfZ+gad6zjDL4lpB2zt/9+Vn8jFcAsadacVMH63k998dI31eD1cbl8+jRsX11q2fC05F19yFWFHOuFVl+uXttUXdcV13LXkLj5wiTLlTHTMcN7zceW8Ko7+561W2KY55yoDbm6beisPn36Elt4zAEgRY2f3T2zHzy1ay0VVF+V45IWH0vALnFWzKphXUzyicwghbEm2FpZrLC36GMiB9Yn7rr8Pr9OLEGLA2G3FxMJMsT0Qmd+z6Te6Ym4lbs3NFxvOE8shHfzi7d/OyRgLHSXwFTnnM5d52fTpv2ax75NZ96+ZejvvW/a+rPsUE5Pd/34TL3/2ukH3Xz27gn+8cQH33WEUP//Qir8ikLg+a9/p2kdYU39JTsZZ6CiBr8g5Ds3Q2v96+T1UxT5NsTPlmMVPSfzt/MPKbymtfpJR5HH2S6V8PpwOjb+7fr71VOB0aEyVn2Kh/68Rqdh8h6ykMvYpVlTcPSpjLkSUwFeMGh9802zmF93EY3du5621TzE38RDlib+i1Oe78MGKgiPgdjNVvJ8ZkYd54u1vUBf5GUXJG5hRfmGnsGJwKIGvGDUqAm5e/ufrufaiWip9FUTjxoIus6iKQpGJz+WgIxRDoDGzbAoep/HEML1cKQi5Qgl8xZgQyFJNS6HIxOd20Bky4vW9Lo1YqgBKfeWF4/wVg0MJfMWYkCnwh2LrVRQOmSULM4uqDHUhoGJg1J2nGBOKlYavuACZOZw8Lo2PN8zFoYnz5nFSDA115ynGBKXhKy6EN0PD97ocfOZmtdAq1yiTjmJMyBTyfpdy2ir6k6nhe51qjowGSuArxoSijMgcTSVKU2TBtOELAS6V735UUAJfMSb4UkVSzlcqUVHYmHPE63SohXmjhBL4ijHBndLY3remfpxHoshXTA3fLKiiyD3Ke6YYE25cPIUHPrCKaxfWjPdQFHmKacNXUTmjhxL4ijHBoQmuX1R74Y6KgsWXEvhVqr7xqKGenRQKRV5gmnRGWp9BMTBK4CsUirzAmfLzlPuVSWe0UAJfoVDkBV2pPDplSuCPGkrgKxSKvCCeNJKl1RQrG/5ooZy2CoUiL/jwNXOIJHTeffnM8R7KpEUJfIVCkReUeF38y62LxnsYk5oRmXSEEO8QQuwRQuhCiFXn6dckhNglhNguhNgykvdUKBQKxfAYqYa/G3gb8KNB9L1WStk6wvdTKBQKxTAZkcCXUu4DVN4LhUKhmAAIKeXITyJEI3CvlDKruUYIcRToACTwIynl/ec51z3APQC1tbUrH3744RGPb7QIBoMUFRWN9zDyDnVdsqOuS3bUdcnOcK/Ltddeu1VKmdXEfkENXwixHshWY+xzUsrHBjmGq6SUp4QQNcCfhRBvSCmfz9Yx9WNwP8CqVatkQ0PDIN9i7GlsbCSfxzdeqOuSHXVdsqOuS3ZG47pcUOBLKW8Y6ZtIKU+l/rcIIX4PrAayCnyFQqFQjA6jvvBKCBEQQhSbr4E3Yzh7FQqFQjGGjDQs8w4hRDOwBnhCCPF0qn2aEGJdqlst8KIQYgfwGvCElPKpkbyvQqFQKIZOTpy2o4UQ4hxwbLzHcR6qABVq2h91XbKjrkt21HXJznCvS72UsjrbjrwW+PmOEGLLQN7wQkZdl+yo65IddV2yMxrXRSVPUygUigJBCXyFQqEoEJTAHxkDLiArcNR1yY66LtlR1yU7Ob8uyoavUCgUBYLS8BUKhaJAUAJfoVAoCgQl8IeJEOJmIcR+IcQhIcRnx3s8+YAQ4qdCiBYhhFpJnYEQYoYQYoMQYl+qfsTfj/eY8gEhhFcI8ZoQYkfquvz7eI8pXxBCOIQQrwshHs/leZXAHwZCCAfwfeAWYDFwtxBi8fiOKi/4OXDzeA8iD0kA/yilXARcAfytmi8ARIHrpJSXAMuBm4UQV4zvkPKGvwf25fqkSuAPj9XAISnlESllDHgYuH2cxzTupDKgto/3OPINKeVpKeW21OsejBu5bnxHNf5Ig2Bq05X6K/goEiHEdOA24Ce5PrcS+MOjDjiRsd2MuoEVg0AIMQtYAbw6zkPJC1Kmi+1AC/BnKaW6LvAt4DOAnusTK4E/PLKV+Cp4zURxfoQQRcBvgU9JKbvHezz5gJQyKaVcDkwHVgshlozzkMYVIcRfAC1Syq2jcX4l8IdHMzAjY3s6cGqcxqKYAAghXBjC/ldSyt+N93jyDSllJ9CI8gFdBbxFCNGEYSq+Tgjxy1ydXAn84bEZmC+EmC2EcAN3AX8c5zEp8hRhFH1+ANgnpfzGeI8nXxBCVAshylKvfcANwBvjOqhxRkr5z1LK6VLKWRhy5Tkp5XtzdX4l8IeBlDIBfAJ4GsMB96iUcs/4jmr8EUI8BLwCLBRCNAshPjTeY8oTrgLeh6GtbU/93Treg8oDpgIbhBA7MZSoP0spcxqGqLCjUisoFApFgaA0fIVCoSgQlMBXKBSKAkEJfIVCoSgQlMBXKBSKAkEJfIVCoSgQlMBXKIaAEKJMCPHx8R6HQjEclMBXKIZGGaAEvmJCogS+QjE0vgLMTS2e+tp4D0ahGApq4ZVCMQRS2S4fl1IWdJIvxcREafgKhUJRICiBr1AoFAWCEvgKxdDoAYrHexAKxXBQAl+hGAJSyjbgJSHEbuW0VUw0lNNWoVAoCgSl4SsUCkWBoAS+QqFQFAhK4CsUCkWBoAS+QqFQFAhK4CsUCkWBoAS+QqFQFAhK4CsUCkWB8P8DynQnAFEfmOgAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "#!python\n", - "\n", - "from numpy import cos, sin, pi, absolute, arange\n", - "from scipy.signal import kaiserord, lfilter, firwin, freqz\n", - "from pylab import figure, clf, plot, xlabel, ylabel, xlim, ylim, title, grid, axes, show\n", - "\n", - "\n", - "#------------------------------------------------\n", - "# Create a signal for demonstration.\n", - "#------------------------------------------------\n", - "\n", - "sample_rate = 100.0\n", - "nsamples = 400\n", - "t = arange(nsamples) / sample_rate\n", - "x = cos(2*pi*0.5*t) + 0.2*sin(2*pi*2.5*t+0.1) + \\\n", - " 0.2*sin(2*pi*15.3*t) + 0.1*sin(2*pi*16.7*t + 0.1) + \\\n", - " 0.1*sin(2*pi*23.45*t+.8)\n", - "\n", - "\n", - "#------------------------------------------------\n", - "# Create a FIR filter and apply it to x.\n", - "#------------------------------------------------\n", - "\n", - "# The Nyquist rate of the signal.\n", - "nyq_rate = sample_rate / 2.0\n", - "\n", - "# The desired width of the transition from pass to stop,\n", - "# relative to the Nyquist rate. We'll design the filter\n", - "# with a 5 Hz transition width.\n", - "width = 5.0/nyq_rate\n", - "\n", - "# The desired attenuation in the stop band, in dB.\n", - "ripple_db = 60.0\n", - "\n", - "# Compute the order and Kaiser parameter for the FIR filter.\n", - "N, beta = kaiserord(ripple_db, width)\n", - "\n", - "# The cutoff frequency of the filter.\n", - "cutoff_hz = 10.0\n", - "\n", - "# Use firwin with a Kaiser window to create a lowpass FIR filter.\n", - "taps = firwin(N, cutoff_hz/nyq_rate, window=('kaiser', beta))\n", - "\n", - "# Use lfilter to filter x with the FIR filter.\n", - "filtered_x = lfilter(taps, 1.0, x)\n", - "\n", - "#------------------------------------------------\n", - "# Plot the FIR filter coefficients.\n", - "#------------------------------------------------\n", - "\n", - "figure(1)\n", - "plot(taps, 'bo-', linewidth=2)\n", - "title('Filter Coefficients (%d taps)' % N)\n", - "grid(True)\n", - "\n", - "#------------------------------------------------\n", - "# Plot the magnitude response of the filter.\n", - "#------------------------------------------------\n", - "\n", - "figure(2)\n", - "clf()\n", - "w, h = freqz(taps, worN=8000)\n", - "plot((w/pi)*nyq_rate, absolute(h), linewidth=2)\n", - "xlabel('Frequency (Hz)')\n", - "ylabel('Gain')\n", - "title('Frequency Response')\n", - "ylim(-0.05, 1.05)\n", - "grid(True)\n", - "\n", - "# Upper inset plot.\n", - "ax1 = axes([0.42, 0.6, .45, .25])\n", - "plot((w/pi)*nyq_rate, absolute(h), linewidth=2)\n", - "xlim(0,8.0)\n", - "ylim(0.9985, 1.001)\n", - "grid(True)\n", - "\n", - "# Lower inset plot\n", - "ax2 = axes([0.42, 0.25, .45, .25])\n", - "plot((w/pi)*nyq_rate, absolute(h), linewidth=2)\n", - "xlim(12.0, 20.0)\n", - "ylim(0.0, 0.0025)\n", - "grid(True)\n", - "\n", - "#------------------------------------------------\n", - "# Plot the original and filtered signals.\n", - "#------------------------------------------------\n", - "\n", - "# The phase delay of the filtered signal.\n", - "delay = 0.5 * (N-1) / sample_rate\n", - "\n", - "figure(3)\n", - "# Plot the original signal.\n", - "plot(t, x)\n", - "# Plot the filtered signal, shifted to compensate for the phase delay.\n", - "plot(t-delay, filtered_x, 'r-')\n", - "# Plot just the \"good\" part of the filtered signal. The first N-1\n", - "# samples are \"corrupted\" by the initial conditions.\n", - "plot(t[N-1:]-delay, filtered_x[N-1:], 'g', linewidth=4)\n", - "\n", - "xlabel('t')\n", - "grid(True)\n", - "\n", - "show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9513b663", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} -- cgit v1.2.1