## Analyse détaillée du code Matlab : Modélisation, Transmission et Traitement d'un signal de
température
### Modélisation du système
**Partie du code:**
```matlab
temperature_fixe = 25;
nombre_echantillons = 10000;
tension_alimentation = 5;
resistance_pullup = 10000;
R0 = 10000;
B = 3950;
T0 = 25 + 273.15;
fech = 1000;
```
**Explication:**
* **Paramètres physiques:** On définit ici les caractéristiques physiques du système : température fixe,
nombre d'échantillons, tension d'alimentation, résistance de pull-up, caractéristiques de la thermistance
(R0, B, T0) et fréquence d'échantillonnage.
* **Création du signal de température idéal:** Un vecteur de température constante est créé pour
simuler une température stable.
**Partie du code:**
```matlab
T = temperature + 273.15;
R = R0 * exp(B * (1./T - 1/T0));
tensions = tension_alimentation * R ./ (R + resistance_pullup);
```
**Explication:**
* **Modèle de la thermistance:** On utilise la relation entre la résistance d'une thermistance et la
température pour calculer la résistance correspondante à chaque température.
* **Conversion résistance-tension:** La résistance est ensuite convertie en tension grâce à un pont
diviseur de tension, simulant ainsi le capteur de température réel.
### Simulation de la transmission et ajout de bruit
**Partie du code:**
```matlab
bruit_gaussien = randn(1, nombre_echantillons) * ecart_type_bruit;
bruit_aleatoire = (borne_sup - borne_inf) * rand(1, nombre_echantillons) + borne_inf;
signal_bruite1 = tensions + bruit_gaussien;
signal_bruite2 = tensions + bruit_aleatoire;
```
**Explication:**
* **Bruit Gaussien:** Un bruit blanc gaussien est ajouté au signal pour simuler des perturbations
aléatoires, typiques des systèmes électroniques.
* **Bruit Aléatoire:** Un bruit uniforme est également ajouté pour montrer l'effet d'un autre type de
perturbation.
* **Signal bruité:** Les signaux obtenus après l'ajout du bruit représentent le signal transmis (et donc
dégradé) sur le canal de communication.
### Traitement du signal
**Partie du code:**
```matlab
N_fft = 2^nextpow2(nombre_echantillons);
frequence = (0:N_fft/2-1) * (fech / N_fft);
tensions_fft = abs(fft(tensions, N_fft)/nombre_echantillons);
% ... autres calculs FFT ...
```
**Explication:**
* **Transformée de Fourier:** La transformée de Fourier est utilisée pour analyser le contenu
fréquentiel des signaux. Elle permet de visualiser les différentes composantes fréquentielles présentes
dans le signal et d'identifier les éventuelles perturbations.
**Partie du code:**
```matlab
[b, a] = butter(ordre_filtre, frequence_coupure/(fech/2), 'low');
signal_filtre1 = filter(b, a, signal_bruite1);
```
**Explication:**
* **Filtrage Passe-Bas:** Un filtre passe-bas de type Butterworth est utilisé pour atténuer les hautes
fréquences, typiquement associées au bruit.
* **Filtrage du signal:** Le signal bruité est filtré pour éliminer une partie du bruit et récupérer un
signal plus proche du signal original.
**Partie du code:**
```matlab
R_filtre1 = (signal_filtre1 * resistance_pullup) ./ (tension_alimentation - signal_filtre1);
T_filtre1 = T0 ./ (1 + (1/B) * log(R_filtre1/R0));
temperature_filtre1 = T_filtre1 - 273.15;
```
**Explication:**
* **Conversion tension-résistance:** La tension filtrée est reconvertie en résistance.
* **Conversion résistance-température:** La résistance est à nouveau convertie en température en
utilisant la relation caractéristique de la thermistance.
### Affichage des résultats
**Partie du code:**
```matlab
figure(1)
plot(tensions, 'y', 'DisplayName', 'Signal initial', 'linewidth', 1); hold on
% ... autres figures ...
```
**Explication:**
* **Visualisation:** Les résultats sont affichés sous forme de graphiques pour une analyse visuelle. On
peut ainsi comparer le signal initial, les signaux bruités et les signaux filtrés, ainsi que leurs spectres
fréquentiels.
## Synthèse
Ce code simule la mesure d'une température à l'aide d'une thermistance, en tenant compte des bruits
de mesure et en appliquant un filtrage pour améliorer la qualité du signal. Il met en œuvre les étapes
clés du traitement du signal :
* **Modélisation:** Représentation mathématique du système physique.
* **Transmission:** Simulation de la transmission du signal avec ajout de bruit.
* **Traitement:** Filtrage pour améliorer la qualité du signal et estimation de la température.
L'analyse fréquentielle permet de visualiser l'effet du bruit et du filtrage sur le signal. Ce type de
simulation est utile pour concevoir et optimiser des systèmes de mesure.