Skip to content

Instantly share code, notes, and snippets.

@SolarLiner
Last active March 22, 2021 15:51
Show Gist options
  • Save SolarLiner/f82f18f6255327d252c183a11682ed7e to your computer and use it in GitHub Desktop.
Save SolarLiner/f82f18f6255327d252c183a11682ed7e to your computer and use it in GitHub Desktop.
TP Traitement du Signal (Python + numpy, complet)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Traitement du Signal: TP d'initiation\n",
"\n",
"## Exercice 1"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from numpy import *\n",
"from numpy.fft import *\n",
"from matplotlib import pyplot as plt\n",
"import sounddevice as sd\n",
"import soundfile as sf"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440f97c40>]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"n = arange(-128, 128)\n",
"x = pow(1/2, n) * (n > 0)\n",
"X = fftshift(fft(x))\n",
"nn = linspace(-1/2, 1/2, len(X))\n",
"\n",
"plt.plot(nn, abs(X))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2) Le filtre est passe-bas"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440e89430>]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 3)\n",
"f = linspace(-1/2, 1/2, len(n))\n",
"pb = where((f < 0.25) & (f > -0.25), 1, 0)\n",
"X2 = pb * X\n",
"plt.plot(f, pb)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440e65340>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"f1 = 1/5\n",
"f2 = 1/3\n",
"f3 = 2/5\n",
"\n",
"y = cos(2 * pi * f1 * n) + cos(2 * pi * f2 * n) + cos(2 * pi * f3 * n)\n",
"\n",
"plt.plot(n, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2) La fréquence d'échantillonage est 1\n",
"\n",
"3) La fréquence à utiliser est 0.25 (au maximum) pour un filtre passe-bas"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440d7a1c0>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pb = where((f > -0.25) & (f < 0.25), 1, 0)\n",
"Y = fftshift(fft(y))\n",
"Y2 = Y * pb\n",
"y2 = real(ifft(ifftshift(Y2)))\n",
"\n",
"plt.subplot(2, 1, 1)\n",
"plt.title(\"FFT\")\n",
"plt.plot(f, abs(Y2))\n",
"\n",
"plt.subplot(2, 1, 2)\n",
"plt.title(\"Signal\")\n",
"plt.plot(n, y2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"5) Pour modifier le filtrage, il faut décaler la fréquence de coupure pour qu'elle soit en dessous de $ f_1 $. Par exemple, $ f_c = 0.1 $ conviendrait."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440d0bd60>]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEICAYAAABcVE8dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA0LklEQVR4nO3deXyU1b348c93ZrKvZCUQICABZJMl4gZqBRVXsLVutYhLsbdae7tZvb3d7a+tXpfWpVdc0V61LlWpGyKuuAABBdnXBBLITvZ1Zs7vj5kJEzJhmZlMMpnv+/XKi5nnOZnnHCbzne9zznnOI8YYlFJKDXyWvq6AUkqp0NCAr5RSEUIDvlJKRQgN+EopFSE04CulVITQgK+UUhFCA75SSkUIDfhKHUZEikSkRUQavX5OFxFz2Lb1IvK21/MOEWn3ev6/fd0WpbzZ+roCSvVTlxhj3vM8EZE898NUY4zd1y+IyNNAiTHmv3u/ekodP83wlVIqQmjAV0qpCKEBXynfXhORWvfPa17bq7y2/6yvKqeUP7QPXynf5vfQh5/RUx++Uv2dZvhKKRUhNOArpVSE0ICvlFIRQvQGKEopFRk0w1dKqQihAV8ppSKEBnyllIoQGvCVUipC9NsLrzIyMkxeXl5fV0MppcLK2rVrq4wxmb729duAn5eXR2FhYV9XQymlwoqIFPe0T7t0lFIqQmjAV0qpCKEBX4Wl7eUNfPORTzlQ19LXVVEqbGjAV2Fpy4F61u2t5YHlO/q6KkqFDQ34Kiw53UuCvLR2HzsrGvq4NqGxr6aZZ7/ocTxOqaPSgK/Ckt1xaA2ou9/Z1oc1CQ1jDLPu/oBfvbaR1g5HX1dHhSkN+CoseTL8K08exruby1lbfLCPa9S7lm0q73xsd+qCh8o/GvBVWPIEvUVnnkBmUgy/WboRu8PZx7XqHU1tdv7wxubO5w6HBnzlHw34Kiw53QE/McbGby4Zz8bSep76tKhvK9VL7n13O6W1LVxy0hAAHLqkufKTBnwVlhzugG+zCBdNymHOiVnct3w7+2qa+7hmwbV+Xy1Pf7aHa08dzoyRaQDYnQPzTEb1Pg34Kix5unQsFkFE+P28iVgE/uvVrzuz/3DXZnfwi1c2kJkUw+1zx2GzCAAa75W/NOCrsOQZtPUEwSGpcdx54Yl8sqOKxZ/s7suqBc2f3trK1rIG/jh/EsmxUVjF1VbN8JW/NOCrsOTJ8K3ugA/wnVOGc9GkHO5Zto01RTV9VbWgeHPDAZ7+rIgbZ45kzvhs4FBbNd4rf2nAV2HJ6SPgiwh//tYkhg2K49bn1lHV2NZX1QvInqomfvHKBqYMS+UXc8d1bve0VTN85S8N+CoseWZgero5PJJio3j4O9Ooa+ngxqfX0NRm74Pa+a+qsY2FT60myio8dM1Uom2HPqKdGb7O0lF+0oCvwpLDneVaLNJt34QhKTx49TS+Lq3jlufW0REm8/Ob2uzc8PQayutbeWLhyeQOiu+y/1CGrwFf+UcDvgpLDmM6B2x9OXd8NnfNn8SH2yq5/eUN/f6irJZ2B9//x1o2ltbx0NXTmDZ8ULcynoDv0ICv/NRv73il1JHYncZndu/tmlOGc7C5nXuWbaO1w8EDV00hxmYNUQ2PXUNrBzcuKWRNUQ1/+dbkzkHaw3m6rzTgK39phq/CktN55Azf45ZvjObXF4/n7Y1l3LSkkPrWjhDU7thVNLTyncdXsa74IH+9aipXFAzrsazVqgFfBUYDvgpLDmf3Adue3DBzJHd/azKf7apm/kOfsqO8fyynvLb4IJc8uJLt5Q08+t3pXOpeOqEnmuGrQGnAV2HJ4XQetUvH2xUnD+O5m06hvrWD+Q9/yr/WlWD6aLaLw2l4/JPdXLX4c2JsVl79wRnMPtF3N443m/bhqwBpwFdh6WiDtr6cMiqdf/9wJifmJPOTF9dzw9NrQn6LxJ0VjVzx6Ofc9eYWzszPZOmtZ3BiTvIx/a5FA74KkA7aqrDkOIZBW19yUuL4582nseSzIu5etpVz/ucjbpw5kkVnjSI5NqoXaupS1djGgyt28NzqvcRH27jvipO4bOpQ5Bi7pcArw9d5+MpPQQn4IvIkcDFQYYyZ6GO/AH8FLgSagYXGmHXBOLaKTI5jHLT1xWoRbpg5kjknZnP3sq089MFO/rGqmO+cMpxrTx1BTkpc0Oq5p6qJZz4v4sU1+2i1O7miYBg/PjefrKTY434ti87DVwEKVob/NPAQ8EwP+y8A8t0/pwB/d/+rlF8cTrAcR3bsy/D0eB66Zho3n1nHX1fs4JEPd/G/H+3mrDGZzJ04mDknZpOWEH3cr1te38q7m8p4e2MZn+2qJsrqWsL5h7PzOSEz0e/6HlotUwO+8k9QAr4x5mMRyTtCkXnAM8Y1SvaFiKSKSI4x5kAwjq8ij8Pp7LKOTiAm5abw+HUF7Ktp5h+rinlj/QHe31oBwJjsRKYNH8TorERGpCeQlRRDQoyVaKuVVruD5nYHZXUt7K1pZltZI2uLayiqdq3JPyozgR/PGcPVpwzzK6M/nEU0w1eBCVUf/lBgn9fzEvc2DfjKLw6D3106PRmWFs+dF5zIHXPHsbG0ng+3VbBu70He2VRG7Zqjz9/PSIxh2vBUrp4xnHPGZZGfnRTU+tmsmuGrwPSrQVsRWQQsAhg+fHgf10b1Z8c7LfN4iAiTclOYlJsCgDGG2uYOimuaqWpoo7nDQVuHg7hoK/HRVrKSYhmWFk9KXO8N+gJe6+FrwFf+CVXALwW8LyHMdW/rwhizGFgMUFBQoH/VqkeBDNoeLxFhUEI0g/zozw8mXS1TBSpU8/CXAgvE5VSgTvvvVSCCMWgbbjpXy3RowFf+Cda0zOeBs4EMESkBfgNEARhj/hd4C9eUzJ24pmVeH4zjqsgVzEHbcGHVefgqQMGapXP1UfYb4JZgHEspcA3aRmzA1z585SddWkGFpYjO8DXgKz9pwFdhyeE0kRfwdbVMFSAN+CosOY9jeeSBwmZxfVw14Ct/acBXYckegV067nivAV/5TQO+CkuROGjbmeHrLB3lJw34KixF4qCtZvgqUBrwVVhyOCM4w9eAr/ykAV+FJafTRNygref7TdfSUf7SgK/CUiQO2ooIVovoapnKbxrwVVhyRuCgLbimomqGr/ylAV+FpUjM8MH1JaerZSp/acBXYckZgYO24Gqzrpap/KUBX4UlRwQO2oJm+CowGvBVWLI7Ta/d8ao/s1oEu9PZ19VQYUoDvgpLThO6O171J1aL4NB4r/ykAV+FJbsjQgdtRXBohq/8pAFfhaWInZapGb4KgAZ8FZYicT188AR8jfjKPxrwVVhyOE3E3cQcwGYRdFam8pcGfBWWHBE6aGvRDF8FQAO+CjvGGFeGH4EB32YRXS1T+U0Dvgo7nngXkRm+6KCt8p8GfBV2PBluJA7a2qzapaP8pwFfhZ1IDvgW0UFb5T8N+CrseO7pGolr6dh00FYFICgBX0Tmisg2EdkpInf42L9QRCpF5Cv3z03BOK6KTA53ihuJg7YWHbRVAbAF+gIiYgUeBs4FSoA1IrLUGLP5sKL/NMbcGujxlPJk+JE4aGuzCB06aqv8FIwMfwaw0xiz2xjTDrwAzAvC6yrlkyfDjcQM36oZvgpAMAL+UGCf1/MS97bDfUtENojIyyIyzNcLicgiESkUkcLKysogVE0NRJ6AF4kZvgZ8FYhQDdr+G8gzxkwGlgNLfBUyxiw2xhQYYwoyMzNDVDUVbiJ50NYq0tl+pY5XMAJ+KeCdsee6t3UyxlQbY9rcTx8HpgfhuCpCRfKgrd7iUAUiGAF/DZAvIiNFJBq4CljqXUBEcryeXgpsCcJxVYSK5EFbvcWhCkTAs3SMMXYRuRVYBliBJ40xm0Tk90ChMWYpcJuIXArYgRpgYaDHVZEr0gdt7dqHr/wUcMAHMMa8Bbx12LZfez2+E7gzGMdSKtIHbZ0a8JWf9EpbFXY6M/xIHLTVDF8FQAO+CjuRvJaOVTTDV/7TgK/CTiQP2tqsmuEr/2nAV2EnkgdtLaKzdJT/NOCrsBPJg7Y27cNXAdCAr8JOJA/a6mqZKhAa8FXYieRBW72nrQqEBnwVdjrX0onAgK8ZvgqEBnwVdpya4fd1NVSY0oCvwo49ggdtdbVMFQgN+CrsRPKgrdViwRj04ivlFw34KuxE8qCt1f2J1Sxf+UMDvgo7kTxoa7W4PrLaj6/8oQFfhZ1IHrTtzPA14Cs/aMBXYSeiB23dGb5ebav8oQFfhR1nBK+lY3U3WQdtlT804Kuw48luI/Im5lbN8JX/NOCrsBPRg7buLzldMVP5QwO+CjuRPGjrGbfQDF/5QwO+Cjv2CA74nnEL7cNX/tCAr8KOZvia4Sv/aMBXYSeSB209Gb7Ow1f+0ICvwo4zggdtbRrwVQA04KuwE8lr6XgWjNOAr/wRlIAvInNFZJuI7BSRO3zsjxGRf7r3rxKRvGAcV0Ume+dqmX1ckT6gGb4KhC3QFxARK/AwcC5QAqwRkaXGmM1exW4EDhpjRovIVcBfgCsDPbYvxhia2x298dKqn2jrcGC1CBKBffies5rGNjtNbfY+ro3qLRYR4qKtQX/dgAM+MAPYaYzZDSAiLwDzAO+APw/4rfvxy8BDIiLGBP/qkZqmdqbf9V6wX1b1M3FRwf8whIMYm+uk/OrHvujjmqjeNGVYKq/dckbQXzcYAX8osM/reQlwSk9ljDF2EakD0oEq70IisghYBDB8+HC/KhMfbeO/Lhzn1++q8HFCZmJfV6FPTM8bxF3zJ9Lcrtn9QJaVFNsrrxuMgB80xpjFwGKAgoICv7L/uGgri848Iaj1Uqq/iLFZufbUEX1dDRWmgjFoWwoM83qe697ms4yI2IAUoDoIx1ZKKXWMghHw1wD5IjJSRKKBq4Clh5VZClznfnw58H5v9N8rpZTqmQQj7orIhcADgBV40hjzRxH5PVBojFkqIrHAs8BUoAa4yjPIe4TXrASKA65c6GVw2NhEBNA2RwZtc3gYYYzJ9LUjKAFfHSIihcaYgr6uRyhpmyODtjn86ZW2SikVITTgK6VUhNCAH3yL+7oCfUDbHBm0zWFO+/CVchOR7wDXGWPO6+XjnA38wxiT25vHUepwmuGriCMiM0XkMxGpE5EaEflURE42xvxfbwd7pfpSv7rSVqneJiLJwBvAfwAvAtHALKCtL+ulVChohh8gEUkTkeUissP976AjlE0WkRIReSiUdQy2Y2mziEwRkc9FZJOIbBCRXlkd1Q9jAIwxzxtjHMaYFmPMu8aYDSKyUERWegqKyHkisk9EHO6zgd0icpN730IRWSki94tIu4h0iMhWz9LfInK9iGwRkQb3793cJ609Tsew1PlPRGSz+z1dISJhv87D0drsVe5bImJEJGynaWrAD9wdwApjTD6wwv28J38APg5JrXrXsbS5GVhgjJkAzAUeEJHU0FWxR9sBh4gsEZELevqCFpEMXCu7RgHjgN8BI4Ecr2KnAFnAU8Bt7sd/ce+rAC4GkoHrgftFZFrwmxM8XkudXwCMB64WkfGHFfsSKDDGTMb1/3N3aGsZXMfYZkQkCfgRsCq0NQwuDfiBmwcscT9eAsz3VUhEpgPZwLuhqVavOmqbjTHbjTE73I/34wqAPq/+CyVjTD0wEzDAY0CliCwVkezDil6I60rv9e523A/UAVO8yhTjuhLzaVz/D4OAOe6lv980xuwyLh/het9n9V7LgqJzqXNjTDvgWeq8kzHmA2NMs/vpF7jWzgpnR22z2x9wfZm3hrJywaYBP3DZxpgD7sdluIJ6FyJiAe4FfhbKivWio7bZm4jMwNVXvqu3K3YsjDFbjDEL3bNkJgJDcC0N4m0I0MChZb0NUIkrqHuU4V762ysINgLp7rOHL9yDwrW4vkAyeqlJweJrqfOhRyh/I/B2r9ao9x21ze4zs2HGmDdDWbHeoIO2x0BE3gMG+9j1S+8nxhgjIr7muf4AeMsYUxIud2kKQps9r5ODax2l64wxzuDWMnDGmK0i8jRwM7DMa9cBXPdsAEBcb1waXYNDT6KBV4AFwOvGmA4ReQ0Ijzf/GIjItUABcFZf16U3uZO1+4CFfVyVoNCAfwyMMXN62ici5SKSY4w54A5uFT6KnQbMEpEfAIlAtIg0GmOO1N/fp4LQZs+MmDeBXxpj+sUtmkRkHHAR8E/3F/Aw4Gpc3RPe3gQeAaa7l/T+PpAKHDysnGfp7xL38yRcZwYxuM4I7CJyAXAesDHoDQquY1nqHBGZg+uL/yxjTLjPbjpam5NwnQV+6E7WBgNLReRSY0xhyGoZJNqlEzjvpZ+vA14/vIAx5jvGmOHGmDxc3TrP9OdgfwyO2mb3Utmv4mrryyGs29E04BpsXSUiTbgC/Ubgp96FjDFVwLeBCbhWeJ2Iq/92zWGv5/1/AfCFMaYB1yDui7i+IK6h+5Lh/dFRlzoXkanAo8ClxhifX/Rh5ohtNsbUGWMyjDF57s/vF7jaHnbBHnDd9Ft//P/Bddq/AtgBvAekubcXAI/7KL8QeKiv693bbQauBTqAr7x+pvR13f1o64W4ZvbsAuqBbwC/x/WhB4gFXgJ2AquBUX1d5yC295fubd7tfQ8o93pPl/Z1nXu7zYeV/RDXLKU+r7c/P7q0glI9EJHzcU3DawF+DtyCK6C39GnFlPKTduko1bPTcGV9VcAlwHwN9iqcaYavlFIRQjN8pZSKEP12WmZGRobJy8vr62oopVRYWbt2bZXp4Z62/Tbg5+XlUVgYnjOflFKqr4hIcU/7tEtHKaUiREQG/IqGVsrrw3oNJKVUGNtX00xdc0fIjxtxAd8Yw4InVnPjksMvmFRKqd7ndBq++ffP+NE/vwz5sSMu4H+wrYKtZQ1sLK2nrE6zfKVUaG0oraOyoY0Pt1WyeX99SI8dcQH/0Y92kxTjGqv+aPtAWApEKRVOPtxWgQjER1tZ/HFoVwyPqIDvdBrW7T3I1acMZ3ByLB9uq+zrKimlIsyH2yo5KTeVOSdmU1h8+OKrvSuiAn5VYxsdDsOwQXGcNSaTlTur0CuNlVKhUt/awfqSWs4ak0nuoDjK6lpxOEMXgyIq4O9399nnpMQxfkgyDa12KhvDfTlvpVS4KKpqwhgYPySZnNQ47E5DVQhjUL+98Ko3HKh1rXuVkxqLzeq6+VBxdTNZSbF9WS2lVIQoqnbdCTMvPQGbxRWD9te2kJ0cmhgUURl+qTvgD02NIy89AXB94yqlVCgUu+PN8LR4hqTGAbC/NnSzBSMrw69rJS7KSkpcFAkxNqwWobi6+ei/qJRSQVBU3czg5Fjioq0MSXEF/AN1oVtxO8ICfgtDUmMREaKsQu6gOIqqNcNXSoVGcXUTI9LjAUiOsxEfbQ1phh9hXTqtnadRACPSE44p4L+4Zh9vbjjQm1VTSoWx51bt5Z2NZUctV1Td1NmdLCIMSY1jf61m+L3iQG0LY8ceWjU0Lz2eL4sPuu716LojfTfLNpVx+ysbsFqEtIRoTjshPVTVVUqFgaXr9/Nfr35NlFV4YdFpTB8xyGe5htYOqhrbGZER37ktJyU2pF06EZPht9udVDa2dcvwG9rs1DS19/g7v3hlA5OGppCXHs/PXlqPM4RzZpVS/VtTm507X9nAtOGpDE6J5ecvr+/x2p5irxk6HkNT4zqni4dCxAT8ysY2jIHBXtOf8tx9aUU9DNyuLT5IbXMHt83O57bZ+ZTWtvDlviNfGdfcbud/lm3j1S9Lgld5pVTIGGN46tM9/P3DXXQ4nEcs+8G2CpraHfxi7jgWzRrF7sqmHieCeLZ7+vABBqfEUtnQdtTjBEvEdOl4liJNjY/q3JaX4fqmLa5u8nkatnJnJTaLcOqoNAwQZRXe/rqM6SPSfB6jpd3BvIc+ZUdFIwCVDW0sOvOEo9ZtX00zmUkxxEZZj7dZSqlj0Nhmp6G1g5yUuKOWvevNLTyxcg/gCugvfO9ULBbfXb5vbywjIzGagry0zrn0n+ys6owt3jzjhd4Z/qD4aADqWzpIT4w5vkb5IWIy/IZWV8BPjj0U8HMHxWGRnjP8T3ZUMW34IJJio0iOjWLm6Aze2VTW4ynbS2v3saOikYevmcb5E7K5Z9m2zrn/vlQ3tnHpQyuZdfcHnP/Ax2w5cPSV83ZXNrJ8cznVeoWwimD7a1t4b3M5JQePPq161e5qzr7nQ0770/tc+/gqWtodPZbdUFLLEyv3cO2pw/ntJeNZvaeG97aU+yzb2uHgg60VnDt+MFaLMCI9nmFpcXyy3fcaXcXVTWQmxZAQcyjP9iSgtS2hWRs/KAFfROaKyDYR2Skid/jYHyMi/3TvXyUiecE47vGob7UDkBx3KODH2KwMSY2j2MdMnYNN7XxdWses/IzObXMnDqbkYAtbyxq6le9wOHn0o91MHzGICycN5teXTADg0Y98r4ZnjOH2lzewtayBn58/ltYOBwufWk19a89v/GMf7+acez/ie88Ucu79H/PBtiOv9rlu70EWPVPIgidX81LhvqOuG1Tf2sE7G8tYuaOKNnvPHwpvoVwHRPW9Y32/m9vtfLitguWby2ntOPLfkt3h5MmVe/juE6u45bl17Cjv/vny9q91Jcy57yNueqaQs+75kNe+LO2x7P7aFm54eg3JsTZum53Pyp1V3PXm5h7LP/j+TpJjbfxi7jiuPXUEw9LieOTDXT4/O5/vrqa53cH5E7IB16ybWfmZfLar2mcXTVF1c2c3skeKOx7VhSjgB9ylIyJW4GHgXKAEWCMiS40x3v+rNwIHjTGjReQq4C/AlYEe+3jUt3TP8MF1euUrw1+39yDGwCmjDs3KOXOMa4bPJzsqOTEnuUv5FVsqKK1t4TeXjEdEGJoax7em5fLCmn3cNjufjMNO15au38+KrRX85pLxXH/GSGaOzuCyRz7l3mXb+N28id3q8/zqvfzxrS1cNCmHq2YM4/+9tZX/+MdaXrr5dCblpnQr/+znRfx66SbSE2JIjrPx85c38O7mch68eqrPrqNnvyjmz29tocmd/QxNjeO3l07g3PHZ3coaY3ixcB9PfVrE1rIGspJiuGzqUL535qhu7QRXkHhnYxkrtpZT2dBGXnoCF0/OYcbINJ+zoxxOw+o9NWzaX0eHwzAyI55TR6WT6j799VWf4upmDtS1EhNlYXRWYrf3+XDtdidOY4ixWXqcodVb2uwOrCLYrEfOtw42tbOrstG14F9aHENT43qsa3VjG5/tqmZvTTNxUVYmDk1h2vBUn8dwOg0rd1bx1tcHKK1tYUhKHHPGZ3POuCysProuapraefiDnbz2ZSk1ze1Mzk3lppkjuXhyjs/6fLG7mp+/vJ59Na6z20HxUdw1fxIXTc7pVraupYMbn15DYfFBxg1OYkNJHcs3lfPXq6ZwwaTu5T/YVsHPXlrPyXlp/OecMfxtxQ5+/OJXJMXamH1i97/V3y7dhMMYltwwg2Fp8bR1OHj0491cNDmH00/I6FJ2e3kDyzeX859z8kly//0smjWKX72+iQ0ldZw0LLVL+Y+3VxJjs3CqV4w4dVQ6z63ay/byBiYM6fq5LK5uYlZ+13uLe/6mQ3X3q2D04c8AdhpjdgOIyAvAPMA74M8Dfut+/DLwkIiICeFSlZ7MOTmua5NHpMfz5tfd59ivL6nDIjBx6KHAnpMSx5jsRD7eXtWtb37p+lIyEqM5Z1xW57abZo3ihTX7eH7VXn44O79zu93h5P7l2xk3OInrTssD4KRhqSw4LY8lnxcxf+pQpg4/NKawo7yB3/17EzNHZ/C3q6ditQjP3pjMvIc+ZdGzhbx+6xld1gN67ctSfvX6JmaPy+KBq6aQEG3jyU/3cNebW7hpSSGLF0wnPtrWWZff/Xszz35RzJljMrnl7BOoa+ng/vd28L1nCll4eh53XjiOGJvrS6K4uok7Xvmaz3dXMzk3hR+cfQK7Kht57JPd/N+qvfzgGydwwxkjiY2y0m538u/1+3nkw53sqmwiIzGGnJRY/lVcwrNfFDM6K5FrZgzn4sk5JMdFsflAPW+sP8AbG/ZT0dC1y8oiMG34IL4xLovJuSk4DeysaKSwqIY1RQe7LUCVkxJLfnYSY7ISyUiKoanNTnF1M3trmtlf29I5iG+1CMmxNrKSYslOiSXWZsEigt1paO1w0Nxup7ndQUuHA2PAZhGsXj8Op8HuNNgdTgwQbbUQE2UhxmbtfOw0UNvcTk1TOweb2mlqd2ARyE6OZWhqHMPT4hmWFk9ctJWyula2lzewvbyxW5uyk2MoGJHGKaPSGJWRiMMYthyo54OtFawpquHw5DsjMYb5U4Ywf+pQRmclUt3Uzjsby/i/VcXsrmwiOdZGXkYCX5fW8c/CfYzOSuSn547hvAmuLorGNjtPfLKHxz7ZTXO7nQsm5ZA7KI4Ptlbww+e/5PnVe/ndpRPIz04CXGNYdy/bylOfFjEiPZ7HFxQQE2XhvuXbueW5deyqHMMPzxnd+SVR3djGgidXs728gfuvPIn5U4ZS3dTOomcK+dELX5EUG8VMrzPsXZWN3Pb8l4wdnMxT159MfLSNqcNTueyRz/j5yxt450ezyPKalLFsUxnvbi7nzgvGMSzNlVn/+Nwx/Hv9fv789lZev+WMLl9YT39WRIzNwgL3ZxLg0ilD+cMbW3j9q/0+A/4po9K7JFAnuZOvDSV1XQJ+c7ud8vq2HjP82hbfMwWDLRgBfyiwz+t5CXBKT2WMMXYRqQPSgSrvQiKyCFgEMHz48CBU7ZD6FleXTmJM1ybnpSdQ29xBbXN7lwxyQ0kt+VlJnYHR48z8TJ75opiWdgdx0a43uqG1g/e2VHDNjOFdMqrRWYmcOSaTZ78o5vtnn0CUe98r60ooqm7msQUFXQaDfnreGN7ZWMad//qapbfOJNpmobXDwW0vfEV8tI37rjipMwPLSIxh8YLpXP73z/n+s2t5+oYZJMdGsXxzOT99aT2njUrn4e9M6/xjvGnWKFLjo7n95fVc89gqfnfpBETgj29uYdWeGm4+cxS3zx3X+fpnjc3kL29v48lP97ByZxUXT85hf20Lr325nxibhT99cxJXFgzrrP+uykb+9NZW7n5nG49+tJvRWYnsrmzkYHMH4wYn8fA105g70RVIWtodvLFhP/9YtZffv7GZ379xKDeItlo4e2wml04ZwszRGdisFraV1fPRtkre31bBPcu2dXk/cgfFMSs/g5Pz0sjLiKepzcGOigZ2lDeyvbyBZ3dX02Z3YhEY4g6uZ4/NJCcljmibheZ2O3UtHZTVtVHR0Eq73YkxdN6gIj7aRnpiDPHR1s4vAofTid1hcDgNFovrqm2bxYKI68yh3e6kze6kze6gucn1d5eWEM3ozEQGJUQzKD6KdruT0tpWSg4288Xual79qhRjXMfMz0rk7LGZjM1OYnRWItE2C7sqG1lXfJDVe2q6JShjshO55RujmXNiNvnZiTS3O1i1u4al60tZ8nkRj7sHID1Oyk3h/itP4sJJOcTYrHQ4nLy9sYwHlm/nP/5vHVlJMeQOimNbWQNN7Q7mThjMz84fw+gsV2C//fxxPLd6L/e8s5UL/voJV5w8jPSEaF79spSSgy0sPD2P2+eO7fzszBiZxp2vfM19y7ezsbSOn50/lurGdv77ta8pOdjCYwsKOHtsVuff9VMLZ3Dl4s9Z9Gwhz944g+kj0qiob+V7SwqJtlp4zCthiY2y8rerpnDJQyv56UvrWXL9DCwWoaG1g9+8volxg5O4YebIzrbHRln58blj+PnLG3jz6wNcPHkI4PpC/te6EuZPGUpawqE4kBIXxTfGZfLvDfv55UUndn4+Smtb2FXZxNUzusap4WnxpMRFsaGkjqtnHNq+t8YzQ6frYG6qJ+CHUYYfNMaYxcBigIKCgqBm//WtHSTG2Lqd4nqmSBVXN3cGfGMMG0rqmO2VrXucOSaTx1e6gqCnu+PtjWW0251cOmVIt/LXn5HH9U+t4fnVe1lwWh6NbXb+593tTB2eypwTu75+UmwUv583gUXPruWOf23g/102if9+bSNbDtTzxHUFXbIXgAlDUrjvipP44fNfcvHfVjJ2cBLLN5czOTeFxQumd+u6uXx6LokxVn7xytfMe/hTAJJjbfzPt0/i8um5XcrG2Kz8+pLxnH5COn9dsYMH3ttBjM3Ct6bn8qPZ+QxO6VqXEzITefy6Aj7bVcXrX+6nqLqJc8Zlc+mUIcwandHliy0u2sq3C4bx7YJhbCyto7CohoZWOyMzE5iVn9mZ9XhMH5HG9BFp/OS8sVTUt3qtOBjf7f8E6NIN5XAa2uwOoqyWzi/c/qjd7sTudBJrs/qcEXLG6AwWnJaHMYYDda3srWnGahHy0hPITOrajRYfbeOiyTlcNDmHmqZ2Ptpewb6aFgbFR3HKqHTGuDNyjyirhUtPGsKFEwfz3pZy3vq6jPL6VuZPHcrl03O7nG2C66zou6eO4MKJg7n7nW28VLiPDofh5LxB3H355G5dJTE2K/decRIn5iRz7/JtvLvZNQianRzDkhtmdOkSAUiJj+KZG2Zw+f9+zpWPfsH5EwazuqiGxlY7S26YQe6grllyfnYSv7p4PL98dSP3vLuNH83O55bnvqSysY2/Xzut2/v+zWm5PP7JHu5Zto3zJwwmymrh0Y9309rhZOEZed3+7+dNGcqyTeV8tquqs0vm/a2u8bOzxnTtohERJuemsKGktsv2oqruc/Dh0JhiOAX8UmCY1/Nc9zZfZUpExAakANVBOPYxq2/pIDm2e3M906d2VzV2nrKVHGyhpqmdyYedwoGrjy4tIZrXvirtDCwvrN7LqMwEpvoof/aYTE4/IZ17393O3AmD+euKHVQ2tLH4u9N99n+eN2Ew/zknnwfe28HSr/Zjdxp+eM5on/2TABdMyuH5pBjuemMzm0rruHHmSH563phuZyYecyfmcNqoDJZtKsNiEc4Zl9UlozncnPHZzBmfTVObnfho61H7u08/IaPbB/5IJg5NYeLQ7mMQPclKjvUZ5HtitUiP/xf9SbTNQvQxzKHwXI7vfQHhkaQlRHPZ1NyjFwRsVgtzJ+Ywd2L3vnNf0hNj+Mvlk/nTNyfR0uHoMvvEV72/d+YoLpqcw8odVdiswgUTczrPkg+XlRzL0lvP4I9vbuHTnVXkpcfzh/kTGTc42Wf5a2YM56u9tfz9w1089vFu7E7DX741qduXFbj+Jn5xwVhueLqQRz7YxUWTc3jikz18c9rQbmNzAOeMyyI1PooXVu/rDPivfVnKmOxERmcldis/aWgKiz/eTWuHozPp2uNZJfOwLh1Pl2LYDNoCa4B8ERmJK7BfBVxzWJmlwHXA58DlwPuh7L8HV4afHNd9IG9kRgLRVgtbDzTAVNe2DSV1AEz2EYiibRYumZzD82v2UdfSQenBFtbtreVXF4/3GQxFhN9eOoGL/7aS0//8Pnan4YYzRvr8Q/T40ex8xmQnsXpPDbPyM3oM9h4n56Xx+q0zj1jGW0p8FFecPOzoBb0c6cOsIpvFIsf89zEkNe6Y//ZS46O559snHVNZEXGdXYxOZ2NpPbPyMzq7iXz5xtgsLpqUw/3vbefB93cQF23ljrnjfJaNjbLy7em5PPVpERX1rTS3O1hbfJA7Lhjn8zM/OTcVu9Ow+UA909yf8y0H6hmaGtft7NXTzrAJ+O4++VuBZYAVeNIYs0lEfg8UGmOWAk8Az4rITqAG15dCSNW32H3O3IiyWhgzOJFNXnePX1t8kNgoi89ve3CdEi75vJjHP9nN5v31rq6OaUN7PPaY7CT+/cOZLP54N5OGJnPd6XlHrKuIcOGkHC70MUtBKeWbiHDZ1Fwum3psZf929VTysxOpamzj5jNPOOKZ49UzhvPYJ3u4b/n2zjGe+VN8f+anDU8FYG3Rwc6Av2l/XY/xJCUuitrm8Bm0xRjzFvDWYdt+7fW4Ffh2MI7lr/rWji7LKnibkJPC8i3lnYuoFRbXMGVYKtE236fYk3NTuGhyDg++vxOA31wyvscpgx5jBydx7xXHlq0opXqf1SL855wxx1R2VGYiN585ikc/3g3ATTNHdhvH8shKjmVEejxrimr43pmjaG63s7uqqXOA+HCp8VEhu/AqYs7T61s7ug1WeUwYmsw/C/dRVt9KcmwUm/bX84Oze14SQUT465VTGJEWT05KLN/1msallBqY7rhgHPHRNmKjLCw6c9QRy56cl8b7WyswxrC1rAFjYMKQnjP80oOhWTEzcgJ+i93noC3AePeplqt7xorDaTg5z/d6OR42q4Xbe+jzU0oNPCLCj+bkH70gcHLeIF5eW8KuyiY2u7uLx/cQ8DXDDzJjDA09DNoCjMtJRgS+3FuLwxgsAlPd/XBKKXW8PAnjZ7uq2FBSR0pcFEN7mFmVGucatD3SfTmCJSICflO7A6fpvqyCR2KMzXVB1edFOA3MPjG789JqpZQ6XiMzEpicm8KD7++ktrmdb07N7TGYp8RF4XAaGtvsvR53+u+VKEHUuY5OXM/fb3deOI7GNjstHQ7uuEC7apRS/hMR/uvCE6lsaCPKauEn5/U8OJwSH7qLryIiw6/3sTTy4cYNTubXF4/HarVwQmb3iymUUup4nDoqnZ+cO4a8jITOtfJ9SfVaMfP4ro45fpER8Fu6L43sy8IzRh5xv1JKHY/bZh99kNfTjVMfgoHbyOrS0X55pVQ/k+SePei5Z0dvioyA38PSyEop1dc8iWjDEW5+FCyREfA1w1dK9VOeDL9BM/zg8JwqJfZw4ZVSSvUVDfhBVt/SQXy0tV+vh66Uikw2q4X4aKt26QRLfWuHducopfqtpFibZvjBUt9i1wFbpVS/lRQbRUObZvhBoRm+Uqo/0ww/iHq625VSSvUHSbFReuFVsDS09rw0slJK9TXN8IOovkUzfKVU/5Uca9MrbYPBGEN9q+/72SqlVH+QFBul0zKDobndgcNpdJaOUqrfSo610WZ30m539upxBnzAP5alkZVSqi8lhWg9nYEf8I9xaWSllOoroVpeYeAHfPc3ZpLO0lFK9VOHMvx+HPBFJE1ElovIDve/g3oo946I1IrIG4Eczx+6UqZSqr87lOH37y6dO4AVxph8YIX7uS/3AN8N8Fh+ObQWvgZ8pVT/dOgmKP074M8DlrgfLwHm+ypkjFkBNAR4LL909uFrl45Sqp/y9ED09lz8QAN+tjHmgPtxGZAdyIuJyCIRKRSRwsrKygCr5uLp0knSLh2lVD8VqkHbo6a9IvIeMNjHrl96PzHGGBExgVTGGLMYWAxQUFAQ0Gt51Ld2EBdlJdo24MenlVJhKjEmNH34Rw34xpg5Pe0TkXIRyTHGHBCRHKAiqLULAl0aWSnV39msFhKirf17lg6wFLjO/fg64PUAXy/oGtp0aWSlVP8XiuUVAg34fwbOFZEdwBz3c0SkQEQe9xQSkU+Al4DZIlIiIucHeNxj5srwNeArpfq3UKyYGVBfhzGmGpjtY3shcJPX81mBHCcQ9a0dpCdE99XhlVLqmIQi4A/4kUxdGlkpFQ7CoUun36tvteuyCkqpfi8pBGviD+iAb4xxZfg6aKuU6uc0ww9QS4cDu9Nol45Sqt8LxV2vBnTAP7SsggZ8pVT/lhRro93upM3u6LVjDOyA37lwmvbhK6X6N09PRG/O1BnYAV+XRlZKhYlQrKczsAO+Lo2slAoTSTG9f5vDgR3wdWlkpVSY0Aw/QJrhK6XChWcJd09XdG8Y0AHf802pF14ppfo7zfADVN/SQWyUhRibta+ropRSR3Torlea4fulvrVD73SllAoLiZrhB6a+xa4DtkqpsGC1SK/fBGVAB/yDze2kxuvSyEqp8JAaH01tS3uvvf6ADvjVje26Fr5SKmykJ0ZT3agB3y/VTW2kJ8b0dTWUUuqYpCdEU93U1muvP2ADvtNpqGnSDF8pFT7SEmKo0Qz/+NW2dOA0rlMkpZQKBxmJ0VQ1tWOM6ZXXH7ABv7rRdVqkXTpKqXCRnhhNu91JU3vvLJE8cAN+k+u0SLt0lFLhIi3BlaB6EtZgG7gB390Ppl06Sqlw4YlXVb3Ujx9QwBeRNBFZLiI73P8O8lFmioh8LiKbRGSDiFwZyDGPlWekO00zfKVUmPD0SNQ09cOAD9wBrDDG5AMr3M8P1wwsMMZMAOYCD4hIaoDHPSpPhp+mF14ppcKEZ8yxv3bpzAOWuB8vAeYfXsAYs90Ys8P9eD9QAWQGeNyjqm5qY1B8FDbrgO21UkoNMJ4Mv7qfZvjZxpgD7sdlQPaRCovIDCAa2NXD/kUiUigihZWVlQFVrKapXbtzlFJhJTbKSkK0tdeutj3qymIi8h4w2MeuX3o/McYYEelx8qiI5ADPAtcZY5y+yhhjFgOLAQoKCgKaiFrV2K5TMpVSYSc9MabXrrY9asA3xszpaZ+IlItIjjHmgDugV/RQLhl4E/ilMeYLv2t7HKob2xg7OCkUh1JKqaBJS4jut4O2S4Hr3I+vA14/vICIRAOvAs8YY14O8HjHpM3uYN/BFoakxIXicEopFTRDU+MQkV557UAXi/8z8KKI3AgUA1cAiEgB8H1jzE3ubWcC6SKy0P17C40xXwV47B5tLK2n3e5k+ohus0SVUqpfe/g703rttQMK+MaYamC2j+2FwE3ux/8A/hHIcY7X2uIaAKbnacBXSimPATlnsbDoICPS48lKiu3rqiilVL8x4AK+MYa1xQcpGJHW11VRSql+ZcAF/NLaFg42t1Og3TlKKdXFgLvDd+6geDb89nx6Z4xbKaXC14AL+ACJMQOyWUopFZAB16WjlFLKNw34SikVIaS37p0YKBGpxHUxVzjLAKr6uhIhFEntjaS2grY3nIwwxvhckbjfBvyBQEQKjTEFfV2PUImk9kZSW0HbO1Bol45SSkUIDfhKKRUhNOD3rsV9XYEQi6T2RlJbQds7IGgfvlJKRQjN8JVSKkJowFdKqQihAT9IROTbIrJJRJzuG8B477tTRHaKyDYROd9r+1z3tp0ickfoax04EfmtiJSKyFfunwu99vlsd7gbCO/b0YhIkYh87X5PC93b0kRkuYjscP8blisUisiTIlIhIhu9tvlsm7j8zf1ebxCR3rs7SQhowA+ejcA3gY+9N4rIeOAqYAIwF3hERKwiYgUeBi4AxgNXu8uGo/uNMVPcP29Bz+3uy0oGwwB7347mG+731JPA3AGsMMbkAyvcz8PR07j+Jr311LYLgHz3zyLg7yGqY6/QgB8kxpgtxphtPnbNA14wxrQZY/YAO4EZ7p+dxpjdxph24AV32YGip3aHu4H+vh3JPGCJ+/ESYH7fVcV/xpiPgZrDNvfUtnm47sdtjDFfAKkikhOSivYCDfi9byiwz+t5iXtbT9vD0a3u090nvU7zB1L7vA3Udh3OAO+KyFoRWeTelm2MOeB+XAZk903VekVPbRtQ77euI3wcROQ9YLCPXb80xrwe6vqEypHajesU9w+4AsQfgHuBG0JXO9VLZhpjSkUkC1guIlu9dxpjjIgMyDndA7ltGvCPgzFmjh+/VgoM83qe697GEbb3K8fabhF5DHjD/fRI7Q5nA7VdXRhjSt3/VojIq7i6sspFJMcYc8DdrVHRp5UMrp7aNqDeb+3S6X1LgatEJEZERuIa/FkNrAHyRWSkiETjGuBc2of19Mth/ZmX4Rq8hp7bHe4GxPt2JCKSICJJnsfAebje16XAde5i1wED6ay2p7YtBRa4Z+ucCtR5df2EHc3wg0RELgMeBDKBN0XkK2PM+caYTSLyIrAZsAO3GGMc7t+5FVgGWIEnjTGb+qj6gbhbRKbg6tIpAm4GOFK7w5kxxj5A3rcjyQZeFRFwxYjnjDHviMga4EURuRHX0uVX9GEd/SYizwNnAxkiUgL8Bvgzvtv2FnAhrkkHzcD1Ia9wEOnSCkopFSG0S0cppSKEBnyllIoQGvCVUipCaMBXSqkIoQFfKaUihAZ8pZSKEBrwlVIqQvx/h0nhRDAjY1UAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pb = where((f > -0.1) & (f < 0.1), 1, 0)\n",
"Y = fftshift(fft(y))\n",
"Y2 = Y * pb\n",
"y2 = real(ifft(ifftshift(Y2)))\n",
"\n",
"plt.subplot(2, 1, 1)\n",
"plt.title(\"FFT\")\n",
"plt.plot(f, abs(Y2))\n",
"\n",
"plt.subplot(2, 1, 2)\n",
"plt.title(\"Signal\")\n",
"plt.plot(n, y2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 2"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440c30790>]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 1)\n",
"Fe = int(10e3)\n",
"F0 = int(3e3)\n",
"t = arange(0, 0.06, 1/Fe)\n",
"X = linspace(-Fe/2, Fe/2, len(t))\n",
"ye = cos(2 * pi * F0 * t)\n",
"YE = fftshift(fft(ye))\n",
"\n",
"plt.subplot(2, 1, 1)\n",
"plt.title(\"Signal\")\n",
"plt.plot(t, ye)\n",
"\n",
"plt.subplot(2, 1, 2)\n",
"plt.title(\"FFT\")\n",
"plt.plot(X, abs(YE))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440bd5100>]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 2)\n",
"Fe = 4000\n",
"F0 = 3000\n",
"t = arange(0, 0.06, 1/Fe)\n",
"X = linspace(-Fe/2, Fe/2, len(t))\n",
"ye = cos(2 * pi * F0 * t)\n",
"YE = fftshift(fft(ye))\n",
"\n",
"plt.subplot(2, 1, 1)\n",
"plt.title(\"Signal\")\n",
"plt.plot(t, ye)\n",
"\n",
"plt.subplot(2, 1, 2)\n",
"plt.title(\"FFT\")\n",
"plt.plot(X, abs(YE))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3) La transformée de Fourier du second signal est incorrect, car le signal est sous-échantilloné dans le deuxième cas; il ne respecte pas le théorème de Shannon.\n",
"\n",
"L'instruction `load` charge un fichier binaire représentant des données matricielles. La fonction `sound` permet d'écouter les données audio représentées par la matrice passée en arguements."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"y, Fe = sf.read(\"handel.wav\", dtype=float32)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"sd.play(y, 2*Fe)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"sd.play(y, Fe/2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"8) La lecture avec sur-échantillonage lit l'audio en accéléré et à une fréquence sonore plus haute, et inversement pour la lecture avec sous-échantillonage.\n",
"\n",
"## Exercice 3"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def note(id, t):\n",
" freq = 220 * 2 ** ((3+id)/12)\n",
" return sin(2 * pi * freq * t)\n",
"\n",
"def seq(notes, t):\n",
" return [note(n, t) for n in notes]\n",
"\n",
"Fe = 44100\n",
"t = arange(0, 0.4, 1/Fe)\n",
"tt = arange(0, 0.75, 1/Fe)\n",
"\n",
"frere_jacques = concatenate(seq([0, 2, 4, 0], t))\n",
"dormez_vous = concatenate(seq([4, 5], t) + seq([7], tt))\n",
"musique = concatenate([frere_jacques]*2 + [dormez_vous]*2)\n",
"sd.play(musique * 0.2, Fe)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 4"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff4409c6a30>]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"y, Fe = sf.read(\"handel.wav\", dtype=float32)\n",
"\n",
"plt.plot(y)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"sd.play(y, Fe)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.92517006802721"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(y) / Fe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1) Le signal à une durée d'environ 8.9 s."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440b67eb0>]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 2)\n",
"Y = fftshift(fft(y))\n",
"X = linspace(-Fe/2, Fe/2, len(Y))\n",
"plt.plot(X, abs(Y))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440abae20>]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 3)\n",
"t = arange(len(y)) / Fe\n",
"s = sin(2 * pi * 3000 * t) * 0.5\n",
"\n",
"# 4)\n",
"y2 = y + s\n",
"plt.plot(t, y2)\n",
"sd.play(y2, Fe)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440a8ee80>]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 5)\n",
"Y2 = fftshift(fft(y2))\n",
"\n",
"plt.plot(X, abs(Y2))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff440fb9f40>]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 6) Filtre passe-bas \"idéal\" de fréquence de coupure 2590 Hz\n",
"f = where((X > -2950) & (X < 2950), 1.0, 0.0)\n",
"Y3 = Y2 * f\n",
"\n",
"plt.plot(X, abs(Y3))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"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": [
"y3 = real(ifft(ifftshift(Y3)))\n",
"\n",
"plt.plot(t, y3)\n",
"sd.play(y3, Fe)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff4407129d0>]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 6') Filtre de coupure de bande centré sur 3000 Hz +- 10 Hz\n",
"f = where(((X < -3010) | (X > -2990)) & ((X < 2990) | (X > 3010)), 1.0, 0.0)\n",
"Y3 = Y2 * f\n",
"\n",
"plt.plot(X, abs(Y3))"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff4406ea460>]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"y3 = real(ifft(ifftshift(Y3)))\n",
"\n",
"plt.plot(t, y3)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"sd.play(y3, Fe)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff4406bdfa0>]"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 7)\n",
"yn = y + random.normal(0, 0.2, size=shape(y))\n",
"\n",
"plt.plot(t, yn)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"# WARINING: LOUD\n",
"sd.play(yn, Fe)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff44060b7c0>]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAst0lEQVR4nO3dd5wU5f0H8M/3Cr3D0csdRYog7WgCSpMiKrFgsEWJSvKLJUZjhNixYYlRE5QgKsSoaEAiSFNQRDpH7wLHAXe0O+Do7e6e3x+7e8zt7ezO7s7uzO583q+XL3dn52Yetnznmad8H1FKgYiI4l+C1QUgIqLoYMAnInIIBnwiIodgwCcicggGfCIih0iyugD+1KpVS6WmplpdDCKimLFmzZo8pVSKr9dsHfBTU1ORkZFhdTGIiGKGiOzVe41NOkREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGATxRF8zYfRN7pC1YXgxyKAZ8oSk6ev4Tf/2ctRn6y2uqikEMx4BNFSUGha7Gh7ONnLS4JORUDPhGRQzDgE4VJKYXJS/fgxLlLVheFyC8GfAP25J2xughkYxl7j+OFWVvR/sXvkDp6tu5+XD+arMaAH8CcTQfR961FWLD1sNVFIZs6GWTNXkQiVBKyglIKB0+cs7oYhjDgB7A55wQAYMfhUxaXhOzq46V7rC4CWejDnzPR47UfsOuI/WMEAz5RmM5fKrK6CGShZbuPAgD2H7N/LZ8BP4D3F+22ugi29OXqfXj+m81WFyOmsAWfrMaATyF5avomTFmuu7BO1KzMPIq0MbNxNIZmr7IFn6zi+ICvlEJREetesWri4kwoBazbl291UQI6mH/e6iJQBI2cvBrHzly0uhh+OTbgHzl1HqfOX8JT0zei6V/nWF2cuFJYpDgm3Yf7PlkFADh65iKajtEfvmmlUf/OwEOfrbW6GDFrY3a+1UXwy9aLmEdS11cWok6Vsjh8MnaaAmLFa3O2YdKSPdj84iBUKhv/XzGj4+u1F0G73lR+5x5+PN7icsSjLQdOIPv4OQy6sq5lZXBsDR8Ag70JfN3Cztp4AABw+nxBtItTSlGRwqVCe4+i2Xn4FFJHz8bqrGNWF4VC4KtPRimFH7YfLlEZGPreEvzu0zXRK5gPjg74FL4b/7HE6iL49edpG9Di6blWF8OvJbvyAACzNx60uCTOcvT0BVP673wd4fNV+/DbyRmYvjYn7OObiQHf7cRZ/23OnBzpW06+vccef22zH5zVvly9D8t251ldDMOOnr6AwyeNdXafv1SI/LPGOk0P5J9D55cX4P1Fu8IpHgDg0InL5fPMos457vpdGCn79kMnsSn7RNjlMIIB36392O8wddW+Etui9SFQfFm777jVRdD11PRNuPPDlVYXw7DOLy9At1cXGtr31/9ajg5jvze070F3kF64/UjAfVdnHcOXq/cF3C9Ug9/5GTf+Mzp3ygz4Gl94BfyRk7lQBQWW6zUHINDdop0EU4O2uw3uCtr5S4WmHnf4hOV4avomU49pFQZ8DQXgzIUCry3k7UJB6R+UUgpbDjjzjujkudA6pz9dsReLdlyuYVqRTTOYGrSZTl8owHJ3SgIzbD1wsvhx+ssLTDtusOze8suAr7Ex+wSufH4+fnTf5uWdvtweKDof5ekL1o9EiaYT5y7hzXk7Sm37aMkeDH1vCVbt4UiTf/yw09B+z/5vM+77ZLXtg0QkPDZ1Pe74cAWOnDLn7uKiZiSWlb9Ju/f1MeD7YLQpZ83eY2j7/HxHpU6+a9IKTFpSMjvk6/O2F2cVzckvuXxfYZEqfs2Iz1fuQ9qY2Siw+VBKf9b6mPWbffwsCuw6+N4COw67auTnLxZh0s+ZSB09G+cuBtcUs2bvcWTmno5E8eIWA75B36zPwcWCkkHIM51/+tpsC0pkjc05J0ttKygsKp5ItCn78uvdX1uI+z5ZhRv+sQT/W5eDds/Px4EAo3penbMNSgHnTG6HtVqws1cP5J9Du+fnY2eU0nJ/v/WwZcNCJy7OBOBa5N2oGeuycesHy9Dvbz+FdW6zU3Js2J+Pb9bbd2SYKQFfRD4WkSMi4jN9ori8JyK7RGSjiHQy47zRtP3QKd1b9bmbD+G1udtw7mIhzl0sxKwNB7Bhf350C2ixo2dcHZfeueF/3ukaAvj297/g1IUCzNt8KOpls8rJ85eKmxc2BDnia+7mQzh1oQCfr4rc6BCtB/+dgYc+t29KBe+O5RnrDlhUktK0C9q89d0v+OPU9dYVJgCzaviTAQz28/oQAC3c/40C8IFJ540YX0vVeb502cfPYvLSPdD2sf3rp0y0fm4eWj83D498sQ7Dxi81tTyTl+7BFc/YdwLR0l2hd8AdP3MRy3bnGR5DbeR4Y2dtLTHDdv+xs1EfLnnVC9+h3QvzDe/PBh99czbZd1LatoOl73rt+lmakuhEKbVYRFL97DIMwL+VaxjCChGpJiL1lFL2/RT9uHvSSmQdPYvuTWv43S8n/xwaVCsf1rkyso5h2ppsTF29P6zjRJKR2YS+RvZ4jJi4onhFMTNy77w8exumr81G+0ZVi7f1fuNHAEDWuKFhHz8YRgbeRGvJQ+828uveDq85xAw/bA++/+vU+UtY/EtuWOe9oGkyXLP3GDo38f9bDseyXXn46wx7DOuMVht+AwDaiJXt3laKiIwSkQwRycjNDe9DjZST7hwxKzL9j0jpOe6HsM81YuIKWwd7wNUxG4i/vEXa5SO1IywuFBSW6jcxwnOnUGThouHB5Od/fuYWAMClwiIUFimszDyKl77damp5DuSfQ+vn5hU/V0ph55HAHZ4rM48iL8C/ZdWeY/gkxGUeX5i1FUdOuY7/ydIsQ3/z1xklW46Ph5CS+LEv1xc/vvWD5SVe+3ptdthzKT7QLJz04qytyDp61s/e0WO7Tlul1ESlVLpSKj0lJcXq4vhkZc7rF2ZuCekLbidfrd6Pp6ZtxKET57Fmr34zS8tn5qHvW4uCPr6R2ZORFqgy4MsXq/aj1+s/4MOfLwdPgWBP3hlMXBzeymt7vQLOzA3G2sB/PXEFbn7ff/Pk7f9ajhdnhX+BmvCTsX/jEa/2/FDSe3guMt52HTmFx7/agMe/Wh/0MWNBtHLX5gBopHne0L0tplhYYSw2eVkWzl0sxOu3XWV1UXQFep/+Mn0jAFdWzbMBhuKZnavnYkERyiSZW88xs0Xm4InzuLL+5aaoVVlHizvC7+zWxLR008F0LMbCWq1m8axPfChOZh97i1YNfyaA37hH63QHcCJW2+/NcqmwCOPmbg9poZBCO1x5TOAv2H+zPjKjMGKt5qYdBhvKTNwLBYWm3RGuzjqGrLwzAIDWz87DvwzWyM3guabuPHwK+RFIXRFqOoaur1g3qzcUZg3L/ALAcgAtRSRbRO4Xkd+LyO/du8wBkAlgF4APAfzBjPNG2+YDJ5GrcyuoR6+GOnvjQUz4aTfGzd3m9++dOlnnldn+3xcjfMXH702eJHexoMhnADp7MZzZnuZ95vd9vBodXzKWUMzbyszLI6/2Hj2D4ROWo4+7ie3cpUK8Nne7GUUMynV/X1yiz8csRipe3hdcpZRu05BdmRLwlVJ3KKXqKaWSlVINlVIfKaUmKKUmuF9XSqmHlFLNlFLtlFIZZpw32rYdPIlB7ywO6m/0Om49U8EvFpgf0Dfsz8d7C41N7w+GHWe/Wn051Otc1XbaWWl5ZmjDZb/deAC/nrii+Hm0Kh77jwXfuTltTemJj3vyzuCt+TtCzk/k6892554pfpyRdQxpY4wtjaos/5ZeZrtOW7szu8PWV/vvst152B3GlPFh45fi7e9/CaNUvhn92vqr9Ww2mGAt2B+Jr/fx8a82BHWMUKzXmWAXiQDpfcRgUhEs3hnciLeHP18X1P5m0cuDc9LP6mmTl2WVykd04z+W4J8/7ipOg+w5duro2SF3gGtHo30bxKxkO62s58iAn33cBkOk3N8dXxkD7/xwJfqHOWXcrpyyIIn2AhSJLJh78s6g9XPz8JXBIbt2ueMIVbC/Wc+FQ/s5vLvAVQl6dY7xpihtk6y2me5UEMt3htJPFymODPiR6PQJlqcGm5N/Tveu4fOVvqfV+7qFDdelwiJ7XAjdPKMlvHnGqtuddhjkhz9nBvW3Rq4Pnhw73zkkcZ9A/PaLGOl0DWZOh+cj0PZjjPk6+MlTvtZTfiIKd556HBnw7WbM1xt9bg+mWWbZ7rywhjC+9O1W9Hr9x6AmDEXTkp152JN3Bi2enosRE5fr7rdwW3QDoJEhmXNNzh90+kKBJR2modqTd8ZwaoTHpq5H6ujZ2JidX+q13UfOlP4Dt//oVI6C5f15ausWmXn659fzzoLSfWlWJlt0ZMC3alTj1a8txANTVpcqg15t1iillLsZaFHIx/BMVfe0lZ65UIDth0rnCLHK3R+tLJ6EtTrL92StoiKF+6cEPx5gTwg/ZCu9u+CX4jJ7r7ZlRwPe/gl/8MoWqre+hGcEzk3/LDnZ65cjp/z26xQW+f4N6Z3HqD//V1MbV9qH9r/L9MWRAX9VljWLdBw4cR4Lth3BqfOXDH1djE7o+cxduwn3wqH1wJQMDH7nZ9s2n/jKzRPMHY5SCqmjZyN19Gz0fWtRyKmBPYtV+7PrsDk52z9dvhdAyaYJf1lZo/3Z/W+d7/4ZM8qxbl9+qYuG1pxNvu+itL+hYHIWbTt40mcCxVgXtwF/x6FTusMIZ6yzNn/9JM3U+XAdPHEOU5ZlmXY8D89F0Ypl94zYnHMC+46exQ9BplHw/Oa1q5kBvjMeGnHUwKitU0GuwKT3jr85f4fP7eN0mnfeWWD+SC0AJZayHP/jruLHj325HnuPGrtb2mdg+OUb80r+u7INXFwj6WJhUUR+a9EUlwF/15HTGPTOYvxNpw3cDjHMUBZFA8cZ8LefDCXBikfLdueF9HdFRSrsbIt2oh1mOGNdNk65FxIxc0SUdtSYdsim90Xo2jcX6ebp+c+KvUENDHjfhJFFAlefh3f+Hf39/f/qitfECDOG6A3IiLS4DPieD3e9zmo2wc6WjQQjbYBG7kDPBLksXCDzNh/CCq/JOr8cPoXvtthr4RLvC+aEn3YHXE3L4/Z/LccT/y05UiKYfDhKqZCyeJrlmM4osy0HTuBPX27AU+5cRWbnIfII1Oeht6TlM//bjDs/XBmJIvk1+J3F6BpgofbNOScMp1c4f6kQX+s0XxllVbrkuAz4d05yfakUFKavyS41QcXq6dDeY+/NTL4V7pJ4r8/bjhGaGZYAMPDvizHq0zWWBjlvt01YjtGaYXKrs44b6rA9f6kIGT4ydK4MIrvlewt34Ypn5hbXpM0WqJlqlk4N2vM9t9NEH29mLXJj1M4jpw01Bd0/JQNPTd9o6Lf40RLzmmS95eSfi2iFNC4DvseKzGN44r8b8NJsc3OLh2tV1jFDTTqhfPCR/LKMNSEFbiTpzdI0Qq8jf9aGAyWGCD73zWb83d02bof5HLEomkH/0S8uNz9NDtD+vtHAMpR5py+WWm7RTD3H/YAuEUzIFtcB3+OIxTWefy/PKp14SfN40Y7c4tEW6zTL8Pkb3KDXIf2FyYulTHGPDAGADT7GRkdDNDuOC4sU5mw6WHzOR75YV2KI4L817wcF7+T5AnQYG1oyt1AY6VTXMlLDN+s7kDZmNm4JsNaA2RwR8D2W7soLKv+IWZ77Zgv+G2B2rGcN3JvfXxbWufRu9wPRG7Jm9spLodCOBIm0Kcuy8IfP1mL62pyQR+5Em6disM7dZ7Vm73Hb9blQaUoBa3X6GSPFMQF/T94Z3DVppe6s1kj7y7SS5332f5t19jR+vC0BEpH1/9uigGOgc/LPoemY2aU64qKzyqoxb30XmeGFvnhu1/NOX8CMMDvmomn/sbPYqrlAjfp0jWVlmbg4M+ZXZbNCpDrZtRwT8D0dbNoUp7Hs63U5GPreEr/77M49U6pjcUXmURzSZBBcsPWwz6Yjp+bh9xg3dzsyNO36Hy/ZY9s5CcDlRdrt4to3XeUJdUKbFfbknbG0X8aMNbADcUTA33E4Nm7NI+XH7UeKZ6aOmLgCg98NLqe/RzAzFeOB9nZ77LdbMcsreGlT71JJJ88XYP3+fDz0uf7sWDvyHqFmFb1Zy+FyRMDff+ycLSZbBbI6Aikf1u3Px8jJq9HymXnFk160tZhgYnistGmHw98kNu2ID8A1nj/aOoe4epUVfjU+uh2S8eSxL9dH5LjRWsScDBg+wfwAos2X3uv1krf9v528OujUBPHO7u+Hv1En326MzDrAFD8cUcPXitUsd6Hyl5rX7sGNgnOp0FnfbQqeYwK+56dw6IR9ZyFGk12zYFrp1TnhL5xOZGeOCfgeeTGQPzwafgkzBUM8mrg4uJWpiGKNYwI+O5BKGvLuz1YXgYiizDEBn4jI6RjwiYgcggGfiMghGPCJiByCAZ+IyCFMCfgiMlhEdojILhEZ7eP1+0QkV0TWu/97wIzzEhGRcWGnVhCRRADjAVwHIBvAahGZqZTyTqT+pVLq4XDPR0REoTGjht8VwC6lVKZS6iKAqQCGmXBcIiIykRkBvwEA7bp62e5t3m4VkY0iMk1EGplwXiIiCkK0Om1nAUhVSl0F4HsAU/R2FJFRIpIhIhm5ublRKh4RUfwzI+DnANDW2Bu6txVTSh1VSnmS2EwC0FnvYEqpiUqpdKVUekpKignFIyIiwJyAvxpACxFJE5EyAEYAmKndQUTqaZ7eBIBpCYmIoizsUTpKqQIReRjAfACJAD5WSm0RkbEAMpRSMwE8KiI3ASgAcAzAfeGel4iIgmPKildKqTkA5nhte07zeAyAMWaci4iIQsOZtkREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQpgR8ERksIjtEZJeIjPbxelkR+dL9+koRSTXjvEREZFzYAV9EEgGMBzAEQBsAd4hIG6/d7gdwXCnVHMDfAbwe7nmJiCg4ZtTwuwLYpZTKVEpdBDAVwDCvfYYBmOJ+PA1AfxERE85NREQGmRHwGwDYr3me7d7mcx+lVAGAEwBq+jqYiIwSkQwRycjNzTWheEREBNiw01YpNVEpla6USk9JSbG6OEREccOMgJ8DoJHmeUP3Np/7iEgSgKoAjppwbiIiMsiMgL8aQAsRSRORMgBGAJjptc9MAPe6H98G4AellDLh3EREZFBSuAdQShWIyMMA5gNIBPCxUmqLiIwFkKGUmgngIwCfisguAMfguigQEVEUhR3wAUApNQfAHK9tz2kenwcw3IxzERFRaGzXaUtERJHBgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDsGAT0TkEAz4REQOwYBPROQQDPhERA7BgE9E5BAM+EREDhFWwBeRGiLyvYjsdP+/us5+hSKy3v3fzHDOSUREoQm3hj8awEKlVAsAC93PfTmnlOrg/u+mMM9JREQhCDfgDwMwxf14CoBfhXk8IiKKkHADfh2l1EH340MA6ujsV05EMkRkhYj8yt8BRWSUe9+M3NzcMItHREQeSYF2EJEFAOr6eOlp7ROllBIRpXOYJkqpHBFpCuAHEdmklNrta0el1EQAEwEgPT1d73hERBSkgAFfKTVA7zUROSwi9ZRSB0WkHoAjOsfIcf8/U0QWAegIwGfAJyKiyAi3SWcmgHvdj+8F8I33DiJSXUTKuh/XAtATwNYwz0tEREEKN+CPA3CdiOwEMMD9HCKSLiKT3Pu0BpAhIhsA/AhgnFKKAZ+IKMoCNun4o5Q6CqC/j+0ZAB5wP14GoF045yEiovBxpi0RkUMw4BMROQQDPhGRQ8R9wL+nexOri0AUFZXLhtUlRw4Q9wH/pg71rS5CzFvyVF+ri2Ab1SskW10EXTe053ed/Iv7gN8ltYbVRYh51SuUsboItnFzx4ZWF8Gvaja+IJH14jrgT/pNevHjHk1rWlgSe1rw+DWYcHdnvHHbVX73q1g2CS/edGWUSmVvzwxtjYn3dLa6GEQhieuAP6CNK5fbrleG4LMHullcGvtpXrsyBreti9vTGwXcNyFBolAi+0tIEFSycVs5PyXyJ64DvkdSYgIDVrgU89h5410jxRpHBHynq1HReBv8gNa1Szx3WlNOn5YpVhchZKOuaQoRV8UmmM88XGWTjIeRH564NoIliR8P9W0WkeMy4DvUtVf4Dmwje6aVeH7v1anu/Wv72Du+zHq4Fybc3Rnjbom9TCCZr16PtFoVi58/e0PrqJ37/bs6Gd63aUqlCJYkflQrH5kLNgO+A1xRx/iPzNPw1aNpTWSNG1q8vXHNCiaXyn7aNayKcsmJGNG1Mf7QR7+G1aiG6724ro3eej/me3JQS7+ve5osPZ9fsygGVu/Wvp+e7FPi+R1dXX1Esx7uFaUSkR5HBvwKZRKtLkJUTB7ZBY8NaIEPf5OOifd0xmcPdEPbBlX8/k0Z9+15pXKlOyYDjeaJJ018XOC+eLA7AFfA3/TCQIzsmRq18jzUt7nPMnkb0Np1EYpqwPd6XrdquRLPu6bVQNa4oWjXsGrUyhSLojFJ1FEB/9F+zQHEf//juyM6YNvYwejTsjYeG3AFKpdLxsAr66Jn81rFbfL1vH6UHp2bVMfT17fGG7eWDu5GRvPEC1//1h7NLnfSVi6XXNxeHi1TR3XHO7/u4Hefl29uixVj+qOijUcSkW8v/apt8WNV6jJqDkcF/McHtkTWuKG4tXODqJ/bSO3MLMM6NEB5nbuYzk1q4B93dMTzN/rujBURPHhNU1SPYqefHUU7mBtRr2p5/Kqj67tbs2IZnzOgkxMTStWwI035qUHVq1rOEf0/scJRAd+jbf3o31r++7ddTTvWqqdLLUEAAFg6uh9WjPH9mtaN7euXuiC0axC7t9tLR/fDVSE0FyQmSMC28UC6RnAm953dGvvcPvePvfHjk33QsLo9+1W08X/5mP6lRgxNMfG3YFRTTYd2OMyuB9StEt2LsyMDfrRbdJ6/sQ2a1NT/wo2/sxMe7d/C8PFqVy79JWleuxIaVCsfcu3uPw90w7ePWN+p1rtFraD/pkG18phwd2fcpRMgtWpVKlv8ePer1+Ohvs0D/s23j/TC5w9Gf+Jeg2rlfW5vXa8KqpSzTwoF7d3Q765pGnCYpt4IMSdqWN33Z3xP99SInC8uA/5bw9vbInh5BOoz6Ni4GtJqBVdbm/lwzxLPwx13XbV8MtoaqOVHOpFaueTQOtTrVyuPV272PZxyz2vXFz+uVNb48V+7pR0+uKsT2jaoiqubBX8hipaHDVy0ImFou3ro3rQGeja/3Lcx5vrWtmwOC6WS99gA45Uws+k1yYYrLnt2buvsP8GVWZ22SQmCgqLwDxbKEa5qWC3s84YiIcI/Zk/agjpVyuLwyQu4tVNDdGhUFempNTDk3Z+L99s2djBaPzfP0DG1ASiY9/qOroHvGCoYuIA0S6mI3blngjizy5C2dfHm/B1+99EOnY228Zrx931apmDRjlzLyhIJFctEPjzWYZNO5JnVAx7pD+s+96QnLW0b/ePXXVH82H51qtAM61Afz97QBo/0u1y7uqdHKlrXq4L5j11TvC2cGtAbt16F1vX8D0816t4eqQH38dUEF8jCJ65F05RKqFo+GZV9DJG1m4n3pGPts9dZXYywtY/y0NEq5aP72Toy4Jtl2v/1MLSfkcuL+AjZVXz80LVt9I/2b1E8NjxaIt3/kZgguL9XWvF8AO0NRcu6lUvsO3lkF0w3+Blo3d6lEeb+sXdY5fRITgz8EzJyU6TXh7PmmQFYFwOBtExSQlDNijVtOgrslk7+WweS3BPchl5Vz+fry0b3K1ExCcT7Tv2nJ/uUaq41k/2rDhEQSpNO89qVsOvI6RLb6lX13eESSMfG1bBuX36JbUPa1cXKPY3xxap9IR0zXujND/ClT8vgh/uZPSrCSP752pXLhrxPkoELih198WB3LM88qvt6Wq2KOHrmou7r5ZMTce5SYSSKpis5UXBP9yZ4fuYWAL5nlyeIYPOLA1FQWITZGw+Wer2+Tke71pxHe6NN/SrIzD2NtFoVsSnnBNq47zj9De4wQ2x+mywQ7vA9LV/D0somJeI1rxwu18ZwIq9QNa/tqsX3uSIF5ZITfDZrGVG1vO9A/MHd5uay99XR3bFxtRLPPakY/PGug+iN0IkVPZrVLNHk6G2EV/9It7TLw1s7NKqGpaP7mVoepRSGBVj9rl+r2iWy6uqNNqpUNimo7LvelQLPXXrTlEoQEbx6czvcHaWlWB0Z8ENpllDq8u1csFK9agreQ+q0E1e0P5KWdQO3M3vaANNMGmcciL9JNsHyl5qgdpVy2P7SEEMjh4Lhq9mhbYMqePr6yCUbM/St8XpfQx2tFCtu69xQt8O5QfXyPj8nGw7+CWjp6H4Y1Kau1cUo5siAH0mtvNqZ2zWoiv6tjSfZCmY8PgBcWb8qPhnZBS/EYBrjSKa4CCY4fPtIbzx4TVNTzjvpN+nomhbeZCwjo4OMGmXSvyvSjHxeocR77RrETQzcaQHAKze3xYS7O4c9vDQxQdCgWvlSg0SsvG45M+CHGGn+HiCPCQBMHlmyueaPmgCe3qS6ofN4ZgUavaPo27J2TNcIy0eg7OWSXMeMdtNIh8bV8OTAliXyvnc3sFCK5xt57RUppZr2QpU1bij+GsE7l0h7aZixSsyQtqVr0F/9rgemjuqOT++/PGHu0f6uRIJ6hl7lavK5q1sTDPZxzGCsero/1jwzIKxjRIIjA36oFcsb2/tvAwRKDxfUjqr58nc98MvLQwIeY+YjvbBiTH+US07EZw90w69tlLSssokzPJMTXRe0UGbXBuJpw3/vjo6mH1tPpbJJqFo+GUmJCSXyvl/dvBa2jR0ctXLoeWt4e6uLEJR7vIa8puuksbi7e5NSlamuaTXQvWnNEknkkhIT0FenXyxr3FDcZOD33UBnZqy32pXLoVoF+41ECivgi8hwEdkiIkUionvpFJHBIrJDRHaJyOhwzmkd12VioYEVe7Rtky00uegTE6R4uKE/lcomFV8oejavZWgkSLTodYaGIjkxAYv+3CciQdlzNx7NVNibXxykO0wzUjMngxFoQqLd/bZnKv42vH1QFSDPPbJntFM4Ewc/uKsTprqHQWsnZcVSHqpwa/ibAdwCYLHeDiKSCGA8gCEA2gC4Q0TahHneiAk0KiQSecYDtjDFYGeVUam1KkalOap/q9q2Xny8r3uI6YO9Y6PN3RqCWzs3DNhM1b/V5eG6TWpWwB/6NMNH97rqowkJgrXPXofb04O/+A1pVw+13cN6ExOkeGSR51jNUqIzcCIcYQV8pdQ2pZT/ud9AVwC7lFKZSqmLAKYCGBbOecPV3E/QrhhErhWtxBBH8DzQK003gRKFztNZ6bkF/+i+Ltj84iAri+RXoxoVkDVuKHpFoHnLF+/BBUaN6GJu8+LkkV0wPMg7j+Sk0r+1Ou474o6Nq+FtTV+biOAvg1uVGN9eo2IZNDbQgWv4Fx3kXYOVy3FEow2/AYD9mufZ7m0+icgoEckQkYzc3Mjk5qjjZ3KPdsZryzrGfxShNh08c0ObgKMBPB2QdtQ0yFqNtkkolJTGRt3SyTXsz05ZJTt5jc+30rwgZoMCl7M6/l+fZmhVtzKevcGcm/Q+LWvjzeHtfc409+bvZzLulnb4+6/bY8YfehpqdjRyt3d1s8Cd7Vp6gTytln3W8Q34rxaRBQB8dVk/rZT6xuwCKaUmApgIAOnp6RG5GKYZnM026d509H7jRwBArxbWTYIadGVdvLtwJ6b9Pvg0ApGW3qQ6MoNIDPZg7zSUTUrEdW3qIDVKcwfsYkCbOlirmWF9Z7fGuK1zQ2w9cNK6QgVJIEFfLILla9SNP92b1kRiguDmjub2URid5RzoUjXqmqZo36gq7vxwpaH9IylgwFdKhTu2KAeA9j6woXubZQLNknvj1qtQpXxyiRmSVrb/tqlfxdKsiMGoUCYRZy/qT4mvV7U8bo3xzkOjpv2+h8+1gT3KJCagU+Pq6NTY2HBdK0Vr0tOn93dF7yArV6E2p4brreHtMf7HXegSYBGcxATB1c1cgy/yz16KUul8i0aTzmoALUQkTUTKABgBYGYUzhuy27s0MjwO1+jYeqdIrVkRU0fpJ3SL8+WES0hPrYFWmtnSibE4VTTK/L1HnlfKmJBfqJ4J8zMa1aiAcbdedfmCEwNf7nCHZd4sItkAegCYLSLz3dvri8gcAFBKFQB4GMB8ANsAfKWU2hJesSOnUY2SX4SH+jbzu//nD3b32xmYlOD7Lf75L33x/Z8ie2tsFSMTjbxVq5CMPgZyBz1+3RUBF/K2Kzs0YQ1sU6d4Pkm/VrG51mxSYkLYd7wD29TxOwkrGLF0HQ+rnUIpNQPADB/bDwC4XvN8DoA54ZwrGj57oFupjponB7XCk4Na6f5NmaQElElKwMu/aosXZ21FRa/OW73bTSMJtWJBv1Z18FVGdqntt6c3xFcZ2eiWVgMr9xwLeJz1zw00dL5gU0/YiR3iwkRNkHv79vboMPZ7C0tz2Ru3XYX3Fu5EFz9pKYxkojRKRHBdG+MpT/xpUK08qpZPxugh+nHCLhw50xYAHu1Xelm4ns1rhZw/Y1iHBlj77HUxm842VIPb1sWOlweXShDn6eROqVwWv9PkczEz+VqssdvSf9UqlCkeQ94l1dqmyUY1KuDN4e11J65996drTE+kZ8Sqp/sH3KdcciI2PD8QA6+0T5I0Pc6KThopUV5aLJ6VTUrEP+/spPv6mOtbF8/ydG64tzd/2Su1zFotLlhXBDFE2kyhrFZmZ44N+Hd2bRywfZ58e8JPnnOrcRJbZBgZJx+vRMxJn9CruWtSXdlk68KufeeaR1higuDJQa0w/sfdAIDVT9svs51dtYvyup/BmPlwLxzIP2d1MQwJZklAsk7mq9cH3smAv93eHn8e2BIVorA4uh7HBnxvKQaWoSOXNvVdQw1rVSodsALe8Ee4RaBGxTK2DaSeOnLflikYdGVdx8xHiHVm9b2UTUq0fKQWAz4Fzdftvfdvort7tIVnVat4bxDwHp3lT4JIqSX+iKKBAT9CrrkiBYt/iUwuoFhQu0q5mJkdHK4Fj19jy9zn8S7W1/21AgN+hEy+rwuKHDwE0ZvnVjalSvw1nXkWXjcqFr4V/9enGfbknsG8LYcAuJrK9h07a1kaA1/MXujcCRjwIyQhQZAQ9w0Zxv3+2mZo37Ba1NL/2pGn2SsW5iI8Ndg1iSh19Gw0r10JE3/TGQu2HkHD6vExYVArEkts2hUDPkVFYoI4OtgD1k3Br1ulHA6dPB/S3254biDKJiegXHIi7uwWf/0O28YOjqnUCOFiwCeKsmjX72c+0hNZeWd9vnZj+/r4KiMbnZv4TmlQ1UbLa0aCHZaejCYGfApZDLRM2IpVk5dqVy6nO2O0d4sUx3Suk4Nn2lLo/N0Cx0L7NJFTsYZPpnDy1Pt4kvHMACTZaCQOmYs1fKIos/NNUK1KZW01pyBWc/bbleNr+HMe7Y31+/OtLgY5ASvOQXv/rk7IO33B6mLEDccH/Db1qxTnhiEieymXnBiXY/+twiadEDw5qCWu5EWCiGKM42v4oXiob3M81Lf0illERti4CZ/iHAM+Ba1GhTIY2KYOHujdNPDOVIxN+GQ1BnwKWkKClFgMGwAqlnXNWEyzON83EeljwCdTNKlZEZ+M7IKuqb6n6BOQlODqMivjsIXuyT4Y8Mk0fVtyzLQ/VzeriYf6NsPInmlWF4UcigGfKEoS3OsoE1mF95ZERA7BgE9E5BAM+EREDhFWwBeR4SKyRUSKRCTdz35ZIrJJRNaLSEY45yQiotCE22m7GcAtAP5lYN++Sqm8MM9HREQhCivgK6W2AYA4aVFIIqIYFa02fAXgOxFZIyKj/O0oIqNEJENEMnJzc6NUPCKi+Bewhi8iCwDU9fHS00qpbwyep5dSKkdEagP4XkS2K6UW+9pRKTURwEQASE9PZ54pIiKTBAz4SqkB4Z5EKZXj/v8REZkBoCsAnwFfa82aNXkisjfE09YCwD6Dy/h+lMT3oyS+H6XF6nvSRO+FiM+0FZGKABKUUqfcjwcCGGvkb5VSKWGcN0MppTtyyGn4fpTE96Mkvh+lxeN7Eu6wzJtFJBtADwCzRWS+e3t9EZnj3q0OgCUisgHAKgCzlVLzwjkvEREFL9xROjMAzPCx/QCA692PMwG0D+c8REQUvnieaTvR6gLYDN+Pkvh+lMT3o7S4e09EKQ6EISJygniu4RMRkQYDPhGRQ8RdwBeRwSKyQ0R2ichoq8tjNRFpJCI/ishWd6K7P1pdJjsQkUQRWSci31pdFquJSDURmSYi20Vkm4j0sLpMVhKRP7l/K5tF5AsRKWd1mcwSVwFfRBIBjAcwBEAbAHeISBtrS2W5AgBPKKXaAOgO4CG+JwCAPwLYZnUhbOJdAPOUUq3gGlHn2PdFRBoAeBRAulKqLYBEACOsLZV54irgwzWDd5dSKlMpdRHAVADDLC6TpZRSB5VSa92PT8H1Y25gbamsJSINAQwFMMnqslhNRKoCuAbARwCglLqolMq3tFDWSwJQXkSSAFQAcMDi8pgm3gJ+AwD7Nc+z4fDgpiUiqQA6AlhpcVGs9g6AvwAosrgcdpAGIBfAJ+4mrknuGfGO5E4D8xaAfQAOAjihlPrO2lKZJ94CPukQkUoApgN4TCl10uryWEVEbgBwRCm1xuqy2EQSgE4APlBKdQRwBoBj+75EpDpcrQJpAOoDqCgid1tbKvPEW8DPAdBI87yhe5ujiUgyXMH+M6XU11aXx2I9AdwkIllwNfn1E5H/WFskS2UDyFZKee76psF1AXCqAQD2KKVylVKXAHwN4GqLy2SaeAv4qwG0EJE0ESkDV2fLTIvLZClxrU7zEYBtSqm3rS6P1ZRSY5RSDZVSqXB9P35QSsVNDS5YSqlDAPaLSEv3pv4AtlpYJKvtA9BdRCq4fzv9EUed2BHPlhlNSqkCEXkYwHy4etc/VkptsbhYVusJ4B4Am0RkvXvbX5VSc/T/hBzmEQCfuStJmQBGWlweyyilVorINABr4Rrhtg5xlGKBqRWIiBwi3pp0iIhIBwM+EZFDMOATETkEAz4RkUMw4BMROQQDPhGRQzDgExE5xP8DN9L8+ARZiVkAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"YN = fftshift(fft(yn))\n",
"YDN = YN * f\n",
"ydn = real(ifft(ifftshift(YDN)))\n",
"\n",
"plt.plot(t, ydn)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"sd.play(ydn, Fe)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"8. Le filtre passe-bas enlève le bruit au dessus de 3000 Hz (??)\n",
"\n",
"8'. Le filtre de coupure n'enlève pratiquement aucun bruit. On ne remarque même pas la bande de fréquence silencieuse."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ff4405dddf0>]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"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": [
"# 9)\n",
"REPETITIONS = 1000\n",
"\n",
"gauss = random.normal(0, 0.5, size=(REPETITIONS, len(y)))\n",
"yyn = gauss + tile(y, (REPETITIONS, 1))\n",
"denoised = average(yyn, axis=0)\n",
"plt.plot(t, denoised)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"sd.play(denoised, Fe)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment