...
 
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}
......
This diff is collapsed.
......@@ -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{tikzpicture}
\caption{Recepteur en boucle ouverte}
\end{figure}
Ca marche mais la quantification introduit des erreurs qui peuvent s'accumuler. On s'en sort en réinitialisant le codeur régulièrement.
\subsection{Prédicteur linéaire optimal à 1 pas}
On souhaite prédire la valeur de $X_n$ à partir de la valeur de $X_{n-1}$.
......@@ -62,19 +106,22 @@ Pour la valeur de $\hat{a_1}$ obtenue, on a
$\hat{e}$ est l'énergie de la partie qui n'a pas pu être prédite de $x_1,\dots,x_N$.\\
Lorsque le signal est fortement corrélé, $\gamma_x(1)\simeq \gamma_x(0)$ et $\hat{a_1}\simeq 1$.
Le résidu de prédiction a une variance plus faible. Si on le quantifie, il permettra de reconstituer le signal initial avec une distorsion plus faible.
\newpage
\section{Prédiction à $p$ pas}
On cherche à prédire $X_n$ à partir des échantillons précédents $X_{n-1},\dots,X_{n-p}$.
\newcommand{\ap}{\underline{a}}
\newcommand{\Xn}{\underline{X_n}}
\newcommand{\cp}{\underline{c}}
\newcommand{\Rp}{\underline{\underline{R}}}
On cherche à prédire $\vec{X_n}$ à partir des échantillons précédents $X_{n-1},\dots,X_{n-p}$.
\newcommand{\ap}{\vec{a}}
\newcommand{\Xn}{\vec{X_n}}
\newcommand{\cp}{\vec{c}}
\newcommand{\Rp}{\vec{R}}
\[ \hat{X_n} = a_1 X_{n-1} + \dots + a_pX_{n-p} = \ap^T \Xn \quad \text{ avec} \ap^T=(a_1\dots a_p) \text{ et } \Xn^T = (X_{n-1} \dots X_{n-p})\]
\[ \hat{X_n} = a_1 X_{n-1} + \dots + a_pX_{n-p} = \ap^T \Xn \quad\text{avec}\quad \ap^T=(a_1\dots a_p) \text{ et } \Xn^T = (X_{n-1} \dots X_{n-p})\]
On cherche $\ap$ minimisant
\begin{align*}
......@@ -104,7 +151,7 @@ E(X_{n-p}X_{n-1}) & \dots & \dots & E(X_{n-p}X_{n-p})
\text{ donc } e & = \gamma_x(0) + \ap^T \Rp \ap - 2 \ap^T \cp
\end{align*}
\[ \left.\derivp[e]{\ap}\right|_{\hat{\ap}} = 0 \quad \Leftrightarrow \quad \underline{0} + 2 \Rp\hat{\ap} - 2\cp = 0 \quad \Rightarrow \quad \hat{\ap} = \Rp^{-1} \cp \]
\[ \left.\derivp[e]{\ap}\right|_{\hat{\ap}} = 0 \quad \Leftrightarrow \quad \vec{0} + 2 \Rp\hat{\ap} - 2\cp = 0 \quad \Rightarrow \quad \hat{\ap} = \Rp^{-1} \cp \]
Pour cette valeur de $\hat{\ap}$, on a
\begin{align*}
......@@ -128,7 +175,7 @@ On met en œuvre un dispositif de prédiction exploitant les échantillons dispo
Pour le réglage du prédicteur, on distingue plusieurs méthodes :
\begin{enumerate}\setlength{\itemsep}{5mm}
\item On calcule $\hat{\gamma_x}$ sur tout le signal et on transmet $\underline{\hat{a}}_{opt}$.
\item On calcule $\hat{\gamma_x}$ sur tout le signal et on transmet $\vec{\hat{a}}_{opt}$.
Avantage :
\begin{itemize}
......@@ -149,17 +196,17 @@ Avantages :
\end{itemize}
Inconvénient :
\begin{itemize}
\item débit nécessaire à la transmission des $\underline{\hat{a}}_{opt}$.
\item débit nécessaire à la transmission des $\vec{\hat{a}}_{opt}$.
\end{itemize}
\item Mettre en place un prédicteur adaptatif. On travaille sur une fenêtre glissante contenant les N échantillons décalés : $\underline{\hat{X}}_n = (\hat{x}_{n-1}, ..., \hat{x}_{n-N})^T$.
\item Mettre en place un prédicteur adaptatif. On travaille sur une fenêtre glissante contenant les N échantillons décalés : $\vec{\hat{X}}_n = (\hat{x}_{n-1}, ..., \hat{x}_{n-N})^T$.
On calcule $\underline{\hat{a}}_{opt}$ à partir de $\underline{\hat{X}}_n$ (au codeur et au décodeur). On applique $\underline{\hat{a}}_{opt}$ pour coder et décoder $x_n$ en $\hat{x}_n$. À l'itération suivante, on calcule $\underline{\hat{a}}_{opt}$ à partir de $\underline{\hat{X}}_{n+1} = (\hat{x}_{n}, ..., \hat{x}_{n-N+1})^T$.
On calcule $\vec{\hat{a}}_{opt}$ à partir de $\vec{\hat{X}}_n$ (au codeur et au décodeur). On applique $\vec{\hat{a}}_{opt}$ pour coder et décoder $x_n$ en $\hat{x}_n$. À l'itération suivante, on calcule $\vec{\hat{a}}_{opt}$ à partir de $\vec{\hat{X}}_{n+1} = (\hat{x}_{n}, ..., \hat{x}_{n-N+1})^T$.
Avantages :
\begin{itemize}
\item Il est très adaptatif.
\item On ne transmet plus $\underline{\hat{a}}_{opt}$
\item On ne transmet plus $\vec{\hat{a}}_{opt}$
\end{itemize}
Inconvénient :
......
\documentclass[main.tex]{subfiles}
\begin{document}
\section{Codage d'Huffman}
\subsection{version objet}
\inputminted{python}{../algo_code/huffman.py}
\subsection{version simple}
\inputminted{python}{../algo_code/huffman2.py}
\section{Codage arithétique}
\section{Codage LZW}
\inputminted{python}{../algo_code/LZW.py}
\section{Algorithme LBG}
en 2D , ne pas essayer de tracer les cellule de voronoi
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% TeX-master: main.tex
%%% End:
......@@ -37,10 +37,6 @@ def decode_LZW(code,univers):
print(dictionnaire)
return ''.join(msg)
code,dictionnaire = code_LZW(message,univers)
print(code)
print(dictionnaire)
msg = decode_LZW(code, univers)
print(message)
print(msg)
print(code, dictionnaire, msg)
......@@ -28,7 +28,6 @@ def create_tree(table_noeud):
root= Noeud(left=queue[0],right=queue[1])
return root
def gen_code(node,prefix=''):
def gen_code_rec(node,prefix=''):
if node.left != None:
......@@ -63,8 +62,6 @@ def make_tree():
f.write('{rank =same; N' + '; N'.join([n.code for n in table_noeud]) +';}\n')
f.write('}')
subprocess.call('dot -Tpng graph.dot -o graph.png', shell=True)
print('done')
def decode_huffman(reverse, code):
res =""
......@@ -75,23 +72,10 @@ def decode_huffman(reverse, code):
text = text[len(k):]
return res
table = [
('A', 25),
('B', 20),
('C', 15),
('D', 12),
('E', 10),
('F', 8),
('G', 5),
('H', 5)]
table = [('A', 25),('B', 20),('C', 15),('D', 12),
('E', 10),('F', 8),('G', 5),('H', 5)]
table_noeud = [Noeud(name=x[0],p=x[1]) for x in table]
print(table_noeud)
root_node= create_tree(table_noeud)
print(root_node)
x= gen_code(root_node)
reverse_huffman = {x[i+1]:x[i] for i in range(0,len(x)-1,2)}
print(table_huffman)
Dans ce dépot, un max de ressource pour le M1 EEA, et bientot des cours rédigés collaborativement
Dans ce dépot, l'ensemble de mes cours pour le M1 EEA, et même un peu plus. L'origine du travail provient du Dropbox/Driv du département
Générer les pdf :
1) Pour récuper les pdf s'assurer d'avoir `latexmk` d'installé et tout les packages utiles(dans le doute `sudo apt-intall texlive-full latexmk`)
1) Pour récuper les pdf s'assurer d'avoir `latexmk` d'installé et tout les packages utiles(dans le doute `sudo apt-intall texlive-full latexmk python3-pygments`)
2) exécuter `./compile.sh` à la racine du dépot
3) take a coffee
Voir la dernière mise à jour: [ici](https://gitlab.crans.org/eea/m1-eea/-/jobs/artifacts/master/browse?job=pages)
Télécharger la dernière mise à jour [la](https://gitlab.crans.org/eea/m1-eea/-/jobs/artifacts/master/download?job=pages)
TODO :
- Début du cours de 431
......
......@@ -2,9 +2,15 @@
# Pour compiler tous les fichiers sources du dépot:
find . -name "main.tex" -execdir sh -c " pwd && latexmk {} -pdf main.tex -e '$latex=q/latex %O -shell-escape %S/' -quiet | grep 'Latexmk'" \;
#find . -name "main.tex" -execdir sh -c "pwd && latexmk -e '$pdflatex=q/pdflatex %O -shell-escape %S/' -pdf {} -quiet| grep Latexmk" \;
# 3 compilation nécessaire pour obtenir un résultat stable
find . -name "main.tex" -execdir sh -c "pwd && pdflatex -shell-escape -interaction=batchmode {} &&pdflatex -shell-escape -interaction=batchmode {}&&pdflatex -shell-escape -interaction=batchmode {}" \;
mkdir "public"
for i in `find . -maxdepth 1 -type d -regex \.\/[0-9].*?`;do
cp $i/Cours/main.pdf ./public/${i:2}.pdf;
done;
#clean up :
shopt -s globstar
rm -f **/*.aux **/*.log **/*.out
#**/*.fls **/*.fdb_latexmk **/*.toc
rm -f **/*.aux **/*.log **/*.out **/*.fls **/*.fdb_latexmk **/*.toc **/*.pyg
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cours}[2019/01/09 LaTeX class for Lessons]
\ProvidesClass{../../cours}[2019/01/09 LaTeX class for Lessons]
\makeatletter
% Base Class
......@@ -17,7 +17,7 @@
% Packages
\RequirePackage[utf8]{inputenc} % encodage
\RequirePackage[T1]{fontenc}
\RequirePackage{fancyhdr} % la mise en page
\RequirePackage[dvipsnames,x11names]{xcolor} % Un peu de couleur !
\RequirePackage{float}
......@@ -25,7 +25,6 @@
\RequirePackage{subfiles}
\RequirePackage{hyperref}
\hypersetup{
bookmarks=true, % show bookmarks bar?
unicode=true, % non-Latin characters in Acrobat’s bookmarks
pdftoolbar=true, % show Acrobat’s toolbar?
pdfmenubar=true, % show Acrobat’s menu?
......