• Aucun résultat trouvé

- Traitement du Signal –

N/A
N/A
Protected

Academic year: 2022

Partager " - Traitement du Signal – "

Copied!
3
0
0

Texte intégral

(1)

Mont-Saint-Aignan – 7 décembre 2006 – Benoît Decoux

1

- Traitement du Signal –

Travaux Pratiques - 1ère séance Sommaire :

1) Prise en main de Scilab 1.1) Commande de base

1.2) Génération et affichage d’un signal a) Signal sinusoïdal

b) Signal de parole

2) Séries de Fourier (appliquées à la synthèse additive)

1) Prise en main de Scilab

1.1) Commandes de base

Scilab est un langage de programmation scientifique, développé sur le modèle de Matlab par l’INRIA (Institut National de Recherche en Informatique et Automatique), un laboratoire français. Sa syntaxe est donc très proche de celle de Matlab ; il possède des librairies de fonctions moins nombreuses que Matlab mais est en développement rapide. Chacun peut en effet écrire ses propres librairies et les proposer à l’INRIA pour les proposer comme ajouts au logiciel. Il est téléchargeable gratuitement sur le site www.scilab.org.

Il s’agit d’un langage interprété, c’est à dire que si l’on écrit une suite de commandes, celles-ci sont traitées une à une. Les variables utilisées dans une ligne de commande restent alors en mémoire. La liste des commandes peut également être copiée dans un fichier texte (portant l’extension .sce) ; il est recommandé de le faire lorsque celle-ci s’allonge. La structure de ces programmes peut alors être très proche d’un programme en C, les déclarations de variables et les allocations mémoire en moins.

Comme Matlab, Scilab fonctionne sur le principe du calcul matriciel. Toutes les variables sont vues comme des matrices. Une variable simple (ce qu’on appelle "un scalaire") est vue comme un tableau à une ligne et une colonne ; un vecteur de N éléments est vu comme une matrice à une colonne et N lignes.

En dernière page de ce document est donnée une suite de commande destinée à la découverte des principales commandes de Scilab par la pratique directe, de manière progressive. Il est fortement conseillé de toutes les tester, et de les comprendre, pour aborder plus facilement les programmes suivants.

Pour des explications sur les commandes Scilab, on peut utiliser la commande help suivi du nom de la commande. Si malgré cela il y a toujours quelque chose qui n’est pas clair, il faut avoir recours à l’enseignant. Il est conseillé de commenter à chaque l’effet des commandes ; cela peut s’avérer très utile pour la suite.

Remarque importante : pour cette partie, il n’y a rien à rédiger sur le compte-rendu.

(2)

Mont-Saint-Aignan – 7 décembre 2006 – Benoît Decoux

2 1.2) Génération et affichage de signaux

a) Signal sinusoïdal

On souhaite générer afficher un signal sinusoïdal d’équation ) ft 2 sin(

. A ) t sin(

. A ) t (

s = ω = π

où A est son amplitude, f sa fréquence et ω sa pulsation.

Les différentes étapes ci-dessous permettent de réaliser cette opération.

Remarque : le nombre π s’obtient sous Scilab en écrivant %pi.

1.2.1) Pour connaître les instants des échantillons de ce signal, il faut générer un vecteur dont les éléments représentent des instants régulièrement espacés. On choisit les paramètres suivants :

• fréquence d’échantillonnage : fe=44100Hz

• N=1/(10Te) échantillons par période (Te période d’échantillonnage) Générer ce vecteur pour une période de signal.

1.2.2) Compléter ce programme pour générer et afficher graphiquement une période d’un signal sinusoïdal d’amplitude A=1 et de fréquence f=10Hz.

1.2.3) Modifier le programme pour afficher 3 périodes de signal, en rouge.

b) Signal de parole

1.2.4) En utilisant la commande wavread, afficher graphiquement le signal contenu dans le fichier WAV fourni avec cet énoncé.

1.2.5) Observer la forme du signal en quelques endroits différents en n’affichant que quelques centaines d’échantillons.

2) Séries de Fourier (appliquées à la synthèse additive)

2.1) Additionner le fondamental avec le 1er harmonique, puis avec le 2e, puis le 3e, puis le 4e, d’un signal carré et l’afficher graphiquement. Interpréter le résultat.

2.2) Recommencer pour 100 puis 1000 harmoniques. Observer et commenter le résultat.

2.3) Reprendre la question 2.1 pour un signal en dents de scie.

2.4) Même chose pour un signal triangulaire.

(3)

Mont-Saint-Aignan – 7 décembre 2006 – Benoît Decoux

3

Prise en main de Scilab par l’exemple (Partie 1)

x=2;

x

clear x x

x=3 clear x x=[1 2 3];

x

clear x

x=[1 2 3] //noter la différence par rapport à la 1ère commande y=[4;5;6]

x’

y’

clear y y=[4 5 6]

z=[x y]

clear z z=[x;y]

y(2) //noter que les indices commencent à 1 z(2,3)

z’ //transposition de matrice size(z)

size(z’) length(z) length(z’) help size t=[0:9]

t=(0:9) size(t)

t=[0:0.1:0.9]

t=[0:9]’

size(t)

%pi clear

for i=1:10 s(i)=i; end s

clear

t=0:0.1:2*%pi

s=sin(t) //observer ces valeurs plot2d(s)

plot2d(t,s) //noter la différence

xsetech([0,0,1,1/2]); //définition de la zone graphique help

plot2d(s)

xsetech([0,1/2,1,1/2]);

plot2d(t,s) clear

N=10 e=0.1

t=(0:N-1)*e m=ones(2,3) zeros(3,2) eye(3,3) m(:,2)=0 m(2,:)=0 x=[1 2 3]

y=[4;5;6]

x*y x.*y’

Références

Documents relatifs

Pour déterminer une base orthonormée d’un sous-espace vectoriel muni du produit scalaire euclidien il suffit d’utiliser la fonction QR , accessible dans le sous-menu Avancé du

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp

Afin de quantifier l’impact d’une variation du prix du gazole sur la génération de transport routier de marchandises, nous calculons d’abord l’élasticité au prix du gazole

Bousculé, apostrophé, harcelé, l'auditeur ne sait plus si le bulletin météorologique qui annonce la neige a trait à la journée d'hier ou à celle de demain ; et il se retrouve en

LE MAÎTRE (perdu dans un long discours) : … ainsi mon Maître, ce vénérable Sage, disait que son révéré Maître, un Sage plus vénérable encore, lui transmit jadis une partie

Pour repérer la thèse défendue, il convient tout d'abord de trouver le thème du texte.. On peut ensuite chercher le jugement ou le sentiment du locuteur à propos de

Ex 13 : Ecrire une équation de

Ne pas donner la main au joueur tant qu’il y a des familles.. qui