Sunteți pe pagina 1din 7

PNS

Lucrarea 2

Semnale numerice

Lucrarea 2 Semnale numerice


Prin semnal se nelege orice cantitate sau calitate fizic care variaz cu timpul, spaiul sau oricare alt sau alte variabile independente ce transport sau conine informaie. Matematic, semnalele sunt modelate ca funcii de una sau mai multe variabile independente. Un semnal se numete unidimensional dac este reprezentat n funcie de o singur variabil independent. Un semnal se numete M-dimensional dac valoarea sa este o funcie de M variabile independente. Prelucrarea numeric a semnalelor se ocup cu reprezentarea numeric a semnalelor originale n domeniul variabilei sau al variabilelor sau ntr-un domeniu transformat i cu modificarea algoritmic a acestora cu ajutorul procesoarelor numerice pentru a analiza, modifica sau extrage informaii din semnale. Un semnal definit n timp discret, x[n] , este o funcie a crei variabil independent este un ntreg i este reprezentat de obicei printr-o secven de numere. Modelul matematic al unui semnal discret poate fi definit ca o aplicaie: Obinuit, x[k ] definete al k-lea eantion al semnalului discret x [n ] , indiferent dac acesta provine din eantionarea unui semnal analogic sau nu. Descrierea secvenelor poate fi efectuat prin: Reprezentarea funcional; Reprezentarea tabelar; Reprezentarea prin secvene de numere. Un semnal x [n ] este periodic, de perioad N dac i numai dac

x : ,

n x[n]

x[n N ] = x[n], n i N *

Cea mai mic valoare pozitiv a lui N pentru care relaia precedent este ndeplinit se numete perioad fundamental. Dac nu exist nici o valoare pentru N care s satisfac relaia, semnalul se numete neperiodic sau aperiodic.

1. Generarea unor semnale elementare


Semnalele elementare enumerate mai jos sunt generate cu urmtoarea secven de comenzi MATLAB: 1. 2. 3. delta=[1,zeros(1,N)] genereaz un vector linie ce are primul element 1 i urmtoarele N sunt zerouri; Semnalul treapt u=ones(1,N) genereaz un vector linie cu unitate N elemente de 1 Semnal dreptunghiular d=[ones(1,N), zeros(1,L)] genereaz un vector linie cu primele N elemente de 1 i urmtoarele L elemente de 0 14 Tabelul 1 Impulsul unitate

PNS 4. 5.

Lucrarea 2 Semnal sinusoidal Semnal sinus atenuat

Semnale numerice s=sin(2*pi*f*n) genereaz o secven sinusoidal cu frecvena discret f, n=-M:L. sc=sinc(2*f*n) genereaz un sinus atenuat cu frecvena f dup formula: sc = sin(2 f n) /(2 f n) ,n=-M:L. ex=exp(n) unde n=-M:L ex1=pow2(-g*(0:L)) ex2=p.^n ex3=power(p,n) unde n=-M:L sau unde n=-M:L

6. 7. 8. 9.

Semnal exponenial

en
Semnalul exponenial Semnal exponenial

gn

Secvena aleatorie uniform

10. Secvena aleatorie gaussian

ran=rand(M,N) genereaz o matrice de dimensiune (M N) cu elementele alese aleator dup o distribuie uniform n intervalul [0 ,1] ran=randn(M,N) genereaz o matrice de dimensiune (M N) cu elementele alese aleator dup o distribuie normal cu medie 0 i dispersie 1

n continuare sunt prezentate cteva programe simple de generare i vizualizare a unor semnale elementare pentru anumite domenii de valori ale variabilei independente. Pentru a obine impulsul unitate centrat pe valoarea 0 a variabilei independente se utilizeaz urmtorul program MATLAB : Exemplul 1 Generarea i reprezentarea impulsului unitate [n]
% Program P2_1 % Generarea impulsului unitate clf; % sterge vechiul grafic % generarea unui vector de la -10 la 20 n = -10:20; % generarea impulsului d = [zeros(1,10) 1 zeros(1,20)]; % reprezentarea grafic stem(n,d); xlabel('n');ylabel('Amplitudine'); title('Impulsul unitate'); axis([-10 20 0 1.2]); %vezi help axis

Impulsurile [ n n0 ] pot fi folosite la construirea trenurilor de impulsuri periodice, de perioad P i lungime MP

s[n] = Al [n lP ] .
l =0

M 1

Exemplul 2 Urmtorul program genereaz i reprezint un tren periodic de impulsuri:


