WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Approximation et simulation des signaux sur Matlab

( Télécharger le fichier original )
par Gilles Rubens Badouet
Ecole supérieure multinationale des télécommunications Yaoundé - Cameroun - Exposé 2007
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    - 1 -

    ECOLE SUPERIEURE MULTINATIONALE
    DES TELECOMMUNICATIONS
    Représentation du Cameroun

    BP : 10 000 Dakar liberté e-mail : esmtcamer@esmt.sn Site Web : http:// www.esmt.sn

    TRAITEMENT DU SIGNAL

    APPROXIMATION DES

    SIGNAUX SUR MATLAB

    REALISE PAR :

    BADOUET Gilles Rubens

    ETUDIANT EN
    TELECOMMUNICATIONS ETTECHNOLOGIES DE L'INFORMATION
    ETDE LACOMMUNICATION (troisiime anndeJ

    Supervision :

    M. ATANGANA Andre

    Ingenie ur de Conception en Telecommunications et Genie Electrique

    Année académique 2007 - 2008

    Rubens Gilles BADOUET

    - 2 -
    TP1 : Approximation des signaux par une série de Fourier

    1.1 Addition progressive de plusieurs harmoniques de la série de Fourier à l'aide d'un code MATLAB jusqu'à obtention de la ou d'une fonction qui se rapproche de la fonction rectangulaire.

    Formule généralisée de la fonction rectangulaire :

    n

    Rect. (t) =? dk . (Cos (k.w.t) + sin (k.w.t)) = 4/Ð.Vmax.(sin(w.t) +

    K=1

    1/3.sin (3w.t) +...+ 1/ (2k+1).Sin ((2k+1) w.t)

    code MATLAB:

    clear all;

    close all;

    t=5:0.01:10 vmax=100; f=1 ;

    w=2*p*fi;

    Rect = 0;

    for k=0:900

    Rect= Rect+ ((4/pi)*vmax)*(1/ (2*k+1))*sin ((2*k+1)*w*t);

    end

    pPlot (t, Rect,'m')

    On obtient le graphe ci-dessous:

    1.2 Représentation graphique de la série de Fourier d'une fonction en dent
    de scie

    Expression de la fonction en dent de scie :

    d(t) = (12 2 ð) Vmax . (sin(wt) + 1/2.sin(2wt) + (1,3) sin (3wt) + ...
    + (1ik) sin (kwt) ) ; k n

    Le code MATLAB :

    clear all; close all; vmax=20; f=1;

    w=2*pi*f;

    t=-1.5:0.01:7;

    D (t) =0;

    for k=1:800

    D (t) = D (t) + (12/pi)*vmax*(sin (k*w*t)/k); end

    plot (t, D (t),'r');

    Graphe:

    TP2: Analyse des systèmes linéaires au spectre des fréquences
    (représentation de BODE et de nYQYUIST d'une fonction de
    transfert)

    Soit la fonction de transfert suivante: H(s) = z(s) / n(s) = (s2-2s+3) / (s3+3s2+1) En langage MATLAB son écriture sera : H(s) = z(s) / n(S) = (s. A2-2*s+3)/ (s. A3+3*s. A2+1)

    2.1 Code du vecteur z sous forme z = Ia3 a2 a1 a0] et également celui de n

    z= 10

    1

    -2

    3];

    n= 11

    3

    0

    1];

    2.2 Verifier que le code : Printsys (z, n) affiche la fonction de transfert H sur l'ecran

    Code :

    z= [0

    1

    12

    3];

    n= [1

    3

    0

    1];

    printsys (z, n)

    Le resultat est le suivant:

    num/den = (SA2 - 2 s + 3)/(SA3 + 3 sA2 + 1)

    2.3 Calcul du gain statique H (0)

    Code :

    z=[0

    1

    12

    3];

    n=[1

    3

    0

    1];

    dcgain (z, n) solution:

    ans =

    3

    2.4 Représentation graphique des pôles et des zéros de H :

    Code :

    z= 10

    1

    -2

    3];

    n= (1

    3

    0

    1];

    pzmap (z, n)

    Graphe :

    2.5 Representation graphic:ue de la reponse impulsionnelle

    Code :

    z=10

    1

    -2

    3];

    n=11

    3

    0

    1];

    Impulse(z,n)

    Graphe :

    Representation graphic:ue de la reponse a la fonction de
    Heaviside du systeme

    code :

    z= [0

    1

    -2

    3];

    n= [1

    3

    0

    1];

    Step (z. n)

    Graphe :

    2.7 Representation graphic:ue du diagramme de Bode code:

    z= [0

    1

    -2

    3];

    n= [1

    3

    0

    1];

    bode (z, n)

    graphe:

    eoresentation qraohique de la courbe d'espace de nyquist

    code:

    z= [0

    1

    -2

    3];

    n= [1

    3

    0

    1];

    nyquist (z, n) graphe:

    II PARTIE: Travail Pratique N2

    EXERCICE

    n=[5 1];

    impulse=[1,zeros(1,5)];pulsetrain=[1,zeros(1,n)];

    pulsetrain=[1,zeros(1,5)];

    pulsetrain=[pulsetrain pulsetrain pulsetrain pulsetrain pulsetrain]; step=[ones(1,50)]; phi=pi/20;

    imagexp=[exp(j*(0:49)*phi)]; subplot(2,2,1);stem(impulse); subplot(2,2,2);stem(pulsetrain); subplot(2,2,3);stem(step);

    subplot(2,2,4);stem(real(imagexp)); hold on; stem(imag(imagexp));

    a) Expliquer la fonction de chaque Commande :

    impulse=[1,zeros(1,5)];

    Stimule la réponse impulsionnelle d'un système de t=1 à t=5

    Résultat : impulse =

    1 0 0 0 0 0

    pulsetrain=[1,zeros(1,n)];

    Permet d'obtenir une impulsion. La dite impulsion est constitué d'un pic de tension (1) et d'un repos de n unités de temps. nous avons pris dans ce cas n=5.

    Résultat :

    pulsetrain =

    1 0 0 0 0 0

    pulsetrain=[pulsetrain pulsetrain pulsetrain pulsetrain pulsetrain]; Permet d'obtenir une série de 5 impulsions.

    Résultat :

    pulsetrain =

    Columns 1 through 10

    1 0 0 0 0 0

    1

    0

    0

    0

    Columns 11 through 20

    0 0 1 0 0 0

    0

    0

    1

    0

    Columns 21 through 30

    0 0 0 0 1 0 0 0 0 0

    step=[ones(1,50)];

    Stimule la réponse d'un système LTI de t=1 à t=50 Résultat :

    step =

    Columns 1 through 10

    1 1 1 1 1 1

    1

    1

    1

    1

    Columns 11 through 20

    1 1 1 1 1 1

    1

    1

    1

    1

    Columns 21 through 30

    1 1 1 1 1 1

    1

    1

    1

    1

    Columns 31 through 40

    1 1 1 1 1 1

    1

    1

    1

    1

    Columns 41 through 50

    1 1 1 1 1 1

    1

    1

    1

    1

    imagexp=[exp(j*(0:49)*phi)];

    Renvoie le module la fonction exp(j*k*phi) quelque soit k appartenant à [0 ; 49] avec phi = ð/20.

    Résultat :

    imagexp =

    Columns 1 through 3

    1.0000 0.9877 + 0.1564i 0.9511 + 0.3090i

    Columns 4 through 6

    0.8910 + 0.4540i 0.8090 + 0.5878i 0.7071 + 0.7071i

    Columns 7 through 9

    0.5878 + 0.8090i 0.4540

    + 0.8910i

    0.3090

    + 0.9511i

    Columns 10 through 12

     
     
     

    0.1564 + 0.9877i 0.0000

    + 1.0000i

    -0.1564

    + 0.9877i

    Columns 13 through 15

     
     
     

    -0.3090 + 0.9511i -0.4540

    + 0.8910i

    -0.5878

    + 0.8090i

    Columns 16 through 18

     
     
     

    -0.7071 + 0.7071i -0.8090

    + 0.5878i

    -0.8910

    + 0.4540i

    Columns 19 through 21

     
     
     

    -0.9511 + 0.3090i -0.9877

    + 0.1564i

    -1.0000

    + 0.0000i

    Columns 22 through 24

     
     
     

    -0.9877 - 0.1564i -0.9511

    - 0.3090i

    -0.8910

    - 0.4540i

    Columns 25 through 27

     
     
     

    -0.8090 - 0.5878i -0.7071

    - 0.7071i -0.5878

    - 0.8090i

    Columns 28 through 30

     
     
     

    -0.4540 - 0.8910i -0.3090

    - 0.9511i

    -0.1564

    - 0.9877i

    Columns 31 through 33

     
     
     

    -0.0000 - 1.0000i 0.1564

    - 0.9877i

    0.3090

    - 0.9511i

    Columns 34 through 36

     
     
     

    0.4540 - 0.8910i 0.5878

    - 0.8090i

    0.7071

    - 0.7071i

    Columns 37 through 39

     
     
     

    0.8090 - 0.5878i 0.8910

    - 0.4540i

    0.9511

    - 0.3090i

    Columns 40 through 42

     
     
     

    0.9877 - 0.1564i 1.0000

    - 0.0000i

    0.9877

    + 0.1564i

    Columns 43 through 45

    Résultat :

    0.9511 + 0.3090i 0.8910

     

    + 0.4540i

    0.8090

    + 0.5878i

    Columns 46 through 48

     
     
     

    0.7071 + 0.7071i 0.5878

    + 0.8090i

    0.4540

    + 0.8910i

    Columns 49 through 50

     
     
     

    0.3090 + 0.9511i 0.1564

    + 0.9877i

     
     

    H = SUBPLOT(m,n,p)

    Permet de représenter des graphiques dans une matrice m sur n, et représente la figure courante à la P ième position.

    :

    >> m=5; >> n=8; >> p=2; >> H = subplot (m,n,p)

    Résultat :

    subplot (2 ,2 ,1) ; stem(impulse) ;

    Affiche les séquences de données de Y comme des segments partant de l'axe des abscisses et terminés par des cercles pour des valeurs de données. Si Y est un tableau, alors chaque colonne est représentée par une série séparée

    subplot (2 ,2 ,2) ; stem(pulsetrain) ;

    Résultat

     
     

    subplot (2 ,2 ,3) ; stem(step) ;

    Résultat :

     

    subplot (2 ,2 ,4) ; stem(real (imagexp)); hold on; stem (imag(imagexp));

    Résultat

     

    b) Afficher les quatre séquences numériques

    10 20 30

    1 0.8 0.6 0.4 0.2

    0

    1 0.8 0.6 0.4 0.2

    0

    2 4 6

    1 0.8 0.6

     
     
     
     
     

    1

    0.5

    0

    -0.5

    -1

     
     
     
     
     
     
     
     

    0.4
    0.2
    0

     
     
     
     
     
     
     
     

    0 20 40 60

    0 20 40 60

    - 18 -
    III Partie Travail Pratique N3 : Conversion de modèles
    Conversion d'un model état à un model de la fonction de transfert

    Code :

    sys_tf=tf(1.5, [1 9 30.6])

    ésultat:

    Transfer function: 1.5

    s^2 + 9 s + 30.6

    conversion en modele zpk

    code

    sys_zpk=zpk([0, -2], [4, 3.6], 9)

    ésultat:

    Zero/pole/gain: 9 s (s+2)

    (s-4) (s-3.6)

    Affichage des paramètres

    Code:

    a=3; b=7; c=1; d=11;

    sys=ss(a,b,c,d)

    Résultat:

    a =

    x1

    x1 3

    b=

    u1

    x1 7

    c =

    x1

    y1 1

    d=

    u1

    y1 11

    Continuous-time model.

    - 20 -

    Simulation d'un modèle d'espace

    Considérons le système LTI ci-dessous :

    UL UR

    i1

    UC

    U1

    i2

    i3

    U2

    1) X(I,U) ; dX /dt = AX + B A et B étant des matrices.

    2) Y= CX+D C et D étant des matrices.

    Donnons des valeurs à nos matrices.

    Etude

    Apres étude de ce système on obtient l'expression suivante

    En posant X= (i1 ;u2)

    . dX= (R/L 1/L ; 1/C 0) * X + (-1/L ; 0) U1.

    Par correspondance avec l'expression .dX= Ax +BU1

    On obtient et les matrices suivantes A= (R/L 1/L ; 1/C 0)

    B= (-1/L ; 0)

    Par ailleurs, U2=U2 donc,

    U2= (0 ; 1) (i1 ; U2)

    Par correspondance avec l'expression

    U2= CX + D On Obtient C= (0 ; 1)

    D= (0)

    Choisissons R=5 ohms L= 10H

    C=50mF

    Donc

    A= (0.5 0.1 ; 20 0)

    B= (-0.1 ; 0) C= (0 ; 1)

    D= (0)

    Simuler un modèle d'espace de mon choix Soit les matrices a, b, c et d

    Code:

    a=[-.8 2 ;-2 -.8];

    b=[1 .2;.9 1];

    c=[1 0];

    d=[.2 1];

    subplot(2,2,1); pzmap(a,b,c,d)

    subplot(2,2,2); impulse(a,b,c,d)

    subplot(2,2,3); step(a,b,c,d)

    subplot(2,2,4); initial(a,b,c,d)

    ésultat:

    IV Partie Travail Pratique N4: Fonction d'erreur de Gauss

    Code:

    e=8;

    t=[-10:0.01:10];

    g=(exp(-t.^2/ sqrt(e*pi))/sqrt(e*pi);

    plot(t,g,'r'); xlabel('temps t');

    ylabel('g');

    gtext('la fonction erreur de Gauss');

    ésultat :

    e=8;

    t=[-30:0.01:30];

    u=10;

    f=(exp(-(t-u).^2/sqrt(e*pi))/sqrt(e*pi)); z=plot(t,f,'b')

    xlabel('temps t');

    ylabel('g');

    Chemin inverse de l'obtention de la function de gauss

    A = [f]

    fid = fopen('fich.m','r+') : ouverture du fichier en mode lecture/écriture

    count = fwrite(fid,f) : écriture dans le fichier des valeurs de la fonction f

    fclose(fid) : fermeture du fichier

    save gausserror : sauvegarde du fichier contenant le code sous Matlab

    load gausserror : chargement en mémoire de ce fichier

    gausserror : validation et exécution

    Réponse : z =

    152.0133

    A =

    Columns 1 through 5

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 6 through 10

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 11 through 15

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 16 through 20

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 21 through 25

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 26 through 30

    0.0000 0.0000 0.0000

    0.0000

    - 25 -

    0.0000

    Columns 31 through 35

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 36 through 40

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 41 through 45

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 46 through 50

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 51 through 55

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 56 through 60

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 61 through 65

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 66 through 70

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 71 through 75

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 76 through 80

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 81 through 85

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 86 through 90

    0.0000 0.0000 0.0000

    0.0000

    - 26 -

    0.0000

    Columns 91 through 95

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 96 through 100

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 101 through 105

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 106 through 110

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 111 through 115

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 116 through 120

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 121 through 125

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 126 through 130

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 131 through 135

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 136 through 140

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 141 through 145

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 146 through 150

     

    - 27 -

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 151 through 155

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 156 through 160

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 161 through 165

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 166 through 170

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 171 through 175

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 176 through 180

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 181 through 185

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 186 through 190

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 191 through 195

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 196 through 200

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 201 through 205

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 206 through 210

     

    - 28 -

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 211 through 215

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 216 through 220

     
     

    0.0000 0.0000 0.0000

    0.0001

    0.0001

    Columns 221 through 225

     
     

    0.0002 0.0002 0.0004

    0.0006

    0.0009

    Columns 226 through 230

     
     

    0.0014 0.0020 0.0029

    0.0042

    0.0059

    Columns 231 through 235

     
     

    0.0082 0.0112 0.0150

    0.0199

    0.0259

    Columns 236 through 240

     
     

    0.0331 0.0418 0.0518

    0.0632

    0.0760

    Columns 241 through 245

     
     

    0.0898 0.1045 0.1197

    0.1349

    0.1497

    Columns 246 through 250

     
     

    0.1634 0.1756 0.1856

    0.1932

    0.1979

    Columns 251 through 255

     
     

    0.1995 0.1979 0.1932

    0.1856

    0.1756

    Columns 256 through 260

     
     

    0.1634 0.1497 0.1349

    0.1197

    0.1045

    Columns 261 through 265

    0.0898 0.0760 0.0632

    0.0518

    - 29 -

    0.0418

    Columns 266 through 270

     
     

    0.0331 0.0259 0.0199

    0.0150

    0.0112

    Columns 271 through 275

     
     

    0.0082 0.0059 0.0042

    0.0029

    0.0020

    Columns 276 through 280

     
     

    0.0014 0.0009 0.0006

    0.0004

    0.0002

    Columns 281 through 285

     
     

    0.0002 0.0001 0.0001

    0.0000

    0.0000

    Columns 286 through 290

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 291 through 295

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 296 through 300

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 301 through 305

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 306 through 310

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 311 through 315

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 316 through 320

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 321 through 325

    0.0000 0.0000 0.0000

    0.0000

    - 30 -

    0.0000

    Columns 326 through 330

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 331 through 335

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 336 through 340

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 341 through 345

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 346 through 350

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 351 through 355

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 356 through 360

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 361 through 365

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 366 through 370

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 371 through 375

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 376 through 380

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 381 through 385

     

    - 31 -

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 386 through 390

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 391 through 395

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Columns 396 through 400

     
     

    0.0000 0.0000 0.0000

    0.0000

    0.0000

    Column 401

    0.0000

    fid =

    +1

    -30 -20 -10 0 10 20 30

    g

    0.18

    0.16

    0.14

    0.12

    0.08

    0.06

    0.04

    0.02

    0.2

    0.1

    0

    temps t






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand