Commit c697df15 authored by Antonin Dudermel's avatar Antonin Dudermel
Browse files

presentation intro done

parent bb3d03d8
\addtobeamertemplate{navigation symbols}{}{%
......@@ -22,7 +22,7 @@
% \usepackage{ulem}
......@@ -33,18 +33,22 @@
% \newtheorem{defin}{Définition}
\title{Signal Annotation for Fixed-Point FAUST targets}
\subtitle{M2 internship Report}
......@@ -82,33 +86,134 @@
% ajouter une slide d'intros
\subsection{The Faust Programming Language}
\subsection{The FAST\cite{fastproject} Project: Faust on FPGA}
\subsection{Implementing the Reals: Floating-Point VS Fixed-Point numbers}
\subsection{A Motivating Example: The Bell}
\subsubsection{Signal Processing basics\cite{vetterli2014foundationssignal}}
\subsubsection{Fixed-Point numbers}
\begin{frame}{What is Signal Processing?}
The mathematical abstraction representing a physical quantity varying in one
or many dimensions.
\item Temperature varying in time
\item Color varying in \(x\) and \(y\) axis: a picture
\item Air pressure varying in time: sound
discrete signal \(s: \Rel \to \Real\)
Signal processing: transforming signals to extract information.
Signal processor \(f: \left(\Real^\Rel\right)^p \to \left(\Real^\Rel\right)^q\)
\begin{frame}{Quick Faust Tutorial by example}
A functional domain-specific language describing sound processors.
\faustexfig{Stereo-to-Mono converter}{\label{fig:plus-simple}}
{\(y(t) = \frac{1}{2} (x_0(t) + x_1(t))\)}{../code/plus.dsp}
Describes signal processors by patching primitives together, with a block-diagram algebra.
% \scalebox{1.5}{\begin{tikzpicture}
% \altfaustlogo
% \end{tikzpicture}
% }
\begin{frame}{Recursive signals}
Necessary to define a signal depending on its previous values (e.g. echoes)
{\(s(t) = 1 + s(t-1)\)}{../code/ramp.dsp}
Leads to loops in the signal graph
\begin{frame}{FAST: Faust on FPGA}
Low-latency programs can't be executed on computers.
\subfloat[on computers]{
\subfloat[using ASIC]{
\caption{Different platforms}
\item General Purpose
\item High latency
\item Reprogrammable
\item Easy to code
\end{minipage} \hspace{\stretch{1}}
\item Single-Purpose
\item Low latency
\item Reprogrammable
\item Hard to code
\end{minipage} \hspace{\stretch{1}}
\item Single-Purpose
\item Low latency
\item Once for all
\item Hard to code
\begin{frame}{Representing the Reals}
Floating-point numbers (\(x = M \cdot 2^E\)) are
\item Huge
\todo{insérer ici (ou pas ici) l'image d'un additioneur flottant vs entier}
\item often overaccurate or mostly scrambled
\item hard to analyse
Alternative: fixed-point numbers (\(\ufix(\msb,\lsb)\))
\subfloat[integers on 8 bits]{
% \hspace{\stretch{1}}
\subfloat[\(\ufix(3, -4)\)]{
% \caption{different fixed-point formats}
Representable numbers: \\
Biggest (range): \(2^{\msb}\) \hspace{\stretch{1}} Smallest (accuracy): \(2^{\lsb}\)
\section{Bounding Signals to Avoid Overflow (MSB)}
\subsection{Interval Arithmetic in Faust}
\subsection{The (possibly Turing-Complete) problem with Feedback Loops}
\subsubsection{Lattices in compilation}
\subsubsection{Improving the widening}
\subsection{The Temptating Patch: Unsafe Handmade Annotations}
\section{Designing Accuracy for Small but Correct Computations (LSB)}
\subsection{Modelling Errors, how to make computer lies explicit}
\subsection{Another Use of Interval Arithmetic}
\subsection{Local Rules, easy to implement but hard to devise}
\subsubsection{From the Input to the Outputs, scale to best}
\subsubsection{From the Input to the Outputs, scale to worse}
\subsubsection{From the Outputs to the Inputs, satisfying requirements}
\subsection{One step beyond: Global Rules}
\section{Designing Accuracy for Small but Correct Computations (LSB)}
\section{Conclusion and Future Work}
\subsection{Short-term Perspectives}
\subsection{Medium-term Perspectives}
\subsection{Long-term Perspectives}
......@@ -42,4 +42,3 @@
......@@ -25,7 +25,7 @@
\usepackage{amsmath,amsfonts,amssymb, amsthm}
\usepackage[pagebackref, final]{hyperref}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment