Vous êtes sur la page 1sur 10

Compte-rendu TP1

UE : Identification paramétrique

JIA Siran
P2104518
Master 1 GPBP-GPP
27/01/2024

Responsable: Sami Othman, Koffi Fiaty


1. Introduction générale
L'identification de système ou identification paramétrique est une technique de
l'automatique consistant à obtenir un modèle mathématique d'un système à partir de
mesures. Cette approche est particulièrement importante lorsque les paramètres
physiques d'un système ne sont pas directement accessibles ou le système est trop
complexe pour être modélisé à partir de principes bases uniquement. En utilisant des
méthodes telles que les moindres carrés simple et les moindres carrés généralisés
récursifs, il est possible d'obtenir des estimations précises d'un système.

Parallèlement, la simulation de systèmes offre une plateforme pour analyser et prédire


le comportement des systèmes en réponse à diverses entrées ou conditions. La
simulation est un outil puissant dans la conception et l'analyse de systèmes,
permettant aux ingénieurs et aux chercheurs de tester des hypothèses, de valider des
modèles et de prévoir les performances sans nécessiter des expérimentations
coûteuses ou impraticables.

Dans ce rapport, nous nous concentrons sur l'identification et la simulation d'un


système du second ordre. Nous employons des données expérimentales pour estimer
les paramètres du système et utilisons ces estimations pour simuler sa réponse à une
entrée de type échelon. Cette démarche nous permet d'explorer non seulement les
aspects théoriques de l'identification et de la simulation, mais aussi leurs applications
pratiques et leurs limites.

2. Principe de calcul et simulation


A. La méthode des moindres carrés simples
- La méthode des moindres carrés simples est une technique statistique fondamentale
utilisée pour l'estimation des paramètres dans les modèles de régression linéaire. Cette
méthode est particulièrement adaptée pour trouver la meilleure estimation des
paramètres d'un modèle lorsqu'il existe une relation linéaire entre les variables
indépendantes et la variable dépendante. L'objectif principal est de minimiser la
somme des carrés des écarts entre les valeurs observées et celles prédites par le
modèle.
- La méthode des moindres carrés cherche à minimiser la somme des carrés des
résidus, c'est-à-dire la somme des carrés des différences entre les valeurs observées et
les valeurs prédites par le modèle linéaire. Mathématiquement, si y i est la valeur
observée et ŷi est la valeur prédite par le modèle, la méthode vise à minimiser :
n
S=∑ ¿ ¿ ¿
i=1

- Avantages :
Simplicité et Efficacité : La méthode est mathématiquement simple et efficace pour
des modèles linéaires.
Solution Unique : Dans la plupart des cas, elle fournit une solution unique pour les
estimations des paramètres.
Optimalité : Sous certaines conditions normales d'erreur, les estimations des moindres
carrés sont les meilleures estimations linéaires non biaisées.
- Limitations :
Sensibilité aux Valeurs Aberrantes : Les moindres carrés simples peuvent être
sensibles aux valeurs aberrantes qui peuvent fausser l'estimation des paramètres.
Supposition de Linéarité : La méthode suppose que la relation entre les variables est
linéaire, ce qui peut ne pas être le cas dans toutes les situations.

3. Simulation

1- Simulation d’un système du 2ème ordre

i) Simuler le procédé en utilisant l’équation récurrente présentant ce système


avec une période d’échantillonnage d’une seconde et une entrée
correspondant à un échelon unitaire.
Le code écrit dans Matlab :

close all
clear all
clc
% Number of time steps for simulation
N = 50;
% Initialize vectors for input and output
u = ones(N, 1); % Unit step input
y = zeros(N, 1); % Output
y(1) = 2 * u(1); % Première valeur de la sortie
%if N > 1
y(2) = 1.25 * y(1) + 0.5 * u(1) + 2 * u(2); % Deuxième valeur de
la sortie
%end
% Implement the difference equation
% y[n] - 1.25y[n-1] + 0.5y[n-2] = 2u[n] + 0.5u[n-1]
for n = 3:N
y(n) = 1.25 * y(n-1) - 0.5 * y(n-2) + 2 * u(n) + 0.5 * u(n-1);
end
% Plotting
stem(0:N-1, y, 'filled');
title('Réponse du système à un échelon unitaire');
xlabel('Temps (secondes)');
ylabel('Sortie S(n)');
grid on;

