diff options
author | sara <sara.halter@gmx.ch> | 2021-11-18 18:46:44 +0100 |
---|---|---|
committer | sara <sara.halter@gmx.ch> | 2021-11-18 18:46:44 +0100 |
commit | 3537b9ac25f251c074a3d79f3c5d23a9191f4f55 (patch) | |
tree | 3c2d3c7896aa21df3a00e3da75318d315ec7b163 | |
parent | Remove space from filename (diff) | |
download | Fading-3537b9ac25f251c074a3d79f3c5d23a9191f4f55.tar.gz Fading-3537b9ac25f251c074a3d79f3c5d23a9191f4f55.zip |
FIR filter weitergearbeitet
-rw-r--r-- | notebooks/FIRDelay.ipynb | 199 | ||||
-rw-r--r-- | notebooks/FrameSynchronization.ipynb | 20 | ||||
-rw-r--r-- | notebooks/Untitled.ipynb | 40 | ||||
-rwxr-xr-x | simulation/QAM_Fading/qam_fading.py | 95 | ||||
-rw-r--r-- | simulation/QAM_Fading/qam_fading_V2.grc | 10 | ||||
-rw-r--r-- | simulation/QAM_Fading/qam_fading_V2_mehrere.grc | 1623 |
6 files changed, 1760 insertions, 227 deletions
diff --git a/notebooks/FIRDelay.ipynb b/notebooks/FIRDelay.ipynb index 099fc25..4576f88 100644 --- a/notebooks/FIRDelay.ipynb +++ b/notebooks/FIRDelay.ipynb @@ -3,6 +3,7 @@ { "cell_type": "code", "execution_count": 1, + "id": "acccd8cc", "metadata": {}, "outputs": [], "source": [ @@ -13,130 +14,53 @@ }, { "cell_type": "code", - "execution_count": 2, - "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/2\n", - "freq = np.arange(-4,4)\n", - "freq" - ] - }, - { - "cell_type": "code", - "execution_count": 3, + "execution_count": null, + "id": "bee9dae9", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([6.12323400e-17+1.j , 3.82683432e-01+0.92387953j,\n", - " 7.07106781e-01+0.70710678j, 9.23879533e-01+0.38268343j,\n", - " 1.00000000e+00+0.j , 9.23879533e-01-0.38268343j,\n", - " 7.07106781e-01-0.70710678j, 3.82683432e-01-0.92387953j])" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f_tabs = np.exp((-2j*np.pi*freq*tau)/8)\n", - "f_tabs" - ] + "outputs": [], + "source": [] }, { - "cell_type": "code", - "execution_count": 4, + "cell_type": "markdown", + "id": "405fcd96", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ - "plt.plot(f_tabs.real)\n", - "plt.plot(f_tabs.imag)\n", - "plt.show()" + "# Delay as a Convolution System" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, + "id": "7210e2de", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([ 0.62841744+0.125j, 0.62841744-0.125j, -0.18707572+0.125j,\n", - " 0.08352233-0.125j, -0.02486405+0.125j, -0.02486405-0.125j,\n", - " 0.08352233+0.125j, -0.18707572-0.125j])" + "[0, 0, 0, 1]" ] }, - "execution_count": 5, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "i_tabs = ifft(fftshift(f_tabs))\n", - "i_tabs" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "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": [ - "shiftet= fftshift(f_tabs)\n", - "plt.plot(shiftet.real)\n", - "plt.plot(shiftet.imag)\n", - "plt.show()" + "# Create the FIR\n", + "D = 3 # Delay value\n", + "h = [0]*D+[1]\n", + "h" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 21, + "id": "892c62dd", "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -148,56 +72,22 @@ } ], "source": [ - "plt.plot(i_tabs.real)\n", - "plt.plot(i_tabs.imag)\n", + "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": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Delay as a Convolution System" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 0, 0, 1]" - ] - }, - "execution_count": 8, - "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": 9, + "execution_count": 4, + "id": "c640e03e", "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAzaklEQVR4nO3dd3hcxdn38e+9q967rGbLRS7CHWNMM6YGg8GhJKEEEggYk4SSRiCFJ08S3ieBNEjoJSRAYkIJoZhmiimmWO7dluUiWbK6ZPWVduf9Q1rjCNmWtGf3rLT357p8odWePWfWWD/NzrlnRowxKKWUGv4cdjdAKaVUYGjgK6VUiNDAV0qpEKGBr5RSIUIDXymlQkSY3Q04krS0NJOfn293M5RSashYtWpVjTEmva/ngjrw8/PzKSoqsrsZSik1ZIjInsM9p0M6SikVIjTwlVIqRGjgK6VUiNDAV0qpEKGBr5RSIcKSwBeRx0WkSkQ2HuZ5EZF7RaRYRNaLyEwrrquULZr2w1/nQ1Ol3S1RakCs6uE/AZxzhOfnAwU9fxYBD1h0XaUCb/ldsPcTWP5bu1ui1IBYUodvjHlfRPKPcMhC4O+mey3mT0QkSUSyjDEVVlxfqYD4dQZ0dXz+uOix7j9hkfCzKvvapVQ/BWoMPwcoPeRxWc/3vkBEFolIkYgUVVdXB6RxSvVH46Ii3g6bS5uJAKCdSDqPuQRu3mBzy5Tqn0AFvvTxvT53XjHGPGyMmWWMmZWe3ufsYKVs8T/v1FLZEUGUdOJ2RBJhXKza3wXxmXY3Tal+CVTglwF5hzzOBcoDdG2lfLZtfxMvri1nVloXMusanIvepij9Qhqq9rG7psXu5inVL4EK/JeAq3qqdeYAjTp+r4aSB94rJi4yjIzrnoUFf4ARU8i/6gFu9HyfJ1bstrt5SvWLVWWZ/wQ+BiaISJmIfEtEFovI4p5DlgIlQDHwCPBtK66rVCA0tXfy2sb9XDgjh6SYiIPfz0iI4vyp2TxbVEp7p9vGFirVP1ZV6Vx2lOcN8B0rrqVUoL22YT8dXR4umvnFOoMLZ+bwwpp9vLetmnMmj7ChdUr1n860VeooXttYwciUGKbnJX3huRPGpJISG8Er6/WWlAp+GvhKHUF7p5sVO2s5fWIGIl8sNgtzOji7MJPl26rpcntsaKFS/aeBr9QRfFxSS0eXh9MnZhz2mLnj02nq6GJdWUPgGqbUIGjgK3UEH2yvITLMwezRKYc95sSxqYjA+9trAtgypQZOA1+pIyjaU8eMkUlEhTsPe0xSTARTcxJZsVMDXwU3DXylDqOlo4tN5QeYnX/43r3XcfkprCtrxNWl4/gqeGngK3UYa/Y24PYYZvUj8GeOSsbV5WFTeWMAWqbU4GjgK3UYn+2uwyEwY2TSUY89dlQyAKv3Nvi3UUr5QANfqcNYvaeeSVkJxEeFH/XYzIQocpKiWb2nPgAtU2pwNPCV6oMxhg37Gpmam9Tv18wYmcTqvRr4Knhp4CvVh7L6NhrbOpmck9Dv10zPS6KisZ3qpo6jH6yUDTTwleqD9+br5OzEfr+mMLv7l8PmigN+aZNSvtLAV6oPG/Y14nQIE0bE9/s1hVk9gV+uga+Ckwa+Un3YuO8ABRlxR5xw1VtSTAQ5SdHaw1dBSwNfqT5sKm9kck7/h3O8CrMTtBZfBS0NfKV6qW3uoKbZxcQBDOd4FWYlsKumhVZXlx9appRvNPCV6mV7ZTMA4zMHEfjZCRjTvQeuUsFGA1+pXnZUdYf1YALf+5odVc2WtkkpK2jgK9XL9som4qPCyEyIHPBr85KjiQhzsFMDXwUhDXyletle2cz4zPg+d7g6mjCngzFpsdrDV0FJA1+pQxhj2FHZxPjMuEGfY1xG3MFhIaWCiQa+UoeoaXZR39pJQcbAx++9CjLiKatvo83ltrBlSvlOA1+pQ+yoHPwNW6+CzDiMgZ3VOqyjgosGvlKH8I69+zqkAxr4KvhYEvgico6IbBORYhG5rY/nE0XkZRFZJyKbRORqK66rlNVKqpuJiwwjPX7gFTpe+amxOB3CjkoNfBVcfA58EXEC9wHzgULgMhEp7HXYd4DNxphpwDzg9yIS4eu1lbLartpWRqfFDqpCxysizEF+aozeuFVBx4oe/myg2BhTYoxxAUuAhb2OMUC8dP8UxQF1gM49V0Fnd00L+WmxPp9ndFocu2taLWiRUtaxIvBzgNJDHpf1fO9QfwEmAeXABuBmY4ynr5OJyCIRKRKRourqaguap1T/uLo8lNW3Mjo1xudz5afGsKeuBY/HWNAypaxhReD39dm397/yLwFrgWxgOvAXEelzKyFjzMPGmFnGmFnp6ekWNE+p/imtb8VjsKSHn58WS3unhyrd/UoFESsCvwzIO+RxLt09+UNdDbxguhUDu4CJFlxbKcvsrmkBLAr81O5z7Oo5p1LBwIrAXwkUiMjonhuxlwIv9TpmL3AGgIhkAhOAEguurZRlvOE8OtX3wB/VMyy0p1YDXwWPMF9PYIzpEpHvAm8ATuBxY8wmEVnc8/yDwK+AJ0RkA91DQD82xtT4em2lrLSrpoXE6HCSY30vIMtOiibC6WCXBr4KIj4HPoAxZimwtNf3Hjzk63LgbCuupZS/7K61pkIHwOkQ8lKi2aOVOiqI6ExbpXrsrrGmQscrPzWW3drDV0FEA18poL3TTXljG6PTBr+kQm/5abHsqW3FGC3NVMFBA18pYG9dK8ZAfpqVPfwY2jrdWpqpgoYGvlIcUpJpQYWO1ygtzVRBRgNfKaC0vg2AkSnW9fBH99wA1tJMFSw08JUCSutaiYsMIykm3LJzZiVGEe4UdmmljgoSGvhKAWX1reQmR/u0SmZvYU4H2UnRlNVr4KvgoIGvFFBa10aehcM5XnnJMQeHi5Symwa+CnnGGErrW8lLtj7wc5Oj2ac9fBUkNPBVyKtrcdHqcpOXEm35ufNSYqhpdtHq0u0flP008FXI8w65+KuHD7BPh3VUENDAVyGvtK57yMUfY/i5Pb9ESnVYRwUBDXwV8rxh7O2NWymv55xl2sNXQUADX4W80ro2UmMjiI20ZPHY/5IeH0lkmEMDXwUFDXwV8srqW8n1w3AOgIiQkxx9cNhIKTtp4KuQV1rXenDoxR/ykmO0h6+Cgga+Cmluj2Ffg38mXXnlJkfrTVsVFDTwVUirPNBOp9v4pSTTKy8lhobWTpraO/12DaX6QwNfhbS9df6r0PHK1UodFSQ08FVI84awP4d0vJ8eNPCV3TTwVUjzzoDNTory2zW8PXyt1FF208BXIa28oa2nVt7pt2ukxEYQE+HUHr6ynQa+CmnljW1kJ/lv/B66a/G1UkcFA0sCX0TOEZFtIlIsIrcd5ph5IrJWRDaJyHIrrquUr/Y1tJHjx+Ecr5ykaCoatYev7OVz4IuIE7gPmA8UApeJSGGvY5KA+4ELjDHHAF/x9bpK+coYQ0VDO9mJ/u3hA2QnRVPe0O736yh1JFb08GcDxcaYEmOMC1gCLOx1zOXAC8aYvQDGmCoLrquUTxpaO2nrdJPl5yEd6A78uhYXbS6336+l1OFYEfg5QOkhj8t6vneo8UCyiLwnIqtE5KrDnUxEFolIkYgUVVdXW9A8pfq2r6F7iCVQQzrQfc9AKbtYEfh97fpsej0OA44FzgO+BPxcRMb3dTJjzMPGmFnGmFnp6ekWNE+pvpU3eEsyA9PDP/SaStnBivVgy4C8Qx7nAuV9HFNjjGkBWkTkfWAasN2C6ys1KIEN/Kj/uqZSdrCih78SKBCR0SISAVwKvNTrmP8Ap4hImIjEAMcDWyy4tlKDVt7YTkSYg9TYCL9fKzMhChHYpzdulY187uEbY7pE5LvAG4ATeNwYs0lEFvc8/6AxZouIvA6sBzzAo8aYjb5eWylflDe0kZ0YhUhfo5LWCnc6yIyP0h6+spUlW/wYY5YCS3t978Fej+8G7rbiekpZobzB/5OuDpWdpIGv7KUzbVXIKm9oD3DgR2vgK1tp4KuQ1On2UNkU2MDPSYqmvLEdj6d3EZtSgaGBr0LS/sZ2jAlMDb5XdlI0ri4PtS2ugF1TqUNp4KuQVNHYXS0T6CEd0NJMZR8NfBWSvKGbFYB1dLy0Fl/ZTQNfhaR9Df7f+KS3z5dX0Fp8ZQ8NfBWSyhvaSI4JJybCksrkfkmMDicmwqk9fGUbDXwVkgJdgw/dG6Foaaaykwa+CkmBrsH30sBXdtLAVyGpvLF7WYVAy0mK0vV0lG008FXIOdDeSVN7lz09/MRoapo7aO/UjVBU4Gngq5BT0RD4Gnwv7zX3a6WOsoEGvgo5gVwHvzedfKXspIGvQs7nWxsGPvC919ynga9soIGvQk55QxthDiE9PjLg185MjESku0pIqUDTwFchp6KxncyEKJwO/2980ltkmJP0uEgd0lG20MBXIWdfQ5stwzle2UnROqSjbKGBr0JO9yzbwNfge2UnRVHeqIGvAk8DX4UUt8ewv9GeWbZe2Ynds22N0Y1QVGBp4KuQUt3UQZfHkGXzkE57p4eG1k7b2qBCkwa+Cimfl2TaOaSjpZnKHhr4KqRUNNo36corRydfKZto4KuQYucsWy/d+UrZRQNfhZTyhnbiI8NIiAq3rQ0psRFEhjl05ysVcJYEvoicIyLbRKRYRG47wnHHiYhbRC6x4rpKDdQ+GzY+6c27EYqO4atA8znwRcQJ3AfMBwqBy0Sk8DDH/RZ4w9drKjVY5Q1tZNl4w9YrOymKCg18FWBW9PBnA8XGmBJjjAtYAizs47gbgeeBKguuqdSg2LG1YV+6a/F1SEcFlhWBnwOUHvK4rOd7B4lIDnAh8ODRTiYii0SkSESKqqurLWieUt3aXG7qWztt2emqt+ykaCqb2ul0e+xuigohVgR+XytQ9Z5C+Cfgx8aYo27zY4x52BgzyxgzKz093YLmKdXNu5xBTrL9PfycpGiM0Y1QVGCFWXCOMiDvkMe5QHmvY2YBS0QEIA04V0S6jDEvWnB9pfrlYElmov2Bn3VIaWZeSozNrVGhworAXwkUiMhoYB9wKXD5oQcYY0Z7vxaRJ4BXNOxVoAVDDb7XwZ2vdBE1FUA+B74xpktEvkt39Y0TeNwYs0lEFvc8f9Rxe6UCYV9DOyKQmRAEY/iJ3tm2OqSjAseKHj7GmKXA0l7f6zPojTHftOKaSg1URUMbGfGRRITZP98wOsJJSmyEzrZVAWX/v3ylAqS8MThKMr2yk6I08FVAaeCrkFHeYO86+L1laS2+CjANfBUSjDHdyyoEQQ2+V05StPbwVUBp4KuQUNviwtXlCaoefnZSFE0dXRxo141QVGBo4KuQEEwlmV7etlTosI4KEA18FRK8Y+U5QRj4OqyjAkUDX4WEYOzh5+hWhyrANPBVSChvaCMq3EFyjH0bn/SWFhdJmEO0h68CRgNfhYTyxjayE6PpWc8pKDgdwohErcVXgaOBr0LCviCrwffKTtJafBU4GvgqJFQ0tB3cPDyY5CRF6wJqKmA08NWw19HlpqqpI0h7+FHsb2zH7em9hYRS1tPAV8NeZWMHEFwVOl5ZidF0eQzVTR12N0WFAA18NeztC6KNT3rT0kwVSBr4atj7vAY/+MbwdfKVCiQNfDXsBeOkKy/vL6EKvXGrAkADXw175Y3tpMZGEBXutLspXxAfFU58VJiWZqqA0MBXw155Q3BtfNJbTlK0juGrgNDAV8NeeUMbWUG0Dn5vWTrbVgWIBr4a1owxQd/Dz9aNUFSAaOCrYe1AWxctLndQLYvcW3ZSNPWtnbS53HY3RQ1zGvhqWPMuWxDMPXzvLyNdYkH5mwa+GtaCuQbfS2vxVaBYEvgico6IbBORYhG5rY/nrxCR9T1/VojINCuuq9TRlNV3h2hwD+l0/zLSwFf+5nPgi4gTuA+YDxQCl4lIYa/DdgGnGmOmAr8CHvb1ukr1R1l9K5FhDtLjI+1uymFlJkQh0r2Es1L+ZEUPfzZQbIwpMca4gCXAwkMPMMasMMbU9zz8BMi14LpKHVVZfRs5ycG18Ulv4U4HmfFamqn8z4rAzwFKD3lc1vO9w/kW8NrhnhSRRSJSJCJF1dXVFjRPhbKy+jZyk2PsbsZRZSdp4Cv/syLw++o69bm4t4icRnfg//hwJzPGPGyMmWWMmZWenm5B81QoK6tvJTc5eMfvvbQWXwWCFYFfBuQd8jgXKO99kIhMBR4FFhpjai24rlJH1NzRRX1rJ3lDoIefk9y91aFHN0JRfmRF4K8ECkRktIhEAJcCLx16gIiMBF4ArjTGbLfgmkod1b6eCp2h0MPPS47B5fZQ2aQ3bpX/hPl6AmNMl4h8F3gDcAKPG2M2icjinucfBO4AUoH7e26edRljZvl6baWOpKy+FRgigZ/S/SmktK6NrCDcqEUNDz4HPoAxZimwtNf3Hjzk62uBa624llL9VVrnDfzgH9LJ6/mlVFrXyuzRKTa3Rg1XOtNWDVtl9W1EhTtIi4uwuylH1V06CqU9n0qU8gcNfDVseUsyg7kG3ysyzElmfBSldVqpo/xHA18NW2UNQ6Mk0ysvJVp7+MqvNPDVsNXdwx9CgZ8cQ1mdBr7yHw18NSw1tXfS0No5JG7YeuWmxFBxoB1Xl8fupqhhypIqHRU6jDH8e80+nvpkDzurWxiREMXFx+bwzRNHExEWPP0H7x6xQ2HSlVdecjTGdK+amZ8Wa3dzDmrvdPPoByW8uLacmuYOxmfEc9WJozhvStaQuD+iPhc8P6Eq6LV3urnu76v4/r/W0epyc/60LBJjwvl/S7fytYc/pr7FZXcTDyqrGzqTrrwO1uIH0Th+dVMHF96/gt+9uZ3MhEjOnZJFTUsH3/3HGm5aspaOLt2layjRHr7qF1eXh+v+XsSHxTX8fEEhV5+Yj8PR3btbuqGCW55ZyzefWMkzi+YQFe60ubWfh+aQDPwgqdRpc7m58rFP2VPbyuPfnMXpEzMBcHsMDy7fyd1vbMPV5ea+y2cS5tS+41Cg/5dUv9z56mY+2FHDby+eyrdOHn0w7AHOnZLFvZdOZ11pA3e/sc3GVn5ub10rsRFOUmKDvwbfa0RCFOFOCZoe/h3/2ci2yiYe+PrMg2EP4HQI3zltHHcsKOSNTZX8/i1dLWWo0MBXR/XGpv387eM9XHvyaL46K6/PY86ZnMVVJ4zisQ938dmuugC38Iv21LYyMjV2SI0xOx1CdlL0wRnCdnp/ezXPrirjO/PGMW9CRp/HXHPyaC6bnccD7+3k/e26lPlQoIGvjuhAeyc/f3Ejk7IS+PH8iUc89vb5k8hOjOLOVzfbvurjntoW8lOHzg1br7zkGErr7R3S6XR7+OUrmxmVGsONZ4w74rH/c/4xjE2P5acvbqDNpeP5wU4DXx3R3a9vo6a5g99ePIXwo4zTRkc4+cHZE1hX1sjL67+wQnbAuD2G0ro2Rg7FwE+Jtr0W//lVZRRXNfOz8wqJDDvy/ZiocCe//vIUSuvauO/d4gC1UA2WBr46rOKqZp7+dA9XzhnF1Nykfr3mwhk5jM+M4/53d2KMPb38/Qfacbk9jEoJntLG/spNjqG2xUVLR5ct13d7DA+9X8LknATOnNT3UE5vJ4xN5aIZOTz0/s6gGI5Sh6eBrw7r7je2EhMRxk1nFPT7NQ6HcP3csWyrbOK9bfaM6+6paQEYkkM6+andv6R217bYcv3XNlawq6aFb88bN6D7H7eeMxGHCH9cpjdwg5mWZQZAe6ebd7dWsba0gQPtXaTFRTBnTConjEn9r2qXYLJqTz1vbKrkB2eNJzUuckCvvWB6Nr9/cxuPfFDCaRP710u00p6eXuZQHNLJT+tu8+6aVo7JTgz49R95v4QxabF86ZgRA3rdiMQovnliPg9/UMLiU8cyPjPeTy30jdtj+LC4hs921VLX0klidDgzRyYxb0JGUE0c9BcNfD9yewxPfrybe97eQX1rJxFhDhKiwqlvdfHnd4oZmx7LHecfw6njg2/v3j++tZ20uAiuOXn0gF8b7nRw+fEj+d2b29ld0xLwWaO7a1uIcDqG5EYidvbwN+5rZF1ZI784vxDnIDoii08dyz8+3cvv39zGQ1cG3/5Gb27az51Lt7CntpUwh5AUE0Fjm4sH3Ya0uEhuObOAy2aPHNR7Hyo08P2k6kA7i59axeq9DZw8Lo3Fp47l+DEphDsdtHR0sWxLJfe+vYNvPP4Z1548mtvPnRQ0/9DWlzXwYXENt82fSGzk4P6JfGVWHn9ctoMlK0u57SjVPVbbW9tKbkp00Px9DkRsZBgZ8ZHsqgl84C9ZuZfIMAcXzsgd1OuTY7s7CPe8vYNt+5uYMCI4evldbg//89Imnv50LxNHxHP/FTM5bUIG0RFOOrrcrNhZywPv7eRnL27k9Y37ufeyGUNq/sZADP/PMDbYuv8AF/zlI7bub+KeS6fz5Ldmc3JB2sEql9jIMBZOz+HVm07hGyeM4tEPd3HTkjV0uYNj0awHl+8kPiqMK44fOehzZCZEcfrEDJ5bVRrwxcB217Ye7CkPRflpsewJcA+/1dXFf9aUc+6U7uUyBuvqk/KJiXDy0PKdFrZu8Dq63Fz/5Cqe/nQv188dw8s3nsy5U7KIjuiuPooMc3LahAyeWTSH31w0hc9213H+nz9ktw2/cANBA99iOyqbuOKRTzEYnlt8Igun5xz25ldUuJP/XTiZ2+dP5NX1Fdz+wgbb69d3Vjfz2sb9XHXCKOKjBv+DD3DZ7Dxqml28t63KotYdnTGGvbUtjEwZeuP3XqNTY9lVE9hqlzc27aepo4tLj+t7Yl1/JcVEcPnskfxnXbntFTsej+H7/1rH21ur+NWXJ3P7uZMOW1osIlw6eyTPXn8Cra4uvvrQx+ysbg5wi/1PA99CpXWtXPbIpzgdwj+vm0NhdkK/Xnf9qWO5+YwCnl1VxgM294weXl5ChNPB1ScNfOy+t1MK0kmOCefl9RUWtKx/appdtLjcQ7JCx2tUWgw1zR00tXcG7JovrS0nJyma4/J930/3W6eMxiHwyAclFrRs8H77+lZeXV/BT86dyJVzRvXrNdPyknjm+hPwGMNVj31G1YF2P7cysDTwLdLq6uK6vxfh6nLzj+vmMCY9bkCvv+XMAi6Y1l3d8sEOe8oZKxrbeGFNGV87Lo+0AVbm9CXc6eDcKVks21xJqyswdeV767o/io8awkM6o3vavqc2MD3k+hYXH+yoYcG0LEuqxrISo7loRi7PrCyluqnDghYO3Bub9vPQ+yV8fc5IFs0dO6DXjs+M56/fnE19q4tr/rbStjkR/qCBbwFjDLc+t57tlU38+fKZjMsYWNhD90fK/7toCuMy4rjpn2ts6Vk89sEuPAauO2WMZec8f1o2bZ1ulm0JzLBOSbU38IduD99b1RSoG7evb9pPl8dw/tRsy855/aljcLk9/PWjXZads79K61r54bPrmJKTyM8XFA7qHFNyE7nv8plsqWji5iVrbB9qtYoGvgUeer+EV9ZXcOs5E30qsYyNDOP+K46l1eXm9hc2BHSmakOri398tpcLpmUfXKbXCsflp5CZEMnL6wKz1MLO6hbCnTKkx/APlmYGKPBfWlvOmLRYjunnEGR/jEmP49zJWTz5yZ6ADk15PIYfPLsODNx/xcyjLg1xJKdNzOCOBYUs21LFX4bJshGWBL6InCMi20SkWERu6+N5EZF7e55fLyIzrbhuMHhvWxW/fX0rC6Zmcf1c33vG4zLi+NGXJvD21iqeW1VmQQv7528r9tDqcrP41IF9/D0ap0NYMDWb5duqORCAH/yS6mbyU2OH9Prs0RFORiREsSsAlTpVTe18squW86dlW76y6A3zxtLU3sXTn+619LxH8tSne/hsVx0/X1BoScflqhNGcdGMHP64bDvvbg1c8YG/+PxTISJO4D5gPlAIXCYivT9HzQcKev4sAh7w9brBYHdNCzf9cw0TMuO565Kplv3AXHPSaGbnp/DLlzdT0ej/lRNbXV08sWIXZ07K8Evt9PzJI3C5PQFZaqG+ci/3uX4GTZV+v5Y/TUtq41s7vuP397FizSaWhP+S88ZY/wtyck4ipxSk8diHu2jv9P9KmqV1rfzmta3MHZ/OV2YNbi5BbyLCnRdOYdKIBG5esibg5bJWs+L/8myg2BhTYoxxAUuAhb2OWQj83XT7BEgSkSwLrt2nndXNft96rbmji0VPFuFwCI9cNYuYCOvmsDkcwt1fmUqnx8NP/73R70M7//yslPrWTm6Yd+SlcAdrxshk0uIieGuzf8Or0+1h4YGnGde+AZb/1q/X8reru55lUucmzPLf+PU6iSv/yHGObRRsuc8v579h3liqmzp4frV/P60aY/jx8+tx9NwLs/LTSnSEk4euPBYR4fonV/m9AKHV1eW3XyxWBH4OUHrI47Ke7w30GEvUt7i46P4V3PiPNXT6aSKTMYYf/msdxVXN3Hf5TEvHvL1Gpcbyw7Mn8M7WKl7y4/i3q8vDox+UMHt0CseOSvbLNZwO4YyJmby3tcp/k7B+nUH4r5L5unMZDgwUPQa/SIRfB34tH5/8OgN+kcicuhdxYJCix/3zPnquc1rTy369zgljUpmWl8RDy0v8OrHwhdX7WLGzltvmTyQnyfolNfJSYvjzZTPYXtnEj55d77dOmKvLw+KnVnPJgx/T7IfqICsCv69fpb3/NvpzTPeBIotEpEhEiqqrBz4EkBwbwffPGs+bmyv5/r/W4fbD3fV73t7B65v285NzJ3HSuDTLz+919UmjmZ6XxC9e2kRts3/K215cu4+Kxna+Pc/asfvezirMpKmji09Kav1zgZvXUzHyfNpMz5T4sGiY8hW4eYN/rucvN6+HyV/B7YwC6P6vP95HgP6+RIRvzxvL3rpWlm7cb+m5vepaXPz61c3MHJnE5bMHPzv8aOaOT+fH50zk1Q0V3P+e9fNl3B7DLc+s4f3t1fzo7AnEDXJZkyOxIvDLgEOn5+UCvbuk/TkGAGPMw8aYWcaYWenpg6t4+caJ+dw+fyIvryvn1ufWW1pS9er6Cv60bAcXz8zlW4NYWGwgnA7hrkum0tzRxS9e3mz5+b2bURdmJfh9AbeTC9KIDnf6b1gnfgR1XZFE0olxRoK7AyITID7z6K8NJvEjIDIeh7uDdhOOw1/vI34Eu5scREonJsy/f19nTcpkXEYcD7znnz0S/m/pFprau/h/F03x++qzi+aO4YJp2fzuzW28s9W6f8sej+H2F9azdMN+fnbeJL7q44znw7Ei8FcCBSIyWkQigEuBl3od8xJwVU+1zhyg0Rjj1+mX1586lu+dOZ7nV5fx8/9YMw6+oayRHzy7lmNHJfP/LpockP1Sx2fGc+PpBby8rtzysHx9435Kqlu4Yd5Yv7+XqHAnc8en8dbmSr99HPY0VfK842zkurfh2KuheYjeuG2pglnXcAV3sjL1y355Hx6Poa2hgg8TL0Cu9e/fl8MhLD51LFsqDlh+4/7jnbU8u6qM6+aOYeII68pKD0dE+O3FUynMSuDmf65lR2WTz+f0eAw/+89G/lVUxk2nj+NaC+fB9OZz4BtjuoDvAm8AW4B/GWM2ichiEVncc9hSoAQoBh4Bvu3rdfvjpjPGccO8sTz96V5+9coWn4KmpLqZq5/4jNTYSB668lif6nsHavGpY5k4Ip6fvbiBxjZrShu73B7+8NY2CjLiOHeK3+6f/5ezCkew/0A7G/Y1+uX8v4j5Cc9nfQ9GTIEFf4BLn/bLdfzu0qeRBX/AnTGZP0Ut9sv7WFvWwDVtt1B/2v8F5O9r4fRscpKi+dOy7Zb9wu/ocvPTFzeQlxLNTaf3f5MeX0VHOHn4qllEhju58rHPfFozyBjDHS9t5B+f7uWGeWP53lnjLWzpF1lSi2WMWWqMGW+MGWuMubPnew8aYx7s+doYY77T8/wUY0yRFdc9GhHh1i9N4OqT8nn8o13c8Z9Ng7pxVFrXyhWPfoox8LdrZluy7MBARIQ5uOuSqVQ3dfB/S7dYcs5/r9nHzuoWfnD2+IAtI3zGxAwcgl+GdYwxbN/fREFGcCzJa4WCjDh2VPlnAa9lmysJcwjzxgfmpna408EtZxawrqyR1y0ay3/wvRJKqlv45cLJB1e/DJScpGieunY2bZ1urnj0UyoHMTO+0+3hR8+t56lP9rL41LHc+qUJfv+kPXRnp/STiHDHgkKunzuGJz/Zw3V/LxrQ3e9N5Y1c/MAKWjq6ePJbxw9q2QQrTM1N4rq5Y1iyspSPimt8OldHl5s/LdvBlJzEAe9s5Ivk2Ahm5af4JfD3NbTR1NHFxKxhFPiZcVQ3ddDQ6rL83Mu2VHJcfopPSyEP1EUzcynIiOPuN7f5XLFTXNXEfe8Vs2BqFqdNsKcSa+KIBJ64+jhqmzu4+IEVFA/gl3NjayfXPLGS51aVcfMZBfz4HP+HPYRA4EN36N9+7iTuvHAy7++oYcG9H7B6b/0RX2OM4V9FpXz1wY9xOoRnF5/Y79Uv/eV7Z45ndFost72w3qda4Mc+3MW+hjZ+FIAeRW9nF2aydX+T5UvnbtvfPZY6MUg23bCCt3MxkCDpjz21LWyvbObMwsDe0HY6hB9+aQIl1S0sWVl69BccRqfbw/eeWUdshJM7zh/cWjlWmTEymX8umkN7p5uL7v+oXyXUn5TUMv+e9/l4Zy13XTKV7501PmA/hyER+F5XHD+Kp689nk634eIHVnDTP9ewqbzxv8YUPR7Dxztr+fpjn3Lrc+uZkpvIv799UlDs3hMV7uQ3F02htK6N370xuM2iyxva+PPbxZxdmMlcG7ZWPGNSd8i8vcXaXv7WnsAP1r1UB8M7PLW90trA9y5kd+akwPeMzy7M5IQxqdz1+lZqBllqfN+7xWzY18idF04hIz7K4hYO3NTcJP797ZMY27Pw4Tce/4yVu+v+K1eMMawtbeDbT6/i0oc/ITzMwfM3nMhXZ/mnGudwQm6LwzljUnn9llO4/72dPPHRbl5aV05WYhSj02JxewzFVc3UtrhIjY3gF+cXctUJ+UG10fjxY1K5cs4o/rpiFwumZTFzZP8nSxlj+J+XNuExZtCrCPpqdFos4zLiWLalim9asOa+19b9TeQmR/u8aUswyU2OJj4yjM0V1t7kXra5kvGZcbYsIS0i/OrLk5l/z/vc+eoW/vi16QN6/eq99fz5nWK+PD07YMUG/ZGXEsOz15/A4x/t4oH3dvKVBz8mPT6SsemxCEJxdTPVTR3ERDi55cwCFs0dY+ns/P4KucAHiI8K58fnTGTRKWNYurGCz3bVUVrXikOEeRMymDs+jbMKM235H9Ift54zgbe3VPL9Z9by4ndOIimmf/tvPrOylLc2V/LTcyf5ZXZwf505KZNHPyjhQHsnCRYF9NaKA8NqOAe6w3FSdgKbyw9Yds7G1k4+213HIgsW+huscRlx3HDqWO59p5jTJ2Zw/rT+Lctc1dTODU+tIjspiv+9YLKfWzlwYU4Hi+aO5YrjR/Haxv18VFzD3rpWBMNJY1OZMyaVc6dmWfZvflBttO3KQSA5NoIrjh/FFcf3bzecYBEfFc69l83g8kc+ZfFTq/j7NccTEXbk0bktFQf435c3c9K4VL9PGDuaswozeHD5TpZvq+73D/uRdHS5KalpCegN6EApzErgX0WluD3Gkmqq97ZX4fYYzgrw+H1vN55RwIfFNdz+wgYm5yQyOu3InzZaOrpY/OQqGts6eeGGkwJ6s3mgYiPDuOTYXC451poF3KwUUmP4w8ms/BTuumQqn5TUsfipVUdcjbC0rpVv/vUzEqPD+cNXp9s+RDU9L5nUWOsWUyuuasbtMUFxn8Vqx2Qn0Opys9uixbTe2lxJWlwE03OTLDnfYIU7Hdx72QzCncJVjx+5rLHN5ea6vxextrSBP31tuu3FE0OZBv4Q9uUZOdx54WTe3VbF5Y980mfly5q99Vz0wApaXW7+evVxZCbYf5PL6RBOn5jBu9uqLFngbkvF8KvQ8fKGmxXDOq4uD8u3V3P6xAzbf+kD5CbH8NerZ1PX3L3g4cY+JuTtqmnh4gdW8HFJLb//6jTOmRw84/ZDUUgP6QwHVxw/iqToCG57fj1n/XE5F83M5cSxqbg9hnd7VtrMSozm6WuPD6oKljMLM3l2VRkrd9Vxoo8L0K0vayAmwjngfYSHgoKMeMKdwqbyAz4Pf63cXUdTexdnTgqe9YWm5yXxj+vmcP2Tq7jgLx/y5ek5nDohHYcIHxXX8PzqMqLCnTz+zeNsq7cfTjTwh4HzpmYxfWQS9yzbznOryvhHzw5D8ZFhXHPSaG46s8DWG0V9OaUgjYgwB29tqbQg8BuZnJMYsBnDgRQR5qAgI57NFb738N/aXElEmIOTC/y3wutgTMtLYunNp/CXd4pZsnIvL6zZB0B0uJNLjs3je2cVBEX55XCggT9M5CRFc9cl0/jlwsmUVLfgdAhj0mMJD9Kt/mIiwjh5XBrLtlRyx4LCQU88cXV52FxxgG+cMLRuvA/EMdkJvLO1CmPMoP+ejDG8vbWSk8elBWX1WUpsBHecX8iP5084uHl7fmosUeGBXTJhuAvONFCDFhXupDA7gQkj4oM27L3OnJRJaV2bTxOLtlc24eryMNXmm5D+NH1kErUtLvb6MDt5e2UzpXVtQTWc05fIMCcTRyQwcUSChr0fBHciqGHtjJ6Znst8mHW7vqz7Rt+0YRz43sl1R1sO5Ei8f8dn2DC7VgUPDXxlm8yEKKblJvpUnrm2tJ7kmHDyUqzf1i5YjM+MJy4yjNV7GgZ9jrc2VzI1NzEoqrSUfTTwla3OnJTJ2tIGqpoGvrwswGe76jguPyXgi8AFktMhTMtLHHQPf19DG2tLG4blxDQ1MBr4ylbeFRvf6VnQayAqD7Szu7aV2aNTrG5W0Jk5Mpmt+5toGcTG1q9t6N5c7rwgWntG2UMDX9lq4oh4cpOjeX3TwDfF+GxXHQDHj061ullB57j8FNweQ9GegffyX1lfwTHZCeQfZfkCNfxp4CtbiQjnTc3igx011A5wudzPdtURG+Fk0jDa9ORwjstPIcLp4MMdA9sTtrSulbWlDZw3VXv3SgNfBYGLZuTi9hheWT+wfe0/2lnDrPwUwoK8/NQK0RFOjh2VzIfFtQN63WsbdThHfW74/6SooDdhRDyTshL4d88My/7YXdNCSXULp00I/CYudjm5II0tFQf6vXGIMYYXVu9jam6iLWvfq+Cjga+CwoUzsllb2kBJdf8mYb2ztfsm7+kTg3sikZVO7lmC4oN+Duts2NfI1v1NfCXAuyqp4KWBr4LCwuk5OAReWN2/Xv47W6soyIhjZKp9G7kE2pScREYkRLF0Q/9ucC9ZWUpkmIMLLNhzQA0PGvgqKGQmRHH6xAyWrNxLR9fh1/YHaGh18emuWk4PsVmjDocwf8oIlm+vpqm984jHtrncvLy2nPOmZJEYHVwL5yn7aOCroPGNE/OpaXbx6lFu3r68rpxOt2HhtJwAtSx4nDclC1eX56jLUTy7qpSmji4uO35kgFqmhgKfAl9EUkTkLRHZ0fPfL+yoLSJ5IvKuiGwRkU0icrMv11TD18nj0hiXEcfD75fg8ZjDHvfc6n1MHBEfkjsfzRyZTE5SNM8WlR32mC63h4ffL2HmyCRmjer/Jvdq+PO1h38b8LYxpgB4u+dxb13AD4wxk4A5wHdEpNDH66phSET47mnj2Lq/iVc39N3LX7WnjnWlDXztuNC8EelwCF+fM4oVO2vZtr+pz2NeXFtOWX0bN8wbN6yXnFAD52vgLwT+1vP134Av9z7AGFNhjFnd83UTsAUIvc/iql/On5bNhMx4fv/mtj736b3v3Z0kxYSHbOADXHpcHtHhTu59Z8cXnmvp6OLuN7YyLTeRMyaG1j0OdXS+Bn6mMaYCuoMdOOK/MBHJB2YAnx7hmEUiUiQiRdXVA5tVqIY+p0P42YJJ7K5t5XdvbPuv597aXMk7W6u4fu7YoNzEI1CSYyNYNHcMr66v4OOd/z0R61evbKbyQAd3nH9MUOxbq4LLUQNfRJaJyMY+/iwcyIVEJA54HrjFGHPY/dqMMQ8bY2YZY2alp4fOpBr1uVMK0rlyzige/XAXDy3ficdj2Fx+gFufW8eEzHiuPWW03U203fWnjiE/NYYb/7ma4qpmPB7DPct2sGRlKd+eN5Zjdexe9UGMOfzNsaO+WGQbMM8YUyEiWcB7xpgJfRwXDrwCvGGM+UN/zz9r1ixTVFQ06PapoavT7eHGf6zh9U37SYuLoK7FRXp8JM8sOkEXAeuxo7KJrz38CQfaOkmKCaem2cVFM3O46+KpIbHchOqbiKwyxszq8zkfA/9uoNYY8xsRuQ1IMcbc2usYoXt8v84Yc8tAzq+BH9qMMby0rpzl26rJSY7mGyfmkxYXaXezgkrlgXaeWLGbygPtnDYhgwVTs/RGbYjzZ+CnAv8CRgJ7ga8YY+pEJBt41BhzroicDHwAbAA8PS/9iTFm6dHOr4GvlFIDc6TA9+nOlzGmFjijj++XA+f2fP0hoF0OpZSymQ70KaVUiNDAV0qpEKGBr5RSIUIDXymlQoQGvlJKhQgNfKWUChEa+EopFSJ8mnjlbyJSDeyxux1HkAbU2N0Ii+h7CT7D5X2AvpdAGmWM6XMhsqAO/GAnIkWHm9E21Oh7CT7D5X2AvpdgoUM6SikVIjTwlVIqRGjg++ZhuxtgIX0vwWe4vA/Q9xIUdAxfKaVChPbwlVIqRGjgK6VUiNDAt4iI/FBEjIik2d2WwRKRu0Vkq4isF5F/i0iS3W0aCBE5R0S2iUhxzw5sQ5KI5InIuyKyRUQ2icjNdrfJFyLiFJE1IvKK3W3xhYgkichzPT8jW0TkBLvbNFAa+BYQkTzgLLp3/RrK3gImG2OmAtuB221uT7+JiBO4D5gPFAKXiUihva0atC7gB8aYScAc4DtD+L0A3AxssbsRFrgHeN0YMxGYxhB8Txr41vgjcCswpO+AG2PeNMZ09Tz8BMi1sz0DNBsoNsaUGGNcwBJgoc1tGhRjTIUxZnXP1010B0uOva0aHBHJBc4DHrW7Lb4QkQRgLvAYgDHGZYxpsLVRg6CB7yMRuQDYZ4xZZ3dbLHYN8JrdjRiAHKD0kMdlDNGQPJSI5AMzgE9tbspg/YnuzpDnKMcFuzFANfDXnuGpR0Uk1u5GDZRPe9qGChFZBozo46mfAj8Bzg5siwbvSO/FGPOfnmN+SvewwtOBbJuP+to3eUh/4hKROOB54BZjzAG72zNQIrIAqDLGrBKReTY3x1dhwEzgRmPMpyJyD3Ab8HN7mzUwGvj9YIw5s6/vi8gUYDSwTkSgewhktYjMNsbsD2AT++1w78VLRL4BLADOMENrkkYZkHfI41yg3Ka2+ExEwukO+6eNMS/Y3Z5BOgm4QETOBaKABBF5yhjzdZvbNRhlQJkxxvtJ6zm6A39I0YlXFhKR3cAsY0wwr6R3WCJyDvAH4FRjTLXd7RkIEQmj+0bzGcA+YCVwuTFmk60NGwTp7j38Dagzxtxic3Ms0dPD/6ExZoHNTRk0EfkAuNYYs01EfgHEGmN+ZHOzBkR7+OpQfwEigbd6PrF8YoxZbG+T+scY0yUi3wXeAJzA40Mx7HucBFwJbBCRtT3f+4kxZql9TVLAjcDTIhIBlABX29yeAdMevlJKhQit0lFKqRChga+UUiFCA18ppUKEBr5SSoUIDXyllAoRGvhKKRUiNPCVUipE/H8txPItdfX2pgAAAABJRU5ErkJggg==\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -209,21 +99,27 @@ } ], "source": [ - "d = 1\n", - "k = np.linspace(-5,7,1000)\n", - "h_ideal = np.sinc(k-d)\n", + "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": 10, + "execution_count": 30, + "id": "17a5bf03", "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -241,22 +137,21 @@ "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],\"*\")\n", - "plt.show()\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, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, + "id": "3a82e44c", "metadata": {}, "outputs": [], "source": [] @@ -264,7 +159,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -278,7 +173,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, diff --git a/notebooks/FrameSynchronization.ipynb b/notebooks/FrameSynchronization.ipynb index 9a7719f..a659a7b 100644 --- a/notebooks/FrameSynchronization.ipynb +++ b/notebooks/FrameSynchronization.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "id": "5bec50ff", "metadata": {}, "outputs": [ @@ -33,13 +33,13 @@ "output_type": "stream", "text": [ "Header sequence (N=16): [1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1]\n", - "Cross correlation: [ 3. 3. 4. 4. 4. 4. 3. 6. 7. 7. 3. 6. 6. 8. 7. 6. 7. 11.\n", - " 8. 7. 7. 10. 8. 8. 10. 8. 10. 7. 8. 8. 8. 10. 8. 11. 12. 9.\n", - " 8. 10. 8. 11. 9. 10. 9. 16. 10. 10. 10. 12. 10. 14. 9. 10. 9. 13.\n", - " 11. 9. 11. 8. 9. 11. 9. 9. 8. 8. 7. 9. 12. 5. 7. 9. 7. 10.\n", - " 12. 6. 6. 9. 8. 6. 8. 5. 5. 8. 7. 5. 5. 4. 3. 4. 3. 3.\n", - " 3. 3.]\n", - "Corrlation peak value: 16.0\n" + "Cross correlation: [ 3. 4. 5. 5. 6. 4. 4. 6. 4. 4. 5. 8. 7. 10. 8. 7. 8. 10.\n", + " 7. 8. 8. 9. 14. 11. 9. 10. 12. 9. 13. 9. 9. 11. 13. 9. 12. 11.\n", + " 9. 9. 13. 10. 9. 11. 9. 14. 12. 9. 10. 11. 8. 11. 6. 9. 8. 11.\n", + " 6. 7. 9. 8. 7. 4. 4. 9. 9. 7. 6. 7. 9. 11. 8. 7. 10. 12.\n", + " 10. 11. 11. 10. 9. 10. 9. 7. 10. 7. 9. 6. 7. 6. 5. 4. 5. 2.\n", + " 4. 3.]\n", + "Correlation peak value: 14.0\n" ] }, { @@ -48,13 +48,13 @@ "<StemContainer object of 3 artists>" ] }, - "execution_count": 14, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 1800x360 with 1 Axes>" ] diff --git a/notebooks/Untitled.ipynb b/notebooks/Untitled.ipynb index 6350dc3..0a1a81c 100644 --- a/notebooks/Untitled.ipynb +++ b/notebooks/Untitled.ipynb @@ -167,46 +167,6 @@ "metadata": {}, "outputs": [], "source": [] - }, - { - "cell_type": "markdown", - "id": "4c190dbf", - "metadata": {}, - "source": [ - "# Delay as a Convolution System" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "0929e51c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[0, 0, 0, 1]" - ] - }, - "execution_count": 8, - "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": null, - "id": "1b8438b2", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/simulation/QAM_Fading/qam_fading.py b/simulation/QAM_Fading/qam_fading.py index 01685a1..f8c72b1 100755 --- a/simulation/QAM_Fading/qam_fading.py +++ b/simulation/QAM_Fading/qam_fading.py @@ -87,13 +87,17 @@ 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 = amp = 0.2 + 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 ################################################## @@ -168,10 +172,17 @@ 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, 0, 0, 1, 1) - for r in range(0, 1): + 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) @@ -182,19 +193,26 @@ 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_range = Range(0, 5, 0.1, 0.2, 200) - self._amp_win = RangeWidget(self._amp_range, self.set_amp, 'Ampliude', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_win, 1, 0, 1, 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) for r in range(1, 2): self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 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, 1, 1, 1) + 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(1, 2): + for c in range(0, 1): self.params_grid_layout_2.setColumnStretch(c, 1) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size @@ -512,8 +530,15 @@ 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]) + 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.params_grid_layout_2.setRowStretch(r, 1) + for c in range(0, 1): + self.params_grid_layout_2.setColumnStretch(c, 1) self.digital_pfb_clock_sync_xxx_0_0 = digital.pfb_clock_sync_ccf(sps , timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) self.digital_pfb_clock_sync_xxx_0 = digital.pfb_clock_sync_ccf(sps, timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) self.digital_map_bb_0_0 = digital.map_bb([0, 1, 3, 2]) @@ -545,13 +570,18 @@ class qam_fading(gr.top_block, Qt.QWidget): self.blocks_unpack_k_bits_bb_0_0 = blocks.unpack_k_bits_bb(2) self.blocks_unpack_k_bits_bb_0 = blocks.unpack_k_bits_bb(2) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, samp_rate,True) - self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_float*1, '/home/sara/Documents/Fading/simulation/QAM_Fading/qam_fading_V2_output.grc', False) - self.blocks_file_sink_0.set_unbuffered(False) self.blocks_delay_0 = blocks.delay(gr.sizeof_float*1, 50) self.blocks_char_to_float_0_1 = blocks.char_to_float(1, 1) 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.params_grid_layout_2.setRowStretch(r, 1) + for c in range(1, 2): + self.params_grid_layout_2.setColumnStretch(c, 1) @@ -560,7 +590,6 @@ class qam_fading(gr.top_block, Qt.QWidget): ################################################## self.connect((self.analog_random_source_x_0, 0), (self.blocks_unpack_k_bits_bb_0_0, 0)) self.connect((self.analog_random_source_x_0, 0), (self.digital_constellation_modulator_0, 0)) - self.connect((self.blocks_char_to_float_0, 0), (self.blocks_file_sink_0, 0)) self.connect((self.blocks_char_to_float_0, 0), (self.qtgui_freq_sink_x_2_1, 0)) self.connect((self.blocks_char_to_float_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_char_to_float_0_0, 0), (self.blocks_delay_0, 0)) @@ -680,12 +709,25 @@ 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]) + 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 @@ -722,19 +764,32 @@ 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(self): - return self.amp + 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(self, amp): - self.amp = amp - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+([0]*self.fading_1)+[self.amp]) + 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])) 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]) + 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 2f61a71..eaadab5 100644 --- a/simulation/QAM_Fading/qam_fading_V2.grc +++ b/simulation/QAM_Fading/qam_fading_V2.grc @@ -53,7 +53,7 @@ blocks: coordinate: [1104, 484.0] rotation: 0 state: true -- name: amp +- name: amp_1 id: variable_qtgui_range parameters: comment: '' @@ -71,7 +71,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1040, 612.0] + coordinate: [984, 612.0] rotation: 0 state: true - name: chn_taps @@ -791,13 +791,13 @@ blocks: maxoutbuf: '0' minoutbuf: '0' samp_delay: '0' - taps: '[LOS_NLOS]+([0]*fading_1)+[amp]' + taps: '[LOS_NLOS]+([0]*fading_1)+[amp_1]' type: ccc states: bus_sink: false bus_source: false bus_structure: null - coordinate: [1024, 340.0] + coordinate: [952, 332.0] rotation: 0 state: enabled - name: params @@ -957,7 +957,7 @@ blocks: bus_sink: false bus_source: false bus_structure: null - coordinate: [1044.0, -32] + coordinate: [1052.0, -48] rotation: 90 state: enabled - name: qtgui_const_sink_x_0_0 diff --git a/simulation/QAM_Fading/qam_fading_V2_mehrere.grc b/simulation/QAM_Fading/qam_fading_V2_mehrere.grc new file mode 100644 index 0000000..5135b3b --- /dev/null +++ b/simulation/QAM_Fading/qam_fading_V2_mehrere.grc @@ -0,0 +1,1623 @@ +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, 588.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: [1072, 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: 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: interp_fir_filter_xxx_0 + id: interp_fir_filter_xxx + parameters: + affinity: '' + alias: '' + comment: '' + interp: '1' + maxoutbuf: '0' + minoutbuf: '0' + samp_delay: '0' + taps: '[LOS_NLOS]+(([0]*fading_1)+[amp_1])+(([0]*fading_2)+[amp_2])' + type: ccc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [936, 340.0] + rotation: 0 + state: enabled +- 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: [1052.0, -48] + 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', interp_fir_filter_xxx_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'] +- [interp_fir_filter_xxx_0, '0', digital_pfb_clock_sync_xxx_0, '0'] +- [interp_fir_filter_xxx_0, '0', qtgui_const_sink_x_0, '0'] +- [interp_fir_filter_xxx_0, '0', qtgui_freq_sink_x_0, '0'] + +metadata: + file_format: 1 |