From f8ae404206b1872e56aae3654751179a4f4601f5 Mon Sep 17 00:00:00 2001 From: Nicolas Aspert <nicolas.aspert@epfl.ch> Date: Fri, 28 Feb 2025 15:21:57 +0100 Subject: [PATCH] exercises week3 --- .../Projections and signal restoration.ipynb | 1089 +++++++++++++++++ exercises/week03/images/pocs.png | Bin 0 -> 78708 bytes 2 files changed, 1089 insertions(+) create mode 100644 exercises/week03/Projections and signal restoration.ipynb create mode 100644 exercises/week03/images/pocs.png diff --git a/exercises/week03/Projections and signal restoration.ipynb b/exercises/week03/Projections and signal restoration.ipynb new file mode 100644 index 0000000..c7f71f0 --- /dev/null +++ b/exercises/week03/Projections and signal restoration.ipynb @@ -0,0 +1,1089 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "9692b307", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# Initialize Otter\n", + "import otter\n", + "grader = otter.Notebook(\"Projections and signal restoration.ipynb\")" + ] + }, + { + "cell_type": "markdown", + "id": "4133723e-952b-4b1c-bb3d-a7f78a957024", + "metadata": {}, + "source": [ + "# Matrix Analysis 2025 - EE312\n", + "\n", + "## Week 3 - Signal restoration using projections\n", + "[LTS2](https://lts2.epfl.ch)" + ] + }, + { + "cell_type": "markdown", + "id": "fb42154f-8832-4960-9fee-3372b473ef69", + "metadata": {}, + "source": [ + "Let us consider a signal with $N$ elements, i.e. a vector in $\\mathbb{R}^N$. \n", + "Under our observations conditions, we can only recover partially the signal's values, the other remain unknown, i.e. we know that:\n", + "\n", + "$x[k] = x_k$ for $k\\in E = \\{e_0, e_1, \\dots,e_{M-1}\\}$, with $E\\in\\mathbb{N}^M$ and $e_i\\neq e_j \\forall i\\neq j$ (i.e. each known index is unique).\n", + "\n", + "We also make the assumption that the signal is contained within **lower frequencies of the spectrum**. This can be expressed using the (normalized) Fourier matrix you have constructed last week $\\hat{W}$.\n", + "\n", + "In this notebook, we will try to reconstruct the signal by projecting its observation successively on the Fourier subspace defined above, then back to its original domain (with the constraint regarding its values), then on the Fourier domain, etc. This is a simplified version of a more general method called [\"Projection onto convex sets\" (POCS)](https://en.wikipedia.org/wiki/Projections_onto_convex_sets). The method is illustrated by the figure below (of course you do not project on lines but on spaces having larger dimension).\n", + "\n", + "\n", + "\n", + "### 1. Low-pass filter\n", + "Let us first create example signals to validate our implementation of the filtering operation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d238cbc9-055f-4d55-a6ae-29d83881e2f5", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "N = 100\n", + "k = np.arange(0, N)\n", + "w1 = 3\n", + "w2 = 7\n", + "w3 = 12\n", + "\n", + "# generate simple signals\n", + "x1 = np.cos(2*w1*np.pi*k/N) + np.sin(2*w2*np.pi*k/N)\n", + "x2 = np.sin(2*w1*np.pi*k/N) + np.cos(2*w3*np.pi*k/N)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59a703e8-f351-4a02-8278-12560a67b023", + "metadata": {}, + "outputs": [], + "source": [ + "# visualize the base signals\n", + "plt.plot(x1)\n", + "plt.plot(x2, 'r')" + ] + }, + { + "cell_type": "markdown", + "id": "09249ca9-e441-4537-9bc5-018be67bc099", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "1. Implement a function that returns the normalized Fourier matrix of size N (use your implementation from week 2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f886d8a6-4cb7-4187-ae4b-4615a06caa2d", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def fourier_matrix(N):\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e101a935", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q1\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62fae5a8-f3c4-477b-a53f-a0106730b842", + "metadata": {}, + "outputs": [], + "source": [ + "W_hat = fourier_matrix(N)" + ] + }, + { + "cell_type": "markdown", + "id": "1e0a2337-446d-49d3-8521-55d07a1539bc", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Let $X = \\hat{W}x$, $X$ is the *discrete Fourier transform* of the input signal $x$. The frequency condition can then be rewritten as \n", + "\n", + "$X[k] = 0$ for $w_c < k\\leq N-w_c$. \n", + "\n", + "2. Implement the function that returns a $N\\times N$ matrix $P$, s.t. $PX$ satisfies the above condition for a given $w_c$. Make sure the input values are valid, if not raise a `ValueError` exception." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aeed4067-1130-4e6c-9fbd-ab8d0a3a41c0", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def lowpass_matrix(N, w_c):\n", + " \"\"\"\n", + " Computes the P matrix that will remove high-frequency coefficients in a DFT transformed signal\n", + "\n", + " Parameters\n", + " ----------\n", + " N : length of the input signal\n", + " w_c : cutoff frequency\n", + "\n", + " Returns\n", + " -------\n", + " The P matrix\n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1f7f40c", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q2\")" + ] + }, + { + "cell_type": "markdown", + "id": "fef68750-d97f-4625-bd5e-5f13e7894f7d", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "3. Now let us try the filtering on the test signals and make sure it behaves appropriately. Using the matrix $P$ defined above, choose the parameter $w_c$ approiately s.t. the filtered signals retain $w_1$ and $w_2$ but discard $w_3$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc1370d5-c7b2-4598-b573-d57bec56aa1b", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "w_c = ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85787e70-1427-4860-8a7b-94d20432bd76", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Compute the DFT of x1 and x2\n", + "X1 = W_hat@x1\n", + "X2 = W_hat@x2\n", + "\n", + "# Get the lowpass filter matrix\n", + "P = lowpass_matrix(N, w_c)\n", + "\n", + "# Filter X1 and X2 and apply inverse DFT\n", + "x1_f = ...\n", + "x2_f = ..." + ] + }, + { + "cell_type": "markdown", + "id": "700eb2e2-3137-4916-a829-9e8e2ba8c6e5", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "NB: Make sure the filtered output is **real** (or its imaginary part should be smaller than $10^{-12}$)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e960728d-c2c0-4b9d-ab73-3db971f559a1", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# Plot the filtered signals\n", + "# x1_f should still contain both frequencies, x2_f only one\n", + "plt.plot(x1_f)\n", + "plt.plot(x2_f, 'r')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd892e03", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q3\")" + ] + }, + { + "cell_type": "markdown", + "id": "c34b8fc7-8a51-4fe5-a6ab-1cc27da2cd1e", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "4. Prove that $P$ is a projection." + ] + }, + { + "cell_type": "markdown", + "id": "610729bb", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "7f17f3ae-6a39-4e86-a29c-879c96b4e5fb", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "### 2. Signal extension\n", + "\n", + "In order to express the condition on $x[k]$ as a pure matrix operation we need to make use of an extension of the input signal and design a slightly different Fourier transform matrix to use properly those extended signals. \n", + "\n", + "Let us denote by $x_E$ the vector from $\\mathbb{R}^M$ containing the known values of $x$, i.e. the $x_k$ for $k\\in E$.\n", + "\n", + "For each vector $y$ in $\\mathbb{R}^N$ we define its extension as $\\tilde{y} = \\begin{pmatrix}y \\\\ x_E\\end{pmatrix}$. \n", + "\n", + "**This notation will remain throughout the notebook**, i.e. a vector with a tilde denotes its extension made by adding the $x_E$ values at the end." + ] + }, + { + "cell_type": "markdown", + "id": "f9434f5f-ceb9-42bf-9b5e-bd7d7a94dae8", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "5. Let us define the matrix $B_E$ and $y=B_E x$, s.t. $y[k] = 0$ if $k\\in E$ and $y[k] = x[k]$ otherwise. Write a function that returns its extended version $\\tilde{B_E}$ s.t. $\\tilde{y}=\\tilde{B_E}\\tilde{x}$, for any $x\\in\\mathbb{R}^N$. \n", + "\n", + "- $\\tilde{B_E}$ is a square matrix of size $N+M$.\n", + "- Check the validity of parameters and raise a `ValueError` in case of invalid inputs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dae1c4aa-c6ce-4f35-b309-aa6dd09e9abf", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def Bt_E(N, E):\n", + " \"\"\"\n", + " Computes the $\\tilde{B}_E$ matrix \n", + "\n", + " Parameters\n", + " ----------\n", + " N : length of the input signal\n", + " E : list of suitable indices. e.g. for N=5 a valid E could be [1, 3]\n", + "\n", + " Returns\n", + " -------\n", + " The $\\tilde{B}_E$ matrix \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2dddfff8", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q5\")" + ] + }, + { + "cell_type": "markdown", + "id": "853c1a3b-9ed9-461c-86f9-12992e07337d", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Let us know design $C_E$ as an operator from $\\mathbb{R}^{N+M} \\rightarrow \\mathbb{R}^{N+M}$ such that when applied to any extended vector $\\tilde{z}$ s.t. $\\tilde{z}[k] = 0, \\forall k\\in E$ as input (i.e. for instance the output of $\\tilde{B}_E$), it generates a vector $\\tilde{z}_R$ s.t.:\n", + "\n", + "$\\tilde{z}_R[k] = \\left\\{\\begin{matrix} x_k \\mbox{Â if } k\\in E \\\\ \\tilde{z}[k] \\mbox{ otherwise} \\end{matrix}\\right.$\n", + "\n", + "6. Write a function that generates $C_E$. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "932ae153-f336-4b0f-b7c0-774c02ccaad1", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def C_E(N, E):\n", + " \"\"\"\n", + " Computes the $C_E$ matrix \n", + "\n", + " Parameters\n", + " ----------\n", + " N : length of the input signal\n", + " E : list of suitable indices. e.g. for N=5 a valid E could be [1, 3]\n", + "\n", + " Returns\n", + " -------\n", + " The $C_E$ matrix \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "577b22ec", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q6\")" + ] + }, + { + "cell_type": "markdown", + "id": "0e57be3f-1c44-445a-86ad-07e20fbcd1d2", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "7. What is the effect of $D_E = C_E \\tilde{B}_E$ on an extended signal $\\tilde{x}$ ? " + ] + }, + { + "cell_type": "markdown", + "id": "273c0bc5", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "3b2caf03-41cb-41f9-93eb-778047b9b944", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "<!-- BEGIN QUESTION -->\n", + "\n", + "8. Verify (numerically on an example) that $D_E$ is a projector. You can use the function `numpy.testing.assert_array_almost_equal` to check that arrays are almost equal (with a good precision)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94dbc7f8-c2fc-4337-9828-dd2e3311830d", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "# Set some parameters\n", + "N=5\n", + "E=[1,3]\n", + "# Compute D_E\n", + "D_E = ...\n", + "# Now check that D_E is a projector\n", + "..." + ] + }, + { + "cell_type": "markdown", + "id": "7fb30993-5350-4e9b-aa45-b657b450a3a1", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "### 3. Extended signals in the Fourier domain\n", + "Let us now define an operator that will work almost as the normalized Fourier transform, except that it will be applied to the extended signals and preserve the $x_E$ part. This can be easily done using the following block matrix:\n", + "\n", + "$\\tilde{W} = \\begin{pmatrix}\\hat{W} & 0 \\\\0 & I_M\\end{pmatrix}$.\n", + "\n", + "\n", + "Using this definition, multiplying an extended signal $\\tilde{x}$ by $\\tilde{W}$ will result in a vector containing the Fourier transform of $x$ followed by $x_E$, preserving the known initial values." + ] + }, + { + "cell_type": "markdown", + "id": "3157e22e-f7d7-44b8-a4fd-9ddec1d7aa8a", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "9. Prove that $\\tilde{W}$ is orthonormal. " + ] + }, + { + "cell_type": "markdown", + "id": "0fd7c9a7", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "f140c720-eaed-4fd2-8b9f-6b99a1a5b0ff", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "10. Write a function that returns $\\tilde{W}$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b744a698-40d5-41a6-9623-76a19f50bcd2", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def Wt_E(N, E):\n", + " \"\"\"\n", + " Computes the $\\tilde{W}_E$ matrix \n", + "\n", + " Parameters\n", + " ----------\n", + " N : length of the input signal\n", + " E : list of suitable indices. e.g. for N=5 a valid E could be [1, 3]\n", + "\n", + " Returns\n", + " -------\n", + " The $\\tilde{W}_E$ matrix \n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94532bbb", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q10\")" + ] + }, + { + "cell_type": "markdown", + "id": "1afee45d-78e6-498b-905b-cbc97eeaf2d5", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "11. Recalling the low-pass matrix $P$ defined previously, build $\\tilde{P}$ s.t. when applied to $\\tilde{W}\\tilde{x}$ it results in a vector containing the filtered values (still in the Fourier domain) followed by $x_E$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4576bfbc-a249-4d89-919d-47763c8a60f9", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def Pt_E(N, M, w_c):\n", + " ..." + ] + }, + { + "cell_type": "markdown", + "id": "781d7752-74ae-4ec2-8ea2-4279b54ee5e7", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "12. A signal $\\tilde{x}$ will be filtered by doing $\\tilde{W}^H \\tilde{P}\\tilde{W}\\tilde{x}$.\n", + "Prove that this is a projection." + ] + }, + { + "cell_type": "markdown", + "id": "53c720a8", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "source": [ + "_Type your answer here, replacing this text._" + ] + }, + { + "cell_type": "markdown", + "id": "1c8c4469-7264-4968-b700-897be635a193", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "### 4. Signal restoration" + ] + }, + { + "cell_type": "markdown", + "id": "ac24806d-105d-4fbf-bc98-788dbcc7c0ba", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- BEGIN QUESTION -->\n", + "\n", + "13. We can now use all defined above to implement a function that performs an iteration, taking as input the extension of $x$ as defined above, that does the following:\n", + "- compute the filtered version of the signal using $\\tilde{W}^H \\tilde{P}\\tilde{W}$ (i.e. projecting on the space of \"smooth signals\")\n", + "- restore the known values in the signal by using $D_E = C_E\\tilde{B}_E$ (i.e project back on the space of signals having the known initial values we have set)\n", + "\n", + "Make sure to force the result to real values by using `np.real` before returning" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "155e3277-bcef-44ed-b53f-a1b2e5ad7363", + "metadata": { + "tags": [ + "otter_answer_cell" + ] + }, + "outputs": [], + "source": [ + "def restoration_iter(Wt, Pt, Dt, xt):\n", + " \"\"\"\n", + " Performs a full restoration iteration by\n", + " - projecting the signal into Fourier, performing low-pass filtering followed by inverse DFT\n", + " - restoring the known initial values into the filtered signal\n", + "\n", + " Parameters\n", + " ----------\n", + " Wt : \\tilde{W} matrix\n", + " Pt : \\tilde{P} matrix\n", + " Dt : \\tilde{D} matrix\n", + " xt : \\tilde{x} vector\n", + "\n", + " Returns\n", + " -------\n", + " The new $\\tilde{x} vector after the iteration\n", + " \"\"\"\n", + " ..." + ] + }, + { + "cell_type": "markdown", + "id": "758aa9ce-1ebc-49e1-b2f6-ca8e1035b31c", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n", + "<!-- BEGIN QUESTION -->\n", + "\n", + "15. Finally we are ready to apply all this to an example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b467649e-2a46-40f2-bc98-73c354fb0484", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# Setup an example\n", + "N = 100\n", + "w_c = 10 # cut-off\n", + "w1 = 3\n", + "w2 = 7\n", + "E = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95])\n", + "# E = np.array([0, 10, 20, 30, 40, 50, 60, 70, 80, 90]) # try with less known points\n", + "M = len(E)\n", + "x = np.cos(2*w1*np.pi*np.arange(0, N)/N) + np.sin(2*w2*np.pi*np.arange(0,N)/N) # original signal\n", + "\n", + "# Create a signal that is only noise, except at known initial values\n", + "y = np.random.rand(N) # \n", + "y[E] = x[E] # restore known values\n", + "xe = x[E]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "510b6f8f-b1c2-48b7-af00-eee8e55b5868", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "plt.plot(y) # plot the \"acquired\" signal\n", + "plt.plot(x, 'r+-', alpha=0.5) # plot the ground truth signal" + ] + }, + { + "cell_type": "markdown", + "id": "b71f1ff5-73d6-4bc1-ba06-1452c8bf8adb", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Generate $\\tilde{y}$ (this only need to be done once)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e0943bf-0f35-4837-b6db-1615ba466ae5", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "yt = np.append(y, xe) # SOLUTION" + ] + }, + { + "cell_type": "markdown", + "id": "c25239d9-3015-4a33-b0c0-0c906ee4129e", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Run a number of iterations of the method and plot the result:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6aaf1a71-6c2a-4f43-a51e-82b40cc6d6d0", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "def signal_restore(Wt, Pt, Dt, yt, niter=20):\n", + " yr0 = yt # initialize\n", + " for k in range(niter):\n", + " yr1 = restoration_iter(Wt, Pt, Dt, yr0)\n", + " yr0 = yr1\n", + " return yr1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "951418c2-ee12-4e8d-8f58-cba29d26dd7e", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "Wt = Wt_E(N, E)\n", + "Dt = C_E(N, E)@Bt_E(N, E)\n", + "Pt = Pt_E(N, M, w_c)\n", + "yr = signal_restore(Wt, Pt, Dt, yt)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43b3d939-eeb2-4171-9293-0076f1c06c83", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "plt.plot(yr[:N]) # plot reconstructed signal\n", + "plt.plot(x, 'r+', alpha=0.7) # plot original for comparison" + ] + }, + { + "cell_type": "markdown", + "id": "bf876405-b60c-4f7c-9162-56d58cafd19f", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Depending on $M$, you will find that the method can reconstruct perfectly the signal or not. " + ] + }, + { + "cell_type": "markdown", + "id": "94962762", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "<!-- END QUESTION -->\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "738294c5", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Submission\n", + "\n", + "Make sure you have run all cells in your notebook in order before running the cell below, so that all images/graphs appear in the output. The cell below will generate a zip file for you to submit. **Please save before exporting!**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7d10d7ed", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# Save your notebook first, then run this cell to export your submission.\n", + "grader.export(pdf=False, run_tests=True)" + ] + }, + { + "cell_type": "markdown", + "id": "159a45fb", + "metadata": {}, + "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.11.10" + }, + "otter": { + "OK_FORMAT": true, + "tests": { + "q1": { + "name": "q1", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> from scipy.linalg import dft\n>>> np.testing.assert_array_almost_equal(fourier_matrix(16), dft(16, scale='sqrtn'))\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> W = fourier_matrix(8)\n>>> np.testing.assert_array_almost_equal(np.conj(W.T) @ W, np.eye(8))\n", + "failure_message": "Check your implementation, resulting matrix should be orthogonal.", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns an orthogonal matrix" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q10": { + "name": "q10", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> from scipy.linalg import dft\n>>> w = Wt_E(12, [1, 2, 4])\n>>> assert w.shape == (15, 15)\n>>> np.testing.assert_array_almost_equal(w[:12, :12], dft(12, scale='sqrtn'))\n>>> np.testing.assert_array_almost_equal(w[12:, 12:], np.eye(3))\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> with np.testing.assert_raises(ValueError):\n... Wt_E(10, [12, 5])\n>>> with np.testing.assert_raises(ValueError):\n... Wt_E(8, [2, -1])\n>>> with np.testing.assert_raises(ValueError):\n... Wt_E(5, [1, 2, 3, 4, 5])\n>>> with np.testing.assert_raises(ValueError):\n... Wt_E(0, [])\n", + "failure_message": "Did you forget to validate the input parameters before performing the computation ?", + "hidden": false, + "locked": false, + "success_message": "Good, you properly validated parameters before computing the result" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q2": { + "name": "q2", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> np.testing.assert_array_almost_equal(lowpass_matrix(20, 0), np.zeros((20, 20)))\n>>> B = np.eye(16)\n>>> B[8:9, 8:9] = 0\n>>> np.testing.assert_array_almost_equal(lowpass_matrix(16, 8), B)\n>>> B[4:13, 4:13] = 0\n>>> np.testing.assert_array_almost_equal(lowpass_matrix(16, 4), B)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> with np.testing.assert_raises(ValueError):\n... lowpass_matrix(0, 0)\n>>> with np.testing.assert_raises(ValueError):\n... lowpass_matrix(16, -1)\n>>> with np.testing.assert_raises(ValueError):\n... lowpass_matrix(32, 17)\n", + "failure_message": "Did you forget to validate the input parameters before performing the computation ?", + "hidden": false, + "locked": false, + "success_message": "Good, you properly validated parameters before computing the result" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q3": { + "name": "q3", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> assert w_c > w2 and w_c < w3\n", + "failure_message": "Check your value of w_c", + "hidden": false, + "locked": false, + "success_message": "Your value of w_c looks correct" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q5": { + "name": "q5", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> B = np.eye(4)\n>>> B[1, 1] = 0\n>>> np.testing.assert_array_almost_equal(Bt_E(3, [1]), B)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> N = 5\n>>> E = [1, 3]\n>>> E2 = [1, 1, 3, 3, 3]\n>>> B = np.array([[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]])\n>>> np.testing.assert_array_almost_equal(Bt_E(N, E), B)\n>>> np.testing.assert_array_almost_equal(Bt_E(N, E2), B)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> with np.testing.assert_raises(ValueError):\n... Bt_E(10, [12, 5])\n>>> with np.testing.assert_raises(ValueError):\n... Bt_E(8, [2, -1])\n>>> with np.testing.assert_raises(ValueError):\n... Bt_E(5, [1, 2, 3, 4, 5])\n>>> with np.testing.assert_raises(ValueError):\n... Bt_E(0, [])\n", + "failure_message": "Did you forget to validate the input parameters before performing the computation ?", + "hidden": false, + "locked": false, + "success_message": "Good, you properly validated parameters before computing the result" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q6": { + "name": "q6", + "points": null, + "suites": [ + { + "cases": [ + { + "code": ">>> N = 5\n>>> E = [1, 3]\n>>> E2 = [1, 1, 3, 3]\n>>> C = np.array([[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]])\n>>> np.testing.assert_array_almost_equal(C_E(N, E), C)\n>>> np.testing.assert_array_almost_equal(C_E(N, E2), C)\n", + "failure_message": "Check your implementation", + "hidden": false, + "locked": false, + "success_message": "Good, your implementation returns correct results" + }, + { + "code": ">>> with np.testing.assert_raises(ValueError):\n... C_E(10, [12, 5])\n>>> with np.testing.assert_raises(ValueError):\n... C_E(8, [2, -1])\n>>> with np.testing.assert_raises(ValueError):\n... C_E(5, [1, 2, 3, 4, 5])\n>>> with np.testing.assert_raises(ValueError):\n... C_E(0, [])\n", + "failure_message": "Did you forget to validate the input parameters before performing the computation ?", + "hidden": false, + "locked": false, + "success_message": "Good, you properly validated parameters before computing the result" + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/exercises/week03/images/pocs.png b/exercises/week03/images/pocs.png new file mode 100644 index 0000000000000000000000000000000000000000..1802bed09435c3d7aea274cbe855941c3676c508 GIT binary patch literal 78708 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 Jc)>E@{{ZT&d{h7c literal 0 HcmV?d00001 -- GitLab