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

presentation intro done

parent bb3d03d8
\documentclass{beamer}
\documentclass{beamer}
\addtobeamertemplate{navigation symbols}{}{%
\usebeamerfont{footline}%
......@@ -22,7 +22,7 @@
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{ulem}
% \usepackage{ulem}
\usepackage{listings}
\usepackage{tikz}
......@@ -33,18 +33,22 @@
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{stmaryrd}
%\usepackage{stmaryrd}
\usepackage{subfig}
\usepackage[export]{adjustbox}
% \newtheorem{defin}{Définition}
%\newtheorem{theo}{Théorème}
%\newtheorem{lm}{Lemme}
%\newtheorem{prop}{Propriété}
\usepackage{shadethm}
\makeatletter
\let\@@magyar@captionfix\relax
\makeatother
\input{../notations.tex}
\input{../utils.tex}
\input{../f2defs.tex}
\input{../pictures/pic.tex}
\title{Signal Annotation for Fixed-Point FAUST targets}
\subtitle{M2 internship Report}
......@@ -82,33 +86,134 @@
% ajouter une slide d'intros
\section{Introduction}
\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}
\subsection{Definitions}
\subsubsection*{Conventions}
\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.
\begin{itemize}
\item Temperature varying in time
\item Color varying in \(x\) and \(y\) axis: a picture
\item Air pressure varying in time: sound
\end{itemize}
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\)
\end{frame}
\begin{frame}{Quick Faust Tutorial by example}
A functional domain-specific language describing sound processors.
\faustexfig{Stereo-to-Mono converter}{\label{fig:plus-simple}}
{0.4}{../code/plus-block.png}
{0.5}{../code/plus-sig-old.png}
{\(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}
% }
\end{frame}
\begin{frame}{Recursive signals}
Necessary to define a signal depending on its previous values (e.g. echoes)
\faustexfig{Ramp}{\label{fig:ramp}}
{0.3}{../code/ramp-block.png}
{0.3}{../code/ramp-sig-old.png}
{\(s(t) = 1 + s(t-1)\)}{../code/ramp.dsp}
Leads to loops in the signal graph
\end{frame}
\begin{frame}{FAST: Faust on FPGA}
Low-latency programs can't be executed on computers.
\begin{figure}
\centering
\subfloat[on computers]{
\scalebox{.5}\computeraudio
}
\hspace{\stretch{1}}
\subfloat[using ASIC]{
\scalebox{.5}\asicaudio
}
\caption{Different platforms}
\label{fig:difffix}
\end{figure}
\begin{minipage}{.3\linewidth}
Computers
\begin{itemize}\small
\item General Purpose
\item High latency
\item Reprogrammable
\item Easy to code
\end{itemize}
\end{minipage} \hspace{\stretch{1}}
\uncover<2>{
\begin{minipage}{.3\linewidth}
FPGA
\begin{itemize}\small
\item Single-Purpose
\item Low latency
\item Reprogrammable
\item Hard to code
\end{itemize}
\end{minipage} \hspace{\stretch{1}}
}
\begin{minipage}{.3\linewidth}
ASIC
\begin{itemize}\small
\item Single-Purpose
\item Low latency
\item Once for all
\item Hard to code
\end{itemize}
\end{minipage}
\end{frame}
\begin{frame}{Representing the Reals}
Floating-point numbers (\(x = M \cdot 2^E\)) are
\begin{itemize}
\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
\end{itemize}
Alternative: fixed-point numbers (\(\ufix(\msb,\lsb)\))
\begin{figure}
\centering
\subfloat[integers on 8 bits]{
\begin{tikzpicture}[scale=0.25]
\tiny
\fixpointnumber{0}{7}{0}{0}
\fixpointpositions{0}{7}{0}{0}
\end{tikzpicture}
}
% \hspace{\stretch{1}}
\subfloat[\(\ufix(3, -4)\)]{
\begin{tikzpicture}[scale=0.25]
\tiny
\fixpointnumber{0}{3}{-4}{0}
\fixpointpositions{0}{3}{-4}{0}
\end{tikzpicture}
}
% \caption{different fixed-point formats}
\end{figure}
Representable numbers: \\
Biggest (range): \(2^{\msb}\) \hspace{\stretch{1}} Smallest (accuracy): \(2^{\lsb}\)
\end{frame}
\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}
\subsubsection{Limitations}
\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}
\end{document}
......
......@@ -42,4 +42,3 @@
\newtheorem{lm}{Lemma}
\newtheorem{rk}{Remark}
\newtheorem{prp}{Proposition}
\newtheorem*{note}{Note}
......@@ -25,7 +25,7 @@
}
\usepackage{amsmath,amsfonts,amssymb, amsthm}
\usepackage[pagebackref, final]{hyperref}
\usepackage[pagebackref]{hyperref}
\RequirePackage[hyperpageref]{backref}
\renewcommand*{\backref}[1]{}
......
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