Traitement du signal avec Scilab : convolution et approche du filtrage numérique

Documents pareils
Traitement du signal avec Scilab : la transformée de Fourier discrète

Traitement du signal avec Scilab : transmission numérique en bande de base

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

TD1 Signaux, énergie et puissance, signaux aléatoires

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Notions d asservissements et de Régulations

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques


Automatique Linéaire 1 1A ISMIN

Automatique (AU3): Précision. Département GEII, IUT de Brest contact:

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Intérêt du découpage en sous-bandes pour l analyse spectrale

Systèmes de transmission

Analyse des Systèmes Asservis

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Premier ordre Expression de la fonction de transfert : H(p) = K

SYSTEMES LINEAIRES DU PREMIER ORDRE

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

I- Définitions des signaux.

- Instrumentation numérique -

Chapitre 1 Régime transitoire dans les systèmes physiques

Transmission d informations sur le réseau électrique

Chaine de transmission

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Suites numériques 4. 1 Autres recettes pour calculer les limites

Donner les limites de validité de la relation obtenue.

TP Modulation Démodulation BPSK

Représentation d un entier en base b

Programme Pédagogique National du DUT «Réseaux et Télécommunications» Présentation de la formation

TP 7 : oscillateur de torsion

Compatibilité Électromagnétique

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Complément d information concernant la fiche de concordance

Développements limités, équivalents et calculs de limites

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

M1107 : Initiation à la mesure du signal. T_MesSig

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

A. N(p) B + C p. + D p2

ELEC2753 Electrotechnique examen du 11/06/2012

Chapitre 2 Les ondes progressives périodiques

Chapitre 1 : Évolution COURS

5.2 Théorème/Transformée de Fourier a) Théorème

Circuits RL et RC. Chapitre Inductance

1 Systèmes triphasés symétriques

Les Conditions aux limites

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Fonctions homographiques

Caractéristiques des ondes

Cours 9. Régimes du transistor MOS

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.

8563A. SPECTRUM ANALYZER 9 khz GHz ANALYSEUR DE SPECTRE

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Compter à Babylone. L écriture des nombres


Anciens plug-ins d effets VST

Le transistor bipolaire

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

P1PY7204 Acquisition de données Cours

Transmission de données. A) Principaux éléments intervenant dans la transmission

CCP PSI Mathématiques 1 : un corrigé

F411 - Courbes Paramétrées, Polaires

PRIME D UNE OPTION D ACHAT OU DE VENTE

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

TD 11. Les trois montages fondamentaux E.C, B.C, C.C ; comparaisons et propriétés. Association d étages. *** :exercice traité en classe.

Université Mohammed Khidher Biskra A.U.: 2014/2015

Licence Professionnelle de Génie Industriel Université Paris VI-Jussieu ; CFA Mecavenir Année Cours de Génie Electrique G.

QUELQUES ACTIVITES RELATIVES A LA PARTIE A Propagation d une onde ; onde progressive. Comment installer le format de compression divx?

ECTS INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES

3.2. Matlab/Simulink Généralités

Oscillations libres des systèmes à deux degrés de liberté

Continuité et dérivabilité d une fonction

Chapitre 2 Le problème de l unicité des solutions

Erreur statique. Chapitre Définition

L analyse boursière avec Scilab

Recherche De Coalescences Binaires Étalonnage Du Détecteur

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Programme Pédagogique National du DUT «Génie Électrique et Informatique Industrielle» Présentation de la formation

Programme Pédagogique National du DUT «Génie Electrique et Informatique Industrielle» Présentation de la formation

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

Direction des Études et Synthèses Économiques Département des Comptes Nationaux Division des Comptes Trimestriels

Partie 1 - Séquence 3 Original d une fonction

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Champ électromagnétique?

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Filtrage stochastique non linéaire par la théorie de représentation des martingales

SCL LOGICIEL DE CONTROL

Comparaison de fonctions Développements limités. Chapitre 10

Introduction à l étude des Corps Finis

Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Licence Sciences et Technologies Examen janvier 2010

Dualité dans les espaces de Lebesgue et mesures de Radon finies

FAG Detector III la solution pour la surveillance et l équilibrage. Information Technique Produit

Transcription:

