Vous êtes sur la page 1sur 7

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la

Recherche Scientifique

COMPTE RENDU DE TRAVAUX PRATIQUE

TP4 : Élimination d’une interférence à 50 Hz par l’algorithme du gradient LMS

Réalisé par :
 Terfaia said Encadré par :Prov.Hadrog

La Branche : Electronique de système embarqué


L’année : 1 er Master

Année anniversaire : 2023/2024


Introduction au filtre LMS :

Le filtre LMS est un filtre adaptatif largement utilisé en traitement


du signal. Il appartient à la catégorie des filtres adaptatifs, ce qui
signifie qu'il peut ajuster ses paramètres automatiquement pour
s'adapter à des conditions changeantes. L'acronyme LMS fait
référence à la méthode d'optimisation utilisée, qui est la méthode
des moindres carrés.

Objectif du Filtre LMS :

Le principal objectif du filtre LMS est d'ajuster ses coefficients de


manière itérative afin de minimiser l'erreur quadratique moyenne
entre la sortie du filtre et un signal de référence. En d'autres termes,
il cherche à minimiser la différence entre la réponse du filtre et la
sortie souhaitée.

Fonctionnement du Filtre LMS :

1. Initialisation des coefficients :


 Le filtre LMS commence avec des coefficients initiaux. Ces coefficients
déterminent comment le filtre réagit à l'entrée.
2. Traitement du Signal :
 Le filtre LMS traite le signal d'entrée et génère un signal de sortie.
3. Calcul de l'Erreur :
 L'erreur est calculée en comparant la sortie réelle du filtre avec la sortie
souhaitée (signal de référence).
4. Mise à Jour des Coefficients :
 Les coefficients du filtre sont mis à jour itérativement en fonction de
l'erreur calculée. Le taux d'apprentissage (mu) détermine l'ampleur de la
mise à jour.
5. Répétition du Processus :
 Les étapes 2 à 4 sont répétées au fil du temps, permettant au filtre de