% Program P2_2 P=5; M=6; %generarea impulsului generator, de lungime P d=[1;zeros(P-1,1)]; y=d*ones(1,M); %generarea trenului de impulsuri de lungime P*M tren=y(:);

15

PNS

Lucrarea 2

Semnale numerice

%reprezentare grafica n=0:M*P-1; stem(n,tren); xlabel('n');ylabel('Amplitudine'); title('Tren de impulsuri unitate'); axis([-2 32 0 1.2]);

Exemplul 3 Generarea i reprezentarea treptei unitate u[n]


% Program P2_3 % Generarea treptei unitate clf; % sterge vechiul grafic % generarea unui vector de la -10 la 20 cu pasul de 1 n = -10:20; % generarea treptei unitate u = [zeros(1,10) ones(1,21)]; % reprezentarea grafica stem(n,u); xlabel('n');ylabel('Amplitudine'); title('Treapta unitate'); axis([-10 20 0 1.2]);

Exemplul 4 Generarea i reprezentarea unei secvene exponeniale reale:


% Program P2_4 % Generarea unei secvente exponentiale reale clf; n = 0:35; a = 1.2; K = 0.2; x = K*a.^n; stem(n,x); title('Secventa exponentiala reala'); xlabel('n');ylabel('Amplitudine');

Exemplul 5 Generarea i reprezentarea unei secvene exponeniale complexe:


% Program P2_5 % Generarea unei secvente exponentiale complexe clf; c = -(1/12)+(pi/6)*i; K = 2; n = 0:40; x = K*exp(c*n); subplot(2,1,1); %vezi help subplot stem(n,real(x)); xlabel('n');ylabel('Amplitudine'); title('Partea reala a secventei exponentiale complexe'); subplot(2,1,2); stem(n,imag(x)); xlabel('n');ylabel('Amplitudine'); title('Partea imaginara a secventei exponentiale complexe'); Se observ c x[n] este:
1 +i n 12 6

x[n] = 2e

= 2e

1 n 12

i n 6

= 2e

1 n 12

n cos n + i e 12 sin n 6 6 1

Exemplul 6 Generarea i reprezentarea unei secvene sinusoidale:


% Program P2_6 % Generarea unei secvente sinusoidale

16

PNS

Lucrarea 2

Semnale numerice

