...
 
Commits (18)
compile_pdf:
stage: build
image: timnn/texlive # use a Docker image for LaTeX from https://hub.docker.com/
script: pdflatex main.tex # build the pdf just as you would on your computer
artifacts:
paths:
- main.pdf # instruct GitLab to keep the main.pdf file
image: aergus/latex # use a Docker image for LaTeX from https://hub.docker.com/
pages:
stage: deploy
variables:
USER: "gitlab-runner"
script:
- mkdir public # create a folder called public
- cp main.pdf public # copy the pdf file into the public folder
- ./compile.sh # build the pdf
artifacts:
paths:
- public # instruct GitLab to keep the public folder
......
......@@ -71,7 +71,7 @@ On peux donc tracer :
La répartition des fils autour du rotor influe sur l'allure de la force magnétomotrice. Par exemple pour une répartition uniforme de $n/3$ spires par encoche :
\begin{figure}[H]
\centering
\begin{subfigure}{.5\textwidth}
\begin{subfigure}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\fill[gray!40,even odd rule] (0,0) circle(2.25) circle (3);
......@@ -88,11 +88,12 @@ La répartition des fils autour du rotor influe sur l'allure de la force magnét
\end{tikzpicture}
\subcaption{Schéma du stator (monophasé)}
\end{subfigure}%
\begin{subfigure}{0.5\linewidth}
\begin{subfigure}[b]{0.5\linewidth}
\centering
\begin{tikzpicture}
\begin{axis}
[axis lines = middle,
height=7.6cm,
xlabel=$\theta$,ylabel=$\epsilon_s$,
xmax=3,xmin=-3,ymin=-1.5,ymax=1.5,
samples=41,
......@@ -137,7 +138,7 @@ En utilisant un courant $i_s$ alternatif (à la pulsation $\omega$) on a une ond
\end{figure}
Dans le cas triphasé on répartis les enroulements de manière sinusoïdales (seule un tour de bobinage est représenté) parcourus par $i_{sa} ,i_{sb},i_{sc}$ :
Dans le cas triphasé on répartis les enroulements de manière sinusoïdales (seul un tour de bobinage est représenté) parcourus par $i_{sa} ,i_{sb},i_{sc}$ :
\[
\begin{cases}
i_{sa}(t)=I\sqrt{2}\cos(\omega t) \\
......@@ -183,7 +184,7 @@ On a créer un champ tournant , avec trois bobinage , le module de la force magn
\subsection{Rotor à une spire en court circuit}
\begin{figure}[H]
\begin{subfigure}{.5\textwidth}
\begin{subfigure}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\fill[gray!20,even odd rule] (0,0) circle(2.25) circle (3);
......@@ -202,7 +203,7 @@ On a créer un champ tournant , avec trois bobinage , le module de la force magn
\end{tikzpicture}
\subcaption{Disposition du rotor (monophasé)}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\begin{subfigure}[b]{.5\textwidth}
\centering
\begin{circuitikz}
\draw (0,0) to[V,v=$e$] ++(0,2) to[R,l=$R_r$] ++(0,2)-- ++(2,0) |-(0,0);
......@@ -251,8 +252,8 @@ Pour $\theta_s=\omega_st$ , position du champs statorique et $\theta_r = \Omega
On a:
\begin{itemize}
\item Vitesse de rotation de $\overrightarrow{B_s}$ : $\omega_s$
\item Vitesse de rotation du rotor $\omega_r$
\item Vitesse de rotation de $\overrightarrow{B_s}$ dans le repère du rotor : $\omega_s-\omega_r$
\item Vitesse de rotation du rotor $\Omega$
\item Vitesse de rotation de $\overrightarrow{B_s}$ dans le repère du rotor : $\omega_s-\Omega = \omega_r$
\item Vitesse de rotation du champ $\overrightarrow{B_r}$ induit dans le rotor dans le repère du stator : $\omega_s$.
\end{itemize}
\begin{prop}
......@@ -307,9 +308,9 @@ On a les équations suivantes pour le stator:
\Phi_{as}(t) &= (L_s-M_s) i_{as}(t)+\frac{3M_0I_r}{\sqrt{2}}\cos(\omega_st+\phi_s)
\end{align*}
On en déduit donc (Dans le formalisme complexe de l'ARQS)
\[
\[\boxed{
\underline{V_{as}} = R_s \underline{I_s}+jL_{sc}\omega_s\underline{I_{as}}+j \frac{3}{2}M_0\omega_s\underline{I_r}
\]
}\]
$I_r$ est à la pulsation $\omega_s$ !
\subsubsection{Équations rotoriques}
......@@ -325,8 +326,8 @@ On fais les mêmes calculs pour le rotor :
Donc on a dans le formalisme complexe de l'ARQS, avec le rotor en court-circuit:
\[
V_{ar} = R_rI_{ar}+jL_{rc}\omega_rI_{ar}+j\frac32 M_0\omega_rI_s =0
\[\boxed{
V_{ar} = R_rI_{ar}+jL_{rc}\omega_rI_{ar}+j\frac32 M_0\omega_rI_s =0}
\]
On pose alors le \emph{facteur de glissement:}
......@@ -338,7 +339,7 @@ On pose alors le \emph{facteur de glissement:}
\subsubsection{Modèle par analogie}
Dans le cas d'une machine à simple alimentation(on étudie l'usage d'une machine à double alimentation dans \ref{sec:MADA}) le rotor est en court circuit:
Dans le cas d'une machine à simple alimentation(on étudie l'usage d'une machine à double alimentation dans la partie \ref{sec:MADA}) le rotor est en court circuit:
\[
\frac{\underline{V_{ar}}}{g} = 0 = \frac{R_r}{g} + jL_{Rc}\omega_sI_{ar}+j\frac32 M_0 \omega_sI_s
......@@ -456,9 +457,9 @@ Et on a :
\end{align*}
Dans le modèle équivalent on est a $\omega_s$. Or dans le rotor les courants sont à $\omega_r$. On a alors: $\omega_r =g\omega_s$ Soit
\[
\[\boxed{
g =\frac{\omega_s-\omega}{\omega_s}
\]
}\]
......@@ -674,6 +675,23 @@ Après un \emph{développement limité} au premier ordre de $C_{em}$ lorsque $g$
\section{La machine asynchrone a double alimentation}
\label{sec:MADA}
Pour une machine asynchrone a double alimentation on injecte (ou récupère) des courants au rotor, qui n'est plus en court-circuit (mais connecté à un système de bague/balais).
Le modèle éléctrique est alors :
\begin{figure}[H]
\centering
\begin{circuitikz}
\draw (0,0) node[gyrator](G){}
(G.A1) -- ++(-1,0) coordinate(M) to[L,l_=$L_{sc}$] ++(0,-2) |- (G.A2)
(G.B1) to[L,l=$l_{fuites}$] ++(1.5,0) to[R,l=$R_r/g$,i^<=$I_r$,-o] ++ (2.5,0)
(G.B2) to[short,-o] ++(4,0) to[open,v=$V_r$]++(0,2)
(M) to[R,l=$R_s$,-o] ++(-2,0)
(G.A2) to[short,-o] ++(-3,0) to[open,v=$V_s$] ++(0,2);
\draw[latex-latex] (G.A1)++(0,0.2) to[bend left] ++(2,0) node[midway, above=1.5em]{$m$} ;
\end{circuitikz}
\caption{Modèle électrique équivalent}
\end{figure}
\section{La machine asynchrone en génératrice}
......
\documentclass[main.tex]{subfiles}
\begin{document}
\subsection{Introduction}
\emph{Beaucoup de blabla. Beaucoup.}
À part la radio, toute les transmissions sont numériques.
\paragraph{Objectif}
Transmettre le max de donnée avec un fiabilité maximale
\begin{itemize}
\item Malgré les limites théoriques
\item Les contraintes physiques
\item contraintes numériques
\end{itemize}
\subsection{Historique}
\emph{encore du blabla. encore. }
\subsection{Principe d'une chaine de transmission numérique}
\begin{figure}[H]
\centering
\begin{tikzpicture}
[every node/.style={draw,rectangle,minimum height=4em,node distance=0.5cm,scale=0.8}]
\node (S) at (0,0){Source};
\node (CS) [right= of S]{\begin{tabular}{c}Codage \\ source\end{tabular}};
\node (CC) [right= of CS]{\begin{tabular}{c}Codage \\ canal\end{tabular}};
\node (CBB) [right= of CC]{\begin{tabular}{c}Codage B de B \\ modulation\end{tabular}};
\node (C) [right= of CBB]{Canal};
\node (A) [right= of C][adder]{};
\node (Demod)[right= of A]{Demod};
\node (E) [right= of Demod]{Egaliseur};
\node (Decod)[right= of E]{Decodeur};
\tikzset{every node/.style={}}
\draw (S) -- (CS) -- (CC) -- (CBB)-- (C) -- (A.1) (A.3) -- (Demod) -- (E) -- (Decod);
\draw[latex-] (A.4) -- ++(0,1) node[above]{Bruit};
\draw [thick,decoration={
brace,
mirror,
raise=0.5cm,amplitude=0.5cm},decorate] (S.south west) -- (CBB.south east)node[midway,below=1cm]{Emetteur};
\draw [thick,decoration={
brace,
mirror,
raise=0.5cm,amplitude=0.5cm},decorate] (C.south west) -- ++(2.5,0) node[midway,below=1cm]{Canal de transmission};
\draw [thick,decoration={
brace,
mirror,
raise=0.5cm,amplitude=0.5cm},decorate] (Demod.south west) -- (Decod.south east) node[midway,below=1cm]{Recepteur};
\end{tikzpicture}
\caption{Principe d'une chaine de transmission numérique}
\end{figure}
\paragraph{Source}
Une source d'information est un signal aléatoire. Les communications numériques sont alors des signaux discrets.
\paragraph{Codage de source}
Dans cette étape on associe un code de facon bijective une suite de k élement binaire (cf UE 455) $\{c_k\}$
\paragraph{Codage Canal}
L'objectif est de lutté contre les effets du canal:
\begin{itemize}
\item introduction de redondance
\item Ajoute des bits de redondances à $\{c_k\}$ pour former $\{d_n\}$
\item permet l'évaluation d'erreur
\end{itemize}
Il faut trouver un compromis entre débit et robustesse aux erreurs.
\paragraph{Codage de bande de base}
\begin{itemize}
\item Donne une réalité physique au message (tension, énergie...)
\item Utilise des formes d'impulsions
\item Donne au spectre des des propriété utiles (bandes occupée, présence de la fréquence d'horloge ...)
\end{itemize}
\begin{figure}[H]
\centering
\begin{subfigure}{.5\textwidth}
\subcaption{Impulsion rectangulaire}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\subcaption{Impulsion de Nyquist}
\end{subfigure}
\caption{Formes d'impulsions classiques}
\end{figure}
\paragraph{Modulation}
Comme pour une modulation numérique
\[
e(t) = A(t)\cos(\Phi(t))
\]
$A(t)$ et $\Phi(t)$ sont les amplitudes et phases instantanée.
\begin{exemple}[Modulation QPSK]
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{scope}
\draw[-latex] (0,-3) -- (0,3);
\draw[-latex] (-3,0) -- (3,0);
\draw (0,0) circle (2);
\node[above right] at (2,0) {00};
\node[above left] at (0,2) {01};
\node[below left] at (-2,0) {11};
\node[below right] at (0,-2) {10};
\end{scope}
\begin{scope}[shift={(4,-3)}]
\begin{axis}
[axis lines = middle,height=6cm, width=12cm,
xmin=0,xmax=360,ymin=-1,ymax=1,
domain=0:360,samples=200, xtick=\empty,ytick=\empty]
\addplot[black,domain=0:90]{0.7*sin(12*x)};
\addplot[black,domain=90:180]{-0.7*sin(12*x)};
\addplot[black,domain=180:270]{0.7*sin(12*x)};
\addplot[black,domain=270:360]{0.7*cos(12*x)};
\draw[dashed] (axis cs:90,-1) -- (axis cs: 90,1);
\draw[dashed] (axis cs:180,-1) -- (axis cs: 180,1);
\draw[dashed] (axis cs:270,-1) -- (axis cs: 270,1);
\draw[dashed] (axis cs:360,-1) -- (axis cs: 360,1);
\node at (axis cs: 45,0.8){01};
\node at (axis cs: 135,0.8){10};
\node at (axis cs: 225,0.8){01};
\node at (axis cs: 315,0.8){00};
\end{axis}
\end{scope}
\end{tikzpicture}
\caption{modulation QPSK}
\end{figure}
\end{exemple}
\paragraph{Canal de transmission}
Plusieurs types de canaux possibles: canal hertzien , ligne filaire , coax...
On les caractérise par leur réponse impulsionnelle complexe, et par sa bande passante B.
\begin{defin}
On défini la \emph{ capacité de Shannon:}
\[
C = B.\log_2(1+RSB)
\]
\end{defin}
\paragraph{Bruit}
Le bruit est présent à la transmission, et dans le canal. on le caractérise par sa densité de probabilité généralement on suppose le bruit additif Blanc et Gaussien:
\[
p(b) = \frac{1}{\sqrt{2\pi \sigma_B^2}} \exp\left(\frac{-(b-\mu_b)^2}{2\sigma_b^2}\right)
\]
On a souvent un bruit centré : $\mu_b=0$
\paragraph{Démodulation}
À la réception on inverse la modulation
\begin{exemple}[Démodulation QPSK]
\end{exemple}
\paragraph{Egaliseur régénerateur}
Objectif : lutter les effets du canal de transmission pour augmenter le débit.
\paragraph{Décodeur}
on refait le passage analogique-numérique et on décode le canal (correction d'erreur) pour cela :
\begin{itemize}
\item echantillonnage (cad prise de décision) :filtrage adapté + sortie dur ou souple
\item décodage du canal
\item décodage de source
\end{itemize}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:
\documentclass[main.tex]{subfiles}
\begin{document}
\subsection{Codage de donnée discrètes}
\begin{defin}
Les données discrètes sont représentées par des symboles en nombre fini $m$.
On parle d'une répresentation $m-$aire ou $m-$moments
\end{defin}
\begin{exemple}
\begin{itemize}
\item Alphabets
\item Symbole de numérotation (décimal, hexa, octal)
\end{itemize}
\end{exemple}
\begin{tabular}{|c|c|c|c|}
\hline
Sources& Symboles& Dimension& Codage binaires \\
\hline
alpha. simplifié & lettre& 27 & 5\\
alphabet & lettres 128 & 7 \\
Nombres & chiffres & Dec: 0-9 10 & 4 (DCB)\\
Nombres & chiffres & Hex: 0-F 16 & 4 \\
Nombres & chiffres & Ternaire: 0-p 10 & 2)\\
\end{tabular}
\begin{rem}
Les symboles binaire s sont des bits ou ``digit''.
On code un alphabet à $m= 2^n$ symboles avec des mots binaires à $n$ bits. Il y a $m!$ possibilités.
\end{rem}
\subsection{Codage d'une information analogique MIC}
On réalise une conversion Analogique-Numérique classique : Échantillonnage et blocage. Comme au chapitre 1.
\subsection{Modulation différentielles DPCM}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:
......@@ -3,7 +3,7 @@
% Mise en page
\title{Notes de Cours}
\author{Pierre-Antoine Comby}
\teacher{}
\teacher{F. Sammouth \& J-P Barbeau}
\module{433 \\ Electronique numérique\\ pour la transmission}
\begin{document}
\maketitle
......@@ -67,14 +67,28 @@ Canal \\de\\ propagation
Le codage a pour but de mettre en forme le signal numérique pour garantir au maximum une bonne identification à l'arrivée des bits transmis. Et ce malgré une bande passante de canal limitée et bruité.
Il y a donc un compromis à faire entre bande passante et rapport signal sur bruit final. Avant le codage "canal", il y a le codage de source (UE 455), qui compresse le signal mais ajoute également des informations pour identifier les erreurs de transmission à la réception, et pour prévoir leur correction.
\chapter{Traitement numérique de l'information}
\section{Echantillonnage d'un signal numérique}
\subfile{chap1.tex}
\subfile{chap11.tex}
\section{Exemple de filtre à capacité commutées}
\subfile{chap2.tex}
\subfile{chap12.tex}
\section{Filtre numériques (échantillonnés)}
\subfile{chap3.tex}
\subfile{chap13.tex}
\section{CAN et CNA}
\subfile{chap4.tex}
\subfile{chap14.tex}
\chapter{Communication numérique}
\emph{Jean-Pierre Barbeau}
\section{Introduction}
\subfile{chap21.tex}
\section{La source de l'information}
\subfile{chap22.tex}
\section{Choix d'un code en bande de base}
\section{Transmission dans un canal en bande de base (non bruité)}
\end{document}
......
......@@ -184,19 +184,197 @@ Avec la dérivée généralisé au sens des distributions.
\footnotetext{continue, bijective continue}
\subsection{Expérance, moment et fonction caractéristique}
\begin{defin}
pour $g \R \to\C^p$
On appelle \emph{espérance} d'une variable aléatoire la grandeur:
\[
E(g(X)) = \int_{\R}^{} g(x)f_X(x)\d x
\]
Dans le cas discret on a:
\[
E(g(X)) = \sum_{\mathbb{I}}^{}g(x_i)P(X=x_i)
\]
\end{defin}
\begin{prop}
L'espérance est linéaire (sous réserve d'existance):
\begin{itemize}
\item $E[c]=c$
\item $E[cg(x)]=cE[g(x)]$
\item $E[g(x)+h(x)] =E[g(x)]+E[h(y)]$
\end{itemize}
\end{prop}
\begin{rem}
On note aussi $E[X]=m_X = m$ ``moyenne de la variable aléatoire''. Si $m$ = 0 on dit que la VA est centrée.
\end{rem}
\begin{defin}
On appelle \emph{momemt d'ordre $k$}:
\[
m_k = E[X^k]
\]
Le \emph{moment centré d'ordre $k$ :}
\[
m_k = E[(X-m_X)^k]
\]
Le moment $\mu_2$ est aussi appelé la \emph{variance}
\end{defin}
\begin{rem}
on note $\sigma_x = \sqrt{v_x}$ l'écart type de X. Il mesure la dispersion autour de $m_x$.
On défini la variable centrée réduite associée à $X$:
\[
X_r = \frac{X-m_X}{\sigma_X}
\]
\end{rem}
\subsection{Fonction caractéristique}
\begin{defin}
On appelle fonction caractéristique:
\[
\phi_X(u) = E[exp(juX)] = \int_{-\infty}^{+\infty}
\]
\end{defin}
\begin{prop}
\begin{itemize}
\item $\phi_X(u)$ existe toujours $|\phi_X(u)|\le\phi_X(0)=1$
\item Symétrie hermitienne
\item $\phi_X(u)$ est continue même pour des VA discrètes
\item On appelle 2ème fonction de répartition $\Psi_X(u)=\ln(\phi_X(u))$
\item \[
m_k = (-j)^k\left.\deriv[^{k}\phi_X(u)]{u^k}\right|_{u=0}
\]
\end{itemize}
\end{prop}
\section{Couple de variable aléatoire réelles}
\subsection{Généralité}
\begin{defin}
Un couple de variable aléatoire est défini comme:
\[
Z
\begin{cases}
\Omega \to \R^2\\
\omega \mapsto Z(\omega) = \vect{X(\omega)\\Y{\omega}}
\end{cases}
\]
On défini également:
\[
Z^{-1} : \mathcal{D} \mapsto Z^{-1}(\mathcal{D}) = E_D \subset \mathcal{E}
\]
\end{defin}
\subsection{Fonction de répartition}
\begin{defin}
\begin{itemize}
\item fonction de répartition conjointe:
\begin{align*}
P(X<x;Y<y) &=F_{XY}(x,y)\\
&=P((x,y)\in \mathcal{D})\\
&=F_Z(z)
\end{align*}
\item fonction de répartition marginale
\begin{align*}
F_{X}(x)=P(X<x) &= F_{XY}(x,+\infty)\\
&=P((x,y)\in\mathcal{D}_X)
\end{align*}
\end{itemize}
\end{defin}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{scope}
\draw[-latex] (-1,0) -- (4.1,0);
\draw[-latex] (0,-1) -- (0,4.1);
\fill[pattern= north east lines] (2,-1) rectangle (4,4);
\fill[pattern= north east lines] (-1,2) rectangle (4,4);
\draw (-1,2) -- (4,2);
\draw (2,-1) -- (2,4);
\node at (1,1) {$\mathcal{D}_{xy}$};
\end{scope}
\begin{scope}[shift={(6,0)}]
\draw[-latex] (-1,0) -- (4.1,0);
\draw[-latex] (0,-1) -- (0,4.1);
\fill[pattern= north east lines] (2,-1) rectangle (4,4);
\draw (2,-1) -- (2,4);
\node at (1,1) {$\mathcal{D}_x$};
\end{scope}
\end{tikzpicture}
\caption{Représentation des domaines d'existence possible pour $X,Y$}
\end{figure}
\subsection{Densité de probabilité}
\subsubsection{Espérance de la VA}
\begin{defin}
on défini la densité de probabilité conjointe:
\[
f_{XY} = \derivp[^2F_{XY}(x,y)]{x\partial y }
\]
\end{defin}
\begin{prop}
densité de probabilité conjointe et fonction de répartition sont reliées:
\[
\int_{-\infty}^{x^-}\int_{-\infty}^{y^-} f_{XY}(\alpha,\beta)\d \alpha \d \alpha = F_{XY}(x,y)
\]
et :
\[
\int_{-\infty}^{x}\int_{\R}^{}f_{XY}(\alpha,\beta)\d \beta = F_{XY}(x,\infty) =F_X(x)
\]
\end{prop}
\begin{defin}
À partir de la fonction de répartion marginale on peux définir la loi marginale de $X$ :
\[
f_X(x) = \deriv[F_X(x)]{x} =\int_{\R}^{}f_{XY}(x,y)\d y
\]
Et alors la loi conditionelle de $X$ sachant $Y$:
\[
f_{X|Y}(x) = \frac{f_{XY}(x,y)}{f_{Y(y)}}
\]
\end{defin}
\subsection{Indépendance}
\begin{defin}
On dit que $X$ et $Y$ sont indépendant:
\begin{description}
\item[$\iff$] $F_{XY}(x,y)=F_X(x)F_Y(y)$
\item[$\iff$] $f_{XY}(x,y)=f_X(x)f_Y(y)$
\end{description}
\end{defin}
\subsection{Changement de VA}
\begin{prop}
On considère :
\[
g
\begin{cases}
\R^2 \to \R^2\\
Z =(X,Y) \mapsto W =(U,V)=g(X,Y)
\end{cases}
\]
Alors:
\[
f_W(w) = f_Z(z)|J|
\]
où :
\[
J =
\begin{pmatrix}
\displaystyle\derivp[x]{u} & \displaystyle\derivp[x]{v}\\[1em]
\displaystyle\derivp[y]{u} & \displaystyle\derivp[y]{v}
\end{pmatrix}
\]
\end{prop}
\begin{rem}
Il est parfois plus simple de calculer:
\[
|K| =\left|
\begin{array}{cc}
\displaystyle\derivp[x]{u} & \displaystyle\derivp[x]{v}\\[1em]
\displaystyle\derivp[y]{u} & \displaystyle\derivp[y]{v}
\end{array}\right|
\]
Au quel cas on a : $f_W(w) = f_Z(z)\frac{1}{|K|}$
\end{rem}
\subsection{Espérance et moments-fonction caractéristique}
\section{Variable aléatoire vectorielle et réelles}
\subsection{Définition}
\subsection{Fonction de répartition}
......
\documentclass[openany]{../../cours}
\usepackage{../../raccourcis}
\usepackage{bbold} % indicatrice
\usetikzlibrary{patterns}
% Mise en page
\title{Notes de Cours}
\author{Pierre-Antoine Comby}
......
......@@ -2,10 +2,16 @@
\begin{document}
\section{Introduction}
\subsection{Domaines d'applications}
Refaire le graphe stylé en TikZ
% Refaire le graphe stylé en TikZ
% \begin{figure}[H]
% \centering
% \definecolor{phy}{RGB}{153,132,30}
% \definecolor{algo}{RGB}{143,139,72}
% \definecolor{appstat}{RGB}{128,0,0}
% \definecolor{opti}{RGB}{30,132,153}
% \definecolor{vrob}{RGB}{102,102,255}
% \begin{tikzpicture}
% \tikzset{every node/.append style={scale=0.5}}
% \path[mindmap,concept color=green!50!black, text=white,
......@@ -13,7 +19,7 @@ Refaire le graphe stylé en TikZ
% level 2/.append style={level distance=1.5cm}]
% node[concept](TI) at (0,0){Traitement D'image}
% child[grow = 90, concept color = green!75!black]{
% child[grow = 90, concept color = green!75!red]{
% node[concept](ImMed){Imagerie Médicale}[clockwise from = -60]
% child{node[concept](seg) {Segmentation}}
% child{node[concept](therapie){Therapie}}
......@@ -22,7 +28,7 @@ Refaire le graphe stylé en TikZ
% child{node[concept](Recal){Recalage}}
% child{node[concept](Rec3D){Reconstruction 3D}}
% }
% child[grow = 0,level distance=5cm, concept color = violet]{
% child[grow = 0,level distance=5cm, concept color=vrob]{
% node[concept](VRob){Vision Robotique}
% child[grow=90]{node[concept](Carto) {Cartographie}}
% child[grow=0]{node[concept](Ass){Assistance}}
......@@ -39,39 +45,38 @@ Refaire le graphe stylé en TikZ
% child[grow=180]{node[concept](prev) {Prévisions}}
% child[grow=90]{node[concept](Surv){Surveillance}}
% };
% \path[mindmap,concept color=brown!80!white!60!green, text=white]
% node[concept](Phy) at (-6,4){Physique};
% \path[mindmap,concept color=blue!80!white!60!green, text=white]
% node[concept](Algo) at (-6,-4){Algorithmique};
% \path[mindmap,concept color=brown!80!black, text=white]
% node[concept](AppStat) at (6,-4){Apprentissage Statistique};
% \path[mindmap,concept color=blue!80!white!60!green, text=white]
% node[concept](Opti) at (6,4){Optimisation};
% \path[mindmap,concept color=phy, text=white]
% node[concept](Phy) at (-8,4){Physique};
% \path[mindmap,concept color=algo, text=white]
% node[concept](Algo) at (-8,-4){Algorithmique};
% \path[mindmap,concept color=appstat, text=white]
% node[concept](AppStat) at (8,-4){Apprentissage Statistique};
% \path[mindmap,concept color=opti, text=white]
% node[concept](Opti) at (8,4){Optimisation};
% \begin{pgfonlayer}{background}
% \draw (Phy) to[circle connection bar] (ImSat);
% \draw (Algo) to[circle connection bar] (ImMed);
% \draw (Algo) to[circle connection bar] (Index);
% \draw (Phy) to[circle connection bar] (ImMed);
% \draw (Opti) to[circle connection bar] (ImMed);
% \draw (Opti) to[circle connection bar] (VRob);
% \draw (AppStat) to[circle connection bar] (VRob);
% \draw (AppStat) to[circle connection bar] (Index);
% \draw (seg) to[circle connection bar] (ImSat);
% \draw (Surv) to[circle connection bar] (VRob);
% \draw (ImSat) to[circle connection bar] (Carto);
% \draw (ImSat) to[circle connection bar] (reco);
% \draw (reco) to[circle connection bar] (ImMed);
% \draw (reco) to[circle connection bar] (ImSat);
% \draw (Phy) to[circle connection bar switch color=from (algo) to (violet)] (ImSat);
% \draw (Algo) to[circle connection bar switch color=from (algo) to (green!75!red)] (ImMed);
% \draw (Algo) to[circle connection bar switch color=from (algo) to (orange)] (Index);
% \draw (Phy) to[circle connection bar switch color=from (phy) to (green!75!red)] (ImMed);
% \draw (Opti) to[circle connection bar switch color=from (opti) to (green!75!red)] (ImMed);
% \draw (Opti) to[circle connection bar switch color=from (opti) to (vrob)] (VRob);
% \draw (AppStat) to[circle connection bar switch color=from (appstat) to (vrob)] (VRob);
% \draw (AppStat) to[circle connection bar switch color=from (appstat) to (orange)] (Index);
% \draw (seg) to[circle connection bar switch color=from (green!75!red) to (violet)] (ImSat);
% \draw (Surv) to[circle connection bar switch color=from (violet) to (vrob)] (VRob);
% \draw (ImSat) to[circle connection bar switch color=from (violet) to (vrob)] (Carto);
% \draw (ImSat) to[circle connection bar switch color=from (orange) to (violet)] (reco);
% \draw (reco) to[circle connection bar switch color=from (orange) to (green!75!red)] (ImMed);
% \draw (reco) to[circle connection bar switch color=from (orange) to (violet)] (ImSat);
% \end{pgfonlayer}
% \end{tikzpicture}
% \caption{Domaines et interface du Traitement d'image}
% \end{figure}
% \newpage
\subsection{Définion}
\begin{defin}
\begin{itemize}
\item Une \emph{image} est une répresentaiton continue d'une fonction $f(x,y)$ qui relie $f$ à l'intensité lumineuse du point $(x,y)$.
......@@ -85,12 +90,12 @@ Refaire le graphe stylé en TikZ
\includegraphics[width=0.7\textwidth]{img/mona_lisa_echantillon.png}
\caption{Echantillonage spatial}
\end{figure}
\newpage
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{img/mona_lisa_quantif.png}
\caption{Quantification}
\end{figure}
\subsection{Notation et structure}
Pour accéder aux pixel d'une image:
......@@ -666,13 +671,13 @@ la méthode d'Otsu est utilisée pour effectuer un seuillage automatique à part
\begin{prop}
On cherche le seuil $t$ tel que :
\[
\arg\max \omega_1(t)\omega_2(t)[\mu_1(t)-\mu_2(t)]^2
t = \arg\max_{t} \omega_1(t)\omega_2(t)[\mu_1(t)-\mu_2(t)]^2
\]
Avec:
\begin{itemize}
\item $\omega_1(t) = \sum_{i=0}^{t}H_n(i)$
\item $\mu_1(t) = \frac{1}{\omega_1(t)}\sum_{i=0}^{t} i \cdot H_n(i)$.
\item idem pour $\omega_2$ et $\mu_2$.
\item $\omega_1(t) = \sum_{i=0}^{t}H_n(i)$ et $\omega_2(t)= \sum_{i=t+1}^{N-1}H_n(i)$
\item $\mu_1(t) = \frac{1}{\omega_1(t)}\sum_{i=0}^{t} i \cdot H_n(i)$. et $\mu_2 = \frac{1}{\omega_2(t)}\sum_{i=t+1}^{N-1} i \cdot H_n(i)$
\item .
\end{itemize}
\end{prop}
\section{Estimation}
......@@ -775,7 +780,6 @@ retourne meilleur_modèle, meilleur_ensemble_points, meilleure_erreur
La segmentation consiste à regrouper les différents pixels de l'image en un nombre (donné) de région (peut aussi consister a une taille de région maximale, les deux, etc...). En pratique on réalise une partition de l'image
\subsection{Segmentation par découpage}
\begin{defin}
L'idée des algorithmes de type « Split \& Merge » est de produire
......@@ -789,6 +793,149 @@ La segmentation consiste à regrouper les différents pixels de l'image en un no
\end{itemize}
\end{defin}
\paragraph{Phase de découpage}
Lors de la phase de découpage on forme le quadtree et le graphe d'adjacence:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{scope}
\draw (0,0) rectangle ++ (4,4);
\draw (2,0) -- ++ (0,4) (0,2) -- ++(4,0);
\draw (3,0) -- ++(0,2) (2,1) -- ++ (2,0);
\draw (1,1) node{$R_3$}
(1,3) node{$R_1$}
(3,3) node{$R_2$}
(2.5,1.5) node{$R_{41}$}
(3.5,1.5) node{$R_{42}$}
(2.5,0.5) node{$R_{43}$}
(3.5,0.5) node{$R_{44}$};
\end{scope}
\begin{scope}[shift={(8,4)},
every node/.style = {shape=circle, draw}]
\node{$R_0$}
child{ node {$R_1$}}
child{ node {$R_2$}}
child{ node {$R_3$}}
child{ node {$R_4$}
child{ node {$R_{41}$}}
child{ node {$R_{42}$}}
child{ node {$R_{43}$}}
child{ node {$R_{44}$}}};
\end{scope}
\end{tikzpicture}
\caption{Quadtree et graphe d'adjacence}
\end{figure}
\begin{rem}
L'algorithme de découpage est implantable très facilement de manière récursive
\end{rem}
\subsection{Segmentation par optimisation}
\begin{prop}
Cette fois ci on cherche à déterminier la fonction $f$ bidimensionnelle, constante par morceaux (une valeur , une région) proche
de l’image I , avec une partition simple du point de vue géométrique. Pour cela on utilise la fonctionnelle de cout :
\[
K = \sum_{i}^{} \iint_{R_i}(I(x,y)-f_i)\d x \d y + \mu \sum_{j}^{}\int_{\Gamma_j}^{}dl
\]
$\Gamma_j$ sont les portions de contour entourant la région de la région
\end{prop}
\begin{rem}
Il n'existe pas de solution directe au problème de minimisation. Il y a deux techniques pour approcher la solution:
\begin{itemize}
\item méthodes variationnelles sur des courbes fermées
\item méthodes markoviennes par itération à partir d’une segmentation initiale
\end{itemize}
\end{rem}
\paragraph{méthode variationnelles}
On utilise une fonction de cout $E = E_i+E_e$ tel que
\begin{itemize}
\item $ E_i = \int_{0}^{1}\alpha (C'(s))^2ds$ pénalise la longueur du contour (``snake'')
\item $E_e = \int_{0}^{1}-\nabla I(x(s),y(s))ds$ favorise l'alignement sur les forts gradients.
\end{itemize}
\paragraph{Technique markoviennes}
On teste les changements de pixel/sous-région d'une région à une autre, et on prend le meilleur (ie qui minimise la fonctionnelle). Pour cela on part souvent d'une sur-segmentation.
\section{La classification}
\paragraph{Objectif}:
\begin{itemize}
\item Obtenir une représentation simplifiée mais pertinente des données originales
\item Mettre en évidence les similiratité entre les objets.
\end{itemize}
\paragraph{Problématique de la visualisation des données}
Il est difficile de se représenter la classification de manière ``brute'' au dela de 5 paramètres on peux utiliser l'analyse en composante principale (par réduction de la dimension) ou l'analyse linéaire discriminante.
\subsection{Analyse en composantes principales}
\begin{itemize}
\item indispensable quand le nombre de variables est très grand
\item analyse de la variabilité / dispersion des données
\item objectif : décrire à partir de q < d dimensions cette variabilité
\item réduction des données a q nouveaux descripteurs
\item visualisation si q = 2 ou q = 3
\item interprétation des données : liaisons inter-variables
\end{itemize}
\paragraph{Algorithme}
\begin{enumerate}
\item recentrage des données $\vec{X} = (\vec{x}-\mu)^T$.
\item Calcul de la matrice de covariance $\Sigma$.
\item diagonalisation de $\Sigma$ et classement par valeur propres croissantes.
\item sélection des $q$ premiers vecteurs propres $C_k$
\item Calcul des valeur réduites $a_i$ qui remplacent $x_i$ par $a_{ik}= <x_i,C_k>$
\end{enumerate}
\begin{rem}
Le PCA ne prend pas en compte la notion de classe. on peux aussi utiliser l'analyse linéaire discriminante.
\end{rem}
\subsection{Analyse linéaire discriminante}
\paragraph{Algorithme}
\begin{enumerate}
\item recentrage des données $\vec{X}=(\vec{x}-\mu)^T$
\item Calcul de la matrice de covariance $\Sigma$.
\item Calcul de la matrice de covariance interclasse $\vec{B}$.
\[
\vec{B} = \sum_{k=1}^{c}n_k\frac{(\mu_k-\mu)(\mu_k-\mu\rangle)^T}{n}
\]
$k$ représente la classe
\item diagonalisation de $\Sigma^{-1}\vec{B}$ et classement par valeur propres croissantes
\item sélection des $q$ premiers vecteurs propres $C_k$.
\item Calcul des valeurs réduites $\vec{a_i}$ qui remplacent $x_i$ par $a_{ik}=<x_i,C_k>$
\item classification d'une nouvelle observation par la distatnce au centroïde le plus proche.
\item classification linéaire : médiane entre les centroïdes.
\end{enumerate}
\subsection{Intégration de la connaissance}
\subsection{Classification non supervisée - K-means}
on cherche à déterminer des ``clusters'' dans les observations. En minimisant
\[
\min_{\mu_1....\mu_k} \sum_{i=1}^{k}\sum_{x_j\in C_i}^{} (x_j-\mu_i)^2
\]
\paragraph{Fonctionnement}
\begin{verbatim}
choose mu_i , i in [1 k] // initialisation
while (any mu_i changes){
assign all x_j to closest mu
update mu_i , i in [1 k]
}
\end{verbatim}
À chaque itération la fonction objectif diminue. c'est rapide et parallèlisable.
\end{document}
......
......@@ -171,6 +171,15 @@ On peux aussi tracer la courbe distortion- débit (R= f(D))
On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un quantificateur uniforme à $M$ niveaux de pas $\Delta$. Si $M$ est fini on peux considérer deux type de quantificateur:
\paragraph{Exercice}
\begin{enumerate}
\item Générer N réalisation d'une source Gaussienne $\mathcal{N}(0,1)$.
\item Implanter un quantificateur uniforme sans zone morte et la fonction de reconstruction associée.
\item Faire de Meme pour un quantificateur avec zone morte.
\item Tracer dans les deux cas la courbe débit distorsion en supposant que les index de quantification sont codées à l'aide d'un codeur entropique.
\end{enumerate}
\begin{figure}[H]
\centering
\begin{subfigure}{0.5\textwidth}
......@@ -182,13 +191,15 @@ On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un qu
xtick={-2,-1,1,2},
ytick={-1.5,-0.5,0.5,1.5},
xticklabels={$-2\Delta$,$-\Delta$,$\Delta$,$2\Delta$},
yticklabels={$-3\frac{\Delta}{2}$,$\frac{\Delta}{2}$,$\frac{\Delta}{2}$,$3\frac{\Delta}{2}$},
yticklabels={$\frac{-3\Delta}{2}$,$\frac{-\Delta}{2}$,$\frac{\Delta}{2}$,$\frac{3\Delta}{2}$},
x tick label style={font=\tiny},
y tick label style={font=\tiny,anchor=center,xshift=-(sign(\ticknum-1.5))*1em},
]
\addplot[black, jump mark left]coordinates {(-2,-1.5)
\addplot[black, jump mark left,thick]coordinates {(-2,-1.5)
%(-1,-1.5)
(-1,-0.5)
(0,0.5)
(1,1.5) (3,1.5)};
(1,1.5) (2,1.5)};
\end{axis}
\end{tikzpicture}
\subcaption{Quantificateur sans zone morte}
......@@ -202,16 +213,16 @@ On considère une source $X$ décrite par sa ddp $f_X(x)$, quantifiée par un qu
xtick={-3,-2,-1,1,2,3},
ytick={-2.5,-1.5,1.5,2.5},
xticklabels={$-d-2\Delta$,$-d-\Delta$,$-d$,$d$,$d+\Delta$,$d+2\Delta$},
yticklabels={$-d-3\frac{\Delta}{2}$,$-d-\frac{\Delta}{2}$,$d+\frac{\Delta}{2}$,$d+3\frac{\Delta}{2}$},
x tick label style={yshift={mod(\ticknum,2)*1.5em}},
y tick label style={xshift={3em}}
]
yticklabels={$-d-\frac{3\Delta}{2}$,$-d-\frac{\Delta}{2}$,$d+\frac{\Delta}{2}$,$d+\frac{3\Delta}{2}$},
x tick label style={font=\tiny},
y tick label style={anchor=center,font=\tiny,xshift=-(sign(\ticknum-1.5))*2em}]
\addplot[black,thick, jump mark left]coordinates {(-3,-2.5)
%(-1,-1.5)
(-2,-1.5)
(-1,0)
(1,0.5)
(2,1.5) (3,2.5)};
(1,1.5)
(2,2.5)
(3,2.5)};
\end{axis}
\end{tikzpicture}
\subcaption{Quantificateur avec zone morte}
......@@ -226,14 +237,43 @@ On cherche à minimiser la distorsion
\begin{align*}
D &= \underbracket{\int_{-\infty}^{(-M/2+1)\Delta} (x-Q(x))^2f_X(x)dx }_{\text{distorsion de surcharge}}\\
&+ \underbracket{\sum_{i=1}^{M-2} \int_{-\frac{M}{2}\Delta+i\Delta}^{-\frac{M}{2}\Delta+(i+1)\Delta}}_{\text{distorsion de granularité}} (x-Q(x))^2f_X(x)dx \\
&+ \underbracket{\sum_{i=1}^{M-2} \int_{-\frac{M}{2}\Delta+i\Delta}^{-\frac{M}{2}\Delta+(i+1)\Delta} (x-Q(x))^2f_X(x)dx}_{\text{distorsion de granularité}} \\
&+\underbracket{\int_{(\frac{M}{2}-1)\Delta}^{+\infty} (x-Q(x))^2f_X(x)dx}_{\text{distorsion de surcharge}}\\
\end{align*}
Pour M fixé on a :
On peux bornée l'erreur de quantification au centre entre $\frac{-\Delta}{2}$ et $\frac{\Delta}{2}$à l'extérieur l'erreur n'est pas bornée:
Pour $M$ fixé on a:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}
[axis lines=middle,
xmin=-0.5, xmax=6,ymin=-0.5,ymax=3,
xlabel=$\Delta$,ylabel=$D$,
ytick={2},yticklabels={$\sigma_X^2$},
xtick={2.95},xticklabels={$\Delta_{opt}$},
domain=0:6]
\addplot[red,smooth, no marks]{8/(x+2)^2};
\addlegendentry{surcharge}
\addplot[green,smooth, no marks]{1/(-x+6)};
\addlegendentry{granularité}
\addplot[blue,smooth,no marks,tension=1]coordinates{(0,2) (3.5,1) (6,4)};
\addlegendentry{total}
\addplot[dotted,black]coordinates{(2.95,0)(2.95,0.9)};
\end{axis}
\end{tikzpicture}
\caption{Evolution de la distorsion en fonction du pas de quantification}
\end{figure}
\subsection{Quantification non uniforme}
On considère une source $X$ à valeur réelle $\mathcal{X} =\R$ décrite par une ddp $f_X(x)$. On chercje à quantifier cette source à l'aide d'un quantificateur non uniforme sur $M$ niveau décrit par:
\begin{itemize}
\item $M+1$ bornes des intervalles de quantification $b_0=\infty < b_1 < ... <b_M=+\infty$
\item $M$ valeurs de reconstruction $y_1 ... y_M$.
\end{itemize}
On choisit les paramètres de quantificateur de manière à minimiser une distorsion construite à partir d'une mesure quadratique.
Les conditions nécessaires pour avoir $D$ minimale sont :
\begin{itemize}
......@@ -247,22 +287,28 @@ Les conditions nécessaires pour avoir $D$ minimale sont :
& = - 2 \int_{b_{i-1}}^{b_i} (x-y_i) f_X(x) dx
\intertext{Ainsi,}
\derivp[D]{y_i} = 0 & \Leftrightarrow \int_{b_{i-1}}^{b_i} xf_X(x)dx = y_i \int_{b_{i-1}}^{b_i} f_X(x)dx \\
& \Rightarrow y_i = \frac{\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\int_{b_{i-1}}^{b_i} f_X(x)dx}, \quad i = 1 \dots M
& \Rightarrow\boxed{ y_i = \frac{\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\int_{b_{i-1}}^{b_i} f_X(x)dx}, \quad i = 1 \dots M}
\intertext{2ème condition d'optimalité}
\derivp[D]{b_i} & = \derivp{}{b_i} \int_{b_i}^{b_{i+1}} (x-y_{i+1})^2f_X(x)dx + \derivp{}{b_i}\int_{b_{i-1}}^{b_i} (x-y_i)^2 f_X(x)dx \\
\derivp[D]{b_i} & = \derivp{b_i} \int_{b_i}^{b_{i+1}} (x-y_{i+1})^2f_X(x)dx + \derivp{b_i}\int_{b_{i-1}}^{b_i} (x-y_i)^2 f_X(x)dx \\
& = -(b_i-y_{i+1})^2 f_X(b_i) + (b_i-y_i)^2 f_X(b_i)
\intertext{Ainsi, }
\derivp[D]{b_i} = 0 & \Leftrightarrow -(b_i-y_{i+1})^2 + (b_i-y_i)^2 = 0 \\
& \Leftrightarrow (y_{i+1}-y_i)(b_i-y_{i+1}+b_i-y_i) = 0 \\
& \Leftrightarrow b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1
& \Leftrightarrow \boxed{b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1}
\end{align*}
\subsection{Quantification non uniforme}
\begin{prop}
Les bornes des intervalles de quantification sont au milieu de deux valeurs de reconstructions consécutives.
\[
b_i = \frac{y_i+y_{i+1}}{2}, \quad i=1 \dots M-1
\]
et les valeurs de reconstructions optimales vérifient:
\[
\hat{y_i}= E[\{X|X\in[b_i,b_{i+1}]\}] = \frac{\displaystyle\int_{b_{i-1}}^{b_i} xf_X(x)dx}{\displaystyle\int_{b_{i-1}}^{b_i} f_X(x)dx}
\]
\newpage
\subsection*{Algorithme de Lloyd -Max}
\end{prop}
\subsubsection{Algorithme de Lloyd -Max}
\begin{enumerate}
\item Initialisation : $b_0^{(0)} < b_1^{(0)} < \dots < b_n^{(0)}$ choisis arbitrairement, $k=1$.
\item $y_i^{(k)}$ obtenus à partir des $b_i^{(k-1)}, i=0 \dots M$ en utilisant la 1ère condition d'optimalité
......@@ -294,9 +340,9 @@ On ne quantifie jamais sur le domaine des pixels, car les ddp y sont immondes. O
La plupart du temps, les quantifications sont uniformes (JPEG, JPEG200, H264...). On n'utilise des quantifications non uniformes que dans le cas d'applications très précises, où le gain de 2 ou 3 dB sur le $RSB$ est vraiment nécessaire.
\end{rem}
\newpage
\section{Comportement asymptotique}
Pour étudier le comportement asymptotique d'un quantificateur, on suppose $M$ grand (les intervalles de quantification seront petits), $f_X(x) \approx f_X(y_i)$ sur $[b_{i-1},b_i]$. On note $\Delta_i = b_i - b_{i-1}$.\\
\subsubsection{Comportement asymptotique}
Pour étudier le comportement asymptotique d'un quantificateur non uniforme, on suppose $M$ grand (les intervalles de quantification seront petits), $f_X(x) \approx f_X(y_i)$ sur $[b_{i-1},b_i]$. On note $\Delta_i = b_i - b_{i-1}$.\\
On a \[P_i = Pr(X\in[b_{i-1},b_i]) \approx f_X(y_i)\Delta_i\]
......@@ -312,46 +358,136 @@ D & = \frac{1}{12} \sum_{i=1}^M \alpha_i^3
\intertext{Si on calcule}
\sum_{i=1}^M \alpha_i & = \sum_{i=1}^M (f_X(y_i))^{1/3} \Delta_i \approx \int_{-\infty}^{+\infty} (f_X(x))^{1/3} dx = cste
\intertext{On doit trouver les $\Delta_i$ et les $\alpha_i$ qui minimisent $D$ sous la contrainte $\sum_{i=1}^M \alpha_i = C$. On introduit donc le Lagrangien du problème :}
L(\alpha_1,\dots\alpha_M,\lambda) & = \frac{1}{12}\sum_{i=1}^M\alpha_i^3 + \lambda (\sum_{i=1}^M \alpha_i - C)
L(\alpha_1,\dots\alpha_M,\lambda) & = \frac{1}{12}\sum_{i=1}^M\alpha_i^3 + \lambda \left(\sum_{i=1}^M \alpha_i - C\right)
\intertext{Condition d'optimalité :}
\derivp[L]{\alpha_i} = 0 & \Rightarrow \frac{1}{4}\alpha_i^2 + \lambda = 0, \quad i = 1 \dots M \\
& \Rightarrow \alpha_i^2 = -4\lambda
\intertext{Les $\alpha_i$ sont donc tous égaux, d'où}
\alpha_i & = \frac{1}{M} \int_{-\infty}^{+\infty} (f_X(x))^{1/3} dx
\end{align*}
\newpage
On avait $\alpha_i^3 = f_X(y_i) \Delta_i^3$. Ainsi, si $f_X(y_i)$ est grand, $\Delta_i$ est petit, et inversement.
%\img{0.5}{2/2/1}
On peut donc calculer la distorsion :
\begin{align*}
D & = \frac{1}{12} \sum_{i=1}^M \frac{1}{M^3}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 \\
& = \frac{1}{12} (\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3.\frac{1}{M^2}
D & = \frac{1}{12} \sum_{i=1}^M \frac{1}{M^3}\left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3 \\
& = \frac{1}{12} \left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3.\frac{1}{M^2}
\intertext{Or, $M=2^R$ d'où}
D & = \frac{1}{12}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3.2^{-2R}
D & = \frac{1}{12}\left(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx\right)^3.2^{-2R}
\end{align*}
\begin{rem}
\begin{prop}
Comme pour la quantification uniforme, on a une décroissance en $2^{-2R}$ de la distorsion en fonction du débit. Ici, il y a un facteur multiplicatif qui dépend de la ddp de la source.
Pour une source quelconque, le comportement débit / distorsion sera :
\[ \boxed{ D(R) = \epsilon_X \sigma_X^2 2^{-2R} \text{ avec } \epsilon_X = \frac{1}{12\sigma_X^2}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 } \]
Pour une source quelconque de variance $\sigma_X^2$ le comportement débit / distorsion sera :
\[ \boxed{ D(R) = K \sigma_X^2 2^{-2R} \text{ avec } K = \frac{1}{12\sigma_X^2}(\int_{-\infty}^{+\infty} (f_X(x))^{1/3}dx)^3 } \]
Soit un rapport signal sur bruit:
\[
RSB = \frac{\sigma_X^2}{D} = K . 2^{2R}
\]
\end{prop}
\begin{rem}
Pour une source Gaussienne centrée on peux calculer $K$ et on a:
\[
D = \sigma^2 2^{-2R}
\]
\end{rem}
\section{Quantification vectorielle - Algorithme de Linde-Buzo-Gray}
Avec une quantification vectorielle on considère des vecteurs de $N$ échantillons de la source que l'on va représenter à l'aide d'un index de quantification.
\section{Quantification vectorielle}
\begin{defin}
Un quantificateur vectoriel pour une source $\vec{X}\in\R^n$ est défini:
\begin{itemize}
\item par une fonction de quantification :
\[
q : \R^n \to \{0, .... ,n-1\}
\]
\item par une fonction de reconstruction:
\[
q^{-1} : \{0, .... ,n-1\} \to \R^n
\]
On note $\vec{y_m} = q^{-1}(m)$ les valeurs de reconstruction du quantificateur.
\end{itemize}
\end{defin}
On étend la notion de distorsion et de mesure de distorsion au cas vectoriel:
\begin{prop}[Mesure de distortion vectorielle]
Mesure de distortion quadratique:\\
\[
d_2(\vec{x},\vec{y}) = \frac{1}{n}\sum_{i=1}^{n}|x_i-y_i|^2
\]
Mesure de distortion en valeur absolue:
\[
d_1(\vec{x},\vec{y}) = \frac{1}{n}\sum_{i=1}^{n}|x_i-y_i|
\]
La distorsion introduite par le quantificateur Q est alors l'espérance de la mesure de distorsion:
\[
D = E[d(\vec{x},Q(\vec{x}))]
\]
\end{prop}
%\img{0.5}{2/2/2}
\subsection{Condition d'optimalité}
On considère une quantification vectorielle d'une source $\vec{X}\in\R^n$ sur $M$ niveau de quantification. On alors la distorsion:
\[
D = \int_\R^n \|\vec{x}-Q(\vec{x})\|^2_2 f_{\vec{x}}(\vec{x})\d \vec{x}
\]
On partitionne $\R^n$ en cellule de quantification $\mathcal{C}^k, k\in[0...M-1]$ au seins desquelles la valeur de reconstructio vaut $\vec{y_k}$.
\emph{Comment choisir $\mathcal{C}^k$ et $y_k$ pour minimiser $\vec{y_k}$?
}
\[
D = \sum_{k=0}^{M-1}\int_{\mathcal{C}^k} \|\vec{x}-\vec{y_k}\|^2 f_\vec{X}(\vec{x})\d \vec{x}
\]
\begin{prop}
Si on fixe les $\mathcal{C}^k$:
\[
\vec{y_k} = \frac{\int_{\mathcal{C}^k}\vec{x}f_{\vec{X}}(\vec{x})\d\vec{x}}{\int_{\mathcal{C}^k}f_{\vec{X}}(\vec{x})\d\vec{x}}
\]
$ \vec{y_k}$ est le barycentre de $\mathcal{C}^k$ en utilisant la densité$f_{\vec{X}}(\vec{x})$.
Si on fixe les $\vec{y_k}$ alors pour minimiser $D$ il faut prendre:
\[
\mathcal{C}^k =\{ \vec{x}\in\R^n ,\quad\|\vec{x}-\vec{y_k}\| \le \|\vec{x}-\vec{y_l}\| , \forall l \neq k\}
\]
\end{prop}
\begin{proof}
Si on suppose $\mathcal{C}^k$fixé alors pour fixer $y_k$ on calcule:
\[
\derivp[D]{\vec{y_k}} = -2 \int_{\mathcal{C}^k} (\vec{x}-\vec{y_k})f_{\vec{X}}(x)\d\vec{x}
\]
On en déduit:
\[
\vec{y_k} = \frac{\int_{\mathcal{C}^k}\vec{x}f_{\vec{X}}(\vec{x})\d\vec{x}}{\int_{\mathcal{C}^k}f_{\vec{X}}(\vec{x})\d\vec{x}}
\]
\end{proof}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Pour un couple (poids, taille), on peut :
\begin{itemize}
\item quantifier indépendamment le poids et la taille avec deux quantificateurs scalaires
\item les quantifier simultanément avec une quantification vectorielle
\end{itemize}
\subsection*{Algorithme de Linde-Buzo-Gray}
\subsection{Algorithme de Linde-Buzo-Gray}
\emph{Similaire à l'algorithme $K$-means}
\newcommand{\x}{\underline{x}}
Cet algorithme permet de fabriquer une quantification vectorielle optimale (optimum local) pour un ensemble de $K$ points de $\R^N$ : $\x_1 \dots \x_K$ et quantifiés sur $M$ niveaux.
......@@ -401,10 +537,8 @@ En pratique :
\item il faut transmettre au récepteur l'ensemble des points de reconstruction $\y_1^{(\overline{l})},\dots,\y_M^{(\overline{l})}$$\overline{l}$ est l'index final des itérations.
\item la phase de réglage du quantificateur peut se faire sur seulement $L<<K$ points si on a beaucoup de points.
\end{itemize}
\newpage
\section{Quantification scalable}
\emph{non traité en 2018-2019}
L'objectif est de permettre une flexibilité en terme de compression débit-distorsion. Une possibilité est d'avoir recours à un quantificateur scalable.\\
On considère une source uniforme sur $[-X_{max};X_{max}]$ quantifiée sur 8 niveaux.
......
......@@ -30,9 +30,53 @@ Avec Matlab, on l'obtient avec :
% \end{lstlisting}
$\gamma_x(k)$ est maximale en 0 et est égale à l'énergie $\sigma^2$ du signal.
\newpage
\section{Prédicteur optimal à 1 pas}
\section{Codage prédictif en boucle ouverte}
Schéma en boucle ouverte:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\sbEntree{E}
\node[above] at (E) {$x_n$};
\sbDecaleNoeudy[5]{E}{mem}
\sbBloc{mem2}{Mémoire}{mem}
\sbBlocL{pred}{Prédiction}{mem2}
\sbRelieryx{E}{mem2}
\sbDecaleNoeudy[-5]{pred}{comp2}
\sbComp{comp}{comp2}
\sbRelierxy{pred}{comp}
\sbRelier{E}{comp}
\sbBlocL{Q}{Quantif}{comp}
\sbBlocL{C}{Codage entropique}{Q}
\sbSortie[5]{S}{C}
\sbRelier[0100..1]{C}{S}
\end{tikzpicture}
\caption{Emetteur en boucle ouverte}
\end{figure}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\sbEntree{E}
\sbBlocL{Dc}{Décodeur entropique}{E}
\sbBlocL{Di}{Desindexation}{Dc}
\sbSumb[7]{comp}{Di}
\sbRelier{Di}{comp}
\sbDecaleNoeudy[5]{comp}{comp2}
\sbBloc{pred}{Prédicteur}{comp2}
\sbBlocL{mem}{Mémoire}{pred}
\sbDecaleNoeudy[-5]{mem}{S}
\sbSortie[5]{X}{S}
\sbRelierxy{pred}{comp}
\sbRelieryx{X}{mem}
\sbRelier{comp}{X}
\end{ti