Traitement du signal avec Scilab : convolution et approche du filtrage numérique Alors qu elle intervient peu dans le traitement du signal analogique où on a recours à la transformation de Fourrier pour éviter son utilisation, la convolution joue un rôle important dans le traitement numérique du signal, en particuliers pour la réalisation de filtres numériques. L objectif de cette séance est de se familiariser avec cette opération, en commençant par une approche intuitive, puis en passant à une application sur la synthèse d un filtre numérique. Nous profiterons de la dernière partie pour effectuer une approche rapide de la transformée en z, cette notion étant très liée aux réponses impulsionnelles, donc au produit de convolution. 1 Approche intuitive Un signal analogique peut être vu comme une suite d impulsions de largeur t, suffisamment faible pour que l amplitude reste constante. Connaissant la réponse h(t) d un quadripôle linéaire à une impulsion unitaire, en appliquant le théorème de superposition, on peut retrouver la réponse du quadripôle à n importe quel signal. Il suffira de simplement calculer la somme des réponses à chaque impulsion élémentaire. Les figures suivantes représentent dans le cas d un système du premier ordre, de pulsation propre ω dont la réponse impulsionnelle est de la forme ω e -ω t. Dans un premier temps, l étude se fait avec des grandeurs discrètes, qui se prête bien à une approche qualitative. On observe sur les figures de gauche une impulsion en n= et en dessous sa réponse h(n). Sur les figures de droites, on retrouve la même impulsion en n=k, ainsi que la réponse associée h(n-k). impulsion à n= impulsion à n=k 1. 1..8.8.6.6.4.4.2.2.7.6.5.4.3.2.1 2 4 6 8 1 12 14 16 18 2 réponse h(n) 2 4 6 8 1 12 14 16 18 2.7.6.5.4.3.2.1 2 4 6 8 1 12 14 16 18 2 réponse h(n - k) 2 4 6 8 1 12 14 16 18 2 Denis Rabasté 1/7 IUFM Aix Marseille

Sur les figures suivantes, on a représenté une fonction porte, découpée en impulsions élémentaires et en dessous la réponse à chaque impulsion élémentaire. On effectue ensuite la somme de ces réponses. entrée décomposée en impulsions 1..8.6.4.2 2 4 6 8 1 12 14 16 18 2.7 réponse à chaque impulsion.6.5.4.3.2.1 2 4 6 8 1 12 14 16 18 2.32 somme des réponses élémentaires.28.24.2.16.12.8.4 2 4 6 8 1 12 14 16 18 2 La forme de la réponse obtenue est bien celle attendu pour un premier ordre. On constate cependant une ondulation importante, ainsi qu une valeur asymptotique qui n est pas unitaire lors de la montée. Ces deux défauts sont dus au choix d une largeur d impulsion trop grande par rapport au pas d échantillonnage, choix justifié par la nécessité de mettre en évidence le phénomène. Le programme Scilab permettant le calcul est fourni en annexe, et pourra être utilisé pour tester des options différentes. 2 xpression mathématique Considérons maintenant un système échantillonné à la période T. Le pas d échantillonnage correspond alors à la largeur d une impulsion élémentaire. D après ce qui précède, montrer que si h(n) est la réponse impulsionnelle d un quadripôle, la réponse de ce quadripôle à une entrée V (n) sera : Quelle propriété de h(n) nous permet d écrire : V V k = n S (n) = V (k) h(n k) n + S (n) = V (k) h(n k) = V (k) h(n k) Remarque : l étude faite ici considère des signaux numériques sans énergie ; pour fournir de l énergie aux signaux, il aurait fallu introduire un coefficient T en facteur dans la sommation ; ce facteur est Denis Rabasté 2/7 IUFM Aix Marseille