n = 0:40; f = 0.1; %frecventa discreta phase = 0; A = 1.5; arg = 2*pi*f*n+phase; x = A*cos(arg); clf; stem(n,x); %afiseaza secventa sinusoidala axis([0 40 -2 2]); grid; title(Secventa sinusoidala'); xlabel('n'); ylabel('Amplitudine');

Exemplul 7 Generarea i reprezentarea unui semnal netezit prin mediere:


% Program P2_7 % Semnal netezit prin mediere clf; R = 51; d = 0.8*(rand(1,R)-0.5); % generare de zgomot m = 0:R-1; s = 2*m.*(0.9.^m); % generarea unui semnalului util x = s + d; % generarea semnalului util cu zgomot subplot(2,1,1); %reprezentarea grafica a semnalelor d, s si x plot(m,d','r-',m,s,'g--',m,x,'b-.'); xlabel('Time index n');ylabel('Amplitude'); legend('d[n] ','s[n] ','x[n] '); %vezi help legend x1 = [0 0 x]; %secventa x intirziata cu 2 unitati x2 = [0 x 0]; %secventa x intirziata cu o unitate x3 = [x 0 0]; %secventa x neintirziata y = (x1 + x2 + x3)/3; % medierea celor trei semnale x1, x2, x3 subplot(2,1,2); plot(m,y(2:R+1),'r-',m,s,'g--'); % afisarea semnalului mediat legend( 'y[n] ','s[n] '); xlabel('n');ylabel('Amplitude');

Exemplul 8 Generarea i reprezentarea unei secvene modulate n amplitudine y[n] = (1 + m sin(2f L n)) sin( 2f H n)
% Program P2_8 % Generarea unei secvene modulate n amplitudine clf; n = 0:150; m = 0.4; fH = 0.08; fL = 0.01; xH = sin(2*pi*fH*n); %purtatoarea xL = sin(2*pi*fL*n); %modulatoarea y = (1+m*xL).*xH; stem(n,y);grid; title('Secventa modulata in amplitudine') xlabel('n');ylabel('Amplitudine');

Exemplul 9 Generarea unui semnal de tip chirp (semnal sinus cu frecven liniar cresctoare n timp: x[n] = sin( 2 ( f n) n) n = 0,1... )
% Program P2_9 % Generarea unui semnal de tip chirp n = 0:200;

17

PNS

Lucrarea 2

Semnale numerice

a = pi/4/200; b = 0; arg = a*n.*n + b*n; x = cos(arg); clf; stem(n, x); axis([0,200,-1.5,1.5]); title('Semnal tip chirp'); xlabel('n'); ylabel('Amplitudine'); grid;

2. Analiza proprietilor unor secvene elementare


Exemplul 10 Determinarea maximului, minimului, mediei i dispersiei unor semnale (sinusoidal, dreptunghiular, dinte de fierstru) Se vor folosi funciile: x=sin(2*pi*f*n) genereaz o un semnal sinusoidal (vezi Tabelul 1); x=square(2*pi*f*n) genereaz o un semnal dreptunghiular (vezi help square); x=sawtooth(2*pi*f*n) genereaz o un semnal dinte de fierstru (vezi help square); medie=mean(x) returneaz media elementelor din vectorul x; [m,loc]=min(x) returneaz minimul din vectorul x precum i poziia acestuia; [M,loc]=max(x) returneaz maximul din vectorul x precum i poziia acestuia; d=std(x) returneaz deviaia standard a vectorului x calculat cu formula:

std =

1 N ( x mx ) 2 N 1 i =1

Generarea i analiza unor semnale sinusoidale, dreptunghiulare, dinte de fierstru


% Program P2_10 %Se genereaza fierstru n=1:50; f=1/13; semnalele sinusoidal, dreptunghiular, dinte de

xsin=sin(2*pi*f*n); xdrept=square(2*pi*f*n); xw=sawtooth(2*pi*f*n); med=mean(xsin) %se procedeaza la fel si cu xdrept, xw ms=min(xsin) %se procedeaza la fel si cu xdrept, xw Ms=max(xsin) % se procedeaza la fel si cu xdrept, xw ds=std(xsin) %se procedeaza la fel si cu xsin, xw
%rezultatele se vizualizeaz n fereastra Matlab

18

PNS

Lucrarea 2

Semnale numerice

3. Aplicaii propuse
Exerciiul 1. S se genereze i s se reprezinte urmtoarele secvene. Abscisa (n) trebuie s se cuprind numai domeniul indicat. x1[n]=0.8 [n], x2[n]=0.9 [n-5], x3[n]=1.5 [n-333], x4[n]=4.9 [n+7], x5[n]=4 u[n], x6[n]=1.4 u[n-7], x7[n]=2.3 u[n+5], -15n15 1n20 300n350 -10n0 -10n10 -5n20 -15n10

Exerciiul 2. S se genereze i s se reprezinte grafic n domeniul indicat urmtoarele semnale sinusoidale: x1[n]=sin(/17n), x2[n]=sin(/17n), x3[n]=sin(3n +/2), x4[n]=cos(/17n), 0n25 -15n15 -10n10 0n25

S se dea o formula mai simpl pentru x3[n] i s se explice de ce x4[n] nu este o secven periodic. Exerciiul 3. S se genereze i s se reprezinte grafic urmtoarele semnale: 1 pentru n = 0,1,2,3 x 1[n] = 0 n rest -5n10

n(1-n) pentru n = 2,4 x 2 [n] = 0 n rest


M 1 n + 1 0 n 3 x 3[n] = p ( n i P ) cu p = n rest i =0 0 M = 5 , P=4

-5n10

0n20

Exerciiul 4. S se construiasc o funcie Matlab care s genereze o sinusoid de lungime finit, cu o funcie cu 5 argumente de intrare: 3 pentru parametrii sinusoidei i 2 pentru a specifica primul i ultimul indice al secvenei finite. Funcia va returna un vector coloan care va conine valorile sinusoidei. Indicaie. Declaraia de funcie va fi:
function s=gensin(ampl,frecv,phase,ninitial,nfinal);

Utilizai funcia respectiv ntr-un script pentru calculul maximului, mediei i dispersiei unei secvene sinusoidale cu frecvena frecv=1/8, ampl=1, phase = /3 , 0 n 40

19

PNS

Lucrarea 2

Semnale numerice

Exerciiul 5. S se modifice funcia de la exerciiul 4, astfel nct s se returneze dou argumente: un vector ce conine valorile semnalului i un vector al indicilor semnalului. Indicaie. Declaraia de funcie va fi n acest caz:
function [s,n]=gensin1(ampl,frecv,phase,ninitial,nfinal);

Exerciiul 6. S se genereze i s se reprezinte grafic un semnal dreptunghiular i unul dinte de fierstru care s aib 10 eantioane pe perioad. Indicele n este cuprins ntre 0 n 40 .

20

S-ar putea să vă placă și