{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# `mcsm-benchs`: Benchmarks with personalized noise-generating functions" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from numpy import pi as pi\n", "import pandas as pd\n", "import scipy.signal as sg\n", "from matplotlib import pyplot as plt\n", "from mcsm_benchs.Benchmark import Benchmark\n", "from mcsm_benchs.ResultsInterpreter import ResultsInterpreter\n", "from utils import spectrogram_thresholding, get_stft\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating a dummy dictionary of methods \n", "First let us define a dummy method for testing. Methods should receive a numpy array with shape ```(N,)``` where `N` is the number of time samples of the signal. Additionally, they can receive any number of positional or keyword arguments to allow testing different combinations of input parameters. The shape of the output depends on the task (signal denoising or detection). So the recommended signature of a method should be the following:\n", "\n", " `output = a_method(noisy_signal, *args, **kwargs) `.\n", "\n", "If one set `task='denoising'`, `output` shoud be a `(N,)` numpy array, i.e. the same shape as the input parameter `noisy_signal`, whereas if `task='detection'`, the output should be boolean (`0` or `False` for no signal, and `1` or `True` otherwise).\n", "\n", "After this, we need to create a *dictionary of methods* to pass the `Benchmark` object at the moment of instantiation." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def method_1(noisy_signal, *args, **kwargs):\n", " # If additional input parameters are needed, they can be passed in a tuple using \n", " # *args or **kwargs and then parsed.\n", " xr = spectrogram_thresholding(noisy_signal,1.0,fun='hard')\n", " return xr\n", "\n", "def method_2(noisy_signal, *args, **kwargs):\n", " # If additional input parameters are needed, they can be passed in a tuple using \n", " # *args or **kwargs and then parsed.\n", " xr = spectrogram_thresholding(noisy_signal,2.0,fun='soft') \n", " return xr\n", "\n", "# Create a dictionary of the methods to test.\n", "my_methods = {\n", " 'Method 1': method_1, \n", " 'Method 2': method_2,\n", " }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Benchmarks with different kinds of noise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to instantiate a `Benchmark` object and run a benchmark using the proposed methods.\n", "\n", "The `Benchmark` constructor receives a number of input parameters.\n", "The parameter `complex_noise` can be `True` or `False` indicating if the simulations are to be done using white complex Gaussian noise or not.\n", "However, if a function is passed instead of a `bool` variable, the function is called in order to obtain a different realization of noise.\n", "The noise generator function must receive an `int` variable indicating the length of the time series to generate:\n", "`noise = noise_generator_fun(N,) `.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Real White Gaussian noise (default)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAHHCAYAAAC2rPKaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjA0lEQVR4nO29ebgcVbX+/1aPZx6Sk5zMCUmAkAQIQkDCFBBFRARFBr0iCHL1a5DLD0FEvXKF64QoeL1BBRW4qDgiqCCDzDNhJgMQQkLm4eTMQ8/790f33rW7uqq6qrqqu071+jwPDzl9+nRXV3fXXvtd71pLYYwxEARBEARBBJBQrQ+AIAiCIAjCKyjQIQiCIAgisFCgQxAEQRBEYKFAhyAIgiCIwEKBDkEQBEEQgYUCHYIgCIIgAgsFOgRBEARBBBYKdAiCIAiCCCwU6BAEQRAEEVgo0CEIn6MoCi6++OKy97vtttugKAo2bdrk/UEByOVyWLx4Mb7zne9U5fmqTTXO59q1axGJRLB69WrPnsMqy5cvx/Lly2t9GAThOhToEIRH/PGPf4SiKPjrX/9a8ruDDz4YiqLg0UcfLfndrFmzsGzZMleO4aabbsJtt93mymNpufPOO7FlyxbdIGzjxo24+OKLsd9++6GpqQlNTU1YuHAhVqxYgddff92T4xmPLFy4EKeccgq+9a1vWbo/D74aGhqwbdu2kt8vX74cixcvdvswCWJcQ4EOQXjE0UcfDQB46qmnim4fHBzE6tWrEYlE8PTTTxf9bsuWLdiyZYv4Wzuce+65GBsbw+zZs8VtXgY6P/zhD3HOOeegvb296PZ//OMfWLx4Me644w6ceOKJuOGGG/CTn/wEJ598Mu677z4sWbIE7733nifH5CZ659MLvvjFL+Kvf/0rNmzYYPlvkskkvv/977t6HA8++CAefPBBVx+TIPxApNYHQBBBZdq0adhnn31KAp1nn30WjDGceeaZJb/jPzsJdMLhMMLhsPMDtsErr7yC1157DT/60Y+Kbt+wYQPOOecczJ49Gw8//DCmTp1a9Psf/OAHuOmmmxAK+X+PVa3zeeKJJ6KzsxO33347rrnmGkt/s2TJEtxyyy246qqrMG3aNFeOIxaLufI4BOE3/H+1IYhxzNFHH41XXnkFY2Nj4rann34aixYtwsknn4znnnsOuVyu6HeKouCoo44qeay7774bixcvRjwex6JFi3D//fcX/V7rKZkzZw7WrFmDxx9/HIqiQFGUIg9Gf38/Lr30UsycORPxeBzz58/HD37wg6LjMeLuu+9GLBbDscceW3T7ddddh5GREdx6660lQQ4ARCIRXHLJJZg5c6a47fXXX8f555+PuXPnoqGhAVOmTMEFF1yAvXv3Fv3t+eefjzlz5pQ85n/9139BUZSi2x566CEcffTR6OjoQEtLC/bff398/etfL7rPT3/6UyxatAhNTU3o7OzEYYcdht/97nfi93oenXvuuQennHIKpk2bhng8jnnz5uHaa69FNpstemyeQlq7di2OP/54NDU1Yfr06bjuuutKjj8ajWL58uW45557Sn5nxNe//nVks1lLqk4mk8G1116LefPmIR6PY86cOfj617+OZDJZcsxaj065cwQA27ZtwwUXXIDu7m7x2fz1r39t+bUQhNeQokMQHnL00UfjjjvuwPPPPy8WkaeffhrLli3DsmXLMDAwgNWrV+Oggw4Sv1uwYAEmTpxY9DhPPfUU7rrrLnzpS19Ca2sr/ud//gdnnHEGNm/eXHJfzo033ogvf/nLaGlpwTe+8Q0AQHd3NwBgdHQUxx13HLZt24YvfOELmDVrFp555hlcddVV2LFjB2688UbT1/XMM89g8eLFiEajRbf/4x//wPz583HEEUdYPkcPPfQQ3n33XXzuc5/DlClTsGbNGtx8881Ys2YNnnvuuZIgphxr1qzBRz/6URx00EG45pprEI/H8c477xSlCW+55RZccskl+OQnP4n/+I//QCKRwOuvv47nn38en/70pw0f+7bbbkNLSwsuu+wytLS04JFHHsG3vvUtDA4O4oc//GHRffv6+vDhD38Yn/jEJ3DWWWfhz3/+M6688koceOCBOPnkk4vue+ihh+Kee+7B4OAg2trayr7GffbZB5/97Gdxyy234Gtf+5qpqvP5z38et99+Oz75yU/iK1/5Cp5//nl873vfw7p163T9Y3bO0a5du/D+979fGOYnTZqEf/7zn7jwwgsxODiISy+9tOxrIQjPYQRBeMaaNWsYAHbttdcyxhhLp9OsubmZ3X777Ywxxrq7u9nKlSsZY4wNDg6ycDjMLrrooqLHAMBisRh75513xG2vvfYaA8B++tOfittuvfVWBoBt3LhR3LZo0SJ23HHHlRzXtddey5qbm9nbb79ddPvXvvY1Fg6H2ebNm01f14wZM9gZZ5xRdNvAwAADwE4//fSS+/f19bE9e/aI/0ZHR8Xv5H9z7rzzTgaAPfHEE+K28847j82ePbvkvldffTWTL2U33HADA8D27NljePynnXYaW7Rokelr1Dufesf6hS98gTU1NbFEIiFuO+644xgA9n//93/itmQyyaZMmVJy3hhj7He/+x0DwJ5//nlLx7Rq1Sq2YcMGFolE2CWXXFL0vPLrevXVVxkA9vnPf77ocS6//HIGgD3yyCNFfyt/VqycowsvvJBNnTqV9fT0FN1+zjnnsPb2dt3zRRDVhlJXBOEhBxxwACZOnCi8N6+99hpGRkZEVdWyZcuE0vDss88im83q+nNOPPFEzJs3T/x80EEHoa2tDe+++66j4/rTn/6EY445Bp2dnejp6RH/nXjiichms3jiiSdM/37v3r3o7Owsum1wcBAA0NLSUnL/5cuXY9KkSeK/lStXit81NjaKfycSCfT09OD9738/AODll1+2/do6OjoA5NNMRmm4jo4ObN26FatWrbL12PKxDg0NoaenB8cccwxGR0fx5ptvFt23paUFn/nMZ8TPsVgMhx9+uO57xs9lT0+P5WOZO3cuzj33XNx8883YsWOH7n3uu+8+AMBll11WdPtXvvIVAMC9995r+PjlzhFjDH/5y19w6qmngjFW9Dk66aSTMDAw4Oj9Iwi3oUCHIDxEURQsW7ZMeHGefvppTJ48GfPnzwdQHOjw/+sFOrNmzSq5rbOzE319fY6Oa/369bj//vuLgo9JkybhxBNPBADs3r277GMwxop+bm1tBQAMDw+X3PcXv/gFHnroIfzmN78p+V1vby/+4z/+A93d3WhsbMSkSZOwzz77AAAGBgZsv7azzz4bRx11FD7/+c+ju7sb55xzDv74xz8WBT1XXnklWlpacPjhh2PffffFihUrSirg9FizZg0+/vGPo729HW1tbZg0aZIIZrTHOmPGjJK0m9F7xs+l3TTdN7/5TWQyGUOvznvvvYdQKCQ+b5wpU6ago6PDtPqt3Dnas2cP+vv7cfPNN5d8jj73uc8BsPY5IgivIY8OQXjM0Ucfjb///e944403hD+Hs2zZMlxxxRXYtm0bnnrqKUybNg1z584teQyj6h9tsGGVXC6HD37wg/jqV7+q+/v99tvP9O8nTpxYsmC3t7dj6tSpus3vuGdHr/neWWedhWeeeQZXXHEFlixZgpaWFuRyOXz4wx8uCk6MggCtEbixsRFPPPEEHn30Udx77724//778Yc//AEnnHACHnzwQYTDYRxwwAF466238I9//AP3338//vKXv+Cmm27Ct771LXz729/WfZ7+/n4cd9xxaGtrwzXXXIN58+ahoaEBL7/8Mq688soS9cjOe8bPZVdXl+7fGDF37lx85jOfwc0334yvfe1rhvezG0ABKHuO+Ov9zGc+g/POO0/3Mbj3jCBqCQU6BOExcj+dp59+usigeeihhyIej+Oxxx7D888/j4985COuPrfRAjdv3jwMDw8LBccuCxYswMaNG0tuP+WUU/DLX/4SL7zwAg4//PCyj9PX14eHH34Y3/72t4ua5q1fv77kvp2dnejv7y+5XU+VCIVC+MAHPoAPfOAD+PGPf4zvfve7+MY3voFHH31UvObm5macffbZOPvss5FKpfCJT3wC3/nOd3DVVVehoaGh5DEfe+wx7N27F3fddVdRtZneebDLxo0bEQqFygaYenzzm9/Eb37zG/zgBz8o+d3s2bORy+Wwfv16HHDAAeL2Xbt2ob+/v2yPILNzNGnSJLS2tiKbzTr+HBFENaDUFUF4zGGHHYaGhgb89re/xbZt24oUnXg8jve9731YuXIlRkZGHPXPMaO5uVk3ODjrrLPw7LPP4oEHHij5XX9/PzKZjOnjHnnkkVi9enVJifJXv/pVNDU14YILLsCuXbtK/k6rZnDVQ3u7XtXXvHnzMDAwUNRZeceOHSWVQ729vSV/u2TJEgAQx6stXY/FYli4cCEYY0in0yV/b3SsqVQKN910k+797fDSSy9h0aJFJc0XrTBv3jx85jOfwS9+8Qvs3Lmz6Hc8cNaezx//+McA8oGpEeXOUTgcxhlnnIG//OUvuirenj17bL8WgvACUnQIwmNisRiWLl2KJ598EvF4HIceemjR75ctWyYa77kd6Bx66KH42c9+hv/+7//G/PnzMXnyZJxwwgm44oor8Le//Q0f/ehHcf755+PQQw/FyMgI3njjDfz5z3/Gpk2bTNMop512Gq699lo8/vjj+NCHPiRu33ffffG73/0On/rUp7D//vvj3/7t33DwwQeDMYaNGzfid7/7HUKhEGbMmAEAaGtrw7HHHovrrrsO6XQa06dPx4MPPqir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AqfnOhQKYf78+QCAJUuWYN26dfje975HgY4Bds/zhg0bsGnTJpx66qnitlwuBwCIRCJ46623MG/ePG8PehzixjU6Go3ikEMOwTvvvOPFIQKg1JUjYrEYDj30UDz88MPitlwuh4cffrgoUpU58sgji+4PAA899JDh/Qln55mwj9PzfN111+Haa6/F/fffj8MOO6wahzruceszncvlkEwmvTjEQGD3PC9YsABvvPEGXn31VfHfxz72MRx//PF49dVXMXPmzGoe/rjBjc9zNpvFG2+8galTp3p1mFRe7pTf//73LB6Ps9tuu42tXbuW/fu//zvr6OgQZXLnnnsu+9rXvibu//TTT7NIJMKuv/56tm7dOnb11VdTebkF7J7nZDLJXnnlFfbKK6+wqVOnsssvv5y98sorbP369bV6CeMCu+f5+9//PovFYuzPf/5zUZno0NBQrV7CuMHuuf7ud7/LHnzwQbZhwwa2du1adv3117NIJMJuueWWWr2EcYHd86yFqq6sYfc8f/vb32YPPPAA27BhA3vppZfYOeecwxoaGtiaNWs8O0YKdCrgpz/9KZs1axaLxWLs8MMPZ88995z43XHHHcfOO++8ovv/8Y9/ZPvttx+LxWJs0aJF7N57763yEY9P7JznjRs3MgAl/x133HHVP/Bxhp3zPHv2bN3zfPXVV1f/wMchds71N77xDTZ//nzW0NDAOjs72ZFHHsl+//vf1+Coxx92r9EyFOhYx855vvTSS8V9u7u72Uc+8hH28ssve3p8CmOMeacXEQRBEARB1A7y6BAEQRAEEVgo0CEIgiAIIrBQoEMQBEEQRGChQIcgCIIgiMBCgQ5BEARBEIGFAh2CIAiCIAILBToEQRAEQQQWCnQIgvAExhj+/d//HRMmTICiKHj11VdrfUgEQdQh1DCQIAhP+Oc//4nTTjsNjz32GObOnYuuri5EIjRHmCCI6kJXHYIgPGHDhg2YOnUqli1bpvv7VCqFWCxW5aMiCKLeoNQVQRCuc/755+PLX/4yNm/eDEVRMGfOHCxfvhwXX3wxLr30UnR1deGkk04CAKxevRonn3wyWlpa0N3djXPPPRc9PT3isUZGRvDZz34WLS0tmDp1Kn70ox9h+fLluPTSS8V9FEXB3XffXXQMHR0duO2228TPW7ZswVlnnYWOjg5MmDABp512GjZt2lR0zKeffjquv/56TJ06FRMnTsSKFSuQTqfFfZLJJK688krMnDkT8Xgc8+fPx69+9SswxjB//nxcf/31Rcfw6quvQlEUvPPOO5WfVIIgHEGBDkEQrvOTn/wE11xzDWbMmIEdO3Zg1apVAIDbb78dsVgMTz/9NH7+85+jv78fJ5xwAg455BC8+OKLuP/++7Fr1y6cddZZ4rGuuOIKPP7447jnnnvw4IMP4rHHHsPLL79s63jS6TROOukktLa24sknn8TTTz+NlpYWfPjDH0YqlRL3e/TRR7FhwwY8+uijuP3223HbbbcVBUuf/exnceedd+J//ud/sG7dOvziF79AS0sLFEXBBRdcgFtvvbXoeW+99VYce+yxmD9/voOzSBCEK3g6MpQgiLrlhhtuYLNnzxY/H3fcceyQQw4pus+1117LPvShDxXdtmXLFgaAvfXWW2xoaIjFYjH2xz/+Ufx+7969rLGxkf3Hf/yHuA0A++tf/1r0OO3t7ezWW29ljDF2xx13sP3335/lcjnx+2QyyRobG9kDDzzAGMtPq549ezbLZDLiPmeeeSY7++yzGWOMvfXWWwwAe+ihh3Rf77Zt21g4HGbPP/88Y4yxVCrFurq62G233WZylgiC8Bry6BAEUTUOPfTQop9fe+01PProo2hpaSm574YNGzA2NoZUKoUjjjhC3D5hwgTsv//+tp73tddewzvvvIPW1tai2xOJBDZs2CB+XrRoEcLhsPh56tSpeOONNwDk01DhcBjHHXec7nNMmzYNp5xyCn7961/j8MMPx9///nckk0mceeaZto6VIAh3oUCHIIiq0dzcXPTz8PAwTj31VPzgBz8oue/UqVMte1sURQHTFJDK3prh4WEceuih+O1vf1vyt5MmTRL/jkajJY+by+UAAI2NjWWP4/Of/zzOPfdc3HDDDbj11ltx9tlno6mpydJrIAjCGyjQIQiiZrzvfe/DX/7yF8yZM0e39HzevHmIRqN4/vnnMWvWLABAX18f3n777SJlZdKkSdixY4f4ef369RgdHS16nj/84Q+YPHky2traHB3rgQceiFwuh8cffxwnnnii7n0+8pGPoLm5GT/72c9w//3344knnnD0XARBuAeZkQmCqBkrVqxAb28vPvWpT2HVqlXYsGEDHnjgAXzuc59DNptFS0sLLrzwQlxxxRV45JFHsHr1apx//vkIhYovXSeccAL+93//F6+88gpefPFFfPGLXyxSZ/7t3/4NXV1dOO200/Dkk09i48aNeOyxx3DJJZdg69atlo51zpw5OO+883DBBRfg7rvvFo/xxz/+UdwnHA7j/PPPx1VXXYV9990XRx55pDsniiAIx1CgQxBEzZg2bRqefvppZLNZfOhDH8KBBx6ISy+9FB0dHSKY+eEPf4hjjjkGp556Kk488UQcffTRJV6fH/3oR5g5cyaOOeYYfPrTn8bll19elDJqamrCE088gVmzZuETn/gEDjjgAFx44YVIJBK2FJ6f/exn+OQnP4kvfelLWLBgAS666CKMjIwU3efCCy9EKpXC5z73uQrODEEQbkGdkQmCGHcsX74cS5YswY033ljrQynhySefxAc+8AFs2bIF3d3dtT4cgqh7yKNDEAThAslkEnv27MF//dd/4cwzz6QghyB8AqWuCIIgXODOO+/E7Nmz0d/fj+uuu67Wh0MQRAFKXREEQRAEEVhI0SEIgiAIIrBQoEMQBEEQRGChQIcgCIIgiMBCgQ5BEARBEIGFAh2CIAiCIAILBToEQRAEQQQWCnQIgiAIgggsFOgQBEEQBBFYKNAhCIIgCCKw/P9JDfXTr0lPuQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Benchmark class uses np.random.randn(N,) to generate noise realizations\n", "n = np.random.randn(1024)\n", "\n", "f, Pxx_den = sg.welch(n)\n", "plt.semilogy(f, Pxx_den)\n", "plt.xlabel('frequency')\n", "plt.ylabel('PSD')\n", "plt.title('White (Gaussian) Noise')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running benchmark...\n", "- Signal LinearChirp\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ " 0%| | 0/2 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MethodParameterSignal_idRepetition4050
6Method 1((), {})CosChirp035.81059635.848604
7Method 1((), {})CosChirp135.07693736.675817
8Method 1((), {})CosChirp234.87839735.250035
0Method 1((), {})LinearChirp040.71698045.830269
1Method 1((), {})LinearChirp140.76175144.879363
2Method 1((), {})LinearChirp240.50627544.715266
9Method 2((), {})CosChirp022.32583321.801351
10Method 2((), {})CosChirp120.85085721.708549
11Method 2((), {})CosChirp221.08030921.317084
3Method 2((), {})LinearChirp035.73372637.497704
4Method 2((), {})LinearChirp135.19378436.680307
5Method 2((), {})LinearChirp236.44812337.518342
\n", "" ], "text/plain": [ " Method Parameter Signal_id Repetition 40 50\n", "6 Method 1 ((), {}) CosChirp 0 35.810596 35.848604\n", "7 Method 1 ((), {}) CosChirp 1 35.076937 36.675817\n", "8 Method 1 ((), {}) CosChirp 2 34.878397 35.250035\n", "0 Method 1 ((), {}) LinearChirp 0 40.716980 45.830269\n", "1 Method 1 ((), {}) LinearChirp 1 40.761751 44.879363\n", "2 Method 1 ((), {}) LinearChirp 2 40.506275 44.715266\n", "9 Method 2 ((), {}) CosChirp 0 22.325833 21.801351\n", "10 Method 2 ((), {}) CosChirp 1 20.850857 21.708549\n", "11 Method 2 ((), {}) CosChirp 2 21.080309 21.317084\n", "3 Method 2 ((), {}) LinearChirp 0 35.733726 37.497704\n", "4 Method 2 ((), {}) LinearChirp 1 35.193784 36.680307\n", "5 Method 2 ((), {}) LinearChirp 2 36.448123 37.518342" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "benchmark = Benchmark(task = 'denoising', # defines the default performance function\n", " methods = my_methods, # dictionary of methods\n", " N = 256, # Length of the signals\n", " SNRin = [40, 50], # SNRs to use during the test\n", " repetitions = 3, # Number of noise realizations to use\n", " signal_ids=['LinearChirp', 'CosChirp',], # Signals to use\n", " complex_noise=False # Real white Gaussian Noise\n", " ) \n", " \n", "benchmark.run() # Run the test.\n", "results_df = benchmark.get_results_as_df() # This formats the results on a DataFrame\n", "results_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pink noise\n", "Let's first import a function to generate colored noise, and later pass it as a parameter to the ```Benchmark``` class constructor." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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li1bhjvvvBPf/e53UVhYiBUrVgAA9u7di0svvRSZmZkoLi7GjTfeiNbWVuWx+vr6cNNNNyEzMxOlpaV45JFHsGzZMnz3u99VbiNJEt544w2vNeTm5uL5559Xvq6rq8N1112H3Nxc5Ofn48orr8SJEye81nzVVVfh4YcfRmlpKQoKCrBq1SrYbDblNhaLBT/84Q9RXl4Oo9GISZMm4Y9//CNkWcakSZPw8MMPe61h165dkCQJR44cGfmLSkTDwkCIiGLu8ccfxy9+8QuMGzcOZ86cwdatWwEAL7zwAgwGAz7++GM89dRT6OzsxOc+9znMmzcP27Ztw9q1a9HU1ITrrrtOeazvf//7+PDDD/H3v/8d7777Lj744APs2LEjrPXYbDasWLECWVlZ2LRpEz7++GNkZmbi85//PKxWq3K7DRs24OjRo9iwYQNeeOEFPP/8817B1E033YQ///nP+J//+R/s378fTz/9NDIzMyFJEm699VY899xzXs/73HPP4cILL8SkSZOG8SoSUURE9UhXIqIAHn30UbmyslL5eunSpfK8efO8bnPffffJl1xyiddldXV1MgD54MGDck9Pj2wwGOS//OUvyvVtbW1yWlqafNdddymXAZBff/11r8fJycmRn3vuOVmWZflPf/qTPGXKFNnpdCrXWywWOS0tTX7nnXdkWXadNl5ZWSnb7XblNtdee618/fXXy7IsywcPHpQByO+9957f7/f06dOyVquVP/30U1mWZdlqtcqFhYXy888/H+RVIqJoY40QESWM+fPne329e/dubNiwAZmZmYNue/ToUfT398NqtWLx4sXK5fn5+ZgyZUpYz7t7924cOXIEWVlZXpcPDAzg6NGjytczZsyAVqtVvi4tLcWePXsAuLa5tFotli5d6vc5ysrKcPnll+PZZ5/FokWL8Oabb8JiseDaa68Na61EFFkMhIgoYWRkZHh93dvbiyuuuAIPPPDAoNuWlpaGXFsjSRJknwZZdW1Pb28v5s+fj5deemnQfYuKipS/6/X6QY/rdDoBAGlpaUOu4z/+4z9w44034tFHH8Vzzz2H66+/Hunp6SF9D0QUHQyEiChhnX322fjb3/6Gqqoqv631EydOhF6vx6effoqKigoAQEdHBw4dOuSVmSkqKsKZM2eUrw8fPgyz2ez1PK+88grGjBmD7OzsYa111qxZcDqd+PDDD1FdXe33NpdddhkyMjLw5JNPYu3atdi4ceOwnouIIofF0kSUsFatWoX29nZ89atfxdatW3H06FG88847uOWWW+BwOJCZmYnbbrsN3//+9/H+++9j7969uPnmm6HReP9q+9znPof//d//xc6dO7Ft2zZ885vf9MrufP3rX0dhYSGuvPJKbNq0CcePH8cHH3yA73znO6ivrw9prVVVVVi5ciVuvfVWvPHGG8pj/OUvf1Fuo9VqcfPNN+NHP/oRJk+ejCVLlkTmhSKiYWMgREQJq6ysDB9//DEcDgcuueQSzJo1C9/97neRm5urBDsPPfQQLrjgAlxxxRWorq7G+eefP6jW6JFHHkF5eTkuuOACfO1rX8P3vvc9ry2p9PR0bNy4ERUVFfjSl76EadOm4bbbbsPAwEBYGaInn3wS11xzDf7zP/8TU6dOxe23346+vj6v29x2222wWq245ZZbRvDKEFGkcLI0EY06y5Ytw9y5c/HYY4/FeymDbNq0CRdddBHq6upQXFwc7+UQpTzWCBERxYDFYkFLSwvuvfdeXHvttQyCiBIEt8aIiGLgz3/+MyorK9HZ2YkHH3ww3sshIjdujREREVHKYkaIiIiIUhYDISIiIkpZDISIiIgoZTEQIiIiopTFQIiIiIhSFgMhIiIiSlkMhIiIiChlMRAiIiKilMVAiIiIiFLW/wc4Y0fqWH90aAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from utils import voss\n", "\n", "#Generates pink noise using the Voss-McCartney algorithm.\n", "noise_fun = lambda N : voss(N,)\n", "n = noise_fun(1024)\n", "\n", "f, Pxx_den = sg.welch(n)\n", "plt.semilogy(f, Pxx_den)\n", "plt.xlabel('frequency')\n", "plt.ylabel('PSD')\n", "plt.title('\"Pink\" Noise')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running benchmark...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 2/2 [00:00<00:00, 326.96it/s]\n", "100%|██████████| 2/2 [00:00<00:00, 187.86it/s]\n" ] }, { "data": { "application/vnd.microsoft.datawrangler.viewer.v0+json": { "columns": [ { "name": "index", "rawType": "int64", "type": "integer" }, { "name": "Method", "rawType": "object", "type": "string" }, { "name": "Parameter", "rawType": "object", "type": "string" }, { "name": "Signal_id", "rawType": "object", "type": "string" }, { "name": "Repetition", "rawType": "int64", "type": "integer" }, { "name": "40", "rawType": "float64", "type": "float" }, { "name": "50", "rawType": "float64", "type": "float" } ], "conversionMethod": "pd.DataFrame", "ref": "713eca56-060b-4884-a927-596363fd1960", "rows": [ [ "6", "Method 1", "((), {})", "CosChirp", "0", "35.191253900427874", "35.957056795925766" ], [ "7", "Method 1", "((), {})", "CosChirp", "1", "35.21097011601657", "35.96097297730517" ], [ "8", "Method 1", "((), {})", "CosChirp", "2", "36.105207479490396", "36.59253734802101" ], [ "0", "Method 1", "((), {})", "LinearChirp", "0", "40.90373217965868", "46.124983277231934" ], [ "1", "Method 1", "((), {})", "LinearChirp", "1", "41.337536424990205", "46.1517338307122" ], [ "2", "Method 1", "((), {})", "LinearChirp", "2", "40.51716790327063", "45.67065644413109" ], [ "9", "Method 2", "((), {})", "CosChirp", "0", "21.463604184151702", "21.583236440557503" ], [ "10", "Method 2", "((), {})", "CosChirp", "1", "21.182746516055516", "21.645560803085083" ], [ "11", "Method 2", "((), {})", "CosChirp", "2", "21.755695579662707", "21.611188720268245" ], [ "3", "Method 2", "((), {})", "LinearChirp", "0", "34.10727863360753", "37.31816091166175" ], [ "4", "Method 2", "((), {})", "LinearChirp", "1", "35.66935857362911", "37.79385378359949" ], [ "5", "Method 2", "((), {})", "LinearChirp", "2", "35.873981253824596", "37.46190339381166" ] ], "shape": { "columns": 6, "rows": 12 } }, "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MethodParameterSignal_idRepetition4050
6Method 1((), {})CosChirp035.19125435.957057
7Method 1((), {})CosChirp135.21097035.960973
8Method 1((), {})CosChirp236.10520736.592537
0Method 1((), {})LinearChirp040.90373246.124983
1Method 1((), {})LinearChirp141.33753646.151734
2Method 1((), {})LinearChirp240.51716845.670656
9Method 2((), {})CosChirp021.46360421.583236
10Method 2((), {})CosChirp121.18274721.645561
11Method 2((), {})CosChirp221.75569621.611189
3Method 2((), {})LinearChirp034.10727937.318161
4Method 2((), {})LinearChirp135.66935937.793854
5Method 2((), {})LinearChirp235.87398137.461903
\n", "
" ], "text/plain": [ " Method Parameter Signal_id Repetition 40 50\n", "6 Method 1 ((), {}) CosChirp 0 35.191254 35.957057\n", "7 Method 1 ((), {}) CosChirp 1 35.210970 35.960973\n", "8 Method 1 ((), {}) CosChirp 2 36.105207 36.592537\n", "0 Method 1 ((), {}) LinearChirp 0 40.903732 46.124983\n", "1 Method 1 ((), {}) LinearChirp 1 41.337536 46.151734\n", "2 Method 1 ((), {}) LinearChirp 2 40.517168 45.670656\n", "9 Method 2 ((), {}) CosChirp 0 21.463604 21.583236\n", "10 Method 2 ((), {}) CosChirp 1 21.182747 21.645561\n", "11 Method 2 ((), {}) CosChirp 2 21.755696 21.611189\n", "3 Method 2 ((), {}) LinearChirp 0 34.107279 37.318161\n", "4 Method 2 ((), {}) LinearChirp 1 35.669359 37.793854\n", "5 Method 2 ((), {}) LinearChirp 2 35.873981 37.461903" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "benchmark = Benchmark(task = 'denoising', # defines the default performance function\n", " methods = my_methods, # dictionary of methods\n", " N = 256, # Length of the signals\n", " SNRin = [40, 50], # SNRs to use during the test\n", " repetitions = 3, # Number of noise realizations to use\n", " signal_ids=['LinearChirp', 'CosChirp',], # Signals to use\n", " complex_noise=noise_fun, # \"Pink\" Noise\n", " verbosity=0,\n", " ) \n", " \n", "benchmark.run() # Run the test.\n", "results_df = benchmark.get_results_as_df() # This formats the results on a DataFrame\n", "results_df" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.10.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }