{ "cells": [ { "cell_type": "markdown", "id": "2ee4d85a", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "id": "fd1edd31", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:57:20.214495Z", "start_time": "2022-01-14T03:57:14.759739Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import sys, scipy\n", "from scipy import linalg as LA\n", "import spkit as sp" ] }, { "cell_type": "code", "execution_count": 2, "id": "6f12e8ea", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:57:28.479561Z", "start_time": "2022-01-14T03:57:28.469829Z" } }, "outputs": [ { "data": { "text/plain": [ "'0.0.9.4'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp.__version__" ] }, { "cell_type": "markdown", "id": "2a38f8cb", "metadata": {}, "source": [ "# Ramanujan Dictionary - with sparse penalty" ] }, { "cell_type": "markdown", "id": "9ac2dca9", "metadata": {}, "source": [ "## Signal with 3-periods and SNR=10" ] }, { "cell_type": "code", "execution_count": 5, "id": "9a7be6c8", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:57:49.857596Z", "start_time": "2022-01-14T03:57:49.369706Z" } }, "outputs": [ { "data": { "image/png": "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fc2xK+HX39fxcKlU4jd/8zeZmJjANE3+9m//lte85jU885nP5F/+5V/Ys2cPn/zkJ/lf/+t/MT4+zkUXXUQgEODDH/4wb3jDG4jH4zzwwANMT0/z/ve/n1e96lUUi0Ve/vKXk8lk0HWd9773vbz85S9f8dB37NjBf/tv/41vfvOb6LrOl770JS699FLS6TQ333wzx48fJxwO87GPfYyrrrqKT3/60zxw//18+K9/ny9984f8/Qc/gccfIpFIcOedd2KaJu94xzv46U9/iqZpvPnNb+YP/uAPOr5/Lpfjhhtu4LbbbuOSSy7hta99Lc9+9rN54xvf2Pb8aDTK2972Nr71rW8RCoX4xje+wejoKKdOneLmm29mbm6O4eFh/vM//5Nt27Zxyy23EI1Gefvb386//du/8dGPfhSv18vu3bu59dZbKZVK/PEf/zGPPPIIhmFwyy23rOpzdOGi37ByZzmtX8KUGEAxa5J0RYb69wbVHGjuZtFFH3HnP8PBb8KfPrreI2mBQ+ScDfOGhC7HOC8S8nf33lw5DGkWQ+n8InJOgKGyEYxDCtOyPjO1fdlT521FrnSeEVAXbmrlivG9732P8fFxHn74YR599FFe+MIXthyfnJzkPe95D/fccw8//OEPefzxx1uOT01Ncdddd/Gtb32Ld7zjHQAEg0G+9rWv8dBDD3H77bfz53/+5wghVjW+oaEhHnroIf7oj/6o3pj87/7u77j22mvZv38///RP/8Tv/u7vNj1Dvs8/fPDjfP/Wj/Hwww9z2223AfDJT36SRCLB/fffz/3338/HP/5xTpw4AcA111yz5L0TiUSdsN56661kMpmOJA4kKX7KU57Cww8/zE033cTHP/5xAN7ylrfwu7/7u+zfv5/Xve51vPWtb13y3Pe9733s3buX/fv389GPfhSAf/zHf+TZz342999/P7fffjt/8Rd/Qam0sdNvXPwKwNRRijNMMciUGJCP9Tu9UiuA5hapu+gj8pMy4LDBcMYhcuUNXCNnq0nzxAEwq25q5Yphk2HK6fUdxwrhBBg2RGrl994JX/69nk6dK7iplecrzm9Frotydq5w5ZVX8va3v52/+qu/4iUveQlPf/rTW47fd999POMZz2BgQG7YXv3qV3P48OH68Ve84hWoqsru3buZmZkBZN+Rd73rXdx5552oqsrZs2eZmZlhbGys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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#np.random.seed(None)\n", "\n", "periods = [3,7,11]\n", "signal_length = 200\n", "SNR = 10\n", "\n", "x = np.zeros(signal_length)\n", "\n", "for period in periods:\n", " x_temp = np.random.randn(period)\n", " x_temp = np.tile(x_temp,int(np.ceil(signal_length/period))) \n", " x_temp = x_temp[:signal_length]\n", " x_temp /= LA.norm(x_temp,2)\n", " x += x_temp\n", " \n", "x /= LA.norm(x,2)\n", "\n", "\n", "noise = np.random.randn(len(x))\n", "noise /= LA.norm(noise,2)\n", "noise_power = 10**(-1*SNR/20)\n", "noise *= noise_power\n", "x_noise = x + noise\n", "\n", "plt.figure(figsize=(15,3))\n", "plt.plot(x,label='signal: x')\n", "plt.plot(x_noise, label='signal+noise: x_noise')\n", "plt.xlabel('sample (n)')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "b78236cb", "metadata": {}, "source": [ "## With L1 and sparse penalty" ] }, { "cell_type": "code", "execution_count": 6, "id": "13895e8f", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:58:08.095248Z", "start_time": "2022-01-14T03:58:01.950711Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "top 10 periods: [ 3 7 11 2 5 6 14 10 9 15]\n" ] } ], "source": [ "periodE = sp.PeriodStrength(x_noise,Pmax=80,method='Ramanujan',lambd=1, L=1, cvxsol=True)\n", "\n", "plt.stem(np.arange(len(periodE))+1,periodE)\n", "plt.xlabel('period (in samples)')\n", "plt.ylabel('strength')\n", "plt.title('L1 + penality')\n", "plt.show()\n", "\n", "print('top 10 periods: ',np.argsort(periodE)[::-1][:10]+1)" ] }, { "cell_type": "markdown", "id": "06f21e61", "metadata": {}, "source": [ "## With L1 with no penalty" ] }, { "cell_type": "code", "execution_count": 7, "id": "6825ca79", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:58:33.334483Z", "start_time": "2022-01-14T03:58:28.054515Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "top 10 periods: [ 3 7 6 2 79 77 75 71 72 76]\n" ] } ], "source": [ "periodE = sp.PeriodStrength(x_noise,Pmax=80,method='Ramanujan',lambd=0, L=1, cvxsol=True)\n", "\n", "plt.stem(np.arange(len(periodE))+1,periodE)\n", "plt.xlabel('period (in samples)')\n", "plt.ylabel('strength')\n", "plt.title('L1 + no penality')\n", "plt.show()\n", "\n", "print('top 10 periods: ',np.argsort(periodE)[::-1][:10]+1)" ] }, { "cell_type": "markdown", "id": "48fe1067", "metadata": {}, "source": [ "## With L2 and sparse penalty" ] }, { "cell_type": "code", "execution_count": 8, "id": "dce63fc7", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:59:02.003089Z", "start_time": "2022-01-14T03:59:00.315242Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEWCAYAAACufwpNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAfWElEQVR4nO3dfbhVdZ338feHA+qR1AOJDhxBcCK6MU2M24e7pkynQKqBqTSfEs1Sr3S0xjC4J8uuyXLG6cky0ZlbxSy1zJTMIqO0cnQSU0FUkkjlKUETnzgpwvf+Y/02bjf7EdZm73PO53Vd59pr/db6rf1dWzyfsx72bykiMDMzy8OAVhdgZmZ9h0PFzMxy41AxM7PcOFTMzCw3DhUzM8uNQ8XMzHLjUDHrZyTdLuljafp4ST9vdU3WdzhUrN+S9Jikvy/Tfoik2yT9RdJaST+QNLwVNTZbRHw3It5TmJcUkt7Qypqsd3OomG1pCHA5MBrYG3geuLKejpJOknRV0yoza3MOFbMSEfHTiPhBRDwXEeuBbwFvy/t90pHSLEkPSXpG0pWSdipa/j5J90taJ+m/Je1f0vfTkhZKelbS9YW+koZIuiUdZT2TpveqUMNJkn6bpn+dmh+Q9IKkD0t6UNL7i9YfJOkpSQfk/XlY3+BQMavtHcDiJm37eGAS8LfAG4HPAkg6ELgCOA14PXAZMFfSjkV9jwYmA2OA/YGTUvsAsiOrvYFRQA9ZMFYVEe9Ik2+JiNdFxPXA1cAJRatNAVZHxP0N7qf1Ew4VsyrS0cHngBlNeotvRcTyiPgLcAFwbGr/OHBZRPxPRGyMiDnAS8AhRX0vjohVqe+PgQMAIuLpiPhhRKyPiOfTdt+5lfVdA0yRtGua/wjwna3clvUDDhWzCtIF658CZ0fEb6qs9+10imod8G3guMK8pIU13mZ50fTjwIg0vTdwTtF21gEji5YD/Lloej3wulTPzpIuk/S4pOeAXwNdkjpq7XOpiFgF3Al8UFIXcCTw3Ua3Y/3HwFYXYNaOJO0N/AL414io+pd5RHwC+ETqdxJwWEScVOdbjSyaHgWsStPLgQsi4oIGyi44BxgHHBwRf07XP+4DtBXbApgDfIzs98VdEbFyK7dj/YCPVKy/GyRpp6KfgZK6gV8Cl0TE7Ca//xmS9pI0FPi/wPWp/T+B0yUdrMxgSe+VtEsd29yF7DrKurTdzzdQz5PAPiVtNwEHAmeTXWMxq8ihYv3drWS/gAs/55P9Vb4P8Pl0F9QLkl5o0vt/D/g5sCz9fBEgIhaQXVf5FvAMsJRXL8TX8nWgE3gKuBv4WQP1nA/MSafcjk619AA/JLsh4MYGtmX9kPyQLrPWkPQY8LGI+EWra6lF0ueAN0bECTVXtn7N11TMrKp0Cu0Usju/zKry6S8zq0jSx8luGvhpRPy61vpmPv1lZma58ZGKmZnlpl9fU9l9991j9OjRrS7DzKxXuffee5+KiGHllvXrUBk9ejQLFixodRlmZr2KpMcrLfPpLzMzy41DxczMcuNQMTOz3DhUzMwsNw4VMzPLTb+++6sZbrpvJRfNW8KqdT2M6OpkxqRxTJvQ3eqyzMy2C4dKjm66byWzblxEz4aNAKxc18OsGxcBOFjMrF/w6a8cXTRvyeZAKejZsJGL5i1pUUVmZtuXQyVHq9b1NNRuZtbXOFRyNKKrs6F2M7O+xqGSoxmTxtE5qOM1bZ2DOpgxaVyLKjIz2758oT5HhYvx596wkJc3bqLbd3+ZWT/jUMnZtAndXPu7JwC4/rRDW1yNmdn25dNfZmaWG4eKmZnlxqFiZma5caiYmVlumhoqkiZLWiJpqaSZZZZL0sVp+UJJB9bqK2mopNskPZpeh6T2QZLmSFok6WFJs5q5b2ZmtqWmhYqkDuAS4EhgPHCspPElqx0JjE0/pwKX1tF3JjA/IsYC89M8wFHAjhGxH/BW4DRJo5uzd2ZmVk4zj1QOApZGxLKIeBm4Dphass5U4OrI3A10SRpeo+9UYE6angNMS9MBDJY0EOgEXgaea86umZlZOc0MlW5gedH8itRWzzrV+u4ZEasB0useqf0G4EVgNfAE8B8R8Zdt3w0zM6tXM0NFZdqiznXq6VvqIGAjMAIYA5wjaZ8tipJOlbRA0oK1a9fW2KSZmTWimaGyAhhZNL8XsKrOdar1fTKdIiO9rkntxwE/i4gNEbEGuBOYWFpURFweERMjYuKwYcO2asfMzKy8ZobKPcBYSWMk7QAcA8wtWWcucGK6C+wQ4Nl0Sqta37nA9DQ9Hbg5TT8BHJ62NRg4BHikWTtnZmZbatrYXxHxiqQzgXlAB3BFRCyWdHpaPhu4FZgCLAXWAydX65s2fSHwfUmnkAXJUan9EuBK4EGy02dXRsTCZu2fmZltqakDSkbErWTBUdw2u2g6gDPq7ZvanwaOKNP+Aq8GjJmZtYC/UW9mZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeXGoWJmZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeXGoWJmZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeXGoWJmZrlxqJiZWW6aGiqSJktaImmppJlllkvSxWn5QkkH1uoraaik2yQ9ml6HFC3bX9JdkhZLWiRpp2bun5mZvVbTQkVSB3AJcCQwHjhW0viS1Y4ExqafU4FL6+g7E5gfEWOB+WkeSQOBa4DTI2Jf4DBgQ7P2z8zMttTMI5WDgKURsSwiXgauA6aWrDMVuDoydwNdkobX6DsVmJOm5wDT0vR7gIUR8QBARDwdERubtG9mZlZGM0OlG1heNL8itdWzTrW+e0bEaoD0ukdqfyMQkuZJ+r2kc8sVJelUSQskLVi7du1W7JaZmVXSzFBRmbaoc516+pYaCLwdOD69/qOkI7bYSMTlETExIiYOGzasxibNzKwRzQyVFcDIovm9gFV1rlOt75PpFBnpdU3Rtu6IiKciYj1wK3AgZma23TQzVO4BxkoaI2kH4Bhgbsk6c4ET011ghwDPplNa1frOBaan6enAzWl6HrC/pJ3TRft3Ag81a+fMzGxLA5u14Yh4RdKZZL/sO4ArImKxpNPT8tlkRxNTgKXAeuDkan3Tpi8Evi/pFOAJ4KjU5xlJXyULpABujYifNGv/zMxsS00LFYCIuJUsOIrbZhdNB3BGvX1T+9PAFtdK0rJryG4rNjOzFmhqqFjjbrpvJRfNW8KqdT2M6OpkxqRxTJtQetOcmVl7cqi0kZvuW8msGxfRsyH7es3KdT3MunERgIPFzHoFj/3VRi6at2RzoBT0bNjIRfOWtKgiM7PGOFTayKp1PQ21m5m1G4dKGxnR1dlQu5lZu3GotJEZk8bROajjNW2dgzqYMWlciyoyM2uML9S3kcLF+HNvWMjLGzfR7bu/zKyXcai0mWkTurn2d08AcP1ph7a4GjOzxvj0l5mZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpabur/8KKkb2Lu4T0T8uhlFmZlZ71RXqEj6N+DDZM98L4zNHoBDxczMNqv3SGUaMC4iXmpiLWZm1svVe01lGTComYWYmVnvV/VIRdI3yU5zrQfulzQf2Hy0EhFnNbc8MzPrTWqd/lqQXu8F5pYsi/zLMTOz3qxqqETEHABJZ0fEN4qXSTq7mYWZmVnvU+81lell2k7KsQ4zM+sDal1TORY4Dhgjqfj01y7A080szMzMep9a11T+G1gN7A58paj9eWBhs4oyM7PeqdY1lceBxwE/19bMzGqq9xv1z7Pl3V7Pkt0ddk5ELMu7MDMz633q/Ub9V4FVwPcAAccAfwMsAa4ADmtGcWZm1rvUe/fX5Ii4LCKej4jnIuJyYEpEXA8MaWJ9ZmbWi9QbKpskHS1pQPo5umiZvwRpZmZA/aFyPPARYA3wZJo+QVIncGaTajMzs16mrmsq6UL8+yss/m1+5ZiZWW9W791fw4CPA6N57UO6PtqcsszMrDeq9+6vm4HfAL/g1Yd0mZmZvUa9obJzRHymqZWYmVmvV++F+lskTWlqJWZm1uvVGypnkwXLXyU9J+l5Sc/V6iRpsqQlkpZKmllmuSRdnJYvlHRgrb6Shkq6TdKj6XVIyTZHSXpB0qfr3DczM8tJXaESEbtExICI2Ckidk3zu1brI6kDuAQ4EhgPHCtpfMlqRwJj08+pwKV19J0JzI+IscD8NF/sa8BP69kvMzPLV12hko4oTpB0XpofKemgGt0OApZGxLKIeBm4Dphass5U4OrI3A10SRpeo+9UYE6angNMK6pzGrAMWFzPfpmZWb7qPf31bbKRio9L8y+QHUlU0w0sL5pfkdrqWada3z0jYjVAet0DQNJg4DPAF6oVJelUSQskLVi7dm2NXTAzs0bUGyoHR8QZwF8BIuIZYIcafVSmrXRIl0rr1NO31BeAr0XEC9VWiojLI2JiREwcNmxYjU2amVkj6r2leEO6zhGw+cuQm2r0WQGMLJrfi2yk43rW2aFK3yclDY+I1elU2ZrUfjDwIUn/DnSRjVf214j4Vh37Z2ZmOaj3SOVi4EfAHpIuIBua5Us1+twDjJU0RtIOZMPlzy1ZZy5wYrpmcwjwbDqlVa3vXGB6mp5O9sVMIuLvImJ0RIwGvg58yYFiZrZ91TxSkTQA+BNwLnAE2ampaRHxcLV+EfGKpDOBeUAHcEVELJZ0elo+G7gVmAIsBdYDJ1frmzZ9IfB9SacATwBHNbbLZmbWLDVDJSI2SfpKRBwKPNLIxiPiVrLgKG6bXTQdwBn19k3tT5OFW7X3Pb+ROs3MLB/1nv76uaQPSip3Ad3MzAyo/0L9PwODgVck/ZXsFFjU+gKkmZn1L/U+T2WXZhdiZma9X73fqJ9fT5uZmfVvVY9UJO0E7AzsngZuLFxT2RUY0eTazMysl6l1+us04JNkAXIv6VoK8Dzg74CYmdlrVD39FRHfiIgxwAXAAWn6SrJBG+/aDvWZmVkvUu8txR+KiOckvR14N3AVaZh6MzOzgnpDpfBc+vcCsyPiZmoPKGlmZv1MvaGyUtJlwNHArZJ2bKCvmZn1E/UGw9Fk43BNjoh1wFBgRrOKMjOz3qneLz+uB24sml8NrG5WUWZm1jv5FJaZmeXGoWJmZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeXGoWJmZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeWmqaEiabKkJZKWSppZZrkkXZyWL5R0YK2+koZKuk3So+l1SGp/t6R7JS1Kr4c3c9/MzGxLTQsVSR3AJcCRwHjgWEnjS1Y7Ehibfk4FLq2j70xgfkSMBeaneYCngPdHxH7AdOA7Tdo1MzOroJlHKgcBSyNiWUS8DFwHTC1ZZypwdWTuBrokDa/RdyowJ03PAaYBRMR9EbEqtS8GdpK0Y5P2zczMymhmqHQDy4vmV6S2etap1nfPiFgNkF73KPPeHwTui4iXtrp6MzNr2MAmbltl2qLOderpW/5NpX2BfwPeU2H5qWSn2hg1alQ9mzQzszo180hlBTCyaH4vYFWd61Tr+2Q6RUZ6XVNYSdJewI+AEyPij+WKiojLI2JiREwcNmxYwztlZmaVNTNU7gHGShojaQfgGGBuyTpzgRPTXWCHAM+mU1rV+s4luxBPer0ZQFIX8BNgVkTc2cT9MjOzCpp2+isiXpF0JjAP6ACuiIjFkk5Py2cDtwJTgKXAeuDkan3Tpi8Evi/pFOAJ4KjUfibwBuA8SeeltvdExOYjGTMza65mXlMhIm4lC47ittlF0wGcUW/f1P40cESZ9i8CX9zGks3MbBv4G/VmZpYbh4qZmeXGoWJmZrlxqJiZWW4cKmZmlhuHipmZ5cahYmZmuXGomJlZbhwqZmaWG4eKmZnlxqFiZma5aerYX7Z93XTfSi6at4RV63oY0dXJjEnjmDah9LloZmbN41DpI266byWzblxEz4aNAKxc18OsGxcBOFjMbLvx6a8+4qJ5SzYHSkHPho1cNG9Jiyoys/7IodJHrFrX01C7mVkzOFT6iBFdnQ21m5k1g0Olj5gxaRydgzpe09Y5qIMZk8a1qCIz6498ob6PKFyMP/eGhby8cRPdvvvLzFrAodKHTJvQzbW/ewKA6087tMXVmFl/5NNfZmaWG4eKmZnlxqFiZma5caiYmVluHCpmZpYbh4qZmeXGtxRvo3IjA5uZ9VcOlW1QaWTgEbvtxO677Fj3NhxKZtZX+PTXNqg0MvDyZ+obxLEQSivX9RC8GkpPPf9SE6o1M2s+H6lsg0ojAL+8cVPFPsVHJgMkNka8ZnkhlOo90jEzayc+UtkGlUYA3qGj/MdaemRSGigF1ULJzKydOVS2QaWRgUcOKR825U6XlVMplMzM2p1/e22DaRO6+fIH9tscAt1dnXz5A/tVPHVVzwOzqoWSmVm7c6hso2kTupkwqouDxwzlzpmHVx1qvtYDs2qFkplZu3OobEeVTpf97e6D6wolM7N251DZjho9XWZm1tv4luLtrNyDtArzjfIXJ82s3fhIpZfyFyfNrB35SKUX2dYvTpYe2bzrTcP41SNrWbWuh906ByHBuvUbtlhWbn7GpHG+/mNmW2hqqEiaDHwD6AD+KyIuLFmutHwKsB44KSJ+X62vpKHA9cBo4DHg6Ih4Ji2bBZwCbATOioh5zdiv0l/OOw0cUPcv8kZPURX6r1zXg4BCjNTzxcni996tcxAvvvwKGzZm/Vau6+Gau1897bauZ8Pm6dJl5eZn/OABvvDjxXWH0LYE2LbM+73aa9t+r/bbdt5/ICoq/HLa5g1LHcAfgHcDK4B7gGMj4qGidaYA/0QWKgcD34iIg6v1lfTvwF8i4kJJM4EhEfEZSeOBa4GDgBHAL4A3RkTFbxtOnDgxFixY0NB+lQ4iCTBAMOb1g5n/6cMA+PBldwFw7EGjtli3c1DH5gEnC9dUCuuXzpfrX8sOHQOYMKprq/qaWf/TOaiDL39gv4aCRdK9ETGx7LImhsqhwPkRMSnNzwKIiC8XrXMZcHtEXJvmlwCHkR2FlO1bWCciVksanvqPK92+pHlpG3dVqnFrQuVtF/6Slet6OG3hzezz7Mri/eXgMUMBeGj1cwC8tGETL72y5S91Seyy00DGD9/1NeuXzlfqX8mAAWLHjgEMGjig4b5m1r8s262by/afCmR3ot458/C6+1YLlWZeqO8GlhfNr0ht9axTre+eEbEaIL3u0cD7IelUSQskLVi7dm1DOwSVvxVfHM7jh+/K+OG7VvylHhGbA6R4/Xr7F8vOIMKOAzvYZ/fBvGVkV919zcygvtE+6tXMayoq01Z6WFRpnXr6bs37ERGXA5dDdqRSY5tbGNHVycp1PZsTvqC7q5MPlyT9cemoplS5dcup1L+g2mFrrb5mZgW1RvtoRDOPVFYAI4vm9wJW1blOtb5PptNepNc1DbzfNqv0rfhyF+AbWbfe9yokZ+GLk5XOg5brO2iAGLLzIJT6n3DIKLq7OhHQ1Tmo4rJy6w7qKJfhZtbbNPI7qR7NPFK5BxgraQywEjgGOK5knbnAmZKuI7tQ/2y6VrK2St+5wHTgwvR6c1H79yR9lexC/Vjgd3nvVOGXeOkdXeV+uTey7ra+V97vXUu125P7y104ffW9+sp+9NX36rd3f8Hmu7u+TnZb8BURcYGk0wEiYna6pfhbwGSyW4pPjogFlfqm9tcD3wdGAU8AR0XEX9KyfwE+CrwCfDIiflqtvq25UG9m1t+15O6v3sChYmbWuFbd/WVmZv2MQ8XMzHLjUDEzs9w4VMzMLDf9+kJ9unX58Qa67A481aRytkW71gXtW1u71gXtW1u71gXtW1u71gXbVtveETGs3IJ+HSqNkrSg0h0PrdSudUH71taudUH71taudUH71taudUHzavPpLzMzy41DxczMcuNQaczlrS6ggnatC9q3tnatC9q3tnatC9q3tnatC5pUm6+pmJlZbnykYmZmuXGomJlZbhwqdZA0WdISSUslzWxxLVdIWiPpwaK2oZJuk/Roeh3SgrpGSvqVpIclLZZ0dhvVtpOk30l6INX2hXapLdXRIek+Sbe0WV2PSVok6X5JhdHDW16bpC5JN0h6JP17O7RN6hqXPqvCz3OSPtkmtX0q/dt/UNK16f+JptTlUKlBUgdwCXAkMB44VtL4FpZ0FdmjAorNBOZHxFhgfprf3l4BzomI/wUcApyRPqd2qO0l4PCIeAtwADBZ0iFtUhvA2cDDRfPtUhfAuyLigKLvM7RDbd8AfhYRbwLeQvbZtbyuiFiSPqsDgLeSPc7jR62uTVI3cBYwMSLeTPY4kWOaVldE+KfKD3AoMK9ofhYwq8U1jQYeLJpfAgxP08OBJW3wud0MvLvdagN2Bn5P9lC4ltdG9oTS+cDhwC3t9N8TeAzYvaStpbUBuwJ/It1k1C51lanzPcCd7VAb0A0sB4aSPZjxllRfU+rykUpthf8gBStSWzvZMyJWA6TXPVpZjKTRwATgf2iT2tIppvvJHj99W0S0S21fB84FNhW1tUNdAAH8XNK9kk5tk9r2AdYCV6ZThv8laXAb1FXqGODaNN3S2iJiJfAfZA81XE32hN2fN6suh0pt5R7G7vuwK5D0OuCHZE/efK7V9RRExMbITkvsBRwk6c0tLglJ7wPWRMS9ra6lgrdFxIFkp37PkPSOVhdE9pf2gcClETEBeJHWnh7cgqQdgH8AftDqWgDStZKpwBiyR60PlnRCs97PoVLbCmBk0fxewKoW1VLJk5KGA6TXNa0oQtIgskD5bkTc2E61FUTEOuB2sutSra7tbcA/SHoMuA44XNI1bVAXABGxKr2uIbs2cFAb1LYCWJGONAFuIAuZVtdV7Ejg9xHxZJpvdW1/D/wpItZGxAbgRuD/NKsuh0pt9wBjJY1Jf4EcA8xtcU2l5gLT0/R0susZ25UkAf8PeDgivtpmtQ2T1JWmO8n+J3uk1bVFxKyI2CsiRpP9u/plRJzQ6roAJA2WtEthmuwc/IOtri0i/gwslzQuNR0BPNTqukocy6unvqD1tT0BHCJp5/T/6RFkNzc0p65WXszqLT/AFOAPwB+Bf2lxLdeSnRfdQPZX2ynA68ku9j6aXoe2oK63k50WXAjcn36mtElt+wP3pdoeBD6X2lteW1GNh/HqhfqW10V27eKB9LO48O++TWo7AFiQ/nveBAxph7pSbTsDTwO7FbW1vDbgC2R/SD0IfAfYsVl1eZgWMzPLjU9/mZlZbhwqZmaWG4eKmZnlxqFiZma5caiYmVluHCpmFUg6XdKJDaw/WkWjR5csG140CvFESRfnVWfeJF0l6UNb0e99hRGgrf9yqJiVIWlgRMyOiKtz2uQ/A/8JEBELIuKsnLbbTn5CNkLAzq0uxFrHoWJ9UjpqeETSHEkL0/M3dk7L3irpjjRQ4ryioSpul/QlSXcAZ0s6X9Kn07IDJN2dtvWjwrMn0rYekHQXcEaVkj4I/Cz1OazoqOV8Zc/IuV3SMklbhE0aDPOq9CyMRZI+ldo/Lume9P4/LNq/qyRdquz5NsskvTO9x8OSrira7guSviLp95LmSxpW5r0rfVZnSXoofR7XAUT2pbfbgfc18t/K+haHivVl44DLI2J/4DngE2l8sm8CH4qItwJXABcU9emKiHdGxFdKtnU18Jm0rUXA51P7lcBZEXFopSIkjQGeiYiXKqzyJmAS2dhan081FjsA6I6IN0fEfuk9AW6MiP8d2XNiHiYbXaFgCNlw+p8Cfgx8DdgX2E/SAWmdwWRjVB0I3FG0T4W6q31WM4EJ6fM4vajbAuDvKn0W1vc5VKwvWx4Rd6bpa8iGkhkHvBm4TdlQ+J8lGyS04PrSjUjajSxs7khNc4B3lGn/ToU6hpMN117JTyLipYh4imxQvz1Lli8D9pH0TUmTyQIS4M2SfiNpEXA8WWgU/DgdOSwCnoyIRRGxiWzIldFpnU1F+1v4fIpV+6wWAt9VNtrtK0V91pCNhGv91MBWF2DWRKVjEAXZowwWVzmyeLGB7avMe5TTA+xUZXnxEcxGSv6/jIhnJL2F7GjmDOBo4KNkTwGdFhEPSDqJbPyw0m1uKtn+ptLtF79VyXy1z+q9wDvIhng/T9K+EfEK2X72VNi+9QM+UrG+bJSkwi/EY4Hfkj3tblihXdIgSftW2gBARDwLPCOpcFrnI8AdkQ2j/6ykwl/4x1fYxB949eigYZJ2BwZExA+B88iGegfYBVidTlNVeu9qBgCFu7yOI/t8ipX9rCQNAEZGxK/IHjDWBbwu9Xkj2aCF1k/5SMX6soeB6ZIuIxuJ9dKIeDndLntxOn01kOzpi4trbGs6MDtdDF8GnJzaTwaukLQemFeuY0S8KOmPkt4QEUu3Yj+6yZ50WPgjcFZ6PY/s6ZqPk53m2qXB7b4I7CvpXuBZ4MMldVf6rP4AXJPaBHwtBSzAu4rqs37IoxRbn6Tskca3RETLn/AIIOkfgbdGxGdbXUuBpBci4nW116x7e3sC34uII/LapvU+PlIx2w4i4keSXt/qOppsFHBOq4uw1vKRipmZ5cYX6s3MLDcOFTMzy41DxczMcuNQMTOz3DhUzMwsN/8fCS/7+W3rKckAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "top 10 periods: [ 3 7 11 2 6 5 10 9 14 13]\n" ] } ], "source": [ "periodE = sp.PeriodStrength(x_noise,Pmax=80,method='Ramanujan',lambd=1, L=2, cvxsol=False)\n", "\n", "plt.stem(np.arange(len(periodE))+1,periodE)\n", "plt.xlabel('period (in samples)')\n", "plt.ylabel('strength')\n", "plt.title('L2 + penality')\n", "plt.show()\n", "\n", "print('top 10 periods: ',np.argsort(periodE)[::-1][:10]+1)" ] }, { "cell_type": "markdown", "id": "1420178e", "metadata": {}, "source": [ "## With RFB" ] }, { "cell_type": "code", "execution_count": 9, "id": "d4192d1c", "metadata": { "ExecuteTime": { "end_time": "2022-01-14T03:59:20.588804Z", "start_time": "2022-01-14T03:59:19.527482Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "top 10 periods: [ 7 11 3 30 29 2 4 5 6 8]\n" ] } ], "source": [ "y,Plist = sp.RFB_prange(x=x_noise,Pmin=1,Pmax=30, Rcq=10, Rav=2, thr=0.2,return_filters=False)\n", "\n", "plt.figure(figsize=(15,5))\n", "im = plt.imshow(y.T,aspect='auto',cmap='jet',extent=[1,len(x_noise),30,1])\n", "plt.colorbar(im)\n", "plt.xlabel('sample (n)')\n", "plt.ylabel('period (in samples)')\n", "plt.show()\n", "\n", "Penrgy = np.sum(y,0)\n", "\n", "plt.stem(Plist,Penrgy)\n", "plt.xlabel('period (in samples)')\n", "plt.ylabel('strength')\n", "plt.show()\n", "\n", "print('top 10 periods: ',Plist[np.argsort(Penrgy)[::-1]][:10])" ] }, { "cell_type": "code", "execution_count": null, "id": "915ec591", "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.8.8" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }