Sunteți pe pagina 1din 17

Ministerul Educației și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică şi Microelectronică

Departamentul Ingineria Software și Automatică

RAPORT
Lucrare de laborator nr.2
Disciplina: Prelucrarea Semnalelor

Tema: Formarea semnalelor elementare în sistemul Matlab.

A efectuat: Grosu Cristian, gr. TI-201

A verificat: asist. univ. Cazac Artiom

Chişinău 2023
Obiective:
Studierea posibilităților sistemului Matlab în modelarea diferitor forme de semnale în
vederea cercetării particularităților lor de bază.

1. Să se genereze şi să se reprezinte următoarele secvenţe.


x1[n]=0.8 δ [n], -15≤n≤15
x2[n]=0.9 δ [n-5], 1≤n≤20
x3[n]=1.5 δ [n-333], 300≤n≤350
x4[n]=4.9 δ [n+7], -10≤n≤0
x5[n]=4 u[n], -10≤n≤10
x6[n]=1.4 u[n-7], -5≤n≤20
x7[n]=2.3 u[n+5], -15≤n≤10

% Definirea intervalului de timp n


n1 = -15:15;
n2 = 1:20;
n3 = 300:350;
n4 = -10:0;
n5 = -10:10;
n6 = -5:20;
n7 = -15:10;

% Definirea secvențelor
x1 = 0.8 * (n1==0); % δ[n] este o impuls unitate
x2 = 0.9 * (n2==5); % δ[n-5]
x3 = 1.5 * (n3==333); % δ[n-333]
x4 = 4.9 * (n4==-7); % δ[n+7]
x5 = 4 * (n5>=0); % u[n] este o treaptă unitate
x6 = 1.4 * (n6>=7); % u[n-7]
x7 = 2.3 * (n7<=-5); % u[n+5]

% Reprezentarea grafică a secvențelor


figure;
stem(n1, x1);
title('x1[n]=0.8 \delta[n]');
figure;
stem(n2, x2);
title('x2[n]=0.9 \delta[n-5]');
figure;
stem(n3, x3);
title('x3[n]=1.5 \delta[n-333]');
figure;
stem(n4, x4);
title('x4[n]=4.9 \delta[n+7]');
figure;
stem(n5, x5);
title('x5[n]=4 u[n]');
figure;
stem(n6, x6);
title('x6[n]=1.4 u[n-7]');
figure;
stem(n7, x7);
title('x7[n]=2.3 u[n+5]');

Figura 1.1. Reprezentarea grafică x1

Figura 1.2. Reprezentarea grafică x2


Figura 1.3. Reprezentarea grafică x3

Figura 1.4. Reprezentarea grafică x4


Figura 1.5. Reprezentarea grafică x5

Figura 1.6. Reprezentarea grafică x6


Figura 1.7. Reprezentarea grafică x7

 Pentru trei cazuri să se construiască un tren de impulsuri unitare periodice.

T = 400;
t = -T/2:1:T/2;
fs = 800;

x1 = 0.8 * (t == 0);
x3 = 1.5 * (t == -333);
x5 = 4 * (t >= 0 & t <= 10);
x7 = 2.3 * (t >= -5 & t <= 10);

% semnalul de impulsuri periodice


x = x1 + x3.*diric((t-333)/T, 21) + x5.*diric(t/10, 21) + x7.*diric((t+5)/10,
21);

stem(t, x);
xlabel('Timp');
ylabel('Amplitudine');
title('Semnal de impulsuri periodice');
Figura 1.8. Tren de impulsuri unitare la secvențele x1, x3, x5, x7

2. Să se genereze în MATLAB următorul semnal sinusoidal.

clf;
t=0:0.001:2;
f=1/0.24;
phase=0;
A=(7-3)/2;
arg=2*pi*f*t-phase;
x=A*cos(arg) + (7+3)/2;
plot(t,x);
axis([0 2 3 7]);
grid;
title('Sinusoida');
xlabel('Timpul t');
ylabel('Amplitudinea');
axis;
Figura 2. Semnalul Sinusoidal

3. Să se genereze în MATLAB următorul semnal dreptunghiular.

t = 0:0.001:2; % vectorul de timp


d = mod(t, 0.5) <= 0.25; % momentele de timp la care semnalul are nivelul maxim
y = 4*d - 2; % generarea semnalului
plot(t, y), grid % afisarea semnalului
Figura 3. Semnalul dreptunghiular

4. Să se genereze în MATLAB următorul semnal triunghiular.

t = 0:0.001:2; % vectorul de timp


y = sawtooth(4*pi*t, 0.5); % generarea semnalului triunghiular cu perioada de
0.5 secunde
plot(t, y), grid % afisarea semnalului
Figura 4. Semnalul triunghiular

5. Să se creeze în intervalul 0s≤t≤256s o oscilaţie armonică cu amplitudinea unitate,


perioada T=50 sec și faza inițială 𝜋/3.
t = 0:0.1:256;
T = 50;
f = 1/T; % frecvența
phase = pi/3; % faza inițială
y = sin(2*pi*f*t + phase); % oscilația armonică
plot(t, y);
xlabel('t (secunde)');
ylabel('Amplitudine');
title('Oscilație armonică cu perioada 50 secunde și fază inițială pi/3');

Figura 5. Oscilatie armonica


6. Să se creeze în intervalul 0s≤t≤ls următoarele semnale exponenţiale:
a) 5exp(-6t);
b) exp(5t),
folosind frecvenţa rezoluției temporale fd=1000Hz
%a) 5exp(-6t);
t1 = 0:0.001:1;
a1 = 5;
b1 = 6;
y1 = a1 * exp(-b1 * t1);
figure;
hold on;
subplot(2,1,1);
plot(t1, y1), grid;
title('5exp(-6t)');

%b) exp(5t),
t2 = 0:0.001:1;
a2 = 5;
y2 = exp(a2 * t2);
subplot(2,1,2);
plot(t2, y2), grid;
title('exp(5t)');

Figura 6. Semnale exponentiale


7. Să se creeze în intervalul -10s≤t≤10s un impuls exponenţial descris de următoarea
expresie x(t)=Brt, unde B=l, r=0.8
% intervalul de timp
t = -10:10;

% expresia functiei
B = 1;
r = 0.8;
x = B * r .^ t;

% afisare grafic
plot(t, x)
xlabel('t')
ylabel('x(t)')
title('Impuls exponențial')

Figura 7. Impuls exponențial

8. Să se creeze în intervalul -10s≤t≤10s un semnal sinusoidal dat de expresia:



x ( t )=2 sin ⁡( t)
12

t = -10:0.1:10;

% expresia functiei
x = 2 * sin(2 * pi / 12 * t);

plot(t, x)
xlabel('t')
ylabel('x(t)')
title('Semnal sinusoidal')

Figura 8. Semnal sinusoidal

9. Să se creeze un semnal sinusoidal atenuat, pe baza înmulţirii exponentei atenuatoare


formate în punctul 7 şi a semnalului sinusoidal creat în punctul 8, ambele obținute
pentru intervalul - 10s≤t≤10s.
t = linspace(-10, 10, 1000);
% expresia functiei
x = 2 * sin(2 * pi / 12 * t);
B = 1;
r = 0.8;
a = B * r .^ t;
x_aten = x .* a;

plot(t, x_aten)
xlabel('t')
ylabel('x(t)')
title('Semnal sinusoidal atenuat')
Figura 9. Semnal sinusoidal atenuat

10.Să se creeze un impuls dreptunghiular de amplitudine unitate şi durata 1s, amplasat


simetric față de originea de coordonate t=0 (-0.5s≤𝜏≤0.5s) descris în intervalul de timp
-1s≤t≤1s, utilizând rezoluția temporală t=2ms.
Sugestie: impulsul dreptunghiular poate fi creat cu ajutorul diferenţei a două funcţii de
tip "treaptă unitară" deplasate în timp cu un interval egal cu durata impulsului.

t = -1:0.002:1;

% generare impuls dreptunghiular


tau = 0.5;
x = zeros(size(t));
x(t >= -tau & t < tau) = 1;

plot(t, x)
xlabel('t')
ylabel('x(t)')
title('Impuls dreptunghiular')
Figura 10. Impuls dreptunghiular

11.A forma o succesiune periodică de impulsuri dreptunghiulare cu amplitudinea A=±l,


viteza unghiulară ω=π/4 și coeficientul de umplere 30% în intervalul -10s≤t≤10s.
A = 1;
omega = pi/4;
coef = 30; % coeficientul de umplere
T = 2*pi/omega; % perioada semnalului
t = -10:0.01:10;
x = A*square(omega*t, coef); % semnalul format din impulsuri dreptunghiulare
plot(t,x);
ylim([-1.2 1.2]); % limitarea axei y pentru a vedea amplitudinea semnalului
title('Succesiune de impulsuri ')
Figura 11. Succesiune de impulsuri dreptunghiulare

12.Pe intervalul -10s≤t≤10s să se reprezinte grafic în aceeași figură, în sisteme de


coordonate diferite un semnal exponenţial complex x(t)=exp((-0.1+j0.3)t).
t = -10:0.01:10;
x = exp((-0.1+0.3j)*t);

% reprezentare semnal in planul complex


subplot(2,1,1);
plot(real(x), imag(x)); % reprezentarea semnalului in planul complex
title('Semnal exponențial complex - planul complex');
xlabel('Re(x(t))');
ylabel('Im(x(t))');
grid on;

% reprezentare semnal în domeniul timpului


subplot(2,1,2);
plot(t, real(x), t, imag(x));
title('Semnal exponențial complex - domeniul timpului');
xlabel('t [s]');
ylabel('x(t)');
legend('Partea reala', 'Partea imaginara');
grid on;
Figura 12. Semnal exponential complex

Concluzie:
La lucrarea de laborator nr. 2, am studiat formarea semnalelor elementare în sistemul MatLab.
Am studiat posibilitățile sistemului în modelarea diferitor forme de semnale în vederea cercetării
particularităților lor de bază.
Pentru sarcina practică am realizat 12 exerciții, în care m-am familiarizat cu semnalele de diferite tipuri.
Cele mai greu de implementat au fost generare semnalelor sinusoidal, dreptunghiular și triunghiular conform
imaginii, deoarece este cam complicat de realizat semnalele și de selectat valorile necesare.

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