classiquement introduit pour effectuer ce genre de démonstration. Celle ci gagne alors en rigueur mais est moins représentative des systèmes numériques modernes. n déduire que pour un signal analogique pour lequel T tend vers, on a : v S t (t) = v (t) v (t) = v ( τ) h(t - τ) dτ = v ( τ) h(t - τ) dτ = v ( τ) h(t - τ) dτ S + Le dernier terme de l égalité peut être écrit si on considère que v (t) est un signal causal (nul pour les temps négatifs). Les principales propriétés du produit de convolution sont : - la commutativité - l associativité - la distributivité pour l addition - accepter la distribution de Dirac δ(t) est l élément neutre - devenir un produit classique par transformation de Fourrier (ou transformation inverse) - être la transformée de Fourrier (ou la transformée inverse) du produit classique. + 3 Application à la réalisation d un filtre numérique Une méthode simple utilisée pour la synthèse d un filtre numérique, consiste à échantillonner la réponse impulsionnelle h A (t) du filtre analogique équivalent pour obtenir les coefficients h (n) de la réponse indicielle du filtre numérique. Cette méthode est appelée méthode de la fenêtre (la réponse impulsionnelle étant «fenêtrée» avant d être échantillonnée). n appelant {h (n)} la suite de coefficient h (n) de la réponse impulsionnelles du filtre numérique, on obtient alors : n = Ne (n)} = T ha (nt ) δ(t - nt ) n= {h et h (n) T h (nt ) = où Ne représente le nombre de coefficients de la réponse impulsionnelle du filtre et T la période d échantillonnage. La présence du terme T en facteur est justifiée de la manière suivante : l échantillonnage de la réponse impulsionnelle est équivalent à une multiplication par un peigne de Dirac temporelle d amplitude unitaire et de période T ; la réponse temporelle du signal est donc convoluée avec la transformée de Fourrier de ce signal, soit par un peigne de Dirac d amplitude 1/T et de période (fréquentielle) 1/T. Pour compenser l atténuation ainsi introduite, il convient donc de multiplier par la réponse impulsionnelle par T. Le choix de la réponse du filtre est ici très discutable, les méthodes numériques permettant des performances nettement meilleures. Notre objectif est cependant simplement d illustrer l utilisation du produit de convolution et non de réaliser un filtre performant. Le programme suivant permet de tester cette réponse à deux entrées types. Toutes les constantes sont dans un premier temps définies, puis la réponse du filtre, les entrées et enfin les sorties sont calculées avec la fonction «convol(h,e)» qui réalise la convolution des deux arguments fournis en renvoyant un vecteur résultat sur N h +N e -1 échantillons si N h et N e sont respectivement le nombre d échantillons de h et e. La méthode utilisée par Scilab pour effectuer cette opération consiste en fait à faire le produit des transformées de Fourrier des deux signaux, puis calculer la transformée inverse. A Denis Rabasté 3/7 IUFM Aix Marseille

clear ; définition de la fréquence d'échantillonnage, du nombre de points de calcul, du nombre d'échantillons du filtre, des vecteurs temps et échantillons Fe=2 ; Te=1/Fe; N=3 ; Ne=5; t=1/fe*[:n-1];n=[:ne-1]; définition de la réponse impulsionnelle du filtre f=.2 ; w=2*%pi*f ; h=1/fe*w*exp(-w*te*n); définition des entrées e1=ones(1,n); e2=1*sin(w*t); calcul des sorties et ajustement du nombre de points s1=convol(e1,h); s1=s1(1:n); s2=convol(e2,h); s2=s2(1:n); affichage sur la fenêtre xset("window",);xbasc(); xset("font size",4); xsetech([,1/3,1,1/3]) ;plot2d(t,e1) ; ;plot2d(t,s1) ; xtitle("réponse à un échelon"); xsetech([,2/3,1,1/3]) ; ;plot2d(t,e2) ; ;plot2d(t,s2) ; xtitle("réponse sinusoïdale à la fréquence de coupure"); xsetech([,,1,1/3]) ;plot2d3(n,h, rect=[-1,,ne,w/fe]); xtitle("réponse impulsionnelle"); Ci après sont affichées la réponse impulsionnelle, la réponse à un échelon et à une sinusoïde de fréquence égale à la fréquence de coupure. On retrouve bien les résultats attendus pour ces réponses..7 réponse impulsionnelle.6.5.4.3.2.1-1 1 2 3 4 5 réponse à un échelon 1..8.6.4.2 2 4 6 8 1 12 14 16 réponse sinusoïdale à la fréquence de coupure 1 8 6 4-2 2-4 -6-1 2 4 6 8 1 12 14 16 Denis Rabasté 4/7 IUFM Aix Marseille

On pourra vérifier d autre type d entrées (carré, impulsionnelle, somme de sinusoïdes etc ). On pourra également vérifier que l on obtient bien le même résultat en utilisant l algorithme de convolution proposé en annexe pour générer les exemples de la première partie. 3.1 Approche de la transformation en z Dans l exemple du filtre précédent, en supposant afin de simplifier que le filtre n a que 5 coefficients, donner l équation récurrente s(n)=f(e(n), e(n-1) ) liant le signal d entrée «e» au signal de sortie «s». Comme on peut le voir, la sortie du filtre obtenu ne dépend que de l entrée (et pas des valeurs de la sortie aux instants précédents). On parle alors de filtre à réponse impulsionnelle finie (FIR filter) et de filtre non récursif. Ce type de filtre présente l avantage d être inconditionnellement stables (pas de rebouclages de la sortie sur l entrée). Ils présentent cependant des performances moindres que les filtres à réponse impulsionnelle infinie (IIR filter). Sachant que l opérateur «z -1» traduit un retard d une période d échantillonnage, déterminer la fonction de transfert en z du filtre réalisé. 3.2 Tracé de la réponse fréquentielle On souhaite tracer le module de la fonction de transfert de ce filtre en fonction de la fréquence, afin de pouvoir comparer avec le filtre analogique. D après la définition de z, quel changement de variable faut-il faire sur la transformée en z pour obtenir la transformée de Fourrier de la réponse impulsionnelle échantillonnée du filtre (c est à dire la fonction de transfert du filtre numérique). xécuté à la suite du précédent, le programme ci-après permet de tracer la réponse fréquentielle du filtre. On génère pour cela le polynôme en «z» :à l aide de la fonction «poly», puis on calcule les valeurs de ce polynôme à l aide de la fonction «freq». Ces différentes fonctions ont été détaillées dans la séance d introduction. définition d un polynôme en z à partir des coefficients de h H=poly(h,'z','c'); définition de la variation de la pulsation, qui n a de signification que pour un intervalle,5 w=(:.1:.5); calcul des valeurs particulières de H ft=freq(h,1,exp(%i*w)); affichage sur la fenêtre 1 xset("window",1);xbasc(1); xset("font size",4); xsetech([,,1,1/2]) ;plot2d(w,abs(ft)); xtitle("réponse fréquentielle sur échelles linéaires, normalisée en pulsation"); xsetech([,1/2,1,1/2]) ; plot2d(w(2:length(w)),2*log1(abs(ft(2:length(w)))), logflag=["ln"]) ; xtitle("réponse fréquentielle sur échelles semi-log, normalisées en pulsation"); Vérifier sur la figure suivante, que les valeurs des gains statiques et de la pulsation de coupure sont bien celles attendues (attention, sur l axe des abscisses, la valeur unitaire correspond à la pulsation d échantillonnage). On constate cependant la présence d oscillations (phénomène de Gibbs), dues à la troncature de la réponse temporelle par une fonction porte. Ce phénomène sera détailler lors de l étude des filtres numériques. Denis Rabasté 5/7 IUFM Aix Marseille

1..9.8.7.6.5.4.3.2.1 réponse fréquentielle sur échelles linéaires, normalisée en pulsation.1.2.3.4.5-2 -4-6 -8-1 -12-14 -16-18 -2-2 1 réponse fréquentielle sur échelles semi-log, norm alisées en pulsation -1 1 1 Denis Rabasté 6/7 IUFM Aix Marseille

Annexe 1 : programmes des illustrations clear ; définition des constantes, nombre de points, nombre d impulsions élémentaires durée d une impulsion, nombre d échantillon sur une réponse élémentaire N=2 ; Nrep=3; inc=4; Ne=8 ; f=.1 ; w=2*%pi*f ; n=[:ne-1]; impulsion et réponse impulsionnelle e=ones(1,inc) ; h=w*exp(-w*n); définition des matrices où seront placé les impulsions et réponse h=zeros(nrep, N); e=zeros(nrep,n); initialisation de l affichage pour la fenêtre xset( window,); xbasc() ; xset( font size, 4); boucle de calcul et d affichage des impulsions et réponses for i=:inc:inc*nrep-1, h(i+1, : )=[zeros(1,i), h,zeros(1,n-ne-i)]; e(i+1, : )=[zeros(1,i), e,zeros(1,n-inc-i)]; xsetech([,,1,1/3]) ;plot2d2((1:n),e(i+1,:), rect=[,, N, ]) ; xsetech([,1/3,1,1/3]) ;plot2d(h(i+1,:)) ; end calcul de la sortie s=sum(h, r ); affichage de la sortie et des commentaires xsetech([,2/3,1,1/3]) ;plot2d(s ) ; xtitle ( somme des réponses élémentaires ); xsetech([,,1,1/3]) ; xtitle ( entrée décomposée en impulsions ); xsetech([,1/3,1,1/3]) ; xtitle ( réponse à chaque impulsion ); affichage des impulsions et réponses décalées sur la fenêtre 1 xset( window,1); xbasc(1) ; xset( font size, 4); xsetech([,,1/2,1/2]) ;plot2d2((1 :N),e(1,: ), rect=[,, N, ]) xtitle ( impulsion à n= ); xsetech([,1/2,1/2,1/2]) ;plot2d(h(1,: )) ;xtitle ( réponse h(n) ); xsetech([1/2,,1/2,1/2]) ;plot2d2((1 :N),e(33,: ), rect=[,, N, ]) xtitle ( impulsion à n=k ); xsetech([1/2,1/2,1/2,1/2]) ;plot2d(h(33,: )) ;xtitle ( réponse h(n - k) ); Denis Rabasté 7/7 IUFM Aix Marseille