From 7876c4685d6a064fd187bc0dadd22f12a5b4d9e9 Mon Sep 17 00:00:00 2001
From: "Edgar P. Burkhart" <git@edgarpierre.fr>
Date: Sun, 9 Feb 2025 22:26:04 +0100
Subject: [PATCH] Add course material on signals, including definitions and
 types of signals

---
 cours/SIN/02-signaux.md | 75 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 cours/SIN/02-signaux.md

diff --git a/cours/SIN/02-signaux.md b/cours/SIN/02-signaux.md
new file mode 100644
index 0000000..1a4929f
--- /dev/null
+++ b/cours/SIN/02-signaux.md
@@ -0,0 +1,75 @@
+---
+title: Les signaux
+subject: Cours
+kernelspec:
+  name: python3
+  display_name: Python 3
+---
+
+# Définition
+
+:::{prf:definition} Signal
+:nonumber: true
+Phénomène ou grandeur physique variables dans le temps, donnant une information
+sur l’état du système qui les produit et que peut détecter un capteur.
+
+[Dictionnaire de l’Académie française, 9e édition](https://dictionnaire-academie.fr/article/A9S1603)
+:::
+
+En d'autres termes, un signal est une grandeur physique (tension, courant,
+pression, etc.) variable qui transporte une information.
+
+Les flux de la chaîne d'information sont des signaux. On retrouve généralement
+en sortie du bloc _Acquérir_ un signal électrique.
+
+# Les différents types de signaux
+
+## Les signaux logiques
+Un signal logique ne peut prendre que deux valeurs : un niveau **haut** ("High")
+et un niveau **bas** ("Low").
+
+````{figure}
+:label: logique
+```{code-cell} python
+:tags: [remove-input]
+import altair as alt
+import pandas as pd
+import matplotlib.pyplot as plt
+import numpy as np
+import random
+from scipy.interpolate import CubicSpline
+
+random.seed(25)
+
+n = 16
+t = range(n+1)
+s = random.choices([0, 1], k=n)
+s += s[-1:]
+data = pd.DataFrame({
+  "t": t,
+  "s": s,
+})
+alt.Chart(
+  data
+).mark_line(
+  interpolate="step-after"
+).encode(
+  alt.X("t:Q").axis(title="Temps (s)").scale(domain=(0,n)),
+  alt.Y("s:Q", axis=alt.Axis(title="Signal logique", tickMinStep=1.0)).scale(domain=(0,1)),
+).properties(
+  width="container",
+)
+
+```
+Exemple de signal logique
+````
+
+Le signal logique en @logique est par exemple à l'état haut entre 1 s et 3 s,
+et à l'état bas entre 8 s et 11 s.
+Lorsque le signal passe de l'état bas à l'état haut (comme à 1 s),
+on parle de **front montant**.
+Dans le cas contraire (comme à 3 s), on parle de **front descendant**.
+
+## Les signaux analogiques
+
+Un signal analogique est un signal qui peut prendre un ensemble continu de valeurs.
\ No newline at end of file