Ministère de l Enseignement Supérieur et de la Recherche Département Génie electrique et informatique Travaux Pratiques : Analyse et traitement du signal Grand Cru 2003 2004 Sommeliers(ère) : Danièle Fournier Prunaret Pascal Acco Ridha Chaggara Sébastien Bosch Wilfried Chauvet
2 Avant propos Il est fréquent de représenter un signal par une fonction s, définie sur R et à valeurs dans l ensemble des complexes C ou dans R. La variable utilisée est généralement le temps t. Nous considérons ici le cas le plus général où cette fonction s(t) est à valeurs complexes. La représentation du signal par la fonction s(t) est appelée sa représentation temporelle : c est la représentation la plus simple et la plus immédiate. Elle permet, lorsque l on observe le signal au cours du temps, de repérer son début, sa fin, la durée de certains éléments caractéristiques (discontinuités, zones de basses ou de hautes fréquences). En revanche, cette représentation ne renseigne pas directement sur les fréquences contenues dans le signal. L introduction de l analyse de Fourier au XIXème siècle a permis de représenter un signal non plus en fonction du temps, mais en fonction de la fréquence. Le but de ces travaux pratiques est de saisir le principe de cette analyse fréquentielle et ensuite de l utiliser dans un exemple pratique. Contenu du TP Dans la première séance Analyse fréquentielle des signaux vous allez utiliser le logiciel Matlab pour décomposer numériquement un signal de forme carré. Vous aborderez donc la décomposition en série de Fourrier, la transformation de Fourrier ainsi que la transformation de Fourrier Discrète. Vous réaliserez vous-même les algorithmes permettant d analyser les signaux et les comparerez avec ceux fournit par Matlab. Dans la deuxième séance Applications de l analyse fréquentielle vous mettrez à profit ces connaissances. Pour cela il vous faudra choisir parmi deux exercices selon vos goûts personnels et l humeur du moment. Chacun de ces exercices vous propose de traiter un signal pour en enlever une partie indésirable : c est l opération de filtrage. On parle de filtrage hors ligne car vous allez travailler sur un signal enregistré dont le traitement se fait sans limite de temps en différé. Dans la suite du cours, vous aborderez les techniques de filtrage classiques (on ne précise pas «en ligne» dans ce cas) qui consistent à effectuer un traitement fréquentiel du signal en temps réel. On réalise alors un filtre par un algorithme ou un circuit capable de traiter le signal «à la volée». Un exemple simple de filtre en ligne est la crème solaire : la lumière émise par le soleil est filtrée sur le plan fréquentiel en bloquant une certaine gamme de fréquence du rayonnement correspondant aux UV A et aux UV B. Déroulement du TP Vous devez tout d abord effectuer un travail préparatoire qui consiste à calculer le développement en séries de Fourier puis la transformée de Fourier du signal carré présenté dans la page 5. Il est évidemment nécessaire de lire le sujet à l avance. Les deux séances se dérouleront en salle informatique sur des terminaux X. Vous devez tout d abord vous loger sous votre compte et créer un répertoire destiné au TP. Demandez en suite au professeur de TP de vous indiquer comment rapatrier les fichiers dans votre répertoire et comment utiliser Matlab. Un compte rendu succinct vous sera demandé à la fin de la dernière séance de TP. Pensez donc à imprimer vos scripts et vos figures en y ajoutant quelques commentaires au fur et à mesure. Rappelez vous que le but du compte rendu n est pas d exposer des résultats mais de montrer à l enseignant ce que vous avez compris et quelle a été votre démarche. Soyez brefs et curieux.
Analyse fréquentielle des signaux TP1 1.1 Décomposition en série de Fourier Lorsque s(t) est un signal périodique de période T et suffisamment régulier, il est possible de définir la série de Fourier qui lui est associée. On note L 2 ([0, T ]) l espace vectoriel des fonctions périodiques de période T et de carré intégrable sur [0, T ]. On définit les fonctions e n par (1.1) ainsi que c n les coefficients de Fourier associés au signal s définis par (1.2). e n [0, T ] C (1.1) x e n (x) = e 2iπn x T c n = (s e n ) = 1 T T La série de Fourier est alors définie par la relation suivante (1.3). S N (s)(x) = On peut démontrer les résultats suivants. 0 N n= N s(t)e 2iπn x T dt (1.2) c n e 2iπn x T (1.3) Théorème 1. Théorème de Dirichlet Si s est C 1 par morceaux avec, en tout point de [0, T ], une limite finie à gauche et à droite pour s et sa dérivée s, alors S N (s) converge simplement en tout point x vers s(x+ )+s(x ) 2. Théorème 2. Si s est C 2 sur [0, T ], alors S N (s) converge uniformément et normalement vers s sur [0, T ]. Théorème 3. Si s L 2 ([0, T ]), alors s S N (s) 2 N 0 (convergence en moyenne quadratique). Le signal s(t) peut ainsi se représenter comme la superposition d une onde sinusoïdale fondamentale (dont la fréquence est dite fréquence fondamentale) et de divers harmoniques dont les fréquences sont des multiples entiers de la fréquence fondamentale. Les amplitudes de ces différentes fréquences sont les coefficients de Fourier c n. Ces coefficients deviennent vite négligeables quand n augmente et en général, seulement quelques coefficients suffisent à caractériser le signal. Cependant, dès que le signal devient irrégulier, la liste des c n à conserver s allonge. Pour les signaux non périodiques, on dispose de l intégrale de Fourier, qui fournit un spectre continu, sa définition et ses propriétés font l objet du paragraphe suivant. 3
4 SÉANCE 1. ANALYSE FRÉQUENTIELLE DES SIGNAUX 1.1.1 Exercice : série de Fourier du signal carré Le script Matlab ci dessous, génère une sinusoïde de 1Hz sur 1 seconde avec une fréquence d échantillonnage de 300Hz (300 points calculés toutes les secondes). Il génère aussi une impulsion carrée de même période à la même fréquence d échantillonnage, et affiche les signaux obtenus. Récupération du script Récupérer le script carre_eleve (dont vous avez une copie ci dessous) et sauvez le dans votre propre répertoire. Pour connaître l utilisation des commandes Matlab, faites un help suivi du nom de la commande. Fonctions Matlab utilisées : sin, plot, subplot, hold on, stem, figure, xlabel, ylabel, title, sign %SCRIPT MATLAB Fe=30 ; %fréquence d échantillonnage F=1 ; %fréquence du sinus L=1 ; /endcode %durée de la simulation t=0 :1/Fe :L ; % le vecteur temps N=length(t) ; % Le nombre d échantillons sinus=sin(2*pi*f*t) ; % On génère le sinus carre=zeros(1,n) ; % le signal carre est une suite de zeros de la m^eme longueur que le vecteur temps carre(1 :N/2)=ones(1,N/2) ; % La première moitié du carré est égale à une suite de 1 signal = carre ; figure(1) ; % crée une fen^etre graphique subplot(211) ; % coupe la fenetre en 2 lignes et 1 colonne % le graphique actif est le morceau numéro 1 plot(t,sinus, b+- ) ; hold on ; % permet de ne pas écraser le sinus par le carre mais de le superposer... plot(t,carre, ro- ) ; % On affiche les axes et un titre ylabel( Sinus en bleu et Carre en rouge ) ; xlabel( Temps ) ; title( Les signaux en fonctions du temps ) subplot(212) % On se place dans le morceau de la fen^etre numéro 2 stem(sinus, b ) ; % affiche sous forme d échantillons hold on ; stem(carre, r ) ; ylabel( Sinus en bleu et Carre en rouge ) ; xlabel( Nombre d échantillons ) ; title( Les signaux en échantillons )
1.1. DÉCOMPOSITION EN SÉRIE DE FOURIER 5 figure(2) ; % crée une deuxième figure produit= sinus.* carre ; plot(t,produit) ; hold on ; bar(t,produit, stack ) ; ylabel( Signal produit terme à terme des signaux ) ; xlabel( Temps ) ; title( L intégrale de ce signal est le coef b(1) de la décomposition en séries de Fourier ) ; Calcul théorique des coefficients de Fourier Calculez, à la main, les coefficients de la décomposition du signal carré (fig. 1.1) en séries de Fourier. Le but de cette manipulation est de retrouver la valeur des coefficients de cette décomposition par un calcul numérique. 1 s(t) 0 T T 2 Fig. 1.1 Le signal carré à étudier t Le coefficient a 0 est défini comme la valeur moyenne du signal. Les coefficients a i (1.4) sont la projection du signal sur un cosinus de fréquence i fois supérieure à la fréquence fondamentale ω. a i = 2 T T 0 s(t) cos(iωt)dt (1.4) Les coefficients b i (1.5) sont la projection du signal sur un sinus de fréquence i fois supérieure à la fréquence fondamentale ω. b i = 2 T T 0 s(t) sin(iωt)dt (1.5) Calcul numérique des coefficients de Fourier Calcul de a 0 Sauvez le script Matlab carre sous le nom decomposition. Modifiez le afin d effectuer le calcul numérique de a 0 en intégrant le signal avec la méthode des rectangles. Fonctions Matlab utilisées : sum
6 SÉANCE 1. ANALYSE FRÉQUENTIELLE DES SIGNAUX Calcul des a n et b n Faites une boucle permettant de calculer les coefficients a n et b n jusqu à la sixième harmonique en réutilisant la même méthode d intégration. Fonctions Matlab utilisées : for for i=1 :6 A(i)= sum(carre.* Sinus) ; end Comparaison des valeurs théoriques et numériques Afficher sur une même figure la valeur des coefficients trouvés analytiquement et celle des coefficients a n et b n trouvés numériquement. Fonctions Matlab utilisées : plot, stem, hold on Convergence de la somme partielle de Fourier Dans la même boucle for calculez la valeur du signal reconstitué à partir des harmoniques successives. Affichez sur une même figure le signal reconstitué avec la première harmonique, puis avec la deuxième, jusqu à la quatrième. On mémorisera les signaux reconstitués successifs dans un vecteur nommé Sig et on utilisera la fonction hold on pour superposer les affichages. Fonctions Matlab utilisées : subplot(313), ones, hold on Sig=ones(1,600)*a0 ; plot(t,sig) ; hold on ; % le hold on permet de conserver un graphique Sig=Sig + sinus ; plot(t,sig) ; % ce plot se superpose au premier 1.2 Transformée de Fourier Pour un signal non périodique, une méthode consiste à le représenter par une superposition d ondes sinusoïdales de toutes les fréquences possibles. Comme dans les séries de Fourier, les amplitudes associées à chaque fréquence représentent les importances respectives des diverses ondes sinusoïdales dans le signal global. Ces amplitudes forment une fonction de la fréquence qu on appelle spectre continu des fréquences ou transformée de Fourier du signal. Soit s L 1 (R), on définit la transformée de Fourier ŝ de s, par (1.6). Propriétés : ŝ(γ) = 1. ŝ est continue, bornée et tend vers 0 en ± ; s(t)e 2iπγt dt. (1.6) 2. Par contre, ŝ n est pas toujours une fonction intégrable, c est à dire n est pas toujours dans L 1 (R).
1.2. TRANSFORMÉE DE FOURIER 7 Afin d étendre les résultats concernant les signaux périodiques aux signaux non périodiques, une question se pose : est-il possible de reconstituer s à partir de ŝ, comme cela est fait pour un signal périodique suffisamment régulier lorsqu on l écrit comme somme de sa série de Fourier. La réponse est oui, moyennant bien sûr certaines hypothèses sur le signal s. On a alors les deux résultats suivants. Théorème 4. Si s et ŝ sont intégrables (c-à-d s et ŝ et dans L 1 (R)), alors s(t) est donné par la transformée de Fourier inverse de ŝ (1.7). s(t) = ŝ(γ)e 2iπγt dγ (1.7) Théorème 5. Si s est de carré intégrable, (c.a.d. s est dans L 2 (R)), alors on peut prolonger la définition de ŝ par densité de L 1 (R) L 2 (R) dans L 2 (R) et ce prolongement est une isométrie de L 2 (R) (c.a.d. une bijection de L 2 (R) qui conserve la norme et la structure d espace vectoriel). La conservation de la norme traduit la conservation de l énergie du signal s et de sa transformée de Fourier. 1.2.1 Exercice : transformation de Fourier discrète du signal carré Dans le cas numérique, il est impossible de calculer la projection du signal sur une sinusoïde pour toutes les fréquences : intégration continue pour tout f de zéro à l infini. On effectue alors une Transformation de Fourier Discrète (TFD), qui consiste à projeter le signal pour un nombre fini de fréquences f allant de 0 à F max avec un pas constant. La fréquence F max est fixée à la fréquence d échantillonnage à cause du phénomène de repliement du spectre que l on peut observer. Calcul numérique de la Transformation de Fourier Discrète Sauvez votre script decomposition sous le nom fft_maison. Modifiez-le afin de calculer une TFD (gardez la décomposition en sinus et cosinus mais changez le pas fréquentiel : de 0 à F e par pas de Fe par exemple). 10N Calcul analytique de la Transformation de Fourier Discrète Calculez la forme analytique des coefficients a(f) et b(f) de la transformation de Fourier et affichez-les : ces résultats doivent correspondre aux résultats numériques précédents. Utilisation de la fonction FFT de Matlab Utilisez la fonction FFT de Matlab et affichez la partie réelle, la partie imaginaire et le module des coefficients qu elle renvoie. Fonctions Matlab utilisées : fft, real, imag, abs La fonction FFT de Matlab renvoie par défaut un spectre dont le nombre de points de calculs en fréquence est égal à la longueur du signal. Dans ce cas, elle fait les calculs pour un vecteur fréquence allant de 0 à F e par pas de Fe Hz, où N est la longueur du signal. Il s agit N donc ici du vecteur (0 : 1 : 30). On observe donc l équivalent d une décomposition en séries de Fourrier puisque les fréquences des ondes analysantes sont des entiers.
8 SÉANCE 1. ANALYSE FRÉQUENTIELLE DES SIGNAUX Pour forcer la fonction FFT à faire plus de calcul, on ajoute le paramètre N indiquant le nombre de points désiré sur le spectre : fft(signal, 1000) effectue alors le calcul pour f = (0 : F e 1000 : F e). Comparaison des résultats numériques avec les résultats de la fonction FFT En utilisant le paramètre N, calculez la TFD avec une précision fréquentielle de Fe 10N. Utilisez l aide fournie par Matlab sur la fonction FFT pour trouver la relation entre les coefficients de la FFT de Matlab et ceux de la Transformée de Fourier. Comparez les coefficients a et b (obtenus avec la fonction FFT) avec les formes analytiques des coefficients a et b de la TF : ces résultats doivent correspondre. Fonctions Matlab utilisées : fft(sig,n) Influence de la fréquence d échantillonnage Remarquez la symétrie du spectre, ce phénomène est en fait provoqué par l échantillonnage du signal. Ce phénomène de repliement du spectre autour de F e a été expliqué par Shannon, 2 son théorème sera étudié l année prochaine Récupérez le script nommé shannon et exécutez le. Ce script permet de voir que deux signaux de fréquence symétrique par rapport à F e donnent la même suite d échantillons si on échantillonne 2 ces signaux à la fréquence F e. 1.3 Exercice : Influence du zéro Padding La fonction FFT de Matlab renvoie par défaut un spectre dont le nombre de points de calcul en fréquence est égal au nombre de points du signal. Dans ce cas, elle fait les calculs pour un vecteur de fréquences allant de 0 à F e par pas de Fe Hz, où N est la longueur du N signal. Pour obtenir un plus grand nombre de points en fréquence, on a vu que l on peut calculer la FFT sur un nombre de points L supérieur à N. Dans ce cas les N points du signal original sont augmentés de L-N zéros. Ceci s appelle le Zero Padding. L utilisation d un nombre N + L de points de calculs supérieur à la longueur du signal N n augmente pas la précision fréquentielle : une FFT de 1000 points d un signal de 100 échantillons ne contient pas plus d information qu une FFT de 100 points. Vous allez vous en convaincre avec cet exercice. Considérons une sinusoïde de 10hz échantillonnée à la fréquence F e = 100Hz ; le signal est observé sur une durée de 5 périodes, soit 0.5 secondes. Le script zero_padding_eleves.m permet d étudier ce signal temporel de 0.5 secondes. L exercice consiste à calculer la FFT dans deux cas : une FFT calculée sur le nombre de points du signal ; une FFT calculée sur cinq fois plus de points. Commentez la différence que vous observez sur les spectres obtenus. Retrouvez le Zero Padding en effectuant la transformée inverse (help ifft) de ces deux signaux et en affichant les deux résultats.
1.4. FENÊTRAGE DU SIGNAL 9 1.4 Fenêtrage du signal Dans un premier temps, on va tronquer le signal en ne le considérant que sur un intervalle fini [ A, A] (ce que l on est toujours obligé de faire dans la pratique pour le calcul numérique). Cette opération consiste à multiplier le signal par un créneau Π A de longueur 2A defini par (1.8). Π A (t) = 1 si t [ A; A] Π A (t) = 0 si t / [ A; A] (1.8) Donc, au signal s, on associe la fonction g(t) définie par (1.9) et de transformée de Fourier ĝ(γ) (1.10). g(t) = s(t)π A (t) (1.9) ĝ(γ) = (ŝ ˆΠ A )(γ) (1.10) La transformée de Fourier de Π A est la fonction sinus cardinal (cf. Figure 1), donc l opération de troncature correspond, pour le spectre, à une convolution par un sinus cardinal. On peut remarquer que la fonction sinus cardinal n est pas dans L 1 (R), mais dans L 2 (R), c est la propriété (5) du produit de convolution qui permet d obtenir (4). Fig. 1.2 Transformée de Fourier du créneau Π A (Sinus cardinal) Une propriété du produit de convolution que nous admettrons entraîne que, plus A est grand, meilleure est l approximation de ŝ par ĝ, en revanche, plus on s éloigne d une analyse temps fréquence. Comme le sinus cardinal présente des lobes importants près de l origine, on va préférer utiliser des fonctions plus régulières appelées fenêtres, très concentrées autour de l origine. Ces fenêtres sont de la forme (1.11) (Figure 2). ω(t) = (α + (1 α) cos(πt) A )Π A(t) (1.11) α = 0.54 f enêtre de Hamming α = 0.5 f enêtre de Hanning
10 SÉANCE 1. ANALYSE FRÉQUENTIELLE DES SIGNAUX Fig. 1.3 Fenetres de Hamming et de Hanning Ou bien encore, on peut choisir une porte de la forme (1.12), (fenêtre Gaussienne figure 3). Il est à remarquer que la transformée de Fourier d une Gaussienne est une Gaussienne, seules les constantes changent. ω(t) = Ae αt2, α > 0, A > 0 (1.12) Fig. 1.4 Fenetre gaussienne en temps et en fréquence Ces fenêtres sont très utilisés et améliorent sensiblement le calcul du spectre. 1.5 Exercice : Effets du fenêtrage Cet exercice illustre l influence du fenêtrage sur la FFT. Nous vous proposons d étudier un signal comportant trois sinusoïdes à des fréquences et des amplitudes différentes. Selon la fenêtre que vous allez utiliser vous ne pourrez en distinguer que quelques unes. Ouvrez le fichier Fenetrage_eleves.m. Pour commencer il faut charger le fichier contenant le signal temporel : le fichier signal.mat. Le signal est donné par la somme de 3 sinusoïdes dont il faut déterminer les fréquences respectives.
1.5. EXERCICE : EFFETS DU FENÊTRAGE 11 Pour cela vous disposez de la fonction FFT et vous utiliserez deux fenêtres différentes (fenêtre naturelle et fenêtre de Hanning). Laquelle des deux fenêtres offre une meilleure résolution (la capacité de séparer deux fréquences assez proches), quel est son inconvénient par rapport à l autre type de fenêtre? Vous imprimerez les FFT que vous jugerez intéressantes. Vous y indiquerez la fréquence et l amplitude relative des trois sinusoïdes ainsi que vos remarques sur l utilité du fenêtrage : ceci constituera la partie de votre rapport concernant cet exercice.
Applications de l analyse fréquentielle TP2 Dans cette séance, nous allons voir un type d application de l analyse fréquentielle : le filtrage. On présente l opération du filtrage comme celle de la multiplication du spectre du signal par une fenêtre censée atténuer certaines composantes fréquentielles. Vous ne devez effectuer qu un seul des deux exercices suivants : 2.2 le filtrage d un signal modulé en FSK afin de trouver un code secret noyé dans du bruit ; 2.3 le filtrage d un signal sonore afin d enlever un sifflement et du souffle. Les exercices suivants traitent de l effet du zero padding ( 1.3) et de l importance du fenêtrage lors de l analyse fréquentielle( 1.5). 2.1 Filtrage hors ligne L opération de filtrage consiste à atténuer certaines composantes fréquentielles par rapport à d autres. On peut dans ce cas multiplier la TF du signal s avec une fenêtre non plus définie sur le temps mais sur les fréquences (2.1). ĝ(γ) = ŝ(γ)ˆπ(γ) (2.1) Temporellement, cela consiste à faire un produit de convolution (2.2) entre le signal s et le signal Π dont la transformée de Fourier est ˆΠ. g(t) = s(t) Π(t) (2.2) On distinguera 4 types de filtres : les passe bas, passe haut, passe bande, et les coupe bande. On obtient donc le signal filtré en appliquant la FFT inverse à la FFT du signal fenêtrée en fréquence. Ce filtrage est de type hors-ligne car il est appliqué à la FFT une fois le signal acquis. Le filtrage classique est une opération s effectuant directement sur le signal temporel en temps réel et dont les effets se traduisent par un fenêtrage fréquentiel. 2.2 Filtrage d un signal modulé par déplacement de fréquence Pour effectuer la transmission d un signal d un émetteur vers un récepteur, il est nécessaire de moduler le signal de manière à ce que l onde physique puisse se propager correctement. Typiquement, une onde électromagnétique de 50Hz ne franchit guère un mètre, alors qu avec la même puissance d émission une onde de 1GHz peut franchir quelques centaines de mètres. La modulation du signal consiste alors à élever la fréquence d un signal vers une valeur suffisante et y intégrer l information à transmettre. Les modulations les plus connues sont 12
2.2. FILTRAGE D UN SIGNAL MODULÉ PAR DÉPLACEMENT DE FRÉQUENCE 13 la FM (modulation de fréquence) et l AM (modulation d amplitude) adaptées aux signaux analogiques et les moins connues du grand public sont la PSK (modulation par déplacement de phase), FSK (que nous allons étudier) et la CDMA (un type de modulation dit «large bande») plus adaptées aux signaux binaires. Cette liste est loin d être exhaustive et les procédés de modulations se perfectionnent avec le temps. La modulation par déplacement de fréquence est une technique simple et très utilisée dans les télécommunications. En anglais, on nomment ce type de modulation Frequency Shift Keying dont nous utilisons l acronyme FSK par la suite. Cette modulation permet de transmettre des informations de types numériques quantifiées. Il s agit en général des signaux binaires bien connus qui sont quantifiées sur une base 2 par deux symboles : le 0 et le 1. Le FSK consiste simplement à transmettre le symbole 1 par un signal de fréquence f 1 et le symbole 0 par un signal de fréquence f 0. La figure 2.1 montre un exemple de signal modulé en FSK. On remarque que les symboles 0 ou 1 sont envoyés successivement dans le temps ; la rapidité de cette alternance fixe directement le débit de la transmission. 1 Exemple de signal FSK codant 10100 Signal temporel 0.5 0 0.5 1 0 0.02 0.04 0.06 temps 700 600 Signal fréquentiel 500 400 300 200 100 0 0 5 10 15 20 25 30 35 40 45 Fréquence en KHz Fig. 2.1 Un exemple de signal FSK transportant l information 10100. Le symbole 0 est codé par une fréquence f 0 = 8KHz et le symbole 1 par f 1 = 12KHz. On retrouve dans le spectre du signal (graphe du bas) deux pics correspondants aux fréquences f 0 et f 1 et leurs alias issus du phénomène de repliement du spectre Cette rapidité de transmission est limitée par la qualité des circuits générant le signal modulé (les modulateurs) et la qualité des circuits retrouvant les symboles transmis (les démodulateurs), mais surtout par la présence de bruits qui viennent s ajouter au signal utile. Nous vous proposons dans cet exercice de mettre à profit vos connaissances en analyse
14 SÉANCE 2. APPLICATIONS DE L ANALYSE FRÉQUENTIELLE du signal pour remplacer le circuit démodulateur. Vous devez tenter de retrouver un message binaire de 8 bits codé en FSK et noyé dans un fort bruit : l heure à laquelle vous pourrez quitter la salle de TP dépend directement de votre capacité à démoduler rapidement ce code caché. Tout d abord, vous devez demander à votre professeur de venir générer le signal codé en FSK. Il vous suffit d éditer le fichier fsk_etudiant.m pour commencer la démodulation. Ce fichier permet de charger le signal modulé dans signal et affiche la forme de ce signal : le bruit est tel qu il est impossible de discerner les alternances entre haute et basse fréquence. Comme le montre la fig. 2.1, le tracé du spectre d un signal modulé en FSK comporte deux pics correspondants aux fréquences f 0 et f 1 de la modulation. Essayez de repérer ces deux pics en traçant la fft du signal modulé. Il doit être possible de retirer les composantes parasites du signal en utilisant la fonction coupe comme indiqué dans le script fsk_etudiant.m. Peut être en recomposant le signal temporel, sans les composantes parasites, vous arriverez à retrouver les alternances de fréquence et à décoder visuellement le signal. Pour savoir si le code que vous avez démodulé est bon, utilisez la fonction verif_code comme indiqué dans le script fsk_etudiant.m. Lorsque le code est bon, vous pouvez imprimer fsk_etudiant.m et les figures 2 et 3 sur lesquelles vous ne manquerez pas de mettre vos remarques : ceci constituera la partie de votre compte rendu concernant cet exercice. 2.3 Exercice : Filtrage d un son Nous vous proposons dans cet exercice de filtrer un extrait sonore afin d éliminer d une part un sifflement à une fréquence bien précise (filtrage coupe bande) et d autre part le «souffle» dont les composantes se situe majoritairement à une fréquence élevée (filtre passe bas). Vous utiliserez pour cela la technique du filtrage hors ligne. Récupérez le script filtrage_etudiant.m qui permet de charger le signal sonore signal_la.wav et de l écouter. Ce signal est échantillonné à 44KHz et comporte un sifflement à bande très étroite que l on désire enlever. Vous devez effectuer un filtrage hors ligne de type coupe bande afin de retirer cette composante indésirable. Pour cela, essayez de repérer la fréquence à laquelle ce sifflement s effectue en traçant la FFT du signal. Il doit être possible de retirer les composantes parasites du signal en utilisant la fonction coupe comme indiqué dans le script filtrage_etudiant.m. Essayez ensuite de supprimer le léger souffle en faisant un filtre passe bas : le souffle ayant des composantes fréquentielles plus élevé que la voix au delà de 4KHz. Vous écouterez le signal filtré en effectuant la transformée inverse du spectre modifié. Lorsque le son est bon, vous pouvez imprimer filtrage_etudiant.m et la figure 1 sur laquelle vous ne manquerez pas de mettre vos remarques : ceci constituera la partie de votre compte rendu concernant cet exercice. Fonctions Matlab utilisées : ifft, wavread, sound