indrumar metodic ps

Upload: katovskv

Post on 05-Apr-2018

274 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/2/2019 Indrumar metodic PS

    1/50

    MINISTERUL EDUCAIEI al REPUBLICII MOLDOVA

    UNIVERSITATEA TEHNIC A MOLDOVEI

    Catedra Automatic i Tehnologii Informaionale

    ndrumar pentru lucrri de laboratorla disciplina

    Chiinu 2011

  • 8/2/2019 Indrumar metodic PS

    2/50

    2

    Elaborat dr.conf. Romanenko Alexandru

  • 8/2/2019 Indrumar metodic PS

    3/50

    3

    Cuprins

    Introducere ..................................................................................... 4

    Lucrare de laborator Nr.1 ............................................................... 5Lucrare de laborator Nr.2 ............................................................. 13

    Lucrare de laborator Nr.3 ............................................................. 24

    Lucrare de laborator Nr.4 ............................................................. 35

    Lucrare de laborator Nr.5 ............................................................. 41

    Lucrare de laborator Nr.6 ............................................................. 47

    Bibliografia .................................................................................. 50

  • 8/2/2019 Indrumar metodic PS

    4/50

    4

    Introducere

    Acest ndrumar metodic este alctuit din 6 laboratoare, care vor ajuta studenii la studiereaprincipiilor de baz de prelucrare a semnalelor digitale utiliznd pachetul de programe MATLAB 6.5.0.

    Trecnd acest curs de laboratoare studentul va cunoate: calculele matematice principale care stau labaza teoriei de prelucrare a semnalelor digitale; va utiliza, n practic, operaiile de baz, efectuate asuprasemnalelor n procesul lor de prelucrare; va studia, dup posibilitile proprii, toate funciile i

    posibilitile pachetului de programe MATLAB, care, ntr-un mod oarecare, sunt legate de prelucrareadigital semnalelor; va fi capabil s creeze programe n mediul MATLAB i s creeze m-file; s cunoascmai detaliat pachetul MATLAB i posibil va continua studierea MATLAB i aprofundarea n potenialulimens al acestuia utilizat n alte domenii.

    Acest ndrumar nu este necesar de considerat ca un manual, capabil s predea teoria prelucrriisemnalelor n mod ideal.Scopul principal este atragerea studenilor i a profesorilor spre studierea unuiaa mediu de calcul tehnic, vizualizarea i programarea matematic, cum este MATLAB. Studierea iutilizarea MATLAB, precum idetalierea n el este dorina insistenti pozitiv a autorului.

    n acest ndrumar sunt prezentate un numrdeosebit de programe, mprite pelucrri de laboratorn corespundere cu tema lucrrii. Este recomandabil, ndeosebi, introducerea, prelucrarea i analizafiecrei programe prezentaten fiecare laborator.

    De asemenea, este recomandat de studiat compartimentul HELP al pachetului MATLAB, ncepndcu toi operatorii, funciile i cuvintelespeciale ale domeniului MATLAB, reprezentate n fiecare lucrarede laborator.

    Matematicafundamentul oricrei tiine. Autorul sincer recomand tuturor, n special matematiciii programatorii, s utilizeze mediul MATLABn aplicarea domenilor sale pozitive.

  • 8/2/2019 Indrumar metodic PS

    5/50

    5

    Lucrare de laborator Nr.1Tema: Semnale digitale discrete.

    Sarcina: S nvm a generara, vizualiza i transforma diferite tipuri de secvene elementare.

    Noiuni TeoreticePrelucrarea digital a semnalelor transformarea unui semnal digital, numit semnal de intrare,ntr-

    un alt semnal, numitsemnal de ieire, i care posed anumite proprieti dorite.Uneori este necesar s seextrag principalele proprieti ale semnalelor (proprietile cheie) prin aplicarea, asupra acestora, a unoralgoritmi de prelucrare. Este posibil s se identifice proprietile sistemului discret prin analizasemnalelor de ieire la aplicarea anumitor semnale de intrare ale sistemului studiat. n acest caz, estenecesar, pentru nceput, de a ne nvaa generarea unor semnale discrete de baz n mediul MATLAB i dea efectua operaii elementare asupra lor, ceea ce determin sarcina iniial a acestei lucrri de laborator. Adoua sarcin principal va fi studierea unor comenzi de baz a mediului MATLAB i aplicarea lorspecific n problemele de prelucrare a semnalelor digitale.

    La pornirea aplicaiei MATLAB urmeaz s deschidei un nou mfile, s introducei n el textul unui

    anumit program. Dup verificarea textului de erori urmeaz pornirea programului (tastai F5), eventualsalvnd-o (Ctrl+S).

    Comenzile MATLAB utilizate:

    Operatori i simboluri speciale: . + - * / ; %

    Matrici elementare i operaiile asupra lori ones pi rand randn zeros

    Funcii elementare

    cos exp imag real

    Grafic bidimensionalaxis grid legend plot stairs stem title xlabel ylabel

    Funcii grafice de uz generalclf subplot

    Program 1_1Destinat pentru generarea i vizualizarea segenelor elementare.

    % Program P1_1

    % Generarea unei secvene de elementeclf% Generarea vectorului de la -10 pn la 20n= -10 : 20;% Generarea secveneloru=[zeros(1,10) 1 zeros(1,20)];% Afiarea secvenelor la ecranstem(n,u);xlabel('Timpul n');ylabel('Amplitudinea');title('Secvena de elemente');axis([-10 20 0 1.2]);

  • 8/2/2019 Indrumar metodic PS

    6/50

    6

    -10 -5 0 5 10 15 200

    0.2

    0.4

    0.6

    0.8

    1

    Timpul n

    Amplitudinea

    Secvena de elemente

    Program 1_2Una dintre principalele tipuri de reprezentare a semnalelor discretesecvena exponeial. Astfel de

    tip de secven poate fi generat cu ajutorul urmtorilor operatori MATLAB: .^ i exp. Programul estedestinat pentru a genera o secven de numere exponeniale definite prin numere complexe.

    % Program P1_2% Generarea secvenelor exponeniale complexeclf;c=-(1/12)+(pi/6)*i;K=2;n=0:40;x=K*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('Timpul n');ylabel('Amplitudinea');title('Partea real');subplot(2,1,2);

    stem(n,imag(x));xlabel('Timpul n');ylabel('Amplitudinea');title('Partea imaginara');

  • 8/2/2019 Indrumar metodic PS

    7/50

    7

    0 5 10 15 20 25 30 35 40-2

    -1

    0

    1

    2

    Timpul n

    Amp

    litudinea

    Partea real

    0 5 10 15 20 25 30 35 40-1

    0

    1

    2

    Timpul n

    Amp

    litudinea

    Partea imaginara

    Program 1_3Este destinat pentru a genera o secven de numere exponeniale definite real.% Program P1_3% Generarea de secvene exponeniale reale

    clf;n=0:35;a=1.2;K=0.2;x=K*a.^n;stem(n,x);xlabel('Timpul n');ylabel('Amplitudinea');

  • 8/2/2019 Indrumar metodic PS

    8/50

    8

    0 5 10 15 20 25 30 350

    20

    40

    60

    80

    100

    120

    Timpul n

    Amplitudinea

    Program 1_4Este util o aa clas de semnale digitale, ca semnalele descrise printr-o sinusoid prezentate n

    numere reale. Aa fel de semnale sinusoidale pot fi generate n MATLAB cu ajutorul operatorilortrigonometrici sin i cos.

    % Program P1_4% Generarea secvenelor sinusoidaleclf;n=0:40;f=0.1;phase=0;A=1.5;arg=2*pi*f*n - phase;x=A*cos(arg);stem(n,x); % Concluzia secvenelor generateaxis([0 40 -2 2]);grid;title('Sinusoida');xlabel('Timpul n');ylabel('Amplitudinea');axis;

  • 8/2/2019 Indrumar metodic PS

    9/50

    9

    0 5 10 15 20 25 30 35 40-2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2Sinusoida

    Timpul n

    Amplitudinea

    Program 1_5Un exemplu tipic de prelucrare a semnalului digital este separarea semnalului de zgomot de la

    semnalul distorsionat de zgomot. Fie s[n] semnal distorsionat de un zgomot aliatoriu d[n] i ca urmareredarea unui semnal x[n]=s[n] + d[n]. Obiectivul principal convertirea semnalului x[n] astfel, pentru aprimi y[n] care va fi maximal ct mai aproape de semnalul original s[n]. Cel mai simplu algorimt-mediu:y[n] = (x[n-1] + x[n] = x[n+1]), ceea ce execut programul de mai jos.

    % Program P1_5% ndreptarea semnalului prin mediereclf;R=51;d=0.8*(rand(R,1)-0.5); % Generarea zgomotului aleatorium=0:R-1;s=2*m.*(0.9.^m); % Generarea semnalului curatx=s+d'; % Generarea semnalului distorsionat de zgomotsubplot(2,1,1);

    plot(m,d','r-',m, s,'g--',m, x,'b-.');xlabel('Timpul n');ylabel('Amplitudinea');legend('d[n] ','s[n] ','x[n] ');x1=[0 0 x]; x2=[0 x 0]; x3=[x 0 0];y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--');legend('y[n] ','s[n] ');xlabel('Timpul n');ylabel('Amplitudinea');

  • 8/2/2019 Indrumar metodic PS

    10/50

    10

    0 5 10 15 20 25 30 35 40 45 50-5

    0

    5

    10

    Timpul n

    Amplitudinea

    d[n]

    s[n]

    x[n]

    0 5 10 15 20 25 30 35 40 45 500

    2

    4

    6

    8

    Timpul n

    Amplitudinea

    y[n]

    s[n]

    Program 1_6Pentru a transmite un semnal de frecven mult mai joas pe canalul de comunicare , semnalul este

    convertit ntr-un semnal de frecen nalt prin modularea semnalului. Semnalul modulat de frecvennalt este demodulat la receptor, n urma cruia i apare semnalul de frecven joas.Aici vei studia

    funcionarea a dou tipuri de scheme de modulare: modularea de amplitudine i modularea deamplitudine n quadratur.

    n modularea de amplitudine, amplitudinea semnalului sinusoidal de frecven nalt A*cos(0 n),numit ipurttoare de semnal, semnalul variabil de frecven naltx[n], numit i semnal modulat, caregenereazsemnal de frecen nalt, numit semnal modulaty[n], care se calculeaz dup formula:

    y[n] = A x[n] cos(0 n)% Program P1_6% Generarea secvenelor modulate de aplitudineclf;n=0:150;

    m=0.8;fH=0.1;fL=0.01;xH=sin(2*pi*fH*n);xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;stem(n,y);grid;xlabel('Timpul n');ylabel('Amplitudinea');

  • 8/2/2019 Indrumar metodic PS

    11/50

    11

    0 50 100 150-2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

    Timpul n

    Amplitudinea

    Program 1_7Frecvena semnalului sinusoidal este egal cu prima derivat a fauzei de timp . De aceea, pentru

    obinerea semnalului cu frecvena liniar dependent de timp, argumentul semnalului surs trebuie s fie ofuncie patratic de timp. Presupunem c argumentul are forma: an2+bn. Programul 1_7 genereaz unastfel tip de semnal.

    % Program P1_7% Generarea semnalului sinusoidal cu o frecven purificatn=0:100;a=pi/2/500;b=0;arg=a*n.*n+b*n;x=sin(arg);clf;stem(n,x);axis([0, 100, -1.5, 1.5]);

    title('Semnal sinusoidal cu frecven purificat');xlabel('Timpul n');ylabel('Amplitudinea');grid;axis;

  • 8/2/2019 Indrumar metodic PS

    12/50

    12

    0 10 20 30 40 50 60 70 80 90 100-1.5

    -1

    -0.5

    0

    0.5

    1

    1.5Semnal sinusoidal cu frecven purificat

    Timpul n

    Amplitudinea

  • 8/2/2019 Indrumar metodic PS

    13/50

    13

    Lucrare de laborator Nr.2Tema: Sisteme discrete n timp continuu sau discretScopul lucrrii: De a nva cum screm diferite sisteme n conformitate cu sistemul iniial.

    Noiuni teoreticeSistemele discrete n timp convertesc semnalul de intrare n domeniul de timp cu scopul de a obine

    la ieire un semnal cu proprieti dorite. Asupra semnalului de intrare se aplic diferii, care constau noperaii simple. Scopul acestei lucrri de laborator const n prezentarea ctorva tipuri simple de discrete,cu prorprietile lor.

    ntr-un sistem liniar n timp discret pentru un semnal de intrare x[n]=x1[n]+x2[n] ca rspuns vomavea y[n]=y1[n]+y2[n] unde y1[n] i y2[n] sunt rspunsuri la secvenele corespuntoare x1[n] x2[n].

    ntr-un sistem discret n timp continuu ca rspuns la semnalul de intrare x[n]=x1[n-n0] va fisemnalul y[n]=y1[n-n0] unde n0numr intregnenul i y1[n] raspuns la x1[n].

    Sistemul continuu dup valori i n timp cotinuu (system continuu ,Linear Time-Invariant-LTI)satisfice ambele criterii de liniaritate i continuitate.

    Dac y1[n] i y2[n] sunt rspunsuri ale unui sistem discret cauzal la intrrile corespunztoare u1[n] iu2[n], atunci u1[n]= u2[n] cnd n

  • 8/2/2019 Indrumar metodic PS

    14/50

    14

    Programul 2_1Prezentarea unui filtru simplu cu M-vrfuri, numrul crora se introduce de ctre utilizator.% Programul P2_1% Simularea filtrului FIR de o lungime arbitrara% generarea semnalului de intrareclf; n=0:100;

    s1=cos(2*pi*0.05*n); % semnal de o frecventa joasas2=cos(2*pi*0.47*n); % semnal de o frecventa inaltax=s1+s2;% Realiyarea filtrului FIRM=input('Lungimea dorita a filtrului = ');num=ones(1,M);y=filter(num,1,x)/M;% Afisarea semnalelor de intare si de isiresubplot(2,2,1);plot(n,s1);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('semnal #1');

    subplot(2,2,2);plot(n,s2);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('semnal #2');subplot(2,2,3);plot(n,x);axis([0, 100, -2, 2]);xlabel('Timpul n'); ylabel('Amplituda');title('Semnalul de intrare');subplot(2,2,4);plot(n,y);axis([0, 100, -2, 2]);

    xlabel('Timpul n'); ylabel('Amplituda');title('Semnalul de iesire');axis;

  • 8/2/2019 Indrumar metodic PS

    15/50

    15

    0 50 100-2

    -1

    0

    1

    2

    Timpul n

    Am

    plituda

    semnal #1

    0 50 100-2

    -1

    0

    1

    2

    Timpul n

    Am

    plituda

    semnal #2

    0 50 100-2

    -1

    0

    1

    2

    Timpul n

    Am

    plituda

    Semnalul de intrare

    0 50 100-2

    -1

    0

    1

    2

    Timpul n

    Am

    plituda

    Semnalul de iesire

    Programul 2_2Programul de mai jos poate fi folosit pentru generarea semnalului de intrare x[n], compus din suma

    a dou secvene sinusoidale.

    % Programul P2_2

    % generarea semnalului sinusoidal de intrareclf;n=0:200;x=cos(2*pi*0.05*n);% Calcularea semnalului de iesirex1 = [x 0 0]; % x1[n] = x[n+1]x2 = [0 x 0]; % x2[n] = x[n]x3 = [0 0 x]; % x3[n] = x[n-1]y=x2.*x2 + x1.*x3;y=y(2:202);% Vizualizarea semnalului de intre si a celui de iesire subplot(2,1,1);plot(n,x);xlabel(Timpul n); ylabel(Amplituda);

    title(semnalul de intrare);subplot(2,1,2);plot(n,y);xlabel(Timpul n); ylabel(Amplituda);title('Semnalul de iesire');

  • 8/2/2019 Indrumar metodic PS

    16/50

    16

    0 20 40 60 80 100 120 140 160 180 200-1

    -0.5

    0

    0.5

    1

    Timpul n

    Am

    plituda

    semnalul de intrare

    0 20 40 60 80 100 120 140 160 180 200-0.5

    0

    0.5

    1

    1.5

    2

    Timpul n

    Amp

    lituda

    Semnalul de iesire

    Programul 2_3n programul acesta este realizat sistemul reprezentat prin urmtoarea expresie:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].

    Se genereaz treisecvene de intrare x1[n], x2[n] x[n]=a*x1[n]+b*x2[n]. Se calculeaz treisecvene de ieire y1[n], y2[n] y[n], cu reprezentarea lor grafic.

    % Programul P2_3% Generarea secvenelor de iesireclf;n=0:40;a=2; b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;num=[2.2403 2.4908 2.2403];den=[1 -0.4 0.75];

    ic=[0 0]; % initializareay1=filter(num,den,x1,ic); % Calcularea semnalului de iesire y1[n]y2=filter(num,den,x2,ic); % Calcularea semnalului de iesire y2[n]y=filter(num,den,x,ic); % Calcularea semnalului de iesire y[n]yt=a*y1+b*y2;d=y-yt; % calcularea abaterii d[n]%Vizualizarea semnalelor de iesire si a semnalului de abateresubplot(3,1,1);stem(n,y);ylabel('Amplituda ');

    title('Semnalul de iesire, conform semnalului de intrare incarcat : a\cdot x_{1}[n] + b \cdot x_{2}[n]');

    subplot(3,1,2);

    stem(n,yt);ylabel('Amplituda');title('semnalul de iesire incarcat : a \cdot y_{1}[n] + b \cdot y_{2}[n]');subplot(3,1,3);

  • 8/2/2019 Indrumar metodic PS

    17/50

    17

    stem(n,d);xlabel('Timpul n'); ylabel('Amplituda');title('semnalul diferential ');

    0 5 10 15 20 25 30 35 40-40

    -20

    0

    20

    Amplituda

    Semnalul de iesire, conform semnalului de intrare incarcat : a x1[n] + b x

    2[n]

    0 5 10 15 20 25 30 35 40-40

    -20

    0

    20

    Amplituda

    semnalul de iesire incarcat : a y1[n] + b y

    2[n]

    0 5 10 15 20 25 30 35 40-5

    0

    5x 10

    -15

    Timpul n

    Amplituda

    semnalul diferential

    Programul 2_4Pentru aceast expresie se creaz sistemul ce o simuleaz:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]. Dou secvene de intrare

    diferite x[n] i x[n-D]. Se calculeaz i se vizualizeaz corespunztor doua secvenzede ieirei abatereay1[n]y2[n+D].

    % Programul P2_4% Generarea secventelor de intrareclf; n=0:40; D=10; a=3.0; b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=[zeros(1,D) x];num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];ic=[0 0]; % setarea conditiilor initiale%Calcularea semnalului de iesire y[n]y=filter(num,den,x,ic);% Calcularea semnalului de iesire yd[n]yd=filter(num,den,xd,ic);% Calcularea semnalului deabatere d[n]d=y-yd(1+D:41+D);%Afisarea graficelor semnalelor de iesiresubplot(3,1,1);stem(n,y);ylabel('Amplituda');title('Semnalul de iesire y[n]'); grid;

    subplot(3,1,2);stem(n,yd(1:41));ylabel('Amplituda');

  • 8/2/2019 Indrumar metodic PS

    18/50

    18

    title(['iesirea,la intirzierea semnalului la intrarex[n',num2str(D),']']); grid;

    subplot(3,1,3);stem(n,d);xlabel('Timpul n'); ylabel('Amplituda');title('semnalul de abatere'); grid;

    0 5 10 15 20 25 30 35 40-40

    -20

    0

    20

    Amp

    litu

    da

    Semnalul de iesire y[n]

    0 5 10 15 20 25 30 35 40-40

    -20

    0

    20

    Am

    plitu

    da

    iesirea, la intirzierea semnalului la intrare x[n 10]

    0 5 10 15 20 25 30 35 40-1

    0

    1

    Timpul n

    Amp

    litu

    da

    semnalul de abatere

    Programul 2_5Aici se calculeaz i se afieaz la ecran impulsul rspunsului sistemului, corespunztor expresiei:y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].

    % Programul P2_5% calcularea impulsului de raspuns yclf;N=40;num=[2.2403 2.4908 2.2403];den=[1 -0.4 0.75];

    y=impz(num,den,N);% Reprezentareagrafic a impulsului de raspunsstem(y);xlabel('Timpul n'); ylabel('Amplituda');title('Impulsul de raspuns'); grid;

  • 8/2/2019 Indrumar metodic PS

    19/50

    19

    0 5 10 15 20 25 30 35 40-3

    -2

    -1

    0

    1

    2

    3

    4

    Timpul n

    Amplituda

    Impulsul de raspuns

    Programul 2_6Programul acesta realizeaz sistemul de 4 conditii: y[n]+1.6y[n-1]+2.28y[n-2]+1.325y[n-

    3]+0.68y[n-4] = 0.06x[n]-0.19x[n-1]+0.27x[n-2]-0.26x[n-3]+0.12x[n-4] i Sisteme cascade :Etapa 1: y1[n]+0.9y1[n-1]+0.8y1[n-2]=0.3x[n]-0.3x[n-1]+0.4x[n-2];

    Etapa 2: y2[n]+0.7y2[n-1]+0.85y2[n-2]=0.2y1[n]-0.5y1[n-1]+0.3y1[n-2];

    % Programul P2_6% Realizarea cascadelorclf;x=[1 zeros(1,40)]; % Generarea semnalului de intraren=0:40;% Coeficientii sistemului de gradul 4den=[1 1.6 2.28 1.325 0.68];num=[0.06 -0.19 0.27 -0.26 0.12];% calcularea semnalului de ieasire asistemului de gradul 4 y=filter(num,den,x);% Coefocoentii sistemelordegradul 2num1=[0.3 -0.2 0.4]; den1=[1 0.9 0.8];

    num2=[0.2 -0.5 0.3]; den2=[1 0.7 0.85];% Semnalul de iesire y1[n] a primei etape a cascadeiy1=filter(num1,den1,x);% Semnalul deiesire y2[n] etapei a doua a cascadeiy2=filter(num2,den2,y1);% abaterea dintre y[n] si y2[n]d=y-y2;% Graficele semnalelor de iesire si a abateriisubplot(3,1,1);stem(n,y);ylabel('Amplituda');title('afisarea realizrii de gradul 4'); grid;subplot(3,1,2);

    stem(n,y2);ylabel('Amplituda');title('Afisarea realizarii cascada'); grid;subplot(3,1,3);

  • 8/2/2019 Indrumar metodic PS

    20/50

    20

    stem(n,d);xlabel('Timpul n'); ylabel('Amplituda ');title('semnalul abaterii'); rid;

    0 5 10 15 20 25 30 35 40-0.5

    0

    0.5

    1

    Amplituda

    afisarea realizarii de gradul 4

    0 5 10 15 20 25 30 35 40-1

    0

    1

    Amplituda

    Afisarea realizarii cascada

    0 5 10 15 20 25 30 35 40-1

    0

    1

    Timpul n

    Amplituda

    semnalul abaterii

    Programul 2_7Operaiunea de convoluie se realizeaz n MATLAB cu comanda conv. Pentru aceasta se folosescdou secvene finite i de aceeai lungime.

    % Programul P2_7

    clf;

    h=[3 2 1 -2 1 0 -4 0 3]; % raspuns de impuls

    x=[1 -2 3 -4 3 2 1]; % secventa deintrare

    y=conv(h,x);

    n=0:14;

    subplot(2,1,1);

    stem(n,y);

    xlabel('Timpul n'); ylabel('Amplituda');

    title('Semnalul de iesire,obtinut in urma convolutiei'); grid;

    x1=[x zeros(1,8)];

    y1=filter(h,1,x1);

    subplot(2,1,2);

    stem(n,y1);

    xlabel('Timpul n'); ylabel('Amplituda');

    title('Semnalul de iesire obtinut in urma filtrarii'); grid;

  • 8/2/2019 Indrumar metodic PS

    21/50

    21

    0 2 4 6 8 10 12 14-20

    -10

    0

    10

    20

    Timpul n

    Am

    plituda

    Semnalul de iesire,obtinut in urma convolutiei

    0 2 4 6 8 10 12 14-20

    -10

    0

    10

    20

    Timpul n

    Am

    plituda

    Semnalul de iesire obtinut in urma filtrarii

    Programul 2_8Programul calculeaz suma valorilor absolute ale raspunsului inpuls

    % Programul P2_8% Testarea stabilitatii bazat pe suma valorilor absolute ale elementelor

    raspuns impulsclf;num=[1 -0.8]; den=[1 1.5 0.9];N=200;h=impz(num,den,N+1);parsum=0;for k=1:N+1;

    parsum=parsum+abs(h(k));if abs(h(k))

  • 8/2/2019 Indrumar metodic PS

    22/50

    22

    0 20 40 60 80 100 120 140 160 180 200-3

    -2

    -1

    0

    1

    2

    3

    Timpul n

    Amplituda

    Programul 2_9

    Aici se prezint dou sisteme: y[n] = 0.5x[n]+0.27x[n-1]+0.77x[n-2]i y[n] = 0.45x[n] +0.5x[n-1]+0.45x[n-2]+0.53y[n-1]-0.46y[n-2].

    % Programul P2_9% Generarea semnalului deintareclf;n=0:299;x1=cos(2*pi*10*n/256);x2=cos(2*pi*100*n/256);x=x1+x2;% Calcularea secvenelor de iesirenum1=[0.5 0.27 0.77];

    y1=filter(num1,1,x); % Iesirea sistemului #1den2=[1 -0.53 0.46];num2=[0.45 0.5 0.45];y2=filter(num2,den2,x); % Iesirea sistemului #2% Graficele secventelor de iesiresubplot(2,1,1);plot(n,y1); axis([0 300 -2 2]);ylabel('Amplituda');title('semnalul de iesire #1'); grid;subplot(2,1,2);plot(n,y2); axis([0 300 -2 2]);xlabel('Timpul n'); ylabel('Amplituda');title(semnalul de iesire#2'); grid;

  • 8/2/2019 Indrumar metodic PS

    23/50

    23

    0 50 100 150 200 250 300-2

    -1

    0

    1

    2

    Ampl

    itu

    da

    semnalul de iesire #1

    0 50 100 150 200 250 300-2

    -1

    0

    1

    2

    Timpul n

    Amp

    litu

    da

    semnalul de iesire#2

  • 8/2/2019 Indrumar metodic PS

    24/50

    24

    Lucrare de laborator Nr.3Tema: Studierea transformrilor: transformata Fourier n timp discret (DTFT) i transformata-Z.Sarcina: De a studia gsirea tranformatei Fourier i de dezvluit proprietile sale.

    Consideraii teoreticeTransformata Fourrier n timp discret (DTFT) (Discret-Time Fourier Transform) X(ej) a unui

    semnal discretx[n]este o funcie continu de . Dup cum MATLAB lucreaz exclusiv doar cu vectori,X(e

    j) poate fi determinat n anumite secvene discrete date. Mai mult ca att, poate fi studiat doar aceaclas deDTFT care este deteminat conform funciei raionale de la e-j dup formula urmtoare:

    (1)Cea mai important caracterisitic a semnalului iniial este transformata Fourier proprie. Dac

    semnalul iniial este determinat de o funcief(t), definit pe axa real, atunci transformata lui Fourier estedeterminat prin formula:

    dttfeFiwt

    )()(2

    (2)

    Funcia )(F sau modulul ei este interpretat ca intensitatea semnalului iniial la frecvena .Transformarea invers este dat de o formul similar:

    dFetfiwt

    )()(2

    (3)

    Cele mai importante proprieti ale transformatei Fourier sunt: pentru simplitate, legtura dintrefuncia i transformata sa Fourier va fi notat astfel: )()( wFtf . Dac ),()(),()( wGtgwFtf

    atunci )()()()( wbGwaFtbgtaf i )()(2

    wFeatfiwa

    .

    Convoluia a dou funcii este funcia )(*)()( tgtfth

    , redat prin formula:

    dxxgxtfth )()()( .

    Are loc relaia )()()( wGwFth .Relaia bilateral are forma: )(*)()()( wGwFtgtf .Vorbind la general, nu ne asumm faptul c funciaf(t)este real. Dac ntr-adevr este aa, atunci

    )()( wFwF

    i )(2)( wwiFxf . Aceast formul este obinut prin diferenierea oficial aconinutului de sub integrala din formula (3).

    Comenzile MATLAB utilizate:Comenzi de uz generaldispOperatori i simboluri speciale: . + - * / ; % < > .* ^ .^ ~=Construcii sintacticeBreak end error for function if input pause

    Matrici elementare i operaiile asupra lorfliptr i pi zeros

    Funcii elementareabs angle conj exp imag real rem

    Funcii de interpolare i polinomialeconvGrafic bidimensional

  • 8/2/2019 Indrumar metodic PS

    25/50

    25

    axis grid plot stem title xlabel ylabelFuncii grafice de uz generalclf subplot

    Funcii de lucru cu irurinum2str

    Funcii ale transformatei Fourier i de analiz a datelor

    fft ifft max minFuncii ale pachetului de prelucrare a semnalelorFreqz impz residuez tf2zp zp2cos zp2tf zplane

    Program 3_1

    Programul dat servete pentru realizarea i vizualizarea transformrii DTFT, corespunztoareexpresiei date mai sus.

    % Program P3_1% Aprecierea DTFT

    clf;% Calcularea valorilor frecvenelor DTFTw=-4*pi:8*pi/511:4*pi;num=[2 1]; den=[1 -0.6];h=freqz(num,den,w);% Graficul DTFTsubplot(2,1,1);plot(w/pi,real(h)); gridtitle('Partea real H(e^{j\omega})');xlabel('\omega /\pi');ylabel('Amplitudinea');subplot(2,1,2);plot(w/pi,imag(h)); gridtitle('Partea imaginar H(e^{j\omega})');xlabel('\omega /\pi');ylabel('Amplitudinea');pausesubplot(2,1,1);plot(w/pi,abs(h)); gridtitle('Spectru de valori |H(e^{j\omega})|');xlabel('\omega /\pi');ylabel('Aplitudinea');subplot(2,1,2);plot(w/pi,angle(h)); gridtitle('Spectru de faze arg[H(e^{j\omega})]');xlabel('\omega /\pi');ylabel('Faza n radiani');

  • 8/2/2019 Indrumar metodic PS

    26/50

    26

    Rezultatul programului 3_1:

    -4 -3 -2 -1 0 1 2 3 40

    2

    4

    6

    8Partea real H(ej)

    /

    Amplitudinea

    -4 -3 -2 -1 0 1 2 3 4-4

    -2

    0

    2

    4Partea imaginar H(ej)

    /

    Amplitudinea

    -4 -3 -2 -1 0 1 2 3 40

    2

    4

    6

    8Spectru de valori |H(ej)|

    /

    Aplitudinea

    -4 -3 -2 -1 0 1 2 3 4-2

    -1

    0

    1

    2Spectru de faze arg[H(ej)]

    /

    Faza

    n

    radiani

  • 8/2/2019 Indrumar metodic PS

    27/50

    27

    Program 3_2Programul dat servete pentru pentru identificarea proprietilor de modificare n timp a

    transformatei DTFT.

    % Program P3_2% Proprietile DTFT de modificare n timpclf;w=-pi:2*pi/255:pi;wo=0.4*pi;D=10;num=[1 2 3 4 5 6 7 8 9];h1=freqz(num,1,w);h2=freqz([zeros(1,D) num],1,w);subplot(2,2,1);plot(w/pi,abs(h1));gridtitle('Spectru de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h2));grid

    title('Spectru de valori a unei secvene modificate n timp');subplot(2,2,3);plot(w/pi,angle(h1));gridtitle('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h2));gridtitle('Spectrul de faze a secvenei modificate n timp');

    Rezultatul programului 3_2:

    -1 -0.5 0 0.5 10

    20

    40

    60Spectru de valori a secvenei iniiale

    -1 -0.5 0 0.5 10

    20

    40

    60Spectru de valori a unei secvene modificate n timp

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei iniiale

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei modificate n timp

  • 8/2/2019 Indrumar metodic PS

    28/50

    28

    Program 3_3Programul dat servete pentru identifcarea proprietilor de modificare a frecvenei DTFT.% Program P3_3% Proprietatea de modificare a frecvenei DTFTclf;

    w=-pi:2*pi/255:pi; wo=0.4*pi;num1=[1 3 5 7 9 11 13 15 17];L=length(num1);h1=freqz(num1,1,w);n=0:L-1;num2=exp(wo*i*n).*num1;h2=freqz(num2,1,w);subplot(2,2,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h2)); gridtitle('Spectrul de valori a secveelor cu frecvena modificat');

    subplot(2,2,3);plot(w/pi,angle(h1)); gridtitle('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h2)); gridtitle('Spectrul de faze a secvenelor cu frecvena modificat');

    Rezultatul programului 3_3:

    -1 -0.5 0 0.5 10

    50

    100Spectrul de valori a secvenei iniiale

    -1 -0.5 0 0.5 10

    50

    100Spectrul de valori a secveelor cu frecvena modificat

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei iniiale

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenelor cu frecvena modificat

  • 8/2/2019 Indrumar metodic PS

    29/50

    29

    Program 3_4Aici este identificat proprietatea de convoluie a transformatei DTFT.% Program P3_4% Proprietatea de convoluie a DTFTclf;w=-pi:2*pi/255:pi;x1=[1 3 5 7 9 11 13 15 17];

    x2=[1 -2 3 -2 1];y=conv(x1,x2);h1=freqz(x1,1,w);h2=freqz(x2,1,w);hp=h1.*h2;h3=freqz(y,1,w);subplot(2,2,1);plot(w/pi,abs(hp)); grid;title('Modulul spectrului');subplot(2,2,2);plot(w/pi,abs(h3)); grid;title('Spectrul de valori a secvenei de convoluie');subplot(2,2,3);

    plot(w/pi,angle(hp)); grid;title('Suma de faze a spectrului');subplot(2,2,4);plot(w/pi,angle(h3)); grid;title('Spectrul de faze a secvenei de convoluie');

    Rezultatul programului 3_4

    -1 -0.5 0 0.5 10

    50

    100Modulul spectrului

    -1 -0.5 0 0.5 10

    50

    100Spectrul de valori a secvenei de convoluie

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Suma de faze a spectrului

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei de convoluie

  • 8/2/2019 Indrumar metodic PS

    30/50

    30

    Program 3_5Acesta este programul de evaluare a proprietii de modulare a transformrii DTFT.

    % Program P3_5% Proprietatea de modulare a DTFTclf;w=-pi:2*pi/255:pi;

    x1=[1 3 5 7 9 11 13 15 17];x2=[1 -1 1 -1 1 -1 1 -1 1];y=x1.*x2;h1=freqz(x1,1,w);h2=freqz(x2,1,w);h3=freqz(y,1,w);subplot(3,1,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori din prima secven');subplot(3,1,2);plot(w/pi,abs(h2)); gridtitle('Spectrul de valori din a doua secven');subplot(3,1,3);

    plot(w/pi,abs(h3)); gridtitle('Spectrul de valori din secvena final');

    Rezultatul programului:

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

    50

    100Spectrul de valori din prima secven

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

    5

    10Spectrul de valori din a doua secven

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

    50

    100Spectrul de valori din secvena final

  • 8/2/2019 Indrumar metodic PS

    31/50

    31

    Program 3_6Aici este dezvluit proprietatea de inversare a timpului n trasformarea DTFT.

    % Program P3_6% Proprietatea de inversare a timpului DTFTclf;w=-pi:2*pi/255:pi;

    num=[1 2 3 4];L=length(num)-1;h1=freqz(num,1,w);h2=freqz(fliplr(num),1,w);h3=exp(w*L*i).*h2;subplot(2,2,1);plot(w/pi,abs(h1)); gridtitle('Spectrul de valori a secvenei iniiale');subplot(2,2,2);plot(w/pi,abs(h3)); gridtitle('Spectrul de valori a secvenei cu timp inversat');subplot(2,2,3);plot(w/pi,angle(h1)); grid

    title('Spectrul de faze a secvenei iniiale');subplot(2,2,4);plot(w/pi,angle(h3)); gridtitle('Spectrul de faze a secvenei cu timp inversat');

    Rezultatul programului:

    -1 -0.5 0 0.5 12

    4

    6

    8

    10Spectrul de valori a secvenei iniiale

    -1 -0.5 0 0.5 12

    4

    6

    8

    10Spectrul de valori a secvenei cu timp inversat

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei iniiale

    -1 -0.5 0 0.5 1-4

    -2

    0

    2

    4Spectrul de faze a secvenei cu timp inversat

  • 8/2/2019 Indrumar metodic PS

    32/50

    32

    Program 3_7Aceast program este utilizat pentru a ilustra principiul de schimbare ciclic a secvenelor de lungime

    fix. Pentru aceasta este utilizat funcia MATLAB circshift.

    % Program P3_7% Ilustrarea principiului de schimbare ciclic a secvenelorclf;M=6;a=[0 1 2 3 4 5 6 7 8 9];b=circshift(a,M);L=length(a)-1;n=0:L;subplot(2,1,1);stem(n,a);axis([0,L,min(a),max(a)]);title('Secvena iniial');subplot(2,1,2);stem(n,b);axis([0,L,min(a),max(a)]);title('Secvena obinut prin schimbarea ciclic');

    Rezultatul programului:

    0 1 2 3 4 5 6 7 8 9

    0

    2

    4

    6

    8

    Secvena iniial

    0 1 2 3 4 5 6 7 8 90

    2

    4

    6

    8

    Secvena obinut prin schimbarea ciclic

    Program 3_8Aici se dezvluie proprietatea de schimbare ciclic n timpul transformrii DTFT.

    % Programul P3_8% Proprietatea DTFT de schimbare ciclic n timpclf;x=[0 2 4 6 8 10 12 14 16];N=length(x)-1; n=0:N;y=circshift(x,5);XF=fft(x);YF=fft(y);

    subplot(2,2,1);stem(n,abs(XF)); gridtitle('DFT a secvenei iniiale');subplot(2,2,2);

  • 8/2/2019 Indrumar metodic PS

    33/50

    33

    stem(n,abs(YF)); gridtitle('DFT a secvenei cu schimbare ciclic n timp');subplot(2,2,3);stem(n,angle(XF)); gridtitle('Faza DFT a secvenei iniiale');subplot(2,2,4);stem(n,angle(YF)); gridtitle('Faza DFT a secvenei cu schimbare ciclic n timp');

    Rezultatul programului:

    0 2 4 6 80

    20

    40

    60

    80DFT a secvenei iniiale

    0 2 4 6 80

    20

    40

    60

    80DFT a secvenei cu schimbare ciclic n timp

    0 2 4 6 8-4

    -2

    0

    2

    4Faza DFT a secvenei iniiale

    0 2 4 6 8-4

    -2

    0

    2

    4Faza DFT a secvenei cu schimbare ciclic n timp

    Program 3_9Aici vom stabili legtura ntre transformrile DFT ale prilor secvenelor periodice pare i

    periodice impare ale numerelor reale cu transformarea DFT a acestei secvene.

    % Programul P3_9% Legtura ntre transformrile DFT periodice pare i impare% a prilor secvenelor ale numerelor realex=[1 2 4 2 6 32 6 4 2 zeros(1,247)];x1=[x(1) x(256:-1:2)];xe=0.5*(x+x1);XF=fft(x);XEF=fft(xe);clf;k=0:255;subplot(2,2,1);plot(k/128,real(XF)); grid;ylabel('Amplitudinea');title('Re(DFT\{x[n]\})');subplot(2,2,2);plot(k/128,imag(XF)); grid;ylabel('Amplitudinea');

    title('Im(DFT\{x[n]\})');subplot(2,2,3);plot(k/128,real(XEF)); grid;xlabel('Timpul n');

  • 8/2/2019 Indrumar metodic PS

    34/50

    34

    ylabel('Amplitudinea');title('Re(DFT\{x_{e}[n]\})');subplot(2,2,4);plot(k/128,imag(XEF)); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Im(DFT\{x_{e}[n]\})');

    Rezultatul programului:

    0 0.5 1 1.5 2-50

    0

    50

    100

    Amplitudinea

    Re(DFT{x[n]})

    0 0.5 1 1.5 2-100

    -50

    0

    50

    100

    Amplitudinea

    Im(DFT{x[n]})

    0 0.5 1 1.5 2-50

    0

    50

    100

    Timpul n

    Amplitudinea

    Re(DFT{xe[n]})

    0 0.5 1 1.5 2

    -0.5

    0

    0.5

    x 10-14

    Timpul n

    Amplitudinea

    Im(DFT{xe[n]})

  • 8/2/2019 Indrumar metodic PS

    35/50

    35

    Lucrare de laborator Nr.4

    Tema:Sisteme discrete liniare n timp continuu cercetate n domeniul de frecvenScopul lucrii:De studiat proprietile de baz ale sistemelor discrete n timp continuu n domeniul

    de frecven.

    Noiuni teoreticeOrice sistem discret liniar n timp continuu este complet caracterizat de domeniul de frecven n

    secvena de impulsuri de raspuns. Astfel semnalul de ieire poate fi obinut pentru orice sistem de aa tipprin convoluia secvenei de intrare cu secvena impulsului de raspuns al ei. Anumite categorii de astfel desisteme, de asemenea, pot fi caracterizate printr-o ecuaie (de difereniere) liniar cu coefcieni constani.Pentru aceste categorii de sisteme semnalul de ieire poate fi calculat recursiv pentru orice secven deintrare. Aplicnd DTFT sau transformata-z la rezultatul convolutiei sau la ecuaia de difereniere,sistemele discrete liniare i continue n timp pot fi carcterizate in domeniul de frecven. Acest tip despecificarea sistemelor furnizeaz informaii suplimentare despre comportamentul sistemului, pe lng

    faptul c o astfel de specificare a sistemelor acord posibiliti mai uoare de proiectri, realizri iutilizri n diferite aplicaii.

    Comenzile MATLAB utilizate:

    Comenzi de uz generaldispOperatori i simboluri speciale: . + - * / ; %

    Construcii sintacticefunction pause

    Matrici elementare i operaiile asupra lorfliplr pi

    Funcii elementarecos abs angle imag log10 real

    Grafic bidimensionalaxis plot stem title xlabel ylabel grid

    Funcii grafice de uz general

    clf subplot

    Funcii pachetului de prelucrare a semnalelorfilter impz filtfilt fregz grpdelay poly2rc sinc zplane

    Programul 4_1n acestprogram se calculeaz aproximarea de sus. Se folosete funcia sinc din sistemul MATLAB%Programul P4_1% raspunsul impuls filtrului idealclf;fc=0.25;

    n=[-6.5:1:6.5];y=2*fc*sinc(2*fc*n);k=n+6.5;stem(k,y); title('N=13'); axis([0 13 -0.2 0.6]);

  • 8/2/2019 Indrumar metodic PS

    36/50

    36

    xlabel('Timpul n'); ylabel('Amplituda'); grid

    Rezultatul programului:

    0 2 4 6 8 10 12-0.2

    -0.1

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6N=13

    Timpul n

    Amplituda

    Programul 4_2Programul calculeaz rspunsul propriu al filtrului de frecven joas.

    % Programul P4_2% Rspunsul propriu al filtrului de frecven joas.clf;

    M=2;num=ones(1,M)/M;w=0:pi/255:pi;h=freqz(num,1,w);g=20*log10(abs(h));plot(w/pi,g); gridaxis([0 1 -50 0.5]);xlabel('\omega /\pi'); ylabel('Adaugare');title(['M = ',num2str(M)]);

  • 8/2/2019 Indrumar metodic PS

    37/50

    37

    Rezultatul programului:

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

    -45

    -40

    -35

    -30

    -25

    -20

    -15

    -10

    -5

    0

    /

    Adaugare

    M = 2

    Programul 4_3

    Cu ajutorul programul dat putem analiza proprietile celor patru tipuri de funcii de transfer carecaracterizeaz filtrele:

    Tipul 1: Rspunsul impuls simetric de lungime impar;

    Tipul 2: Rspunsul impuls simetric de lungime par;

    Tipul 3: Rspunsul impuls asimetric de lungime impar;

    Tiplu 4: Rspunsul impuls asimetric de lungime par.

    % Programul P4_3% Punctele zero FIR filtrelor in faza liniaraclf;b=[1 -8.5 30.5 -63];

    num1=[b 81 fliplr(b)];num2=[b 81 81 fliplr(b)];num3=[b 0 -fliplr(b)];num4=[b 81 -81 -fliplr(b)];n1=0:length(num1)-1;n2=0:length(num2)-1;subplot(2,2,1); stem(n1,num1);xlabel('Timpul n'); ylabel('Amplituda'); gridtitle('Tipul 1 FIR filtrului');subplot(2,2,2); stem(n2,num2);xlabel('Timpul n'); ylabel('Amplituda'); gridtitle('Tip 2 FIR filtrului');subplot(2,2,3); stem(n1,num3);

    xlabel('Timpul n'); ylabel('Amplituda'); gridtitle(' Tip 3 FIR filtrului ');subplot(2,2,4); stem(n2,num4);xlabel('Timpul n'); ylabel('Amplituda'); grid

  • 8/2/2019 Indrumar metodic PS

    38/50

    38

    title('Tip 2 FIR filtrului');pausesubplot(2,2,1); zplane(num1,1);title(' Tip 1 FIR filtrului ');subplot(2,2,2); zplane(num2,1);title(' Tip 2 FIR filtrului ');subplot(2,2,3); zplane(num3,1);title('Tip 3 FIR filtrului');subplot(2,2,4); zplane(num4,1);title('Tip 4 FIR filtrului');disp('Zeroul FIR filtrului de Tip 1');disp(roots(num1));disp(' Zeroul FIR filtrului de Tip 2');disp(roots(num2));disp(' Zeroul FIR filtrului de Tip 3');disp(roots(num3));disp(' Zeroul FIR filtrului de Tip 4');disp(roots(num4));

    Rezultatul programului:

    0 2 4 6 8-100

    -50

    0

    50

    100

    Timpul n

    Amplituda

    Tipul 1 FIR filtrului

    0 5 10-100

    -50

    0

    50

    100

    Timpul n

    Amplituda

    Tip 2 FIR filtrului

    0 2 4 6 8-100

    -50

    0

    50

    100

    Timpul n

    Amplituda

    Tip 3 FIR filtrului

    0 5 10-100

    -50

    0

    50

    100

    Timpul n

    Amplituda

    Tip 2 FIR filtrului

  • 8/2/2019 Indrumar metodic PS

    39/50

    39

    -1 0 1 2 3

    -1

    0

    1

    8

    Real Part

    Imagin

    aryPart

    Tip 1 FIR filtrului

    -2 0 2 4

    -2

    -1

    0

    1

    2

    9

    Real Part

    Imagin

    aryPart

    Tip 2 FIR filtrului

    -2 0 2 4 6

    -2

    0

    2

    8

    Real Part

    Imaginary

    Part

    Tip 3 FIR filtrului

    -1 0 1 2 3

    -1

    0

    1

    9

    Real Part

    Imaginary

    Part

    Tip 4 FIR filtrului

    b = 1.0000 -8.5000 30.5000 -63.0000

    Zeroul FIR filtrului de Tip 12.9744

    2.0888

    0.9790 + 1.4110i

    0.9790 - 1.4110i

    0.3319 + 0.4784i

    0.3319 - 0.4784i

    0.4787

    0.3362

    Zeroul FIR filtrului de Tip 2

    3.7585 + 1.5147i

    3.7585 - 1.5147i0.6733 + 2.6623i

    0.6733 - 2.6623i

    -1.0000

    0.0893 + 0.3530i

    0.0893 - 0.3530i

    0.2289 + 0.0922i

    0.2289 - 0.0922i

    Zeroul FIR filtrului de Tip 34.7627

    1.6279 + 3.0565i

    1.6279 - 3.0565i

    -1.0000

    1.0000

    0.1357 + 0.2549i

    0.1357 - 0.2549i

    0.2100

    Zeroul FIR filtrului de Tip 4

    3.41391.6541 + 1.5813i

    1.6541 - 1.5813i

    -0.0733 + 0.9973i

    -0.0733 - 0.9973i

    1.0000

    0.3159 + 0.3020i

    0.3159 - 0.3020i

    0.2929

  • 8/2/2019 Indrumar metodic PS

    40/50

    40

    Programul 4_4Acest program prezint cercetarea stabilitii a filtrului numeric IIR. Stabilitatea filtrului

    ereprezint o calitate foarte important a filtrului. Filtrul numeric IIR este stabil dac polii funciei detransfer se afl n interiorul cercului unitate.

    % Programul P4_4

    % Test de verificare a stabilitatiiclf;den=input('Introduceti coeficientii de numitor:');ki=poly2rc(den);disp('Parametrii testului de stabilitate: ');disp(ki);

    Exemplu:

    Introduceti coeficientii de numitor:10

    Parametrii testului de stabilitate:

    >>

  • 8/2/2019 Indrumar metodic PS

    41/50

    41

    Lucrare de laborator Nr.5Tema: Prelucrarea digital a semnalelor continue n timp.Sarcina: De a studia restabilirea unui semnal continuu dintr-un semnal discret dat, cu o cantitate

    minim de pierderi.

    Consideraii teoreticeAlgoritmii de prelucrare a semnalelor discrete sunt adesea aplicate asupra semnalelor continue ntimp. Aceast lucrare de laborator permite studierea algoritmilor principali de transformare asemnalelor continue n semnale discrete, mai apoi, dup aplicarea corespunztoare a algoritmilor detransformare, va avea loc transformarea semnalului ntr-un semnal continuu echivalent lui, dup

    posibilitate cu cantiti minime de cheltuieli.Restabilirea semnalului discret: sarcinade gsit condiiile necesare, cu ajutorul crora semnalul

    poate fi restabilit conform eantioanului discret. nainte de toate:2/)]()([)2cos( 000 wwwwtw .

    Transformata Fourier a secvenei

    Fie avem un semnal x(t), i este ales un pas de discretizare S. Funcia este nlocuit printr-osecven )(][ nSxny .Definiie. Transformata Fourier a unei secvene este numit funcia

    n

    wiSnenywY

    2][)( (4).

    Funcia )(wY este o funcie periodic. Deseori, pentru simplitate, vom presupune S=1, i n acestcaz perioada funciei este egal cu 1. Aceasta este diferena fundamental ntre transformatele Fouriera funciilor i a secvenelor. n acelai timp, ambele transformate sunt strns legate ntre ele. Fie avem

    n

    nSttu )()( , atunci

    dtetxtuwY wit2)()()( (5),

    adic, este transformata Fourier a produsului a dou funcii, dintre care una este funciegeneralizat. Conform teoriei generale, transformata Fourier a produsului a dou funcii este egal cuconvoluia de imagini ale factorilor. Pentru simplificarea notaiilor S=1. Gsim

    )(wU

    dtetu

    wit2)( . Punem

    N

    Nn

    iwt

    NdtentwU

    2)()( =

    N

    Nn

    iwne

    2 . Atragem atenia la

    faptul c, aceasta este o funcie periodic cu perioada egal cu 1, prezentat ca suma progresieigeometrice.

    Avemiw

    wNiiNw

    N

    e

    eewU

    2

    )1(22

    1)(

    . nmulim numrtorul i numitorul la iwe .

    Obinem)sin(

    ))2/1(2sin()(w

    wNwUN

    .

    n apropierea la

    c

    c

    c

    c

    Ndw

    iw

    wNwdwwUw

    ))2/1(2sin()()()( se pretinde ctre N la

    )0( . Pentru orice S se poate de scris formula: SS

    nwSnt /)()( (6).

    Relaiile dintre transformatele Fourier de tip discret i continue. Frecventa Nyquist.

    Utiliznd formulele (5) i (6) i, presupunnd adevrat declaraia despre transformarea Fourier dela produsul a dou funcii, primim relaiile:

    )(*)()( wXwUwY

    unde )()( wXtx ,

    de unde reiese:

  • 8/2/2019 Indrumar metodic PS

    42/50

    42

    SS

    nwXwY /)()( (7)

    Aceast formul stabilete legtura ntre transformata Fourier de tip continuu i cea de tip discret.Dup cum urma de ateptat, )(wY are perioada S/1 , ceea ce este n concordan cu (4).

    Comenzile MATLAB utilizate

    Comenzi de uz generalLength sizeOperatori i simboluri speciale: . + - * / ; % == ~ & |

    Matrici elementare i operaiile asupra lorones linspace pi

    Funcii elementareabs cos expGrafic bidimensionalaxis grid plot stem title xlabel ylabel

    Funcii grafice de uz generalclf grid plot stem subplot

    Funcii ale pachetului de prelucrare a semnalelorbutter buttord cheb1ord cheb2ord cheby1 cheby2 ellipellipord freqz sinc

  • 8/2/2019 Indrumar metodic PS

    43/50

    43

    Program 5_1

    Aici vom transforma condiionat un semnal continuu ntr-un semnal discret corespunztor, curedarea ambelor grafice.

    % Program P5_1% Ilustrarea procesului de discretizare n domeniul de timpclf;t=0:0.0005:1;

    f=13;xa=cos(2*pi*f*t);subplot(2,1,1);plot(t,xa); grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnal continuu n timp x_{a}(t)');axis([0 1 -1.2 1.2]);subplot(2,1,2);T=0.1;n=0:T:1;xs=cos(2*pi*f*n);k=0:length(n)-1;

    stem(k,xs); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Semnal discret n timp x[n]');axis([0 (length(n)-1) -1.2 1.2]);

    Rezultatul programului:

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

    -1

    -0.5

    0

    0.5

    1

    Timpul, msec

    Amplitudinea

    Semnal continuu n timp xa(t)

    0 1 2 3 4 5 6 7 8 9 10

    -1

    -0.5

    0

    0.5

    1

    Timpul n

    Amplitudinea

    Semnal discret n timp x[n]

    Program 5_2

    Aici vom restabili semnalul continuu din semnalul discret deja existent. n ambele cazuri vomprimi o secven cu o valoare finit de elemente, dar secvena semnalului continuu rezultat va fi maiaproape de continuitate. Restabilirea are loc n timp.

  • 8/2/2019 Indrumar metodic PS

    44/50

    44

    %Program P5_2% Demonstrarea efectului de imaginaie n domeniul de timpclf;T=0.1; f=13;n=(0:T:1)';xs=cos(2*pi*f*n);t=linspace(-0.5,1.5,500)';ya=sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;plot(n,xs,'o',t,ya);grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnalul continuu restabilit y_{a}(t)');axis([0 1 -1.2 1.2]);

    Rezultatul programului:

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

    -1

    -0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Timpul, msec

    Amplitudinea

    Semnalul continuu restabilit ya(t)

    Program 5_3

    Programul dat deasemenea restabilite semnalul continuu dintr-un semnal discret existent, darutilizeaz alt algoritm care lucreaz cu frecena.

    % Program P5_3% Demonstrarea efectului de imaginaie n domeniul de frecvenclf;t=0:0.005:10;xa=2*t.*exp(-t);subplot(2,2,1);plot(t,xa); grid;xlabel('Timpul, msec');ylabel('Amplitudinea');title('Semnal continuu x_{a}(t)');

    subplot(2,2,2);wa=0:10/511:10;ha=freqs(2,[1 2 1],wa);plot(wa/(2*pi),abs(ha)); grid;

  • 8/2/2019 Indrumar metodic PS

    45/50

    45

    xlabel('Frecvena, KHz');ylabel('Amplitudinea');title('|X_{a}(j/Omega)|');axis([0 5/pi 0 2]);subplot(2,2,3);T=1;n=0:T:10;xs=2*n.*exp(-n);k=0:length(n)-1;stem(k,xs); grid;xlabel('Timpul n');ylabel('Amplitudinea');title('Semnal discret n timp x[n]');subplot(2,2,4);wd=0:pi/255:pi;hd=freqz(xs,1,wd);plot(wd/(T*pi),T*abs(hd)); grid;xlabel('Frecvena, KHz');ylabel('Amplitudinea');title('|X(e^{j/omega})|');axis([0 1/T 0 2]);

    Rezultatul programului:

    0 5 100

    0.2

    0.4

    0.6

    0.8

    Timpul, msec

    Amplitudinea

    Semnal continuu xa(t)

    0 0.5 1 1.50

    0.5

    1

    1.5

    2

    Frecvena, KHz

    Amplitudinea

    |Xa(j/Omega)|

    0 5 100

    0.2

    0.4

    0.6

    0.8

    Timpul n

    Amplitudinea

    Semnal discret n timp x[n]

    0 0.5 10

    0.5

    1

    1.5

    2

    Frecvena, KHz

    Amplitudinea

    |X(ej/omega)|

    Program 5_4

    Aici se demostreaz lucrul filtrului analogic, utilizat la restabilirea semnalului continuu.

    % Program P5_4% Proiectarea filtrului analogicclf;Fp=3500; Fs=4500;Wp=2*pi*Fp; Ws=2*pi*Fs;

    [N,Wn]=buttord(Wp,Ws,0.5,30,'s');[b,a]=butter(N,Wn,'s');wa=0:(3*Ws)/511:3*Ws;h=freqs(b,a,wa);

  • 8/2/2019 Indrumar metodic PS

    46/50

    46

    plot(wa/(2*pi),20*log10(abs(h))); grid;xlabel('Frecvena, Hz');ylabel('Adugare');title('Rspunsul de cretere');axis([0 3*Fs -60 5]);

    Rezultatul programului:

    0 2000 4000 6000 8000 10000 12000-60

    -50

    -40

    -30

    -20

    -10

    0

    Frecvena, Hz

    Adu

    gare

    Rspunsul de cretere

  • 8/2/2019 Indrumar metodic PS

    47/50

    47

    Lucrare de laborator Nr.6Tema: Structura filtrelor numerice

    Scopul lucrrii: De a nva cum se construiesc diferite structuri a filtrelor n dependen deproprietile dorite a viitoarelor structuri.

    Noiuni generalen aceast lucrare de laborator se analizeaz diferite structuri de filtre (paralel i cascad).

    Structura definit a filtrelor permite cptarea relaiilor corespunztoare (convenabile ) ntrevariabilele interne, i, n consecin, semnalul de ieire corespunztor.

    Orice cauzalitate IIR(Infinite Impulse Response filtru cu caracteristic infinit a impulsului)filtrul se caracterizeaz prin funcia de transformare:

    Filtrele numerice sunt cazuri particulare ale sistemelor liniare invariante. Limitarea semnificativdatorat realizrii fizice a sistemului.

    Definiie: Sistema este numit fizic realizabil,dac semnalul la ieire n momentul de timp tdepinde de semnalul de intrare n momentul de timp t.

    Fie un SLI (sistem liniar invariant) T. S analizm ntrun punct al secvenei0,0][,1]0[: tt .

    Fie ]}[{}{ nhT , i prin definiie ][][ kttk

    . Pentru secvena arbitrar ]}[{ nx este valid

    extinderea k

    kkxnx ][]}[{ . De liniaritate

    k

    kTkxnxT },{][]}[{ iar de invariantitii

    ]}[{}{ knhTk

    . n cele din urm, n cazul n care ]}[{]}[{ nxTny , atunci k

    knhkxny ][][][

    (9).

    Cu alte cuvinte, reacia la orice secven se obine prin convoluia acestei secvene i secvena]}[{ nh , numit impuls de raspuns sau funcia de rspuns.

    Comenzile MATLAB utilizate:Comenzi de uz generalDisp length

    Operatori i simboluri speciale: . + - * / ; %

    Matrici elementare i operaiile asupra lorones pi

    Funcii pachetului de prelucrare a semnalelorresidue latc2tf poly2rc residuez tf2latc zp2sos

    Programul 6_1Cu ajutorul funciei din MATLAB zp2sos programul calculeaz coeficieniiH(z)apelnd funcia

    de tranziie.% Programul P6_1% Tratarea funciei de tranziie n forma coeficienti

  • 8/2/2019 Indrumar metodic PS

    48/50

    48

    num=input('Vectorul coeficientilor numaratorului:');den=input('Vectorul coeficientilor numitorului: ');[z,p,k]=tf2zp(num,den); sos=zp2sos(z,p,k);Exemplu:

    Vectorul coeficientilor numaratorului:[10,20,30]

    Vectorul coeficientilor numitorului: [12,34,45]

    sos = 0.8333 1.6667 2.5000 1.0000 2.8333 3.7500

    Programul 6_2Exist dou forme paralele de realizare funciei de conversie cauzale IIR. Prima forma se bazeaz

    pe poriuni de spaiu dat, n funcie de z-1. Ea se realizeaz cu ajutorul funciei MATLAB residuez. Iarforma a doua depinde dezi se realizeaz cu ajutorul funciei MATLAB residue.

    % Programul P6_2% Realizarea in forma paralela a functiei de tranzitie IIRnum=input('Vectorul coeficientilor numaratorului ');den=input('Vectorul coeficientiloe numitorului ');[r1,p1,k1]=residuez(num,den);[r2,p2,k2]=residue(num,den);disp('Forma paralela 1')disp('Ramasite: '); disp(r1);disp('Polii: '); disp(p1);disp('Constanta: '); disp(k1);disp('Forma paralela 2')disp('Ramasite: '); disp(r2);disp('Polii: '); disp(p2);disp('Constanta: '); disp(k2);

    Rezultatul rularii programului:

    Vectorul coeficientilor numaratorului [10,20,30]

    Vectorul coeficientiloe numitorului [12,34,45]

    Forma paralela 1

    Ramasite:0.0833 + 0.1736i

    0.0833 - 0.1736i

    Polii:

    -1.4167 + 1.3202i

    -1.4167 - 1.3202i

    Constanta:0.6667

    Forma paralela 2

    Ramasite:-0.3472 - 0.1359i

    -0.3472 + 0.1359i

    Polii:

    -1.4167 + 1.3202i

    -1.4167 - 1.3202i

    Constanta:0.8333

    Programul 6_3n acest program se realizeaz algoritmul Gray-Markel. Realizarea grilaj cascad Gray-Markel

    funciei de taranziie H(z) de ordinul N, se bazeaz pe realizarea grilaj cascad funciei intermediarede tranzacieAN(z), avnd acelai numitor, ca i funcia H(z).

    % Programul P6_3% Structura grilaj cascada Gray-Markel% k vectorul parametrilor grilajului% alpha vectorul mutiplicatorilor de legatura directa

    format long% introducerea coeficientilornum=input('Vectorul coeficientilor numaratorului: ');den=input('Vectorul coeficientilor numitorului: ');

  • 8/2/2019 Indrumar metodic PS

    49/50

    49

    N=length(den)-1; % Gradul polinomului de la numitork=ones(1,N);a1=den/den(1);alpha=num(N+1:-1:1)/den(1);for ii=N:-1:1,

    alpha(N+2-ii:N+1)=alpha(N+2-ii:N+1)-alpha(N-ii+1)*a1(2:ii+1); k(ii)=a1(ii+1);a1(1:ii+1)=(a1(1:ii+1)-k(ii)*a1(ii+1:-1:1))/(1-k(ii)*k(ii));

    enddisp('Parametrii grilajului: '); disp(k)disp('Multiplicatorii legaturii directe: '); disp(alpha)subplot(1,2,1); title('Parametrii grilajului');bar(k);subplot(1,2,2); title('Multiplicatorii legaturii directe');bar(alpha);

    Rezultatul rulrii programului:

    Vectorul coeficientilor numaratorului: [10,20,30]

    Vectorul coeficientilor numitorului: [12,34,45]

    Parametrii grilajului:

    0.596491228070175 3.750000000000000

    Multiplicatorii legaturii directe:

    2.500000000000000 -5.416666666666667 -5.310672514619883

    1 20

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    1 2 3-6

    -5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

  • 8/2/2019 Indrumar metodic PS

    50/50

    Bibliografia

    1. A. . , ,. , 20032. S.Haykin, B.V. Veen, Signals and Sistems, New Yorc, 19993. D.M.Etter,Engineering Problem Solving with MATLAB, Matlab Curriculum Series, 1996