s'ajuster en fonction des variations du signal d'entrée.
6. % ‫ هرتز‬50 ‫إعداد اإلشارة الملوثة بتردد‬
7. Fs = 1000; % ‫معدل العينة‬
8. t = 0:1/Fs:1; % ‫ ثانية‬1 ‫ إلى‬0 ‫الوقت من‬
‫‪9.‬‬ ‫تردد التداخل ‪f_interference = 50; %‬‬
‫‪10.‬‬ ‫إشارة التداخل ‪interference = 0.5 * sin(2*pi*f_interference*t); %‬‬
‫‪11.‬‬
‫‪12.‬‬ ‫إعداد اإلشارة النقية (المرجع) ‪%‬‬
‫‪13.‬‬ ‫مثال‪ :‬إشارة نقية عند ‪ 200‬هرتز ‪pure_signal = sin(2*pi*200*t); %‬‬
‫‪14.‬‬
‫‪15.‬‬ ‫إنشاء اإلشارة الملوثة ‪%‬‬
‫‪16.‬‬ ‫;‪contaminated_signal = pure_signal + interference‬‬
‫‪17.‬‬
‫‪18.‬‬ ‫معلومات الفلتر ‪%‬‬
‫‪19.‬‬ ‫ترتيب الفلتر ‪filter_order = 32; %‬‬
‫‪20.‬‬ ‫معامل سرعة التعلم ‪mu = 0.01; %‬‬
‫‪21.‬‬
‫‪22.‬‬ ‫‪ LMS‬الحلقة الرئيسية لتطبيق ‪%‬‬
‫‪23.‬‬ ‫بداية بأوزان الفلتر صفر ‪weights = zeros(1, filter_order); %‬‬
‫‪24.‬‬ ‫)‪for n = filter_order:length(contaminated_signal‬‬
‫‪25.‬‬ ‫جلب نافذة اإلشارة لحساب المخرج المتوقع ‪%‬‬
‫‪26.‬‬ ‫;)‪x = contaminated_signal(n:-1:n-filter_order+1‬‬
‫‪27.‬‬
‫‪28.‬‬ ‫حساب اإلشارة المرجعية (هنا تمثل اإلشارة النقية) ‪%‬‬
‫‪29.‬‬ ‫;)‪d = pure_signal(n‬‬
‫‪30.‬‬
‫‪31.‬‬ ‫حساب اإلشارة المخرجة المتوقعة باستخدام أوزان الفلتر ‪%‬‬
‫‪32.‬‬ ‫;'‪y = weights * x‬‬
‫‪33.‬‬
‫‪34.‬‬ ‫حساب الخطأ ‪%‬‬
‫‪35.‬‬ ‫;‪e = d - y‬‬
‫‪36.‬‬
‫‪37.‬‬ ‫‪ LMS‬تحديث أوزان الفلتر باستخدام ‪%‬‬
‫‪38.‬‬ ‫;‪weights = weights + mu * e * x‬‬
‫‪39.‬‬ ‫‪end‬‬
‫‪40.‬‬
‫‪41.‬‬ ‫تصفية اإلشارة الملوثة باستخدام أوزان الفلتر النهائية ‪%‬‬
‫‪42.‬‬ ‫;)‪filtered_signal = filter(weights, 1, contaminated_signal‬‬
‫‪43.‬‬
‫‪44.‬‬ ‫عرض النتائج ‪%‬‬
‫‪45.‬‬ ‫;‪figure‬‬
‫‪46.‬‬ ‫;)'اإلشارة الملوثة'(‪subplot(3,1,1); plot(t, contaminated_signal); title‬‬
‫‪47.‬‬ ‫;)'اإلشارة النقية'(‪subplot(3,1,2); plot(t, pure_signal); title‬‬
‫‪48.‬‬ ‫;)'اإلشارة المصفاة'(‪subplot(3,1,3); plot(t, filtered_signal); title‬‬
‫‪49.‬‬
‫‪50.‬‬ ‫;)'اإلشارة الملوثة'‪' ,‬اإلشارة النقية'‪' ,‬اإلشارة المصفاة'(‪legend‬‬

‫‪Résultats de simulation :‬‬


‫ةثولملا ةراشإلا‬
2

-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
‫ةيقنلا ةراشإلا‬
1

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
‫ةافصملا ةراشإلا‬
1
‫ةثولملا ةراشإلا‬

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Filtre adaptatif LMS:

On désire implémenter l’algorithme du filtrage LMS sous forme d’une


fonction MATLAB®. Pour cela nous devons réitérer pendant un certain
nombre d’itération le processus suivant :
𝒚(𝒌) = 𝒉(𝒌 − 𝟏) ∗ 𝒙(
𝒆(𝒌) = 𝒅(𝒌) − 𝒚(𝒌)
𝒉(𝒌) = 𝒉(𝒌 − 𝟏) + µ ∗ 𝒙(𝒌) ∗ 𝒆(𝒌)

Avec:

(𝐤): L’entrée bruitée ;

(𝐤): Le signal désiré ;

(𝐤): La sortie du filtre ;

(𝐤): L’erreur (la différence entre le signal désiré et la sortie du filtre) ;

(𝐤): Les coefficients du filtre ;


µ : Le scalaire d’adaptation.

Signal désiré, signal filtré et l’erreur pour l’algorithme LMS

Caractéristiques du Filtre LMS :

 Adaptation Automatique : Le filtre LMS s'ajuste automatiquement


en fonction des changements dans le signal d'entrée.

 Facilité d'Implémentation : Il est connu pour sa simplicité
d'implémentation, ce qui le rend adapté aux applications en temps
réel.

 Efficacité contre le Bruit : Le filtre LMS peut être efficace pour traiter
les signaux contaminés par du bruit.

Applications du Filtre LMS :

 Suppression du Bruit : Utilisé pour améliorer la qualité du signal en


éliminant le bruit.
 Correction du Signal : Employé pour corriger des signaux afin
d'atteindre une cohérence ou un ajustement du niveau.
 Apprentissage Machine : Utilisé dans certaines applications
d'apprentissage machine pour ajuster les poids des modèles.

Le filtre LMS est une puissante technique de traitement du signal,


largement utilisée dans les domaines des communications, de la
correction de canal, et de la suppression du bruit. Ses capacités
d'adaptation en font un outil polyvalent pour une variété
d'applications.

Example:
This example shows how use the LMS Filter block to calculate the
mean square error performance in additive white Gaussian noise
(AWGN). The block supports scalar and vector inputs of type real or
complex. You can generate the HDL code from
the LMSFilter subsystem in this Simulink® model.

The latency of the dsphdl.LMSFilter System object™ varies with


the input size and filter length. Use the getLatency function to find
the latency of an LMS Filter for a particular configuration. The
latency is measured as the number of cycles between the first valid
input and the first valid output, assuming that the input is
contiguous

lmsfilter = dsphdl.LMSFilter

Points Clés :

Points Clés :

1. Adaptabilité Automatique :
 Le filtre LMS s'ajuste de manière automatique aux variations
du signal d'entrée, permettant ainsi une performance continue
dans des environnements changeants.
2. Facilité d'Implémentation :
 Sa simplicité d'implémentation en fait un choix populaire,
particulièrement dans des applications nécessitant des mises
en œuvre en temps réel.
3. Efficacité contre le Bruit :
 Le filtre LMS excelle dans la suppression du bruit, contribuant à
l'amélioration de la qualité du signal.
4. Applications Polyvalentes :
 Des applications telles que la suppression du bruit, la
correction de signal, et même des domaines d'apprentissage
machine tirent profit du filtre LMS.

En conclusion:

En conclusion, le filtre LMS (Least Mean Squares) représente une


technique robuste et flexible dans le domaine du traitement du
signal. Son objectif principal est d'ajuster dynamiquement ses
coefficients pour minimiser l'erreur quadratique moyenne entre la
sortie du filtre et un signal de référence. Cette capacité d'adaptation
automatique en fait un outil puissant pour diverses applications.

Vous aimerez peut-être aussi