{ "cells": [ { "cell_type": "markdown", "id": "01ed5fd6-b43d-452d-bad9-b24c8aa3774b", "metadata": { "tags": [] }, "source": [ "| [VEC1 : BaseS temporelleS](VEC1_bases_temporelles.ipynb) <= | VEC2 BaseS FréquentielleS |\n", "|---------------------------|------------------|\n", "\n", "---\n", "# VEC2 BaseS fréquentielleS\n", "---\n", " - [A](#A---Echantillonnage-en-fr%C3%A9quences) Echantillonnage des fréquences\n", " * [A1](#A1---Sous-%C3%A9chantillonnage-des-fr%C3%A9quences-:-repliement-de-spectre) Sous échantillonnage : repliement de spectre\n", " * [A2](#A2---Sur-%C3%A9chantillonage-des-fr%C3%A9quences-:-famille-li%C3%A9e) Sur-échantillonnage : famille liée\n", " - [B](#B---Produit-scalaires-pour-les-vecteurs-complexes) : produits scalaires pour les complexes\n", " - [C](#C---Base-fr%C3%A9quentielle-orthogonale-:-TFD) : Base fréquentielle orthogonale : TFD\n", " - [D](#C---Discrete-Cosine-Transform) : Base réelle : Discrete Cosine Transform\n", "---" ] }, { "cell_type": "markdown", "id": "f6528399-edd0-47e8-9b2a-56f09b9cf831", "metadata": { "tags": [] }, "source": [ "Prenons toujours notre vecteur (1,2,3) que nous pouvons associer à des bases temporelles des espaces suivants :\n", "\n", "* $\\mathbb{R}^3_{DCT-II}$ : espace des suites réelles paires et périodiques pour les DCT\n", "* $\\mathbb{R}^3_p$ : espace des suites périodiques de 3 points pour les TFD (ou FFT)\n", "* $\\mathbb{R}^{\\mathbb{Z}}$ : espace des suites réelles pour la TFSD. " ] }, { "cell_type": "code", "execution_count": 1, "id": "ece02f84-5870-416a-810e-b6328244da36", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v =\n", "\n", " 1\n", " 2\n", " 3\n", "\n" ] } ], "source": [ "clear all\n", "close all\n", "clc\n", "v= [1 ; 2 ; 3] % on prend des coordonnées\n", "j = (0:2)'; % indice de base canonique temporelle\n", " % associé aux instants [ 0 1.Te 2.Te ] \n" ] }, { "cell_type": "markdown", "id": "38fe4964-9ec2-465c-8aca-e15deb7129b0", "metadata": { "tags": [] }, "source": [ "# A - Echantillonnage en fréquences\n", "---\n", "\n", "Nous cherchons à construire une base de signaux discrets localisés en fréquence pour décomposer tout signal discret bornés de N points.\n", "\n", "Il faut donc choisir un nombre de N fréquences, qui donneront N vecteur de base fréquentielle, qui permettrons de représenter des signaux discrets bornés sur N points.\n" ] }, { "cell_type": "markdown", "id": "aea4c86d-c202-4953-828a-8cecb6e6be5a", "metadata": { "tags": [] }, "source": [ "## A1 - Sous échantillonnage des fréquences : repliement de spectre\n", "\n", "Dans notre exemple, on veut une base de fréquences de dimension 3 pour avoir un isomorphisme.\n", "\n", "Prenons arbitrairement les fréquences entières $(0,1,2)$ soit $(0,F_e,2F_e)$ et échantillonnons l'exponentielle complexe aux instants associés et aux fréquences associées.\n", "\n", "$t \\leftrightarrow j. T_e \\quad$ et $\\quad f \\leftrightarrow n.F_e$ dans $e^{i2\\pi\\,f\\,t}$ donne :\n", "\n", "$e^{i2\\pi\\,f\\,t} \\leftrightarrow e^{i2\\pi\\,n.F_e\\,k.T_e} = e^{i2\\pi\\,n\\,k}$\n", "\n", "Nous travaillons en temps et fréquences normalisées (les variables sont $\\frac{t}{T_e}$ et $\\frac{f}{F_e}$, ce qui permet de \"faire comme si\" $T_e=1=F_e$)" ] }, { "cell_type": "code", "execution_count": 2, "id": "78345cdd-65ac-465b-b8df-b0a7f9de5583", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 1 1 1\n", " 1 1 1\n", " 1 1 1\n", "\n" ] } ], "source": [ "n=0:2 ;\n", "%% utilisons le Broadcast et la vectorisation pour calculer\n", "% toutes les composantes d'un coup\n", "% temps en rangées (j est vertical) \n", "% et lignes en fréquence (n horizontal)\n", "\n", "% attention n*j marche et donne un scalaire\n", "% j*n n'est pas défini en math et provoque le broadcast voulu\n", "W = exp(i*2*pi*j*n);\n", "\n", "% arrondi au centieme pour aff\n", "centieme = @(x) round(x*100)/100;\n", "centieme(W)" ] }, { "cell_type": "markdown", "id": "4e071e70-8ed7-4ba9-9435-bfc9f4a677ab", "metadata": {}, "source": [ "Ben oui ! On échantillonne l'exponentielle aux multiples de sa période ! \n", "En effet, le $j.n$ est toujours entier et donc ...\n", "\n", "Regardons en 3d pour mieux comprendre :" ] }, { "cell_type": "code", "execution_count": 3, "id": "fa55c0cf-9b3e-4a83-93f2-7416b03c8bbf", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=-0.5:0.01:2.5 ; %vecteur temps quasi-continu et infini.\n", "s = exp(i*2*pi*t'*n);\n", "\n", "%% fonction dans utiles/affiche3d.m\n", "addpath(\"./utiles\")\n", "affiche3d(t,s,j,W)" ] }, { "cell_type": "markdown", "id": "3cb369ac-71e7-490f-bba0-57142774df4c", "metadata": {}, "source": [ "C'est le premier effet du repliement de spectre vu en temporel : toutes les fréquences espacées de $N.F_e$ donnent les mêmes vecteurs.\n", "\n", "Décalons un peu les fréquences pour voir que $0.3Hz$, $1.3Hz$ et $2.3Hz$ donnent les mêmes signaux !" ] }, { "cell_type": "code", "execution_count": 4, "id": "255347ee-44f0-4cfc-a1ae-e17cd4d7f16d", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=-0.5:0.01:2.5 ; %vecteur temps quasi-continu et infini.\n", "f = n +0.3 ;\n", "s = exp(i*2*pi*t'*f);\n", "W = exp(i*2*pi*j*f);\n", "affiche3d(t,s,j,W)" ] }, { "cell_type": "markdown", "id": "a3ce9258-6a85-48d9-b6a3-7197bb865aef", "metadata": { "tags": [] }, "source": [ "> Les fréquences multiples de Fe donnent les mêmes vecteurs donc les coefficients de projection d'un signal à ces fréquences seront les mêmes : \n", "> **Le spectre en fréquence est donc de période $F_e$** du fait de m'échantillonnage temporel de résolution $T_e$\n", "\n", "\n", "Il faut une résolution fréquentielle inférieure à Fe ! Car on est $F_e$ périodique en fréquences par échantillonage temporel." ] }, { "cell_type": "markdown", "id": "fd20c8dd-58f0-4600-8a8d-d35adae64a16", "metadata": { "tags": [] }, "source": [ "## A2 - Sur-échantillonage des fréquences : famille liée \n", "\n", "Prenons un pas inférieur à Fe très fin ! Disons 0.01 Hz ..." ] }, { "cell_type": "code", "execution_count": 5, "id": "685fba0f-c9ea-48ff-82c7-e2bf885afb22", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=-0.5:0.01:2.5 ; %vecteur temps quasi-continu et infini.\n", "f = n*0.1;\n", "s = exp(i*2*pi*t'*f);\n", "W = exp(i*2*pi*j*f);\n", "affiche3d(t,s,j,W);" ] }, { "cell_type": "code", "execution_count": 6, "id": "50c65c70-258c-4146-9ad9-96ecbb68e01e", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=-0.5:0.01:2.5 ; %vecteur temps quasi-continu et infini.\n", "f = n*0.1;\n", "s = exp(i*2*pi*t'*f);\n", "W = exp(i*2*pi*j*f);\n", "affiche3d(t,s,j,W);\n" ] }, { "cell_type": "markdown", "id": "c22f76ec-160b-44bc-8c50-20189bcb1ff0", "metadata": {}, "source": [ "On a enfin des signaux différents, mais sont-ils normés et orthogonaux ? Prenons le premier et dernier vecteur de la base." ] }, { "cell_type": "code", "execution_count": 7, "id": "5c4de0be-c7f0-434b-8624-4f8704fc7bfc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "norme_w0 = 3\n", "norme_w2 = 0.50000 + 1.53884i\n", "norme_i_w0 = -3\n" ] } ], "source": [ "w0 = W(:,1);\n", "w2 = W(:,2);\n", "norme_w0 = transpose(w0)*w0\n", "norme_w2 = transpose(w2)*w2\n", "\n", "norme_i_w0 = transpose(i*w0)*(i*w0)" ] }, { "cell_type": "markdown", "id": "4af4f3ba-210f-4f10-8761-fdd7402cbce7", "metadata": { "tags": [] }, "source": [ "Autant le produit scalaire ${}^T\\!w_0.w_0$ donne $3$ ce qui est normal pour le vecteur (1,1,1).\n", "Autant les autres produits scalaires sont complexes, voire négatif ! Ça ne va pas !" ] }, { "cell_type": "markdown", "id": "a791637d-0bdc-4fc1-a05b-75ec2644f1eb", "metadata": { "tags": [] }, "source": [ "# B - Produit scalaires pour les vecteurs complexes\n", "---\n", "**Pour les vecteurs de $\\mathbb{C}^N$ il n'y a pas de produit scalaire bilinéaire.**" ] }, { "cell_type": "markdown", "id": "ca78d05c-e185-4d33-ab8e-16edd585a047", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "> On définit un produit scalaire hermitien :\n", "> $ = \\overline{{}^T\\!v}. u$\n", "\n", "**Attention à la convention du \"bra\" ($$) ici le \"ket\" est transposé et conjugué à gauche** \n", "On utilise cette convention qui correspond lors de décomposition avec une fonction à gauche et un vecteur de base à droite : \n", "> On est linéaire à gauche : $<\\lambda f+g, w> = \\lambda + $ (linéaire pour les fonctions à décomposer sur w) \n", "> et semi-linéaire à droite : $ = \\overline{\\lambda} + $ (conjugué sur les composantes de la base w) \n", "> $ = \\overline{}$ donc un scalaire peut être maintenant un nombre complexe !\n", "> Mais une norme, reste une norme : $ = \\|u\\|^2 \\geq0$\n", "\n", "**Le produit scalaire hermitien est sesqui-linéaire voulant dire linéaire et demi...**\n", "\n", "Regardons maintenant si la base des vecteurs est orthonormée avec le produit scalaire hilbertien.\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "57a87ed0-d6ef-41e6-9609-471a2710311a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "norme_w0 = 3\n", "norme_w2 = 3\n", "norme_i_w0 = 3\n", "scal_w0_w2 = 2.1200 - 1.5400i\n", "scal_w2_w0 = 2.1200 + 1.5400i\n" ] } ], "source": [ "%% avec matlab l'opérateur ' est le conjugué hermitien \n", "%% x' = conj(transpose(x)) = transpose(conj(x))\n", "\n", "norme_w0 = w0'*w0\n", "norme_w2 = w2'*w2\n", "norme_i_w0 = (i*w0)'*(i*w0)\n", "\n", "%% On peut définir un produit scalaire en fonction lambda\n", "scal = @(bra,ket) ket'*bra;\n", "scal_w0_w2 = centieme(scal(w0,w2))\n", "scal_w2_w0 = centieme(scal(w2,w0))" ] }, { "cell_type": "markdown", "id": "81e0a056-30b6-4c91-a287-b85b1a2abcd3", "metadata": {}, "source": [ "Nous avons des vecteurs de même norme. Il suffti de les diviser par $\\sqrt{3}$ pour les normer.\n", "\n", "**Pour des fréquences trop proches les vecteurs se ressemble un peu (ont une partie colinéaire commune) et ne sont pas orthogonaux !**" ] }, { "cell_type": "markdown", "id": "15f18612-eacb-4451-8dc5-c40b49acf1a8", "metadata": { "tags": [] }, "source": [ "## C - Base fréquentielle orthogonale : TFD\n", "\n", "Maintenant cherchons des fréquences orthogonales, comme nous avons trouvé des instants orthogonaux !\n", "En effet, pour choisir la fréquence on peut s'inspirer des séries de Fourier, car les signaux sont périodiques.\n", "\n", "* Avec les SdF, le signal continu de période $T_0$ est décomposé aux fréquences multiples : $f = n.\\frac{1}{T_0} = n.F_0$\n", "\n", "* Avec la TFD, le signal discret de période $N.T_e$ est décomposé aux fréquences multiples : $f = n . \\frac{1}{N.T_e} = n \\frac{F_e}{N}$\n", "\n", "Ici, avec $N=3$ et une fréquence normalisée $F_e=1$, cela donne $f\\in \\{ 0.\\frac{F_e}{N} , 1.\\frac{F_e}{N} , 2.\\frac{F_e}{N}\\}=\\{ 0 , 1/3 , 2/3\\}$\n", "\n", "Essayons donc" ] }, { "cell_type": "code", "execution_count": 9, "id": "3ad64bc7-89c6-467a-ad4e-b524e36e194c", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "scal_w0_w2 = -0\n", "norm_carre_w2 = 3\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=-0.5:0.01:2.5 ; %vecteur temps quasi-continu et infini.\n", "Fe= 1; N = 3;\n", "Df = Fe/N; % On peut le nommer f0 pour évoquer les SdF\n", "f = n*Df;\n", "s = exp(i*2*pi*t'*f);\n", "W = exp(i*2*pi*j*f);\n", "affiche3d(t,s,j,W);\n", "\n", "w0 = W(:,1);\n", "w2 = W(:,2);\n", "scal_w0_w2 = centieme(scal(w0,w2))\n", "norm_carre_w2 = scal(w2,w2)\n", "scalaires = W'*W;\n" ] }, { "cell_type": "markdown", "id": "716ae5ed-ce58-478d-b59b-1ed0489a04d1", "metadata": {}, "source": [ "Vérifions que les vecteurs sont orthogonaux entre-eux en calculant tous les produits scalaires. Comme la matrice $W$ contient tous les signaux en colonne, il suffit de calculer :\n", "\n", "$\\overline{{}^T\\!W}.W$ on obtient ainsi une matrice de tous les produits scalaires $\\left(\\overline{{}^T\\!w_j}.w_k \\right)$.\n", "\n", "> Rappelons nous qu'avec Octave ```M'``` est equivalent à ```conj(transpose(M))``` c'est à dire $\\overline{{}^T\\!M}$" ] }, { "cell_type": "code", "execution_count": 10, "id": "9e127797-4124-40fc-bfe0-493ba07c85ce", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 3 -0 0\n", " -0 3 -0\n", " 0 -0 3\n", "\n" ] } ], "source": [ "centieme(W'*W)" ] }, { "cell_type": "markdown", "id": "8186b6e2-1062-4c2a-9d92-874ee6530012", "metadata": {}, "source": [ "Nous obtenons ainsi une base orthogonale, et nous pouvons donner les coordonnées du vecteur dans cette base.\n", "\n", "$B_f=\\left(k\\mapsto e^{i2\\pi.\\frac{n.k}{N}}\\right)_{n\\in[\\![0; N|\\![}$\n", "\n", "Ce changement de base correspond exactement à la Transformée de Fourier Discrète, où la composante $n$ associée à la fréquence $n\\frac{F_e}{N}$ s'obtient en projetant sur la base :\n", "\n", "$TFD[s] = \\hat{S} : \\quad \\begin{array}{ccc} [\\![0 \\;;\\; N[\\![_p & \\longrightarrow & \\mathbb{C}\\\\ n & \\longmapsto & \\hat{S}[n]\\quad =\\quad <\\!< s[\\bullet], e^{i \\frac{2\\pi}{N} n . \\bullet}>\\!>_p \\quad= \\sum\\limits_{k=0}^{N-1}{s[k], \\overline{e^{i \\frac{2\\pi}{N} n . k}}}\\end{array}$\n", "\n", "Donc la TFD est l'application qui donne les composantes d'un signal $\\vec{s}$ dans la base fréquencielle $B_f=\\left(k\\mapsto e^{i2\\pi.\\frac{n.k}{N}}\\right)_{n\\in[\\![0; N|\\![}$ et l'on a :\n", "\n", "$\\vec{v}\\quad = \\quad \\left|\\begin{array}{cl} \\hat{S}[0] &= <\\!< s[\\bullet], 1>\\!>_p \\\\ \\hat{S}[1] &= <\\!< s, e^{i 2\\pi \\frac{1}{N} \\bullet}>\\!>_p \\\\ \\vdots &\\\\ \\hat{S}[n] &= <\\!< s, e^{i 2\\pi \\frac{n}{N} \\bullet}>\\!>_p \\quad=\\quad\\sum\\limits_{k=0}^{N-1}{s[k], \\overline{e^{i \\frac{2\\pi}{N} n . k}}}\\\\ \\vdots &\\\\\\hat{S}[N-1] &= <\\!< s, e^{i 2\\pi\\frac{N-1}{N} \\bullet}>\\!>_p \\end{array}\\right|_{B_f}$\n", "\n", "Et en décomposant dans la base temporelle :\n", "\n", "$\\vec{v}\\quad = \\quad \\left|\\begin{array}{cl} s[0] &= <\\!< s[\\bullet], \\delta_0[\\bullet]>\\!>_p \\\\ s[1] &= <\\!< s, \\delta_1>\\!>_p \\\\ \\vdots &\\\\s[j] &= <\\!< s, \\delta_j>\\!>_p =\\sum\\limits_{k=0}^{N-1}{s[k].\\overline{\\delta_j[k]} }\\\\ \\vdots &\\\\ s[N-1] &= <\\!< s, \\delta_{N-1}>\\!>_p\\end{array}\\right|_{B_t} $\n", "\n", "On trouve la transformée par calcul matriciel, mais **attention la base n'est pas normée !** et amplifie le signal de $\\sqrt{N}$\n" ] }, { "cell_type": "code", "execution_count": 11, "id": "9aa86258-826e-457f-b6ad-cc080d68ba5e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TFD_v =\n", "\n", " 6.0000 + 0.0000i\n", " -1.5000 - 0.8660i\n", " -1.5000 + 0.8660i\n", "\n", "Norm_v = 3.7417\n", "Norm_TFD_v = 6.4807\n", "amplification_vaut_sqrt_3 = 1\n", "scalaires =\n", "\n", " 3 -0 0\n", " -0 3 -0\n", " 0 -0 3\n", "\n", "v_reconstruit =\n", "\n", " 3\n", " 6\n", " 9\n", "\n" ] } ], "source": [ "TFD_v = W * v\n", "norme = @(v) sqrt(v'*v) ;\n", "Norm_v = norme(v)\n", "Norm_TFD_v = norme(TFD_v)\n", "\n", "amplification = Norm_TFD_v/Norm_v;\n", "\n", "amplification_vaut_sqrt_3 = centieme(amplification - sqrt(3)) == 0\n", "\n", "\n", "scalaires = centieme(W'*W)\n", "\n", "v_reconstruit = centieme(W' * TFD_v)" ] }, { "cell_type": "markdown", "id": "cfda840d-7aab-420c-af4c-9261a146a09e", "metadata": {}, "source": [ "Le vecteur ainsi reconstruit est 3 fois (N fois) trop grand !\n", "\n", "\n", "On peut normaliser la base et diviser par $\\sqrt{N}$ la base $B_f$. Et ainsi on obtient des matrices de passage symétriques orthogonales et une formule de recomposition symétrique :\n", "${}^T\\!\\overline{\\frac{W}{\\sqrt{N}}} . \\frac{W}{\\sqrt{N}} = \\mathrm{Id}$. Ce qui donne des formules avec des $\\frac{1}{\\sqrt{N}}$ : \n", "\n", "> La **TFD Normalisée** utilise la base b.o.n $B_f=\\left(k\\mapsto \\frac{e^{i2\\pi.\\frac{n.k}{N}}}{\\sqrt{N}}\\right)_{n\\in[\\![0; N|\\![}$ \n", ">$s[k] \\overset{TFD}{\\rightarrow} \\hat{S}[n] = \\frac{1}{\\sqrt{N}} . \\sum\\limits_{k=0}^{N-1}{s[k], \\overline{e^{i \\frac{2\\pi}{N} n . k}}}$\n", " et en recomposant : \n", "> $\\hat{S}[n] \\overset{{TFD}^{-1}}{\\rightarrow} s[k] = \\frac{1}{\\sqrt{N}} . \\sum\\limits_{n=0}^{N-1}{\\hat{S}[n], e^{i \\frac{2\\pi}{N} n . k}}$\n", " \n", "Numériquement cette division par un irrationnel n'est pas pratique, on préfère en général la base orthogonale \"trop grande\" et on compense cette amplification en chageant la formule de recomposition (TFD inverse) : \n", "${}^T\\overline{W}. W = N .\\mathrm{Id} \\implies \\underbrace{\\frac{{}^T\\overline{W}}{N}}_{TFD^{-1}}. W = \\mathrm{Id}$,\n", "\n", "donc \n", "> La **TFD usuelle** utilise la base orthogonale $B_f=\\left(k\\mapsto e^{i2\\pi.\\frac{n.k}{N}}\\right)_{n\\in[\\![0; N|\\![}$ de longueur $\\sqrt{N}$ \n", "> ce qui donne \n", "> $s[k] \\rightarrow \\hat{S}[n] = \\sum\\limits_{k=0}^{N-1}{s[k], \\overline{e^{i \\frac{2\\pi}{N} n . k}}}$\n", " sans division et implique une **division par N pour la transformée inverse** plus sympathique \n", " $\\hat{S}[n] \\rightarrow s[k] = \\frac{1}{N} . \\sum\\limits_{n=0}^{N-1}{\\hat{S}[n], e^{i \\frac{2\\pi}{N} n . k}}$\n", "\n", "Cela donne en numérique pour N=3 :" ] }, { "cell_type": "code", "execution_count": 12, "id": "3fb735b5-7c47-48cf-8aba-57be5ddee110", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v_reconstruit =\n", "\n", " 1\n", " 2\n", " 3\n", "\n", "v_reconstruit_bon =\n", "\n", " 1\n", " 2\n", " 3\n", "\n", "Tfd_inv_de_Tfd =\n", "\n", " 1 -0 0\n", " -0 1 -0\n", " 0 -0 1\n", "\n", "TfdBon_inv_de_TfdBon =\n", "\n", " 1 -0 0\n", " -0 1 -0\n", " 0 -0 1\n", "\n" ] } ], "source": [ "Wtfd = W;\n", "Wtfd_inverse= W'/N;\n", "v_reconstruit = centieme(Wtfd_inverse * TFD_v)\n", "\n", "WtfdBon = W/sqrt(N);\n", "WtfdBon_inverse= WtfdBon';\n", "TfdBon_v = WtfdBon * v;\n", "v_reconstruit_bon = centieme(WtfdBon_inverse * TfdBon_v)\n", "\n", "Tfd_inv_de_Tfd = centieme(Wtfd_inverse * Wtfd)\n", "\n", "TfdBon_inv_de_TfdBon = centieme(WtfdBon_inverse * WtfdBon)\n", "\n" ] }, { "cell_type": "markdown", "id": "1118bb67-6ff8-4307-a561-31783cab11f6", "metadata": { "tags": [] }, "source": [ "# C - Discrete Cosine Transform\n", "---\n", "\n", "La TFD utilise un prolongement des échantillons de $\\mathbb{R}^N$ en considérant les suites périodiques de $\\mathbb{R}^N_p$ les conséquences sont :\n", " - fonction prolongée de parité quelconque donc transformée étant une suite complexe (on peut faire avec deux suites a(n) et b(n) réelles comme pour les séries)\n", " - le prolongement n'est pas \"continu\" dans le cas général $\\implies$ des composantes hautes fréquences (pour les grands n) issue du phénomène de Gibs.\n", " \n", "On peut éviter ces écceuils en cherchant un prolongement de suite réelles qui soit pair, périodique et \"continu\" \n", "\n" ] }, { "cell_type": "markdown", "id": "b3d6582b-aaeb-4298-8296-95bfc56d1d53", "metadata": { "tags": [] }, "source": [ "Nous avons vu dans [bases temporelles](bases_temporelles.ipynb) qu'il y a plusieur prolongement de v de $\\mathbb{R}^3$ dans $\\mathbb{R}^\\mathbb{Z}$ \n", "\n", "Au lieu de faire un prolongement de v en un vecteur N-périodique de $\\mathbb{R}^N_b$ en transformant v=(1,2,3) en $v|_{B_z}=$(...,1,2,3,1,2,3,...) \n", "Nous utilisons **un des prolongements** 2N-périodique pair qui est celui de $\\mathbb{R}^N_b$ transformant v en $v|_{B_z}=$(..., 1,2,3,3,2,1,...)\n", "\n", "**Remarquons que pour que ce signal soit pair il faut considérer un décalage du premier échantillon d'indice n=0 à l'instant $\\frac{Te}{2}$ non plus à l'instant 0**\n", "\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "7e7daabc-29a8-490c-8722-5f195e67399d", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "peigne = @(k,T) mod(k,T)==0; \n", "decal = 1/2;\n", "N = 3; % 3 points\n", "j = (0:N-1) + decal;\n", "periode = 2*N;\n", "k = (0:(periode-1))' + decal;\n", "\n", "M_Bz_Bdct = peigne(k-j,periode) + ...\n", " peigne(k-(periode-j),periode) ;\n", "\n", "v_Bz = M_Bz_Bdct * v ;\n", "\n", "stem(k,v_Bz); box off;" ] }, { "cell_type": "markdown", "id": "f4c923a5-b17f-4e61-b6e5-a8623da881f1", "metadata": { "tags": [] }, "source": [ "La fenêtre de temps/période du signal étant $2N.T_e$. Nous avons une résolution en fréquence double.\n", "\n", "Car en mimant les séries de Fourier nous avons $F_0=\\Delta_f= \\frac{1}{2NT_e}= \\frac{Fe}{2N}$\n", "\n", "> On retient que plus on augmente le nombre de point, plus la fenêtre temporelle (période) est large \n", "> plus la résolution fréquencielle (pas d'échantillonnage des fréquences) est fine.\n", "\n", "Dans notre cas, il faudra donc les fréquences multiples de $\\frac{Fe}{2N}=\\frac{1}{6}$.\n", "\n", "**Attention au décalage du premier échantillon qui n'est pas en 0, mais en $\\frac{T_e}{2}$ !** Il faut donc redéfinir la base fréquencielle à ces instants-là..." ] }, { "cell_type": "code", "execution_count": 14, "id": "2c9bb0ce-9a30-42d7-bb95-8d0b169525f4", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n=(0:(2*N-1));\n", "k=n'+0.5;\n", "\n", "M_Bz_Bf= cos(2*pi*k*n/(2*N));\n", "\n", "t=-0.5:0.01:6.5 ; %vecteur temps quasi-continu et infini.\n", "s = cos(2*pi*t'*n/(2*N));\n", "\n", "voir = 1:3;\n", "%voir = [1,4];\n", "plot(k,M_Bz_Bf(:,voir),'o'); box off; hold on;\n", "plot(t,s(:,voir),'--');" ] }, { "cell_type": "markdown", "id": "0ebffce6-cef1-407f-b17e-3886cb8858ed", "metadata": {}, "source": [ "Vérifions que les vecteurs soient bien indépendants, orthogonaux et normés\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "9ec4b41a-4f93-4efe-b98e-a39657596f51", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 1.00000 0.87000 0.50000 0.00000 -0.50000 -0.87000\n", " 1.00000 0.00000 -1.00000 -0.00000 1.00000 0.00000\n", " 1.00000 -0.87000 0.50000 0.00000 -0.50000 0.87000\n", " 1.00000 -0.87000 0.50000 -0.00000 -0.50000 0.87000\n", " 1.00000 -0.00000 -1.00000 0.00000 1.00000 0.00000\n", " 1.00000 0.87000 0.50000 -0.00000 -0.50000 -0.87000\n", "\n", "ans =\n", "\n", " 6 -0 -0 -0 -0 -0\n", " -0 3 -0 -0 -0 -3\n", " -0 -0 3 -0 -3 -0\n", " -0 -0 -0 0 0 0\n", " -0 -0 -3 0 3 0\n", " -0 -3 -0 0 0 3\n", "\n", "Norme =\n", "\n", " 2.45000 0.00000 0.00000 0.00000 0.00000 0.00000\n", "\n" ] } ], "source": [ "centieme(M_Bz_Bf)\n", "scalaires = transpose(M_Bz_Bf)*M_Bz_Bf;\n", "centieme(scalaires)\n", "\n", "Norme = centieme(sqrt(sum(scalaires)))\n" ] }, { "cell_type": "markdown", "id": "7d40635b-666e-4aba-9042-dfb0fe693299", "metadata": {}, "source": [ "Mais on a mis trop de vecteur de fréquences !\n", "Il en suffit de trois !\n", "\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "99a1644d-c75c-4687-9228-2a7b6116f2e1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 0.71000 0.87000 0.50000\n", " 0.71000 0.00000 -1.00000\n", " 0.71000 -0.87000 0.50000\n", " 0.71000 -0.87000 0.50000\n", " 0.71000 -0.00000 -1.00000\n", " 0.71000 0.87000 0.50000\n", "\n", "scalaires =\n", "\n", " 3 -0 -0\n", " -0 3 -0\n", " -0 -0 3\n", "\n", "M_Bdct_Bf =\n", "\n", " 1.4142e+00 1.7321e+00 1.0000e+00\n", " 1.4142e+00 -1.2246e-16 -2.0000e+00\n", " 1.4142e+00 -1.7321e+00 1.0000e+00\n", "\n", "ans =\n", "\n", " 6 0 -0\n", " 0 6 -0\n", " -0 -0 6\n", "\n" ] } ], "source": [ "n=(0:(N-1));\n", "k=(0:(2*N-1))'+0.5;\n", "M_Bz_Bf= cos(2*pi*k*n/(2*N));\n", "M_Bz_Bf(:,1) = M_Bz_Bf(:,1)/sqrt(2);\n", "centieme(M_Bz_Bf)\n", "\n", "scalaires = centieme(M_Bz_Bf' * M_Bz_Bf)\n", "\n", "M_Bdct_Bf = M_Bz_Bdct' * M_Bz_Bf \n", "\n", "centieme(M_Bdct_Bf*M_Bdct_Bf')" ] }, { "cell_type": "markdown", "id": "7671ca87-3a0f-433e-96ed-92c923469abb", "metadata": { "tags": [] }, "source": [ "On peut avoir finalement une représentation temporelle et une fréquencielle du même vecteur signal.\n", "\n", "Inutile de représenter un signal pair périodique : l'espace du signal est de dimension 3 et donc seules 3 informations suffisent.\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Octave", "language": "octave", "name": "octave" }, "language_info": { "file_extension": ".m", "help_links": [ { "text": "GNU Octave", "url": "https://www.gnu.org/software/octave/support.html" }, { "text": "Octave Kernel", "url": "https://github.com/Calysto/octave_kernel" }, { "text": "MetaKernel Magics", "url": "https://metakernel.readthedocs.io/en/latest/source/README.html" } ], "mimetype": "text/x-octave", "name": "octave", "version": "4.2.2" } }, "nbformat": 4, "nbformat_minor": 5 }