% Tracé de la sortie
time = 0:N-1; % Création d'un vecteur de temps
plot(time, S);
xlabel('Temps (secondes)');
ylabel('Sortie S(n)');
title('Réponse du système à un échelon unitaire');
grid on;

Et le résultat en graphe :
ii) Le système précédent peut se mettre sous la forme générale :
On se propose d’identifier par la méthode des moindres carrés simples les
coefficients k, a1, a2, et b 1 à partir d’une entrée de type échelon unitaire. En vous
servant de la réponse temporelle obtenue dans la partie i), peut-on identifier ces
coefficients ?

Le code Matlab pour trouver les coefficients :


close all
clear all
clc
% Nombre de pas de temps pour la simulation
N = 50;
% Initialisation des vecteurs d'entrée et de sortie
u = ones(N, 1); % Entrée d'échelon unitaire
y = zeros(N, 1); % Sortie
% Simulation
y(1) = 2 * u(1);
%if N > 1
y(2) = 1.25 * y(1) + 0.5 * u(1) + 2 * u(2);
%end
for n = 3:N
y(n) = 1.25 * y(n-1) - 0.5 * y(n-2) + 2 * u(n) + 0.5 * u(n-1);
end
% Construction de la matrice
X = [u(3:N), u(2:N-1), -y(2:N-1), y(1:N-2)];
% Moindres carrés
theta = (X'*X)\(X'*y(3:N));
% Extraction des coefficients
k = theta(1);
b1 = theta(2);
a1 = theta(3);
a2 = theta(4);
% Affichage des coefficients
fprintf('k = %f\n', k);
fprintf('b1 = %f\n', b1);
fprintf('a1 = %f\n', a1);
fprintf('a2 = %f\n', a2);

Résultat :
k = NaN
b1 = NaN
a1 = -1.250000
a2 = -0.500000

On peut identifier les coefficients a1, a2 avec cette méthode mais les coefficients k &
b1 ne sont pas identifiables.

Déterminer alors les conditions d’identifiabilité du système.

2 : Génération d’une Séquence Binaire Pseudo Aléatoire :


i) Générer sous Matlab une SBPA de longueur 127 et d’amplitude ± 0,5.
ii) Utiliser un sous multiple de 3 de la fréquence d’échantillonnage comme fréquence
de base de la SBPA (f sbpa = f e/3)

% Nombre de points dans la séquence


N = 127;
% Générer une séquence de nombres aléatoires 0 ou 1
sequenceBinaire = randi([0, 1], 1, N);
% Convertir en séquence d'amplitude ±0,5
sequenceSBPA = sequenceBinaire - 0.5;
sequenceSBPA(sequenceSBPA == -0.5) = -0.5;
% Fréquence d'échantillonnage (exemple)
fe = 48000; % Hz (ou toute autre valeur que vous utilisez)
% Calcul de la fréquence de base de la SBPA
fsbpa = fe / 3;
% Affichage des résultats
disp(['Fréquence d''échantillonnage: ', num2str(fe), ' Hz']);
disp(['Fréquence de base de la SBPA: ', num2str(fsbpa), ' Hz']);

Résultat

Fréquence d’échantillonnage : 48000 Hz


Fréquence de base de la SBPA : 16000 Hz

3 : Identification d’un système linéaire du 2ème ordre :


On considère un procédé dont le modèle est défini par :
Une expérimentation réalisée sur ce procédé a permis d'obtenir les résultats résumés
sur le fichier "process_2024.txt" fourni ordonné comme suit: [temps (sec) entrée
sortie mesurée].
i) Estimer à partir des données fournies les paramètres (k, a 1, a 2, et b 1) du procédé en
utilisant la méthode des moindres carrés simples.

4. Conclusion

5. Bibliographie

6. Annexe
https://www.researchgate.net/figure/Schema-iteratif-
representant-les-etapes-de-la-methode-didentification-
parametrique_fig2_320565010

https://fr.wikipedia.org/wiki/M
%C3%A9thode_des_moindres_carr%C3%A9s

https://www.techno-science.net/definition/6004.html

Vous aimerez peut-être aussi