diff options
author | Nao Pross <np@0hm.ch> | 2021-11-20 17:05:23 +0100 |
---|---|---|
committer | Nao Pross <np@0hm.ch> | 2021-11-20 17:05:23 +0100 |
commit | 2004febde3f7124acba0e0cc1697c7a0088b4a40 (patch) | |
tree | 260af2dd41be7a34fdf6730145ef90e3e6f96286 | |
parent | Implement Frame Object (diff) | |
parent | FIR filter eigerner Block angefangen (diff) | |
download | Fading-2004febde3f7124acba0e0cc1697c7a0088b4a40.tar.gz Fading-2004febde3f7124acba0e0cc1697c7a0088b4a40.zip |
Merge branch 'master' of github.com:NaoPross/Fading
Diffstat (limited to '')
-rw-r--r-- | notebooks/BSP_FIR_Filter.ipynb | 182 | ||||
-rw-r--r-- | notebooks/FIR_mehrere.ipynb | 247 | ||||
-rw-r--r-- | notebooks/Untitled1.ipynb | 33 | ||||
-rw-r--r-- | notebooks/Untitled2.ipynb | 182 | ||||
-rw-r--r-- | simulation/QAM_Fading/epy_block_0.py | 50 | ||||
-rwxr-xr-x | simulation/QAM_Fading/qam_fading.py | 84 | ||||
-rw-r--r-- | simulation/QAM_Fading/qam_fading_V2.grc | 6 | ||||
-rw-r--r-- | simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc | 1646 | ||||
-rw-r--r-- | simulation/QAM_Fading/qam_fading_V2_mehrere.grc | 8 |
9 files changed, 2359 insertions, 79 deletions
diff --git a/notebooks/BSP_FIR_Filter.ipynb b/notebooks/BSP_FIR_Filter.ipynb new file mode 100644 index 0000000..decc757 --- /dev/null +++ b/notebooks/BSP_FIR_Filter.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "966080dc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 3 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#!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": "650a8b16", + "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 new file mode 100644 index 0000000..0bf0e1b --- /dev/null +++ b/notebooks/FIR_mehrere.ipynb @@ -0,0 +1,247 @@ +{ + "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" + ] + }, + { + "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": "code", + "execution_count": 6, + "id": "6dc4dc1f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_5041/4026507591.py:1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", + " np.array(x)\n" + ] + }, + { + "data": { + "text/plain": [ + "array([list([1, 0, 0, 0, 0.2]), list([1, 0, 0, 0, 0, 0, 0.5]),\n", + " list([1, 0, 0, 0.8])], dtype=object)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.array(x)" + ] + }, + { + "cell_type": "markdown", + "id": "5ad0edf9", + "metadata": {}, + "source": [ + "# Dealy\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "bf92d73a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "d = 2.5\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": 8, + "id": "dd93e444", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA60ElEQVR4nO3deXzcVb3/8dcnmez71ibN0qRNW1oohTYtZRNQ0LJIFQTZoaDcyiL6817Fq1e9V73Cz+u9Xn+ACLIKgmyySNlVEOiW0o3uWdokbdIkk33PZM7vj5lJJ9Ps852lzef5ePRBZuY73+8hTd85c76fc44YY1BKKXX8iwh1A5RSSgWHBr5SSk0RGvhKKTVFaOArpdQUoYGvlFJThC3UDRhNZmamKSwsDHUzlFLqmLFp06ZGY0zWcK+FdeAXFhZSWloa6mYopdQxQ0QOjPSaDukopdQUoYGvlFJThAa+UkpNERr4Sik1RWjgK6XUFGFJ4IvIoyJSLyKfjvC6iMhvRKRMRLaJyGIrrquUUmr8rOrhPw6sGOX1C4E57j+3Ar+16LpKKaXGyZLAN8Z8ADSNcshK4Enjsg5IFZEcK66tVDD1Dzh5at0B/rSxCqdTlxZXx5ZgTbzKBaq9Hte4n6v1PVBEbsX1KYCCgoKgNE6p8freC9t4afNBAD492MZPv3RSiFuk1PgF66atDPPcsN0jY8xDxpgSY0xJVtaws4OVComPyxt5afNB7vxsMavOLOQP6w6wtbol1M1SatyCFfg1QL7X4zzgUJCurZQl/rD2ABkJ0dx+XjHf+fw8kmJsPPHx/lA3S6lxC1bgvwrc4K7WWQ60GmOOGs5RKly1dvXz3q56vrhoBrFRkSTG2Fh56gxe315LV58j1M1TalysKst8BlgLzBORGhG5RURWi8hq9yFrgAqgDHgYuM2K6yoVLG/vrKNvwMlli3MHn1txYg69Didry+0hbJlS42fJTVtjzNVjvG6A2624llKh8FFZI5mJ0SzMTRl8bmlRGvHRkfxtTz2fmz89hK1Tanx0pq1SYzDG8HG5ndNnZyJypP4gxhbJGbMzeH9vQwhbp9T4aeArNYbyhk7q23s5Y3bGUa8tn5VBdVM39W09IWiZUhOjga/UGD450AzA0sL0o147tSANgM1anqmOARr4So1h28EWEmNszMpMOOq1E2ckExUpbK5qCX7DlJogDXylxrD9YBsn5SYTEXH0/MHYqEgW5CSzuao5BC1TamI08JUaRZ/Dya7aNk7OSx3xmIV5KeysbcNVjKZU+NLAV2oUZfUd9DmcnORVjunrhOxk2nscHGrVG7cqvGngKzWKffXtAMybnjTiMSdku17bXdsWlDYpNVka+EqNYt/hDiIjhMLM+BGPmesJ/Lr2YDVLqUnRwFdqFGX1HczMiCfGFjniMcmxUeSmxrFHA1+FOQ18pUaxr76dOdMSxzxu7vRE9h7WwFfhTQNfqRH0OZzst3dRPI7AL8pM5IC9S3fBUmFNA1+pEey3dzLgNMyZNvINW4+irAS6+wc43K6VOip8aeArNYKy+g6AcfXwPbNwKxs6A9ompfyhga/UCCoaXIE/K+voJRV8FXkC366Br8KXBr5SI6hq6iIrKYb46LG3jchOjiU2KkJ7+CqsaeArNYID9i5mpo9cf+8tIkIozEigslEDX4UvDXylRlDV1EVBxvgCH1zDOhr4Kpxp4Cs1jJ7+AeraeigYZw8foDAzgaqmLga0NFOFKQ18pYZR09yFMTBzAj38/LR4HE7DYd39SoUpDXylhnHA3gVAQfrYFToeeWlxANQ0dwekTUr5SwNfqWFUNbkCfyI9/NzBwO8KSJuU8pcGvlLDOGDvIiE6koyE6HG/JzdVe/gqvGngKzWMmuZu8tLiETl6W8ORxEZFkpUUw0ENfBWmLAl8EVkhIntEpExE7h7m9RQReU1EtorIDhFZZcV1lQqUQy3dg0M0E5GXFkdNiw7pqPDkd+CLSCRwP3AhsAC4WkQW+Bx2O7DTGLMIOBf4lYiM/7OyUkF2qLWbGamxE35fXlq8DumosGVFD38ZUGaMqTDG9AHPAit9jjFAkrg+HycCTYDDgmsrZbmuPgctXf3MSJ14Dz83NY5DLd26TLIKS1YEfi5Q7fW4xv2ct/uA+cAhYDtwlzHGOdzJRORWESkVkdKGhgYLmqfUxBxqcdXR504i8PPS4ugfMNS391rdLKX8ZkXgD3dXy7d78wVgCzADOAW4T0SShzuZMeYhY0yJMaYkKyvLguYpNTGHWlxDMjkpkwt80NJMFZ6sCPwaIN/rcR6unry3VcBLxqUMqAROsODaSlnOE/iTHcMHLc1U4cmKwN8IzBGRIveN2KuAV32OqQI+ByAi04F5QIUF11bKcodauokQmJ48mcB39fAPtmjgq/Az9kLfYzDGOETkDuAtIBJ41BizQ0RWu19/EPgp8LiIbMc1BPQ9Y0yjv9dWKhAOtvQwPTmWqMiJ94dioyJJi4+itlUDX4UfvwMfwBizBljj89yDXl8fAj5vxbWUCrRDLd2TqtDxmJ4cS12rLqCmwo/OtFXKR22rf4GfkxJLna6YqcKQBr5SXpxOw6HWHmakTHz83iM7JZa6Vi3LVOFHA18pL/bOPvocTr+HdBo7eulzDDvVRKmQ0cBXyotn85JsP3r4Oe731rfrsI4KLxr4SnnxhPS0pJhJn8NTzqk3blW40cBXykuDe0mELD8C3zNDV2/cqnCjga+Ul/o2V+BnJk4+8LO1h6/ClAa+Ul4aOnpJiYsiNipy0udIjrMRGxWhga/Cjga+Ul4a2nv9Gs4BEBFyUuJ0SEeFHQ18pbzUt/eS5cdwjsf05Bjt4auwo4GvlJeG9l6mJfsf+NnJOttWhR8NfKXcjDGuIR0LevjZKXHUt/XqzlcqrGjgK+XW0eugu3/A7zF8gOzkGPoGnDR19VnQMqWsoYGvlJunBt+SIZ0ULc1U4UcDXym3wUlXiZNfVsEj2zP5SgNfhRENfKXc6i3s4XuWZtDNzFU40cBXyu1ID9//wPfM1G3QwFdhRANfKbeGjl6iIoXU+Ci/zxVtiyAtPkpXzFRhRQNfKbdu+0Gei/4p0lFvyflOSOjixj23QfthS86nlL808JVyO7v2MRaZXfD+vZac7xbn8xT3bLfsfEr5S4wJ34khJSUlprS0NNTNUMe7n00Dxwhj7cl5Ez9fW83wz9ti4IfWfHpQaiQisskYUzLca7ZgN0apsHPXNnjz+7DjJddjiYSUfMhdAlGT2OqwvwsOfoJpOYBgMLY4ZP4l8PmfW9tupSZIA1+ppGycTicRwIDYiMQJxZ+DS/578ud87duw6THX144eiEmGpOmWNFepybJkDF9EVojIHhEpE5G7RzjmXBHZIiI7ROR9K66rlFUczVUAfLTw57BkFXT4eaO1s5667PNcX8483//zKWUBv3v4IhIJ3A9cANQAG0XkVWPMTq9jUoEHgBXGmCoRmebvdZWyUlP+BWTXfULfrPPhlNX+n/Cqpzm0fQc5L57B4WlnkXjxt/w/p1J+sqKHvwwoM8ZUGGP6gGeBlT7HXAO8ZIypAjDG6J0rFVZMYxn1JpX09AzLzpk6vYAuEwP2MsvOqZQ/rAj8XKDa63GN+zlvc4E0Efm7iGwSkRtGOpmI3CoipSJS2tDQYEHzlBqbraWCSpM9uCSCFbKSY6k02US1Vlh2TqX8YUXgyzDP+dZ62oAlwMXAF4B/E5G5w53MGPOQMabEGFOSlZVlQfOUGltCx34qnDl+bV7uKynGxgFySOzYb9k5lfKHFYFfA+R7Pc4DDg1zzJvGmE5jTCPwAbDIgmsr5b/uFuL7m6m15fq1ebkvEaE+Op+U3lpw6Lr4KvSsCPyNwBwRKRKRaOAq4FWfY14BzhYRm4jEA6cBuyy4tlL+ayoHoCWuwPJTt8UXuMo8Ww5Yfm6lJsrvKh1jjENE7gDeAiKBR40xO0Rktfv1B40xu0TkTWAb4AR+b4z51N9rK2UJuyvwuxILLT91d1IRtOG6cZs5x/LzKzURlky8MsasAdb4PPegz+NfAr+04npKWcpehhPBmVpo+amd6bPhIFqpo8KCLp6mpjxjL+OgySI9JcnycyemZtFkEnE07LP83EpNlAa+mvKcjWVUOLMt2bzc17TkGCpNDo4G7eGr0NPAV1ObMYi9nAqTE5DAz0pyBX6E+8awUqGkga+mto56Ivo72G+ymZbk/+blvqYlxVLpzCa6qw56Oyw/v1IToYGvpjb3zdRKE5ghHVcPP9v1oEln3KrQ0sBXU5s78CtMjqXLKnhkJESzn5wh11IqVDTw1dTWVI5DomiIyCIlzv/Ny33ZIiNoi8sfvJZSoaSBr6Y2ezmN0bmkJ8YRETHcslD+S0pOpSkya3CCl1KhooGvpjZ7GQcjZgRkOMcjKymGasnRIR0Vchr4aupyDkBTRcBq8D2mJcVQ4czWwFchp4Gvpq7WahjoY3f/9IAGflZSDLv6p0F3M3Q1Bew6So1FA19NXe4x9U97MskKQA2+R1ZiDGUD2UOuqVQoaOCrqcsdvhXOwMyy9fDMtnVdU4d1VOho4Kupy17GQFQCDaSQZeFOV74yE2OoNlkYidTAVyGlga+mLnuZew18YVpyYHv4Dmx0xudq4KuQ0sBXU5e9jGb3LleB7OF7houaYgt0DF+FlAa+mpocvdBaTZ0tDyCgY/jJsTaibRGuazWVgzEBu5ZSo9HAV1NT834wTqokh+RYm6Wbl/sSEbISYzggOdDfBe21AbuWUqPRwFdTk3ssvTzAk648spJiKHN4SjN1HF+Fhga+mprcobujJysg6+D7ykqKYUdv5pBrKxVsGvhqarKXQXwmB7qigtbD39WZBLZYvXGrQkYDX01N9nLIKKahvTc4gZ8Yg73LgUmfpT18FTIa+GpqspfTnzaLrr6BgK6U6eH5pdKbPEt7+CpkNPDV1NPbDh11tCfMBAJbkunhuUZ74kxoroQBR8CvqZQvSwJfRFaIyB4RKRORu0c5bqmIDIjIV6y4rlKT4u5h22NcO1EFM/Abo/PA6YCWAwG/plK+/A58EYkE7gcuBBYAV4vIghGOuxd4y99rKuUX9xj6ochcgOBU6bhn8nquqcM6KhSs6OEvA8qMMRXGmD7gWWDlMMfdCbwI1FtwTaUmzx22B8x0ILg9/P3McLdBb9yq4LMi8HOBaq/HNe7nBolILvBl4MGxTiYit4pIqYiUNjQ0WNA8pXw0lUNKPnVdQlSkkBqAzct9xUZFkhRro7onDmJTdENzFRJWBP5wOz/7Lhbya+B7xpiBsU5mjHnIGFNijCnJysqyoHlK+bCXQcZs6tt7yUyMCdjm5b6ykmJo6OiDjGLt4auQsFlwjhog3+txHnDI55gS4FkRAcgELhIRhzHmZQuur9T4GeMK25O+QkN9cGrwPbISY2ho74Ws2VC1NmjXVcrDih7+RmCOiBSJSDRwFfCq9wHGmCJjTKExphB4AbhNw16FRJcdeloho5j69t6g1OB7uHr4va4efms19HcH7dpKgQWBb4xxAHfgqr7ZBTxnjNkhIqtFZLW/51fKUp6hlCDOsvXISnL38DNmu55oqgjatZUCa4Z0MMasAdb4PDfsDVpjzE1WXFOpSXEH/kD6bJo6dwd04xNfWUkxdPQ66E4pIs7TluknBu36SulMWzW12MshwobdNh2ngazkwNfge3h+uTRG5R9pi1JBpIGvphZ7GaQVUd/pKhgLdg8foL7PBonZGvgq6DTw1dRiL4eM2a6bpwRn0pWH51qD4/hamqmCTANfTR1Op2vCU0YxDW2uwA92lQ5o4KvQ0cBXU0fbQXD0hKyHn5EQQ4R4Ar8YuhqhuyVo11dKA19NHZ7lDNwlmUkB3rzcV2SEkJ7gVYvv3SalgkADX00dXjX49e09QR3O8ThSi+8OfL1xq4JIA19NHfZyiIqHpJygT7ryGAz8tEKQCB3HV0Glga+mDnsZpM8GERrae4OyDr6vwfV0bDGQkq+Br4JKA19NHe5VMgHqQ9nD7+jFGKOrZqqg08BXU8NAPzQfgIxiOnsddPUNhCzw+wcMrd397sCvcK3gqVQQaOCrqaH5AJiBwVUyIbg1+B5Da/GLoa8dOnQTOBUcGvhqahis0JntCluCW4Pv4VnKwRX4s4a2TakA08BXU4PPssgQosD39PC9a/E18FWQaOCrqcFeBnFpEJ9OfXsPQGiqdLyHdFLyITJaA18FjQa+mhrca+iAq0LHFhGczct9JcfaiLZFuAI/IhLSZ+lGKCpoNPDV1GD3Cvw2V0lmsDYv9yYiR2rxQUszVVBp4KvjX1+na+G0wRr80Cyr4DG4ty242tRUAc6BkLVHTR0a+Or45xkySXcFfkN7L9OCuNOVr8HlFTxtGuhzbWquVIBp4Kvjn1eFDrjG8EPew/ce0gEd1lFBoYGvjn+eME2fRZ/DSVNnX0gqdDyyEmNo6uqjf8Cpq2aqoNLAV8c/ewUkzYCYRBrdY+fTkkPbwzcGmjr7IHEaRCdp4Kug0MBXxz+fRdMgNMsqeAypxRfR7Q5V0FgS+CKyQkT2iEiZiNw9zOvXisg295+PRWSRFddValy8Av9wW+gmXXkMmW0LGvgqaPwOfBGJBO4HLgQWAFeLyAKfwyqBc4wxJwM/BR7y97pKjUtXE3Q3DblhCyEe0vFeTwdcbWupAkdvyNqkpgYrevjLgDJjTIUxpg94FljpfYAx5mNjTLP74Togz4LrKjU2+5F9bAEa2npcoygJ0SFr0pAhHXC3zUBTZcjapKYGKwI/F/AuIq5xPzeSW4A3RnpRRG4VkVIRKW1oaLCgeWpKaxoa+PXtvWQkxGCLDN3tq9ioSJJibV6B7xpu0g3NVaBZ8VM/3Pz0YXd0EJHzcAX+90Y6mTHmIWNMiTGmJCsry4LmqSnNXgYSCakzgdDX4HsMmW3rnhCm4/gq0GwWnKMGyPd6nAcc8j1IRE4Gfg9caIyxW3BdpcZmL4PUArC5hnDq23tCOn7vMWQ9nbhUiM/UwFcBZ0UPfyMwR0SKRCQauAp41fsAESkAXgKuN8bsteCaSo2PvezI5CZcC6dND2GFjkdWUgyN7V43aTOKtRZfBZzfgW+McQB3AG8Bu4DnjDE7RGS1iKx2H/YjIAN4QES2iEipv9dVakzGuCZduQN/wGlo7OgNjx6+9/IKoKtmqqCwYkgHY8waYI3Pcw96ff014GtWXEupcWuvg/7OwZui9s5enCa0k648spJiaO910N03QFx0pKuNW56C3naISQp189RxSmfaquOX76JpbZ6tDUM/pJPprsVv7PBdRE2HdVTgaOCr49dRq2S6Z9mGyZAOHGmTrpqpgkEDXx2/7GVgi4Vk17QQTw8/HIZ0st3r8R9u85RmFrn+qz18FUAa+Or4ZS937Rkb4fox9yyrkBVGgV/b6u7hR8W5NjXXHr4KIA18dfzyWjQNXMMnqfFRxNgiQ9goF1c7IgYXcwN0ETUVcJZU6Sg1GseAk0c+rOTJtQfoH3DyxUUz+M7n5xIfHcAfvwEHNO+H+ZcMPlXX2jvYsw41ESE7JfZIDx9c4/jbn3eVk0rgNlhv7+nnl2/tYc32WuKjbVy/fCa3nFUUkk3dVXBpD18FlGPAyZ3PbOYXb+ymKDOBpUXpPPpRJbc8XkpPfwA37m6tAmf/kElXdW3d5KSER+CDa1jnsG/g97RCV+Amonf2Orj+kQ08vb6KM2Znkp8ex8/X7OKfX9iK0znsiijqOKI9fBVQv3lvH298WscPL57P186eBcCfN9fw7T9t5Zdv7eHfLvFdSdsinpuf6UeGdGpbeliYmxqY601Cdkosn1Q1H3nCe02dhMyAXPOnf9nJtpoWHrh2CStOysYYw2/eK+N/3t1L8bREbju3eOyTqGOW9vBVwGytbuH+v5dz2eLcwbAH+PKpeVy3vIBHP6rk04Otgbm4T0lmT/8A9s6+8Orhp8RyuLUXY9w964zALqK2vsLOsxurufUzs1lxUjbgGlr65ueKufjkHP7nnb2U1XcE5NoqPGjgq4AwxvCT13aQmRjNj7944lGvf3fFCSTHRvHf7wRoaSV7GcSkDPaUPSWZ2WEU+DnJsfQNuDZVB1wrekbYAhL4xhh+9c5epiXF8K3z5wx5TUT490tPJDYqkn9/bceRX0DquKOBrwLi3V31bK5q4VvnzyUlLuqo15Njo/j62UX8dXc9Ow4FoJdvL3f1mN03P2tbuwHCrocPUOep1Im0QVpRQGrxNx1oZkNlE7edO5vYqKOrlDITY/jW+XP5x75G1pbrYrbHKw18ZTljDL9+dy+FGfF8ZcnIm5tdt3wm0bYIntlQZX0j7OU+N2xdoRpegR8HQJ3vjdsABP5T6w6QFGPjyqX5Ix5z7WkFTEuK4b6/aWno8UoDX1lufWUTOw618U/nzCZqlJ2lUuOjuWRhDi9vPkRXn8O6BvR3Q2v1kBp8T/mjJ2TDgadEtM63Fr+pHJxOy67T3NnHmk/r+PLi3FFLYWOjIvn62bP4uNzOZu+byeq4oYGvLPfoh5WkxUfx5VNH2+nS5ZrTCujodfD6tlrrGtBUCZihPfzWHpJibCTGhE9hWlZSDJER4tPDnw2OHmg7aNl1Xt5ykD6Hk6uXFYx57DWnFZAYY+PJtQcsu74KH+Hz068mZcBp+OvuetaW2+l1DHByXgpfXDQjsJOaRlFl7+KdXYe5/dziYceKfS2ZmUZeWhyvb6/lipKRhxsmZLBCx7uH301OavgM5wBERghZiTFHT74C905d1nw/Xt9WywnZSczPSR7z2IQYG5cvzuWZDdX88OL5ZCSGZhmK9p5+Xt16iB2H2oiLiuSs4kzOmZulk8P8pIF/DCurb+fOZ7awq9b1jyIqUnh6fRX/9fZe/uuKRZwzN/h7Aj9XWo3gGp8fDxHh4oU5PPpRJa1d/aTEH32Dd8Kajq7Br2vtCavhHI/slFif5RXcgd9UDrPP8/v8da09lB5o5v9cMHfc77lu+UyeWHuA50pr+Ma5s8d+g8Xe2lHH3S9uo7mrn5S4KHodAzzyYSWL8lL4zdWnMjMjIehtOl7okM4xal2FnUvv+4j6th5+c/WpbP/J59n648/z/OrTyUiI5qbHNvDKFuuGBcZjwGl48ZMaPjM3a0LljxcuzKF/wPDOrsPWNMReBonTIfZIj/ZQaw85YbKsgrfsZJ/lFZJyICreshu3b37qGiq7aGHOuN8zZ3oSy2el88cNB4I++/bZDVWsfmoTeWnxvHz7mWz50QVs/fHn+dUVizjQ1MWl933EpgN6f2GyNPDHYcBp6Ox1hE198pbqFlY9tpEZqXGsuetsLl00A1tkBCLC0sJ0XrrtDJYWpvN/ntvKh/sag9auj8sbqW3t4YolExuKWJSXQm5qHG/tqLOmIT4VOn0OJ40dvWFVg+/hmnzlFfgili6i9vbOwxRPS6R4WuKE3nfV0gKqm7rZsL/JknaMx7s7D3P3S9v5zJwsnl99OqfkpyIixNgiuXxJHq/efhZp8VGsemwDu2rbgtau0Tidhq4+B44B626yB5IO6YzAMeDkL9tqeWZDFZ9UNdM/YEiKtXHG7AxWnVnE8lkZIWlXfXsPq/+wiYzEaJ75+vJhl/qNj7bx6E1LueyBj7jr2c2suetspgehd/vCphpS4qL43PxpE3qfiHDOvCxe2ey6uRht87MfYi+DuSsGH9a392BMeJVkemSnxNLe66Cj13HkhnL6bKjb5ve5O3odbNzfxKoziyb83i+cmE1ijI0XN9UE5We9yt7Ft/+0hZNyk/nd9UuGvf9TkBHPU187ja/8di23/qGUv9xxtjVDgBNkjOGjMjuPfVTJ2go7XX0DxEZFsLggjauXFXDxwpywvdegPfxhlNW386UHPuJbf9pCQ0cvN55eyPdWnMAlJ89g4/5mrnpoHd96djPtPf1BbZfTabjrmS20dPfx0PUlo67rnhhj4/5rFtPVN8D3X9oe8E8nrd39vPlpHStPmTGum7W+zp2bRWffAKUH/OxR9rRCZ8NRFToQXrNsPWakuu4rHGrpPvJkRjE0H4AB/36+Pi5rpH/AcO4k7uXERUdy8cIc1myvtbZkdhjGGO5+yfUL7rfXDh/2Hnlp8Txw3WLqWnv4zvNbgv6pu7mzj9ue/oTrHlnP9oOtXL44j7svPIFrls2kprmbO5/ZzFce/JiKhvBcokJ7+D7e2XmYO5/5hLioSH5z9alc4vPb+sdfXMBv/17OfX8rY1dtO4+tWjr4jzbQntlYxdoKO/dctpAFM8auuJgzPYnvfH4uP3t9F2/tqGPFSeMfx52o17fV0utwjjrRajRnFGcSFSm8v7eBM2b7sXCYZ+zbK/A9Y+Q5YXjTNi/N1aaa5i7mTndvXp5RDGbAFfqZk1/M7P29DcRHR1JSmD6p91++JI8/lVbz5qd1XLZ4cn+v4/H8pho+Lrfz8y+fRH56/JjHLy5I418vms+/v7aTZzdWj6vc1ArVTV3c+OgGqpu7+O6KedxyVtGQvRV+cPF8/rz5ID9/fScr7/+I+65ZHJLCidFoD9/Lc6XV/NMfSpk3PYm3vv0ZLl0046iPZrFRkXz7grk8sWoZh1q6uebhddR7V1kESF1rD/es2c2ZxRl8dZTZkr5uOqOQ+TnJ/OTVnQHtqT2/qZq50xNZmJsyqfcnxtgomZnO+3sa/GvIsIHv6j2HYw8/z91ZONjs08MHv8bxjTH8fY/rl+dkh8iWFqZRkB7PC5tqJt2OsXT0Orjnjd0sLUzj6qXjD+4bTy/k9FkZ/Pz1XUM/HQXIoZZurnhwLY0dvTzz9eXcdm7xURvpREYIX1mSx6t3nEVuahw3P76RNdstnF9iAQ18t1e2HOS7L2zjzOJM/vj15UxLGj0czpqTyRO3LKOhvZfrHllPWwCHd4wx/PDl7fQ7nfziyycjE9gcwxYZwc++dCJ1bT08+mFlQNpXVt/B5qoWrliSP6G2+Tp3Xha769qHlilOlL0MkCN7xAI1zd0kxdqGXdMn1DITY4i2RVAzJPD9XzWzorGTgy3dnDNv8j1MEeHyxXmsrbBT09w16fOM5vGPKmnq7OMHFy+Y0Lh3RIRw7+UnM+A0AR+y7Okf4BtPbaKj18Gf/un0MT8x5afH88I3zuDU/FTufGYzb4RR6FsS+CKyQkT2iEiZiNw9zOsiIr9xv75NRBZbcV2r/G1PPd95bivLZ6Xz8A0lJIxzNubigjQevqGEioZO7npmMwMBKmH7y7Za3t1Vz3cumEdBxtgfeX0tmZnO5xdM58H3K46szGihFzbVEBkhrDx1hl/nObPYNZSzrsKPxbs8E5ZsR+5vVDd1kZ828e9bMERECLmpcdR491Lj0yEuza/A93wPzyr2b139yxbnYgz8+RPrS3xbu/r53QcVnD9/Oqfkp074/QUZ8dx94Qm8v7eBFwPQPnB1tn78yg621rTyqysXjWvyGrg+sT5+8zJOzU/lm89u5uPy4FXLjcbvwBeRSOB+4EJgAXC1iPjuanEhMMf951bgt/5e1yqbDjTzjac2MS87iYdvKJnwDcczijP5yaUn8rc9Dfzft3Zb3r7mzj5+8uoOTs5LYdWZhZM+z3dXzKOrz8H9Fi+M5Rhw8ufNNZw3L2vMT0VjmZ+TTHKszf/Azxg67l3T3D04Vh6O8tLihvbwwb2I2uT/rjZUNpGVFEPhJDoI3vLT4zl9VgbPb6qxvCb/9x9W0N7jmNCkMF/XL5/Jkplp/Oz1nTR29FrYOpc/bqjiT6XV3HFeMV84MXtC702MsfHITUspykzgn57cxO660JeSWtHDXwaUGWMqjDF9wLPASp9jVgJPGpd1QKqIBO4O4jiV1XdwyxMbyU6O5fFVy0iKndxH/uuWz+Ta0wr43fsV1q4JA/z09Z20dvdz7+UnYxtlIbKxFE9L4itL8vjD2gOWjnn+Y18jh9t6J32z1ltkhLCsKIN1FZOs1DHmqBp8Yww1zd3juhkYKrmpcUPH8MGvVTONMayvaOK0onS/htg8rlyaR1VTl6U1+faOXh79sJKLT84ZVwHCSFxDOwvp6h3g31/baVn7wNUZ/MmrOzh3XhbfnuQvpZS4KB5ftYz4mEhuenRjUO43jMaKwM8Fqr0e17ifm+gxQVXf1sONj27AFiE8efNpo5Y4jsePv3giiwtS+ZcXtrL3cLslbfxgbwMvfXKQ1efMHvdHydHcdb7rh/b//dW6Xv7zm6pJT4jmsydMt+R8y2elU9nYOXRBsfHqbIC+9iGBb+/so7t/IKx7+LmpcTR29A7d4zdjNrQfgr7OCZ+vuqmburYeTiuaXHWOrxUn5pAUY+O50uqxDx6n331QQXf/AN/22YxlMoqnJXHHZ4t5besh3rNotnZ9Ww/feGoTM1Lj+N+vnkqkH3X1M1LjeHzVMjp7Hdz02AZau4Jbzu3NisAf7jvh+9lvPMe4DhS5VURKRaS0ocHPio0RtPf0c9NjG2nu6uOxm5ZNalzcV7QtggeuXUJ8tI3Vf9jk903c9p5+vv/SdmZlJXDHZ63ZZzQ3NY6rl+XzfGk1B+wTDxJfTZ19vLPzMF8+Ndf/yVJunkk+kxrWGWbRNM9QSbiO4QPkpbsrdXxr8QGaKiZ8vnWVru/daRZNmIqLjuSLp8xgzfZaS+ae1Lf18MTH+/nSKbkUT0uyoIWw+pzZzJuexA9f/tTvNvY5nNz29Ce09zj43fVLLJncNT/HNaFsf2MXqx7fEPC5DSOx4l9pDeBdJ5gHHJrEMQAYYx4yxpQYY0qysqyvYe3qc3Drk5vYc7idB65dzMK8yZURDic7JZYHrl1MVVMX33luq19jnr94Yze1rd388iuLJjWRaSS3n1dMZITwv+/t8/tcL28+SP+A4YoS62q0/RrH9wS+16Jp1U2u6hJPqIaj3FTXL6Mh4/jpk6/U2VDZRFp8FMVZE1tOYTRXluTT0++afe6vB/5ejsNpuMuC3r1HtC2Cey5fSF1bD798a49f5/rZ6zspPdDMvV85mROy/f9k7XFGcSa/ufoUtlS3sPqpT+hzBH85BisCfyMwR0SKRCQauAp41eeYV4Eb3NU6y4FWY0zQa5W6+hzc/PhG1lfa+dUVizh33sSWABiPZUXp/OtF83ln52F++/7kxmA/3NfIH9dX8bWzZ7FkZpql7ZuWHMsNp8/k5c0HKauf/NCTMYbnSqs5OS/F0n8UR8bxJxn4EVGQeqSe2xOieeHcw08bphY/3b3p+yQCf32lnWVF6ZZO71+Ul8Lc6Yl+D+scbOnmj+uruLIkz/JVL08tSOOmMwr5w7oDlE7yfsPzpdU8ufYAt35mFpcu8q/qbDgrTsrhnstO5oO9Ddz29Ca6+wbGfpOF/A58Y4wDuAN4C9gFPGeM2SEiq0VktfuwNUAFUAY8DNzm73Unqra1m6seWseGyib+56un8KVxbM4xWavOLGTlKTP4r7f38P7eiQ1L2Tt6+ZcXtjIrK8Gv6oXRrD7Hta/p/7w7+V7+luoWdte1W7eGvZfls9LZb+8anDA1bvZyV1BGHPlEVNPcRVp8VFhtfOJrenIstggZWusekwhJMyZ84/ZQSzfVTd0sK7J2/RsR4cqSfDZXtbDPj3tU9/3V9TN3x2et6917++fPz2NGShz//PzWCQ+rbjrQxA/+/ClnFmfw3S/MC0j7AK5cms/PvnQS7+2u57pH1gekVHoklgy8GmPWGGPmGmNmG2N+7n7uQWPMg+6vjTHmdvfrC40xpVZcd5xt443ttXzx/31IeX0Hv7u+hJWnBPZ+sYjwi8sWMm96Enc9u3lwWGEsA07Dt/60BXtnH7+56lRLh3K8ZSTGcPOZRby+rZadhyZXKvb4x/tJirGNa1erifKM46+faLWOT4UOQHWYV+iA61PNjNQ4qnx/TjJmTzjwN1S6vmdW3bD19uVTc4mOjJj0blgH7J08V1rDNacVkBug5UgSYmz8+qpTqG7u5l+e3zruCVk1zV3c+uQmZqTGct/Vi/2qiBuP65bP5IFrFrP9YCtf+PUHvLvzcFDWBTouZ9purW7ho7JGHvmwkkvv+4hvPP0J05Nj+fPtZ3LBAmuqScYSH23jd9cvwek0fP3JUuxj1AgbY/iP13bwj32N/HTliZw0ySUKxuvrZ88iKdbGf7+zd8LvPdzWw+vbXDtUBaLnPD8nmaQYG+srJxD4zgHXDU6vG7bg+occzhU6HoWZCez3vZE+iVr89ZVNJMXaLKnq8pWRGMPKU2bwwqYaWrom3iv9r7f3EhUp3BbgTVWWFqbz/QtP4K0dh7nnjd1jBmldaw/XP7KBvgEnv79xKWkJ0QFtn8eFC3N4+bYzSYuP4mtPlnL5bz/m8Y8q+aiskW01LQG55nEZ+F99aC3X/n49P/3LTnodA/zisoW8cvuZRxanCpKZGQk8cO0SKhs7ufJ3a0ecnj7gNPz0L7t4Yu0Bvn52EV+dwJoik5USH8WtZ8/i3V2H2VLdMqH3Pr3uAAPGcMPp49vVaqIiI4SSwjQ2VE5gHL+1BgZ6h/TwnU53DX4Yj997FGXEU9nQOTScMoqhuwm6xv+Lb0OlnaWF6X6VEY7m5rOK6O4f4JkNExvL//RgK69tPcTXzprFtCAs1X3LWUVct7yA331Qwa/e3jtiAUVFQwdXPbSWhvZeHl+1dML7BvhrwYxkXrvzLP5j5Ym0dPfzk9d2cu3v13Pz44EZBAnfgU0/PHR9CTG2CPLT44O2kuVIzpqTyZM3L+NrT5Ry0f/+gx9cPJ/LFucR5f7IWFbfwU9e3cGHZY3cdEYh/3rR/KC1bdVZRTz6USW/ensPf7jltHG9p7W7n8c+3s8F86dTmBm4reZOm5XB3/Y00NDeO745EsOUZB5q7abP4aQogO20SlFmAp19AzR09B6ZsTy4pk65a7mFMTS091Le0MmVAbiv4jE/J5kzZmfw2EeVrDqzcNzDjve+uZu0+ChuPWdWwNrmTUT4j0tPot9h3CvbtvFvlywY/Jntczh5dmMV//fNPUTbInji5mWWF0iMV4wtkhtOL+SG0wupbuqiprkbM3zVut+Oy8D/TJgtSXrarAz+8s2z+PaftvC9F7dz75t7mJ+TREtXPzsOtZEUY+M/v7yQa04LzjKvHokxNr5x7mz+c81u1pbbOX322Df6Hv9oP+09Dr75ucDcdPNY5h6D3ri/aXzb8w2zSmZlo2uI5FgIfE8Q7W/s8gp8r1Uz85eOeY6N7sqUZQEYv/f2zc/N4aqH1vHUugN87eyxA/zdnYf5x75GfnjxfJInOZt9MiIihHsuX8gJOUnc++ZuPvurv3PijBQSY2zsrG2jtbuf02dl8KsrF4W8Y+iRnx4f0HtOx+WQTjiamZHAi984g8duWsq587Lo7hsgPSGa71wwl7/+87lBD3uP65cXkpsaxw9e3j50pucw6tt6ePgfFVywYHrA7zEszE0hLiqS9eMtz2wqh+hE1162boOBnxX+gV80GPhe4/ipM0Eij2zKPob1FXbioyMD/nezfFYGZxVn8sDfy2ntHr0SprPXwY9e+ZR505O48YzCgLZrOCLCqjOL+OC753HnZ+eQHGej1zHABQum8+TNy/jj108Lm7APhuOyhx+uRITzTpjGeSdYX/8/WXHRkdxz+UKuf2QDv353H3dfeMKIx/7nml30DTj5QRCGnaIiI1gyM238N27tZa4hEK+1YyoaOkmMsZGV6N+yGcGQmxqHLUKo9L5xa4uGtJnjvnG7vrKJJTPTBocLA+nuC09g5f0fcc8bu/nFZQtHPO7eN3dzqLWHF685NSjtGsm0pNhJr4dzPNEevuLsOVlctTSf331QztsjbCT++rZaXt5yiNXnzA7o2L2304rS2XO4fXwVIcOsklnR2ElRZoIlC4gFmi0ygoKM+KE9fBh3pU5LVx97DrcHpBxzOCflpvC1s4p4ZkMVf9tTP+wxr2w5yJNrD3DzmUUsmRmcdqnRaeArAH5y6YmcnJvCt/60hY/Lhq7dvb7Czr+8sJXFBancadG6PuOxrCgdY2Dj/ubRD3T0QkvVkCUVACobO4L2y8kKRRkJg8NQg9LdtfhjlBZuqGzCGCyfcDWab50/l/k5yXzzmc1HVXr9dfdh/uWFbZTMTOP7F438qVEFlwa+AlxbNz58Qwn5afFc/+gGfvjydtZsr+Vnf3GVieWkxPLg9UuC+rF8UX4q0baIscfxm/eDcQ7p4fc6Bqhp7j4mbth6eGrxh5QQZsyG/i5oH30lkvWVTcTYIliUH9jxe29x0ZE8fMMSUuOjuOqhtdz75m5e31bL3S9u45YnSpk7PZHf31gS0qEcNZSO4atB05JjeW716dzzxi6e3VDNU+uqiIwQLl00gx9dsiBoE1I8YqMiOSU/dex12Iep0Dlg78IYmHUMBX5RZgI9/U7q2nqO3EgcrNQph+SR13ZZV2FncUHaUfusBlpeWjwvfeNMfvLqDn77d9ffQ4wtghtPL+S7K+YRH60RE070b0MNkRIXxS8uO5nvXzSfmqZuclJigx703pYXpXPf38ro6HWMPKt3sAb/SIngnjrXei/BnmznD09b9xxuHybwy6Do7GHf19rdz87aNu4KcKnsSLKSYrj/2sX8rLOPQ63dFKTHT3ozIRVY+llLDSs5NooFM5JDGvbgGpN2GkZf/dBeBvGZrn1g3XbXtREZIcyeduz08Oe5A393rdfiZMm5YIsd9cZt6X7X+P1pQRy/H05aQjQnzkjRsA9jGvgqrC2emYotQgYXBRuWvfyoNXT21LUzOysh6EMc/kiJj2JGSix7vPc+jYhwrQA6yiJq6yrsREdGcGpBauAbqY5pGvgqrMVH21iYlzJ6Pf4wJZm769qZZ+E6/cEyLzuJ3XU+yw9nzB61h7++solT8lMDtrqqOn5o4Kuwd1pRBttqWobfLKK3HTrqhvTw23v6qWnu5oTsY2f83mNedjLlDR1Dd0PKKIbmShg4elu89p5+Pj3YymmztM5djU0DX4W904rS6R8wbK4aph7fs+erVw/fs4n8sRj483OS6B8wVDR2HHkyoxicDmitOur4jfubcIbB+L06Nmjgq7C3pDCNCBlhY/PBCp0jgb/TfdNz3jEY+J7tIodsTONdmunjg72NxEZFUFIYmpUe1bFFA1+FveTYKE7JTx1+u0hPCKYfKcncUtVCZmJ0wHZVCqTiaYkkREeyuarlyJPepZk+3t/bwPJZGTp+r8ZFA18dE86bN42tNa00tPvsHGYvg+Q8iDoS7luqmzklP/WYWEPHV2SEcEpBKp94D1/FZ0BMylGBX2XvorKxk3PCbDlwFb408NUxwbPC6FG9fM8qmW6tXf2UN3RySn5qEFtnrcUFaeyua6erz32TVmTYSp3397m+Fxr4arw08NUx4cQZyUxLihm6MqMxR5Vkbq529YxPyT92x7QXF6Qx4DRsrW498mRGMdgrhhz3/p568tPjjqn1glRoaeCrY4KIcO68LD7Y20D/gLtksasJelqHBP7acjtRkcLimamhaagFPBOohgzrZBRDazX0dwPQ0evgH/sa+ey8acfk0JUKDQ18dcy4YEE27T0OPtznXr55mAqdf+xrZHFB2jG9aFdqfDQnZCfxj31ew1cZswEDTZUAvLfrML0OJ5csGnlBNaV8aeCrY8Y5c7NIiYvi5S0HXU/4bFxu7+hlZ20bZ8/JDFELrXPeCdMo3d9MW497C8HBDc1d/89/2VbL9OQYlhQcu0NXKvj8CnwRSReRd0Rkn/u/R/30iUi+iPxNRHaJyA4Rucufa6qpK9oWwUULc3h7x2HXDU17GUTYINW1H/A7Ow8DcM7c8NlCcrLOmzcNh9Mc+TSTfiTwmzv7eH9PAxctzCEiQodz1Pj528O/G3jPGDMHeM/92JcD+I4xZj6wHLhdRBb4eV01RV22OJfu/gFe3XLItbl3WiFEulZnfHXrIYoyEzgp99hbQ8fX4oJUMhKiecXzaSY22bVBe1M5z5VW0zfg5KtL80PbSHXM8TfwVwJPuL9+AviS7wHGmFpjzCfur9uBXUCun9dVU1TJzDROnJHMw/+owNTvgi47tB/mYEs3ayvsfHHRjOPiJqYtMoLLl+Tx3q566tt7XE+mFGB2vsLra7ewrCh9cFauUuPlb+BPN8bUgivYgVE/S4tIIXAqsH6UY24VkVIRKW1oGGZmpZrSRIRbPzOLioZ2TGM5dDfD+/fy8AcVRIpwZUleqJtomStL8nE4DU98vN/1RG8r9LZzRccf+cY5s0d9r1LDETPG5sgi8i6QPcxLPwCeMMakeh3bbIwZ9i6SiCQC7wM/N8a8NJ7GlZSUmNLS0vEcqqYQ87NpiKP3qOf7JZqoHx9fnYQ7n9nML3dfQKz0H/2iLQZ+WH/082pKE5FNxpiS4V4bs4dvjDnfGHPSMH9eAQ6LSI77IjnAsD99IhIFvAg8Pd6wV2okctc2OvPOxtNV6TbRvB35Gbq+8UlI2xUIP7pkAZdH/5ZXBs6g17hKTU1kDCy8Au7aHuLWqWONv0M6rwI3ur++EXjF9wBxDag+Auwyxvy3n9dTCpKySZg+BxD6JZoY6eesk2aRMu34u4mZlRTDI3d8kdzp04mSAUxkDOLsh5hkSJoe6uapY4y/gX8PcIGI7AMucD9GRGaIyBr3MWcC1wOfFZEt7j8X+XldNdV11iMlNxP1T38louRm4nsbQ92igMlOiaUks5+IkpuRr78HS1ZBx+FQN0sdg8Ycww8lHcNXSqmJ8WsMXyml1PFBA18ppaYIDXyllJoiNPCVUmqK0MBXSqkpQgNfKaWmCA18pZSaIsK6Dl9EGoADoW6HWyYQ7rN7wr2N4d4+CP82hnv7QNtoBX/aN9MYM+zO9mEd+OFEREpHmswQLsK9jeHePgj/NoZ7+0DbaIVAtU+HdJRSaorQwFdKqSlCA3/8Hgp1A8Yh3NsY7u2D8G9juLcPtI1WCEj7dAxfKaWmCO3hK6XUFKGBr5RSU4QG/iSIyD+LiBGRzFC3xZuI/FJEdovINhH5s4ikhrpNHiKyQkT2iEiZiNwd6vZ4E5F8EfmbiOwSkR0icleo2zQSEYkUkc0i8pdQt2U4IpIqIi+4fw53icjpoW6TNxH5tvvv+FMReUZEYsOgTY+KSL2IfOr1XLqIvCMi+9z/HXav8InSwJ8gEcnHtbtXVajbMox3gJOMMScDe4Hvh7g9gCukgPuBC4EFwNUisiC0rRrCAXzHGDMfWA7cHmbt83YXsCvUjRjF/wJvGmNOABYRRm0VkVzgm0CJMeYkIBK4KrStAuBxYIXPc3cD7xlj5gDvuR/7TQN/4v4H+C4Qdne7jTFvG2Mc7ofrgLxQtsfLMqDMGFNhjOkDngVWhrhNg4wxtcaYT9xft+MKqdzQtupoIpIHXAz8PtRtGY6IJAOfwbWHNcaYPmNMS0gbdTQbECciNiAeOBTi9mCM+QBo8nl6JfCE++sngC9ZcS0N/AkQkUuBg8aYraFuyzjcDLwR6ka45QLVXo9rCMNABRCRQuBUYH2ImzKcX+PqbDhD3I6RzAIagMfcw06/F5GEUDfKwxhzEPgvXJ/Oa4FWY8zboW3ViKYbY2rB1SEBpllxUg18HyLyrnt8z/fPSuAHwI/CuH2eY36Aa5ji6dC1dAgZ5rmw+4QkIonAi8C3jDFtoW6PNxG5BKg3xmwKdVtGYQMWA781xpwKdGLRUIQV3OPgK4EiYAaQICLXhbZVwWULdQPCjTHm/OGeF5GFuH5QtooIuIZLPhGRZcaYulC3z0NEbgQuAT5nwmeSRQ2Q7/U4jzD4KO1NRKJwhf3TxpiXQt2eYZwJXCoiFwGxQLKIPGWMCafAqgFqjDGeT0cvEEaBD5wPVBpjGgBE5CXgDOCpkLZqeIdFJMcYUysiOUC9FSfVHv44GWO2G2OmGWMKjTGFuH64Fwcz7MciIiuA7wGXGmO6Qt0eLxuBOSJSJCLRuG6UvRriNg0S12/wR4Bdxpj/DnV7hmOM+b4xJs/9s3cV8NcwC3vc/xaqRWSe+6nPATtD2CRfVcByEYl3/51/jjC6qezjVeBG99c3Aq9YcVLt4R9f7gNigHfcn0LWGWNWh7ZJYIxxiMgdwFu4KiMeNcbsCHGzvJ0JXA9sF5Et7uf+1RizJnRNOmbdCTzt/sVeAawKcXsGGWPWi8gLwCe4hjw3EwZLLIjIM8C5QKaI1AA/Bu4BnhORW3D9orrCkmuFz6d+pZRSgaRDOkopNUVo4Cul1BShga+UUlOEBr5SSk0RGvhKKTVFaOArpdQUoYGvlFJTxP8HAquWXLIO0DgAAAAASUVORK5CYII=\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "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()" + ] + }, + { + "cell_type": "markdown", + "id": "12b0c2d2", + "metadata": {}, + "source": [ + "# Frequensbereich Faltung " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "de264619", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.25" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_rate= 32e3\n", + "nsample= 4 \n", + "t = 1 / nsample " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efc93b69", + "metadata": {}, + "outputs": [], + "source": [ + "f_tabs = np.exp((-2j*np.pi*t))" + ] + } + ], + "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 new file mode 100644 index 0000000..652e4fe --- /dev/null +++ b/notebooks/Untitled1.ipynb @@ -0,0 +1,33 @@ +{ + "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 new file mode 100644 index 0000000..4515e16 --- /dev/null +++ b/notebooks/Untitled2.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "c9db320e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 3 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#!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 +} diff --git a/simulation/QAM_Fading/epy_block_0.py b/simulation/QAM_Fading/epy_block_0.py new file mode 100644 index 0000000..8c7e300 --- /dev/null +++ b/simulation/QAM_Fading/epy_block_0.py @@ -0,0 +1,50 @@ +""" +Embedded Python Blocks: + +Each time this file is saved, GRC will instantiate the first class it finds +to get ports and parameters of your block. The arguments to __init__ will +be the parameters. All of them are required to have default values! +""" + +import numpy as np +from gnuradio import gr + + +class blk(gr.sync_block): # other base classes are basic_block, decim_block, interp_block + """Embedded Python Block example - a simple multiply const""" + + def __init__(self, amplitudes=[], delays=[]): # only default arguments here + """arguments to this function show up as parameters in GRC""" + gr.sync_block.__init__( + self, + name='Embedded Python Block', # will show up in GRC + in_sig=[np.complex64], + out_sig=[np.complex64] + ) + # if an attribute with the same name as a parameter is found, + # a callback is registered (properties work, too). + self.amplitues = amplitudes + self.delays = delays + + #self.fir = + + def work(self, input_items, output_items): + """example: multiply with constant""" + inp = input_items[0] + oup = output_items[0] + amplitudes = [0.2, 0.5 ,0.8] + delays = [3,5,2] + i = len(amplitudes) + + outp[:] = [([1]+[0 for n in range (0,delays[i])]+[amplitudes[i]]) for i in range(0,i)] + + return len(output_items[0]) + + +if __name__ == '__main__': + ampl = [0.2, 0.5 ,0.8] + delays = [3,5,2] + i = len(ampl) + [([1]+[0 for n in range (0,delays[i])]+[ampl[i]]) for i in range(0,i)] + + diff --git a/simulation/QAM_Fading/qam_fading.py b/simulation/QAM_Fading/qam_fading.py index f8c72b1..ac1106c 100755 --- a/simulation/QAM_Fading/qam_fading.py +++ b/simulation/QAM_Fading/qam_fading.py @@ -87,16 +87,12 @@ class qam_fading(gr.top_block, Qt.QWidget): self.phase_bw = phase_bw = 2 * 3.141592653589793 / 100 self.noise_volt = noise_volt = 0.0001 self.freq_offset = freq_offset = 0 - self.fading_3 = fading_3 = 0 - self.fading_2 = fading_2 = 0 self.fading_1 = fading_1 = 2 self.eq_ntaps = eq_ntaps = 15 self.eq_mod = eq_mod = 1 self.eq_gain = eq_gain = .01 self.const = const = digital.constellation_16qam().base() self.chn_taps = chn_taps = [1.0 + 0.0j, ] - self.amp_3 = amp_3 = 0 - self.amp_2 = amp_2 = 0 self.amp_1 = amp_1 = 0.2 self.LOS_NLOS = LOS_NLOS = 1 @@ -172,20 +168,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.params_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_0.setColumnStretch(c, 1) - self._fading_2_range = Range(0, 30, 1, 0, 200) - self._fading_2_win = RangeWidget(self._fading_2_range, self.set_fading_2, 'Fading 2', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_2_win, 2, 0, 1, 1) - for r in range(2, 3): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._fading_1_range = Range(1, 30, 1, 2, 200) - self._fading_1_win = RangeWidget(self._fading_1_range, self.set_fading_1, 'Fading', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_1_win, 1, 0, 1, 1) - for r in range(1, 2): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) self._eq_gain_range = Range(0, .1, .001, .01, 200) self._eq_gain_win = RangeWidget(self._eq_gain_range, self.set_eq_gain, 'Equalizer Rate', "counter_slider", float) self.params_grid_layout_1.addWidget(self._eq_gain_win, 0, 0, 1, 1) @@ -193,25 +175,11 @@ class qam_fading(gr.top_block, Qt.QWidget): self.params_grid_layout_1.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_1.setColumnStretch(c, 1) - self._amp_2_range = Range(0, 5, 0.1, 0, 200) - self._amp_2_win = RangeWidget(self._amp_2_range, self.set_amp_2, 'Ampliude 2', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_2_win, 2, 1, 1, 1) - for r in range(2, 3): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) self._amp_1_range = Range(0, 5, 0.1, 0.2, 200) self._amp_1_win = RangeWidget(self._amp_1_range, self.set_amp_1, 'Ampliude', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_1_win, 1, 1, 1, 1) + self.params_grid_layout_2.addWidget(self._amp_1_win, 1, 0, 1, 1) for r in range(1, 2): self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._LOS_NLOS_range = Range(0, 1, 1, 1, 200) - self._LOS_NLOS_win = RangeWidget(self._LOS_NLOS_range, self.set_LOS_NLOS, 'LOS_NLOS', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._LOS_NLOS_win, 0, 0, 1, 1) - for r in range(0, 1): - self.params_grid_layout_2.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_2.setColumnStretch(c, 1) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( @@ -530,12 +498,12 @@ class qam_fading(gr.top_block, Qt.QWidget): self.plots_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.plots_grid_layout_0.setColumnStretch(c, 1) - self.interp_fir_filter_xxx_0 = filter.interp_fir_filter_ccc(1, [LOS_NLOS]+(([0]*fading_1)+[amp_1])+(([0]*fading_2)+[amp_2])) - self.interp_fir_filter_xxx_0.declare_sample_delay(0) - self._fading_3_range = Range(0, 30, 1, 0, 200) - self._fading_3_win = RangeWidget(self._fading_3_range, self.set_fading_3, 'Fading 3', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_3_win, 3, 0, 1, 1) - for r in range(3, 4): + self.interp_fir_filter_xxx_0 = filter.interp_fir_filter_ccc(1, [amp_1]) + self.interp_fir_filter_xxx_0.declare_sample_delay(2) + self._fading_1_range = Range(1, 30, 1, 2, 200) + self._fading_1_win = RangeWidget(self._fading_1_range, self.set_fading_1, 'Fading', "counter_slider", int) + self.params_grid_layout_2.addWidget(self._fading_1_win, 0, 0, 1, 1) + for r in range(0, 1): self.params_grid_layout_2.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_2.setColumnStretch(c, 1) @@ -575,10 +543,10 @@ class qam_fading(gr.top_block, Qt.QWidget): self.blocks_char_to_float_0_0 = blocks.char_to_float(1, 1) self.blocks_char_to_float_0 = blocks.char_to_float(1, 1) self.analog_random_source_x_0 = blocks.vector_source_b(list(map(int, numpy.random.randint(0, 256, 1000))), True) - self._amp_3_range = Range(0, 5, 0.1, 0, 200) - self._amp_3_win = RangeWidget(self._amp_3_range, self.set_amp_3, 'Ampliude 3', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_3_win, 3, 1, 1, 1) - for r in range(3, 4): + self._LOS_NLOS_range = Range(0, 1, 1, 1, 200) + self._LOS_NLOS_win = RangeWidget(self._LOS_NLOS_range, self.set_LOS_NLOS, 'LOS_NLOS', "counter_slider", int) + self.params_grid_layout_2.addWidget(self._LOS_NLOS_win, 0, 1, 1, 1) + for r in range(0, 1): self.params_grid_layout_2.setRowStretch(r, 1) for c in range(1, 2): self.params_grid_layout_2.setColumnStretch(c, 1) @@ -709,25 +677,11 @@ class qam_fading(gr.top_block, Qt.QWidget): self.freq_offset = freq_offset self.channels_channel_model_0.set_frequency_offset(self.freq_offset) - def get_fading_3(self): - return self.fading_3 - - def set_fading_3(self, fading_3): - self.fading_3 = fading_3 - - def get_fading_2(self): - return self.fading_2 - - def set_fading_2(self, fading_2): - self.fading_2 = fading_2 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])) - def get_fading_1(self): return self.fading_1 def set_fading_1(self, fading_1): self.fading_1 = fading_1 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])) def get_eq_ntaps(self): return self.eq_ntaps @@ -764,32 +718,18 @@ class qam_fading(gr.top_block, Qt.QWidget): self.chn_taps = chn_taps self.channels_channel_model_0.set_taps(self.chn_taps) - def get_amp_3(self): - return self.amp_3 - - def set_amp_3(self, amp_3): - self.amp_3 = amp_3 - - def get_amp_2(self): - return self.amp_2 - - def set_amp_2(self, amp_2): - self.amp_2 = amp_2 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])) - def get_amp_1(self): return self.amp_1 def set_amp_1(self, amp_1): self.amp_1 = amp_1 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])) + self.interp_fir_filter_xxx_0.set_taps([self.amp_1]) def get_LOS_NLOS(self): return self.LOS_NLOS def set_LOS_NLOS(self, LOS_NLOS): self.LOS_NLOS = LOS_NLOS - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])) diff --git a/simulation/QAM_Fading/qam_fading_V2.grc b/simulation/QAM_Fading/qam_fading_V2.grc index eaadab5..5ab2545 100644 --- a/simulation/QAM_Fading/qam_fading_V2.grc +++ b/simulation/QAM_Fading/qam_fading_V2.grc @@ -790,14 +790,14 @@ blocks: interp: '1' maxoutbuf: '0' minoutbuf: '0' - samp_delay: '0' - taps: '[LOS_NLOS]+([0]*fading_1)+[amp_1]' + samp_delay: '2' + taps: '[amp_1]' type: ccc states: bus_sink: false bus_source: false bus_structure: null - coordinate: [952, 332.0] + coordinate: [1000, 340.0] rotation: 0 state: enabled - name: params diff --git a/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc new file mode 100644 index 0000000..359e3d0 --- /dev/null +++ b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc @@ -0,0 +1,1646 @@ +options: + parameters: + author: Pross Naoki, Halter Sara Cinzia + category: '[GRC Hier Blocks]' + cmake_opt: '' + comment: '' + copyright: '' + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: qam_fading + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '1' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '' + title: QAM mit Fading + window_size: '' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: LOS_NLOS + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 0,0,1,1' + label: LOS_NLOS + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '0' + step: '1' + stop: '1' + value: '1' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [944, 444.0] + rotation: 0 + state: true +- name: amp_1 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 1,1,1,1' + label: Ampliude + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.1' + stop: '5' + value: '0.2' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1056, 580.0] + rotation: 0 + state: true +- name: amp_2 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 2,1,1,1' + label: Ampliude 2 + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.1' + stop: '5' + value: '0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1064, 716.0] + rotation: 0 + state: true +- name: amp_3 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 3,1,1,1' + label: Ampliude 3 + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.1' + stop: '5' + value: '0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1064, 852.0] + rotation: 0 + state: true +- name: chn_taps + id: variable + parameters: + comment: '' + value: '[1.0 + 0.0j, ]' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [672, 236.0] + rotation: 0 + state: true +- name: const + id: variable_constellation + parameters: + comment: '' + const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]' + dims: '1' + precision: '8' + rot_sym: '4' + soft_dec_lut: None + sym_map: '[0, 1, 3, 2]' + type: 16qam + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [224, 428.0] + rotation: 0 + state: true +- name: eq_gain + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@1: 0,0,1,1' + label: Equalizer Rate + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '.001' + stop: '.1' + value: '.01' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1744, 452.0] + rotation: 0 + state: true +- name: eq_mod + id: variable + parameters: + comment: '' + value: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1744, 376.0] + rotation: 0 + state: true +- name: eq_ntaps + id: variable + parameters: + comment: '' + value: '15' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1824, 376.0] + rotation: 0 + state: true +- name: excess_bw + id: variable + parameters: + comment: '' + value: 350e-3 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [320, 268.0] + rotation: 0 + state: true +- name: fading_1 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 1,0,1,1' + label: Fading + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '1' + step: '1' + stop: '30' + value: '2' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [944, 580.0] + rotation: 0 + state: true +- name: fading_2 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 2,0,1,1' + label: Fading 2 + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '0' + step: '1' + stop: '30' + value: '0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [944, 716.0] + rotation: 0 + state: true +- name: fading_3 + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@2: 3,0,1,1' + label: Fading 3 + min_len: '200' + orient: Qt.Horizontal + rangeType: int + start: '0' + step: '1' + stop: '30' + value: '0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [944, 852.0] + rotation: 0 + state: true +- name: freq_offset + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@0: 1,0,1,1' + label: Frequency Offset + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: -100e-3 + step: 1e-3 + stop: 100e-3 + value: '0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [712, 476.0] + rotation: 0 + state: true +- name: nfilts + id: variable + parameters: + comment: '' + value: '32' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1408, 104.0] + rotation: 0 + state: true +- name: noise_volt + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@0: 0,0,1,1' + label: Noise Voltage + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '0.01' + stop: '1' + value: '0.0001' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [576, 476.0] + rotation: 0 + state: true +- name: phase_bw + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@1: 1,0,1,1' + label: Phase Bandwidth + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '.01' + stop: '1' + value: 2 * 3.141592653589793 / 100 + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2048, 420.0] + rotation: 0 + state: true +- name: rrc_taps + id: variable + parameters: + comment: '' + value: firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 104.0] + rotation: 0 + state: true +- name: samp_rate + id: variable + parameters: + comment: '' + value: '32000' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [192, 12.0] + rotation: 0 + state: enabled +- name: sps + id: variable + parameters: + comment: '' + value: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [224, 268.0] + rotation: 0 + state: true +- name: time_offset + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@0: 0,1,1,1' + label: Timing Offset + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.999' + step: '0.0001' + stop: '1.001' + value: '1.0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [576, 620.0] + rotation: 0 + state: true +- name: timing_loop_bw + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 'params@0: 1,1,1,1' + label: Time Bandwidth + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: 10e-3 + stop: 200e-3 + value: 2 * 3.141592653589793 / 100 + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1408, 164.0] + rotation: 0 + state: true +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '256' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [32, 332.0] + rotation: 0 + state: enabled +- name: blocks_char_to_float_0 + id: blocks_char_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + scale: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2688, 272.0] + rotation: 0 + state: true +- name: blocks_char_to_float_0_0 + id: blocks_char_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + scale: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [424, 1336.0] + rotation: 0 + state: true +- name: blocks_char_to_float_0_1 + id: blocks_char_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + scale: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2640, 672.0] + rotation: 0 + state: true +- name: blocks_delay_0 + id: blocks_delay + parameters: + affinity: '' + alias: '' + comment: '' + delay: '50' + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2736, 1360.0] + rotation: 0 + state: true +- name: blocks_file_sink_0 + id: blocks_file_sink + parameters: + affinity: '' + alias: '' + append: 'False' + comment: '' + file: /home/sara/Documents/Fading/simulation/QAM_Fading/qam_fading_V2_output.grc + type: float + unbuffered: 'False' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2880, 84.0] + rotation: 0 + state: disabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [464, 356.0] + rotation: 0 + state: enabled +- name: blocks_unpack_k_bits_bb_0 + id: blocks_unpack_k_bits_bb + parameters: + affinity: '' + alias: '' + comment: '' + k: '2' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2608, 432.0] + rotation: 0 + state: true +- name: blocks_unpack_k_bits_bb_0_0 + id: blocks_unpack_k_bits_bb + parameters: + affinity: '' + alias: '' + comment: '' + k: '2' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [248, 1336.0] + rotation: 0 + state: true +- name: blocks_unpack_k_bits_bb_0_1 + id: blocks_unpack_k_bits_bb + parameters: + affinity: '' + alias: '' + comment: '' + k: '2' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2544, 848.0] + rotation: 0 + state: true +- name: channels_channel_model_0 + id: channels_channel_model + parameters: + affinity: '' + alias: '' + block_tags: 'False' + comment: '' + epsilon: time_offset + freq_offset: freq_offset + maxoutbuf: '0' + minoutbuf: '0' + noise_voltage: noise_volt + seed: '0' + taps: chn_taps + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [648, 316.0] + rotation: 0 + state: enabled +- name: digital_cma_equalizer_cc_0 + id: digital_cma_equalizer_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + modulus: eq_mod + mu: eq_gain + num_taps: eq_ntaps + sps: '2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1744, 276.0] + rotation: 0 + state: true +- name: digital_cma_equalizer_cc_0_0 + id: digital_cma_equalizer_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + modulus: eq_mod + mu: eq_gain + num_taps: eq_ntaps + sps: '2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1664, 932.0] + rotation: 0 + state: true +- name: digital_constellation_decoder_cb_0 + id: digital_constellation_decoder_cb + parameters: + affinity: '' + alias: '' + comment: '' + constellation: const + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2384, 272.0] + rotation: 0 + state: true +- name: digital_constellation_decoder_cb_0_0 + id: digital_constellation_decoder_cb + parameters: + affinity: '' + alias: '' + comment: '' + constellation: const + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2320, 656.0] + rotation: 0 + state: true +- name: digital_constellation_modulator_0 + id: digital_constellation_modulator + parameters: + affinity: '' + alias: '' + comment: '' + constellation: const + differential: 'True' + excess_bw: excess_bw + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_symbol: sps + verbose: 'False' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [224, 332.0] + rotation: 0 + state: enabled +- name: digital_costas_loop_cc_0 + id: digital_costas_loop_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + order: '4' + use_snr: 'False' + w: phase_bw + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2048, 264.0] + rotation: 0 + state: true +- name: digital_costas_loop_cc_0_0 + id: digital_costas_loop_cc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + order: '4' + use_snr: 'False' + w: phase_bw + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1984, 928.0] + rotation: 0 + state: true +- name: digital_diff_decoder_bb_0 + id: digital_diff_decoder_bb + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + modulus: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2384, 336.0] + rotation: 180 + state: true +- name: digital_diff_decoder_bb_0_0 + id: digital_diff_decoder_bb + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + modulus: '4' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2352, 736.0] + rotation: 180 + state: true +- name: digital_map_bb_0 + id: digital_map_bb + parameters: + affinity: '' + alias: '' + comment: '' + map: '[0, 1, 3, 2]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2400, 432.0] + rotation: 0 + state: true +- name: digital_map_bb_0_0 + id: digital_map_bb + parameters: + affinity: '' + alias: '' + comment: '' + map: '[0, 1, 3, 2]' + maxoutbuf: '0' + minoutbuf: '0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2368, 848.0] + rotation: 0 + state: true +- name: digital_pfb_clock_sync_xxx_0 + id: digital_pfb_clock_sync_xxx + parameters: + affinity: '' + alias: '' + comment: '' + filter_size: nfilts + init_phase: nfilts/2 + loop_bw: timing_loop_bw + max_dev: '1.5' + maxoutbuf: '0' + minoutbuf: '0' + osps: '1' + sps: sps + taps: rrc_taps + type: ccf + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1408, 300.0] + rotation: 0 + state: true +- name: digital_pfb_clock_sync_xxx_0_0 + id: digital_pfb_clock_sync_xxx + parameters: + affinity: '' + alias: '' + comment: '' + filter_size: nfilts + init_phase: nfilts/2 + loop_bw: timing_loop_bw + max_dev: '1.5' + maxoutbuf: '0' + minoutbuf: '0' + osps: '1' + sps: 'sps ' + taps: rrc_taps + type: ccf + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1016, 1204.0] + rotation: 0 + state: true +- name: epy_block_0 + id: epy_block + parameters: + _source_code: "\"\"\"\nEmbedded Python Blocks:\n\nEach time this file is saved,\ + \ GRC will instantiate the first class it finds\nto get ports and parameters\ + \ of your block. The arguments to __init__ will\nbe the parameters. All of\ + \ them are required to have default values!\n\"\"\"\n\nimport numpy as np\n\ + from gnuradio import gr\n\n\nclass blk(gr.sync_block): # other base classes\ + \ are basic_block, decim_block, interp_block\n \"\"\"Embedded Python Block\ + \ example - a simple multiply const\"\"\"\n\n def __init__(self, amplitudes=[],\ + \ delays=[]): # only default arguments here\n \"\"\"arguments to this\ + \ function show up as parameters in GRC\"\"\"\n gr.sync_block.__init__(\n\ + \ self,\n name='Embedded Python Block', # will show\ + \ up in GRC\n in_sig=[np.complex64],\n out_sig=[np.complex64]\n\ + \ )\n # if an attribute with the same name as a parameter is found,\n\ + \ # a callback is registered (properties work, too).\n self.amplitues\ + \ = amplitudes\n self.delays = delays\n\n #self.fir = \n\n \ + \ def work(self, input_items, output_items):\n \"\"\"example: multiply\ + \ with constant\"\"\"\n inp = input_items[0]\n oup = output_items[0]\n\ + \ amplitudes = [0.2, 0.5 ,0.8]\n delays = [3,5,2]\n i =\ + \ len(amplitudes)\n\n outp[:] = [([1]+[0 for n in range (0,delays[i])]+[amplitudes[i]])\ + \ for i in range(0,i)]\n\n return len(output_items[0])\n\n\nif __name__\ + \ == '__main__':\n ampl = [0.2, 0.5 ,0.8]\n delays = [3,5,2]\n i =\ + \ len(ampl)\n [([1]+[0 for n in range (0,delays[i])]+[ampl[i]]) for i in\ + \ range(0,i)]\n\n\n" + affinity: '' + alias: '' + amplitudes: '[0.2, 0.5 ,0.8]' + comment: '' + delays: '[3,5,2]' + maxoutbuf: '0' + minoutbuf: '0' + states: + _io_cache: ('Embedded Python Block', 'blk', [('amplitudes', '[]'), ('delays', + '[]')], [('0', 'complex', 1)], [('0', 'complex', 1)], 'Embedded Python Block + example - a simple multiply const', ['delays']) + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [992, 340.0] + rotation: 0 + state: true +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: import numpy as np + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [600, 20.0] + rotation: 0 + state: true +- name: params + id: qtgui_tab_widget + parameters: + alias: '' + comment: '' + gui_hint: '' + label0: Channel + label1: Receiver + label10: Tab 10 + label11: Tab 11 + label12: Tab 12 + label13: Tab 13 + label14: Tab 14 + label15: Tab 15 + label16: Tab 16 + label17: Tab 17 + label18: Tab 18 + label19: Tab 19 + label2: Fading + label3: Tab 3 + label4: Tab 4 + label5: Tab 5 + label6: Tab 6 + label7: Tab 7 + label8: Tab 8 + label9: Tab 9 + num_tabs: '3' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [296, 12.0] + rotation: 0 + state: true +- name: plots + id: qtgui_tab_widget + parameters: + alias: '' + comment: '' + gui_hint: '' + label0: Constellations + label1: Frequency + label10: Tab 10 + label11: Tab 11 + label12: Tab 12 + label13: Tab 13 + label14: Tab 14 + label15: Tab 15 + label16: Tab 16 + label17: Tab 17 + label18: Tab 18 + label19: Tab 19 + label2: Time + label3: Tab 3 + label4: Tab 4 + label5: Tab 5 + label6: Tab 6 + label7: Tab 7 + label8: Tab 8 + label9: Tab 9 + num_tabs: '3' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [448, 12.0] + rotation: 0 + state: true +- name: qtgui_const_sink_x_0 + id: qtgui_const_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"red"' + color2: '"red"' + color3: '"red"' + color4: '"red"' + color5: '"red"' + color6: '"red"' + color7: '"red"' + color8: '"red"' + color9: '"red"' + comment: '' + grid: 'False' + gui_hint: 'plots@0: 0,0,1,1' + label1: fading + label10: '' + label2: normal + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '0' + marker10: '0' + marker2: '0' + marker3: '0' + marker4: '0' + marker5: '0' + marker6: '0' + marker7: '0' + marker8: '0' + marker9: '0' + name: '"Channel"' + nconnections: '2' + size: '2048' + style1: '0' + style10: '0' + style2: '0' + style3: '0' + style4: '0' + style5: '0' + style6: '0' + style7: '0' + style8: '0' + style9: '0' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + xmax: '2' + xmin: '-2' + ymax: '2' + ymin: '-2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1004.0, -96] + rotation: 90 + state: enabled +- name: qtgui_const_sink_x_0_0 + id: qtgui_const_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"red"' + color2: '"red"' + color3: '"red"' + color4: '"red"' + color5: '"red"' + color6: '"red"' + color7: '"red"' + color8: '"red"' + color9: '"red"' + comment: '' + grid: 'False' + gui_hint: 'plots@0: 0,1,1,1' + label1: fading + label10: '' + label2: normal + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '0' + marker10: '0' + marker2: '0' + marker3: '0' + marker4: '0' + marker5: '0' + marker6: '0' + marker7: '0' + marker8: '0' + marker9: '0' + name: '"Synchronized"' + nconnections: '2' + size: '2048' + style1: '0' + style10: '0' + style2: '0' + style3: '0' + style4: '0' + style5: '0' + style6: '0' + style7: '0' + style8: '0' + style9: '0' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + xmax: '2' + xmin: '-2' + ymax: '2' + ymin: '-2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1656.0, 56] + rotation: 90 + state: enabled +- name: qtgui_const_sink_x_1 + id: qtgui_const_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"red"' + color2: '"red"' + color3: '"red"' + color4: '"red"' + color5: '"red"' + color6: '"red"' + color7: '"red"' + color8: '"red"' + color9: '"red"' + comment: '' + grid: 'False' + gui_hint: 'plots@0: 1,0,1,1' + label1: fading + label10: '' + label2: normal + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '0' + marker10: '0' + marker2: '0' + marker3: '0' + marker4: '0' + marker5: '0' + marker6: '0' + marker7: '0' + marker8: '0' + marker9: '0' + name: '"Equalized"' + nconnections: '2' + size: '1024' + style1: '0' + style10: '0' + style2: '0' + style3: '0' + style4: '0' + style5: '0' + style6: '0' + style7: '0' + style8: '0' + style9: '0' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + xmax: '2' + xmin: '-2' + ymax: '2' + ymin: '-2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1896.0, 24] + rotation: 90 + state: true +- name: qtgui_const_sink_x_2 + id: qtgui_const_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"red"' + color2: '"red"' + color3: '"red"' + color4: '"red"' + color5: '"red"' + color6: '"red"' + color7: '"red"' + color8: '"red"' + color9: '"red"' + comment: '' + grid: 'False' + gui_hint: 'plots@0: 1,1,1,1' + label1: fading + label10: '' + label2: normal + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '0' + marker10: '0' + marker2: '0' + marker3: '0' + marker4: '0' + marker5: '0' + marker6: '0' + marker7: '0' + marker8: '0' + marker9: '0' + name: '"Locked"' + nconnections: '2' + size: '1024' + style1: '0' + style10: '0' + style2: '0' + style3: '0' + style4: '0' + style5: '0' + style6: '0' + style7: '0' + style8: '0' + style9: '0' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + xmax: '2' + xmin: '-2' + ymax: '2' + ymin: '-2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2280.0, -24] + rotation: 90 + state: true +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: '0' + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: 'plots@1: 0,0,1,1' + label: Relative Gain + label1: Fading + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '"Channel"' + nconnections: '2' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1256.0, 560] + rotation: 270 + state: true +- name: qtgui_freq_sink_x_2_1 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: '0' + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: 'plots@1: 1,0,1,1' + label: Relative Gain + label1: Fading + label10: '''''' + label2: '''''' + label3: '''''' + label4: '''''' + label5: '''''' + label6: '''''' + label7: '''''' + label8: '''''' + label9: '''''' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: '""' + nconnections: '2' + showports: 'False' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: float + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2944, 456.0] + rotation: 0 + state: true +- name: qtgui_time_sink_x_0 + id: qtgui_time_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + axislabels: 'True' + color1: blue + color10: dark blue + color2: red + color3: green + color4: black + color5: cyan + color6: magenta + color7: yellow + color8: dark red + color9: dark green + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: 'plots@2: 0,0,1,1' + label1: Received + label10: Signal 10 + label2: Sent + label3: Signal 3 + label4: Signal 4 + label5: Signal 5 + label6: Signal 6 + label7: Signal 7 + label8: Signal 8 + label9: Signal 9 + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: '"Decoded"' + nconnections: '3' + size: '1024' + srate: samp_rate + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: float + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2912, 260.0] + rotation: 0 + state: true + +connections: +- [analog_random_source_x_0, '0', blocks_unpack_k_bits_bb_0_0, '0'] +- [analog_random_source_x_0, '0', digital_constellation_modulator_0, '0'] +- [blocks_char_to_float_0, '0', blocks_file_sink_0, '0'] +- [blocks_char_to_float_0, '0', qtgui_freq_sink_x_2_1, '0'] +- [blocks_char_to_float_0, '0', qtgui_time_sink_x_0, '0'] +- [blocks_char_to_float_0_0, '0', blocks_delay_0, '0'] +- [blocks_char_to_float_0_1, '0', qtgui_freq_sink_x_2_1, '1'] +- [blocks_char_to_float_0_1, '0', qtgui_time_sink_x_0, '2'] +- [blocks_delay_0, '0', qtgui_time_sink_x_0, '1'] +- [blocks_throttle_0, '0', channels_channel_model_0, '0'] +- [blocks_unpack_k_bits_bb_0, '0', blocks_char_to_float_0, '0'] +- [blocks_unpack_k_bits_bb_0_0, '0', blocks_char_to_float_0_0, '0'] +- [blocks_unpack_k_bits_bb_0_1, '0', blocks_char_to_float_0_1, '0'] +- [channels_channel_model_0, '0', digital_pfb_clock_sync_xxx_0_0, '0'] +- [channels_channel_model_0, '0', epy_block_0, '0'] +- [channels_channel_model_0, '0', qtgui_const_sink_x_0, '1'] +- [channels_channel_model_0, '0', qtgui_freq_sink_x_0, '1'] +- [digital_cma_equalizer_cc_0, '0', digital_costas_loop_cc_0, '0'] +- [digital_cma_equalizer_cc_0, '0', qtgui_const_sink_x_1, '0'] +- [digital_cma_equalizer_cc_0_0, '0', digital_costas_loop_cc_0_0, '0'] +- [digital_cma_equalizer_cc_0_0, '0', qtgui_const_sink_x_1, '1'] +- [digital_constellation_decoder_cb_0, '0', digital_diff_decoder_bb_0, '0'] +- [digital_constellation_decoder_cb_0_0, '0', digital_diff_decoder_bb_0_0, '0'] +- [digital_constellation_modulator_0, '0', blocks_throttle_0, '0'] +- [digital_costas_loop_cc_0, '0', digital_constellation_decoder_cb_0, '0'] +- [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_2, '0'] +- [digital_costas_loop_cc_0_0, '0', digital_constellation_decoder_cb_0_0, '0'] +- [digital_costas_loop_cc_0_0, '0', qtgui_const_sink_x_2, '1'] +- [digital_diff_decoder_bb_0, '0', digital_map_bb_0, '0'] +- [digital_diff_decoder_bb_0_0, '0', digital_map_bb_0_0, '0'] +- [digital_map_bb_0, '0', blocks_unpack_k_bits_bb_0, '0'] +- [digital_map_bb_0_0, '0', blocks_unpack_k_bits_bb_0_1, '0'] +- [digital_pfb_clock_sync_xxx_0, '0', digital_cma_equalizer_cc_0, '0'] +- [digital_pfb_clock_sync_xxx_0, '0', qtgui_const_sink_x_0_0, '0'] +- [digital_pfb_clock_sync_xxx_0_0, '0', digital_cma_equalizer_cc_0_0, '0'] +- [digital_pfb_clock_sync_xxx_0_0, '0', qtgui_const_sink_x_0_0, '1'] +- [epy_block_0, '0', digital_pfb_clock_sync_xxx_0, '0'] +- [epy_block_0, '0', qtgui_const_sink_x_0, '0'] +- [epy_block_0, '0', qtgui_freq_sink_x_0, '0'] + +metadata: + file_format: 1 diff --git a/simulation/QAM_Fading/qam_fading_V2_mehrere.grc b/simulation/QAM_Fading/qam_fading_V2_mehrere.grc index 5135b3b..d5444ad 100644 --- a/simulation/QAM_Fading/qam_fading_V2_mehrere.grc +++ b/simulation/QAM_Fading/qam_fading_V2_mehrere.grc @@ -71,7 +71,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1056, 588.0] + coordinate: [1056, 580.0] rotation: 0 state: true - name: amp_2 @@ -113,7 +113,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1072, 852.0] + coordinate: [1064, 852.0] rotation: 0 state: true - name: chn_taps @@ -875,13 +875,13 @@ blocks: maxoutbuf: '0' minoutbuf: '0' samp_delay: '0' - taps: '[LOS_NLOS]+(([0]*fading_1)+[amp_1])+(([0]*fading_2)+[amp_2])' + taps: '[LOS_NLOS]+(([0]*fading_1)+[amp_1])+(([0]*fading_2)+[amp_2])+(([0]*fading_3)+[amp_3])' type: ccc states: bus_sink: false bus_source: false bus_structure: null - coordinate: [936, 340.0] + coordinate: [992, 340.0] rotation: 0 state: enabled - name: params |