PS Teme
PS Teme
PS Teme
Bibliografie..................................................................................105
3
LUCRAREA nr. 1
INTRODUCERE ÎN MATLAB
1.1. Introducere
6
Sintaxe:
cd – returnează numele directorului current;
cd c:\matlab\nume_director – schimbă directorul
de lucru în nume_director (presupunând că MATLAB
este instalat pe c:\).
Atenţie:
- dacă după o linie de comandă urmează semnul “ ; ”, atunci
rezultatul nu va mai fi afişat (excepţie fac comenzile grafice);
- dacă în faţa unei linii de comandă se pune semnul “ % ”,
atunci se face abstracţie de linia respectivă (este interpretată
ca o linie de comentariu);
- dacă se doreşte continuarea unei instrucţiuni pe linia
următoare, se folosesc “…” urmate de enter.
7
Verificaţi următoarele exemple (se va tasta direct în fereastra de
comenzi):
p=pi; // nu se va afişa valoarea p (dar există în memorie)
q=pi/2 // va afişa valoarea q
%r=pi/4 // nu se ia în considerare această linie
v=r/2 // va rezulta o eroare, deoarece nu îl cunoaşte pe r
s=1+2+3+... enter
4+5+6 // instrucţiunea se continuă şi pe linia următoare
Pentru un vector v:
- v(i) reprezintă elementul de pe poziţia i din vector.
E=[A,C] → E =
1 2 3 -1
4 5 0 -2
0 0 -3 6
// s-a construit matricea E de dimensiune 3 x 4, prin adăugarea
vectorului C la matricea A (ca ultimă coloană).
11
1.2.4. Vectori şi matrice uzuale
• Matricea goală
Sintaxa:
- x=[] – generează o matrice goală (fără niciun element).
Exemplu:
x=[] → x =
[]
13
- zeros(m,n) – returnează o matrice de dimensiune m x n
cu toate elementele egale cu 0;
- zeros(size(M)) – returnează o matrice de dimensiunea
matricei M cu toate elementele egale cu 0.
Verificaţi următoarele exemple:
zeros(3) zeros(1,5)
zeros(3,2) zeros(5,1)
zeros(size(D)) // unde D este matricea definită anterior.
14
- rand(size(M)) – returnează o matrice de dimensiunea
matricei M, având drept elemente numere aleatoare cu
distribuţie uniformă între 0 şi 1.
15
- diag(v,k) – returnează o matrice pătrată cu elementele
vectorului v pe diagonala k deasupra celei principale, dacă
k > 0, sau sub cea principală dacă k < 0; restul elementelor
sunt 0.
Dacă M este o matrice atunci:
- diag(M) – returnează un vector coloană ce conţine
elementele de pe diagonala principală a matricei M;
- diag(M,k) – returnează un vector coloană ce conţine
elementele din matricea M de pe diagonala k deasupra celei
principale, dacă k > 0, sau sub cea principală, dacă k < 0.
Se va defini un vector linie a şi o matrice A:
a=randn(1,5)
A=randn(5)
Verificaţi următoarele exemple:
diag(a)
diag(a,1)
diag(a,-1)
diag(a,2)
diag(a,-2)
diag(A)
diag(A,2)
diag(A,-2)
diag(diag(A))
17
Verificaţi următoarele exemple:
length(a) size(a)
length(b) size(b)
length(C) size(C)
E 1.1. Exerciţiu:
1
Fie vectorii linie a = [0, 0.1, 0.2, … , 2] şi coloană b = [ ⋮ ]
1
a) Ce lungime trebuie să aibă b astfel, încât să aibă sens
înmulţirea (în sens matricial) a*b? Iniţializaţi în MATLAB cei
doi vectori şi efectuați înmulţirea.
b) Efectuați înmulţirea b*a.
18
1.2.6. Instrucţiuni de control logic
Operatori relaţionali şi operatori logici
- if expresie_1
instrucţiuni_1
else if expresie_2
instrucţiuni_2
end
// dacă expresie_1 este adevărată, se execută
instrucţiuni_1; dacă expresie_1 este falsă şi
expresie_2 este adevărată, se execută instrucţiuni_2.
• Operatori relaţionali
- < - mai mic
- <= - mai mic sau egal
- > - mai mare
- >= - mai mare sau egal
- == - identic
- ~= - diferit
• Operatori logici
- & - operatorul ŞI logic
- | - operatorul SAU logic
- ~ - operatorul NU logic.
E 1.2. Exerciţiu:
Se creează un fişier nou care trebuie salvat în directorul
d:/student/pns/nrgrupa. Folosind sintaxele şi indicaţiile din
secţiunile 1.2.6 şi 1.2.7, elaborați un program MATLAB care să
genereze un vector cu elemente aleatoare cu distribuţie normală
(gaussiană) şi să afişeze elementele negative ale acestui vector.
• Operatori aritmetici:
- + - adunare;
- - - scădere;
- * - înmulţire
- .* - înmulţire între două matrice (sau vectori) element
cu element;
- / - împărţire;
- împărţire între două matrice (sau vectori) element
- ./
cu element;
- ^ - ridicare la putere;
- .^ - ridicare la putere a unei matrice (sau vector) element
cu element;
- ’ - transpunere şi conjugare;
- .’ - transpunere.
22
Să se definească următoarele elemente:
1 2 3 1−𝑖 2+𝑖 0
A= [ ], B= [ ],
4 5 6 −𝑖 3 𝑖
−1/3
a=[1 + 𝑖 3 0], b=[ ].
−22
24
Pentru informaţii despre modul de utilizare al acestor funcţii
folosiţi comanda help însoţită de numele funcţiei dorite (vezi
sintaxa de la pagina 2).
1 2 3
Se vor defini următoarele elemente: A= [ ], a=[1 3 8]
4 5 6
26
E 1.3. Exerciţiu:
Elaborați un program MATLAB care generază un vector cu
elemente complexe. Elaborați (un alt fişier) o funcţie MATLAB
care, având drept parametru de intrare vectorul cu valori
complexe, returnează ca parametri de ieşire:
- media aritmetică a părţilor reale ale elementelor vectorului;
- un vector ce conţine elementele vectorului iniţial ridicate la
pătrat;
- o matrice obţinută din înmulţirea vectorului iniţial cu
transpusul său.
Atenţie: pentru a nu se afişa rezultate intermediare din funcţie
sau elementele unor variabile se va folosi ; la sfârşitul liniei
respective de program.
28
• loglog,semilogx,semilogy – Reprezentări grafice
în coordonate logaritmice
Pentru acest tip de reprezentări se folosesc funcţiile loglog,
semilogx şi semilogy. Sintaxele rămân aceleaşi ca la funcţia
plot, singura deosebire fiind modul de scalare a axelor. Astfel,
funcţia loglog scalează ambele axe (abscisa şi ordonata),
folosind logaritmul în bază 10, deci, pe axe vom avea puteri ale lui
10. Funcţia semilogx realizează acelaşi tip de scalare, însă
numai pe abscisă, iar funcţia semilogy procedează în acelaşi
mod însă numai pe ordonată.
1 2 3
4 5 6
7 8 9
Sintaxă:
- subplot(m,n,p) – împarte fereastra grafică într-o
matrice m x n (m⋅n “miniferestre”), iar p reprezintă numărul
fiecărei “miniferestre” în matricea grafică respectivă
(numărarea se face pe linii); sintaxa respectivă este urmată de
comanda propriu-zisă de afişare a graficului, care poate fi
oricare din cele prezentate până acum (stem, plot, loglog,
semilogx, semilogy).
29
• axis – Schimbarea limitelor axelor
Dacă se doreşte vizualizarea numai a unei anumite porţiuni
dintr-un grafic, corespunzătoare unor anumite intervale pe abscisă
şi ordonată, se va folosi comanda axis.
Sintaxa:
- axis([x0 x1 y0 y1]) – pe abscisa se va vizualiza între
valorile x0 şi x1, iar pe ordonată între y0 şi y1; această
sintaxă se plasează după comanda de reprezentare grafică.
• title,xlabel,ylabel,gtext,grid – Precizarea
titlului graficului şi a etichetelor axelor. Trasarea unei reţele
pe grafic. Plasarea unui text pe grafic.
Sintaxe:
- title(’text’) – plasează deasupra graficului, ca titlu,
textul text;
- xlabel(’text’) – textul text devine eticheta de pe
abscisă;
- ylabel(’text’) – textul text devine eticheta de pe
ordonată;
- grid – trasează pe grafic o reţea de linii, înlesnind astfel
citirea graficului;
- gtext(’text’) – plasează pe grafic textul text
(folosind mouse-ul). Toate aceste sintaxe urmează după
comanda de reprezentare grafică.
33
Exemplu:
Fie f o funcţie reală de o variabilă reală, precizată de
următorii vectori:
x=[1 1.5 2.1 2.4 3 3.2];
y=[56 41 30 37 42 40].
Să se aproximeze derivata de ordinul I a funcţiei f în punctele
1.5, 2.1 şi 3.2, folosind diferenţe regresive.
Soluție:
% vectorii ce determina functia
x=[1 1.5 2.1 2.4 3 3.2];
y=[56 41 30 37 42 40];
% aproximarea derivatei
df=diff(y)./diff(x);
% afisarea derivatei in punctele dorite
vx=[1.5 2.1 3.2];
for i=1:length(vx)
% determinarea pozitiei pe care se afla vx(i)
in x
k=find(x==vx(i));
% afisarea derivatei cu diferente regresive
disp(['f''(' num2str(vx(i)) ') = '
num2str(df(k-1))])
end
În urma execuţiei acestei secvenţe se obţine:
f'(1.5) = -30
f'(2.1) = -18.3333
f'(3.2) = -10
Exemplu:
Să se aproximeze în punctele -2, -1, -0.5, 0.5, 1 şi 1.45
derivata de ordinul I a funcţiei f precizată de vectorul
y=[100 90 86 62 74 81] pe intervalul [-2:3]:
Soluţie: Deoarece se doreşte aproximarea derivatei funcţiei f
şi în primul punct, se va utiliza formula cu diferenţe progresive.
Această formulă va putea fi folosită pentru a calcula derivata în
punctele -2, -1 şi 1, deoarece acestea fac parte din elementele
{xi}. Pentru punctele -0.5, 0.5 şi 1.45, care nu apar în șirul de
34
valori, derivata se va aproxima prin interpolare cu funcţii spline.
Se execută următoarea secvenţă MATLAB:
% datele initiale
x=-2:3;
y=[100 90 86 62 74 81];
% aproximarea derivatei
df=diff(y)./diff(x);
% afisarea derivatei in punctele x(i) dorite
vx1=[-2 -1 1];
for i=1:length(vx1)
% determinarea pozitiei pe care se afla vx(i)
in x
k=find(x==vx1(i));
% afisarea derivatei cu diferente progresive
disp(['f''(' num2str(vx1(i)) ') = '
num2str(df(k))])
end
% afisarea derivatei in punctele -0.5, 0.5 si
1.45
vx2=[-0.5 0.5 1.45]; n=length(x);
der=spline(x(1:n-1),df,vx2);
for i=1:length(der)
disp(['f''(' num2str(vx2(i)) ')='
num2str(der(i))])
end
şi se obţin rezultatele:
f'(-2) = -10
f'(-1) = -4
f'(1) = 12
f'(-0.5)=-18.6719
f'(0.5)=-9.7344
f'(1.45)=23.3022
Exemplu:
Fie funcţia f dată prin puncte de relaţiile
𝑠𝑖𝑛(𝑥𝑖 ) 𝑖 𝜋
𝑓(𝑥𝑖 ) = 2 𝑐𝑜𝑠 ( ) , 𝑥𝑖 = 𝜋 + 𝑖 , 𝑖 = 1,2, … ,150.
𝑖 +1 𝑥𝑖 30
35
Să se reprezinte grafic derivata de ordinul I a funcţiei pe
intervalul [x2; x149], folosind diferenţe centrate.
Soluţie: Se execută următoarea secvenţă de program Matlab:
% generarea vectorilor x si y
for i=1:150
x(i)=pi+i*pi/30;
y(i)=sin(x(i))/(i^2+1)*cos(i/x(i));
end
% aproximarea derivatei cu diferente centrate
dx=diff(x); dy=diff(y); k=length(dx);
df=(dy(1:k-1)+dy(2:k))./(dx(1:k-1)+dx(2:k));
% reprezentarea grafica a derivatei
n=length(x);
plot(x(2:n-1),df)
Graficul derivatei este redat în figura 1.1.
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
-0.02
2 4 6 8 10 12 14 16 18 20
37
7000
6000
5000
4000
3000
2000
1000
-1000
-4 -3 -2 -1 0 1 2 3 4 5
38
Soluţie: Funcţia, fiind cunoscută prin puncte, se va folosi
metoda trapezelor pentru calculul integralei cerute. Se execută
următoarea secvenţă MATLAB:
% generarea vectorilor x si y
for i=1:150
x(i)=pi+i*pi/30;
y(i)=sin(x(i))/(i^2+1)*cos(i/x(i));
end
% calculul integralei folosind metoda trapezelor
I=trapz(x,y)
Rezultând următoarea valoare a integralei:
I = -0.0025.
Funcţia MATLAB quad realizează calculul integralei
definite a unei funcţii prin metoda adaptativ-recursivă Simpson (o
variantă mai performantă a metodei lui Simpson, pasul de
parcurgere a intervalului de integrare este calculat implicit de către
funcţia MATLAB). Funcţia quad presupune că funcţia de integrat
f este cunoscută prin expresia sa analitică, y = f(x). Două
sintaxe de apel ale funcţiei quad sunt:
I=quad(nume_fisier,a,b);
I=quad(nume_fisier,a,b,precizia),
unde:
- nume_fisier reprezintă un şir de caractere ce conţine
numele fişierului-funcţie în care a fost scrisă expresia funcţiei de
integrat f;
- a şi b reprezintă limitele de integrare (capetele intervalului
[a,b] pe care se realizează integrarea);
- precizia este un argument opţional prin care se poate
modifica precizia implicită 10-6;
𝑏
- I reprezintă aproximarea integralei definite ∫𝑎 𝑓(𝑥)𝑑𝑥.
Exemplu:
𝜋
Să se calculeze integrala ∫0 ln(𝑥 + 1)sin(𝑥)𝑑𝑥.
Soluţie: Funcţia de integrat, având expresia cunoscută,
integrala ei va fi calculată cu ajutorul metodei lui Simpson. Se
39
defineşte expresia funcţiei de integrat într-un fişier-funcţie (de
exemplu, f.m):
function y=f(x)
y=log(x+1).*sin(x)
Pentru calculul integralei se apelează funcţia MATLAB quad:
I=quad('f',0,pi),
rezultând valoarea:
I = 1.8113.
E 1.7. Exerciţiu:
1. Fie f o funcţie reală de o variabilă reală, precizată de următorii
vectori:
x=[-2 -1.5 0 0.5 2.5 3];
y=[6 9 11 10 7 5].
Să se aproximeze derivata de ordinul I a funcţiei f în
punctele:
a) -2, 0 şi 2.5, folosind diferenţe progresive;
b) -1.5, 0 şi 3, folosind diferenţe regresive;
c) -0.75, 0.25, 0.5 şi 1, folosind diferenţe centrate.
Să se reprezinte grafic în aceeaşi fereastră grafică derivata de
ordinul I a funcţiei f, obţinută prin aproximare cu cele trei tipuri
de diferenţe finite.
2. Fie funcţia polinomială f : R → R, f(x)=x4+13⋅x3-7⋅x2+x-1.
a) Să se calculaze derivata funcţiei f pentru valorile -2, -1.3, 0.1
şi 2.45.
b) Să se reprezinte grafic derivata funcţiei f pe intervalul [-2,3].
𝜋
3. Să se calculeze ∫0 𝑓(𝑥)𝑑𝑥, unde funcţia f este dată prin
relaţiile:
𝑗∙𝑥𝑗2 2
𝑓(𝑥𝑗 ) = 𝑥 − 𝑗+1 , 𝑥𝑗 = −1.1 + 0.1 ∙ 𝑗,𝑗 = 1,2, … ,11.
𝑗 −1
𝜋/2 1
4. Să se calculeze integrala ∫𝜋/3 𝑑𝑥.
sin(𝑥)+cos(𝑥)
40
LUCRAREA nr. 2
2.1. Introducere
u(t) y(t)
Sistem
dinamic
uk Sistem numeric yk
(realizare software)
42
Semnalele care au o evoluţie ce nu este supusă hazardului se
numesc semnale deterministe. Alături de acestea, se întâlnesc şi
semnalele aleatoare, a căror evoluţie în timp este supusă
hazardului, aşa cum sunt perturbaţiile care afectează sistemele de
transmitere şi prelucrare a informaţiilor.
Din clasa semnalelor unidimensionale menţionăm: semnalul
vocal, semnalul radio (modulat în amplitudine sau în frecvenţă),
semnalele furnizate de traductoare ale mărimilor fizice uzuale
(temperatură, viteză ş.a.) etc.
Semnalele bidimensionale, numite şi semnale 2D, sunt, de
regulă, imagini. Fie u(x1, x2) un semnal bidimensional, în raport cu
coordonatele spaţiale x1 şi x2. Mărimea u reflectă valoarea
nivelului de gri în punctul de coordonate x1 şi x2. Ca şi în cazul
semnalelor unidimensionale, modelarea matematică a semnalelor
2D vizează facilitarea descrierii operaţiilor de prelucrare. Aceste
operaţii de prelucrare se realizează cu ajutorul sistemelor 2D
(fig. 2.3). Semnalul de ieşire din sistem, y(x1, x2), se obţine prin
aplicarea unor operaţii specifice (filtrare, extragere contur etc.)
aplicate semnalului de intrare u(x1, x2).
u ( x1 , x2 ) y ( x1 , x2 )
Sistem 2D
0.6
0.5
0.4
y(k)
0.3
0.2
0.1
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
k
Fig.2.4. Funcția „impuls” unitar
44
Impulsurile [n n0] pot fi folosite la construirea trenurilor
de impulsuri periodice, de amplitudine Al, perioadă P şi lungime
M*P:
𝑠[𝑛] = ∑𝑀−1
𝑙=0 𝐴𝑙 𝛿[𝑛 − 𝑙𝑃].
Următorul program generează şi reprezintă un tren periodic de
impulsuri:
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(:);
%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]);
0.8
Amplitudine
0.6
0.4
0.2
0
0 5 10 15 20 25 30
n
45
Semnalul treaptă unitară analitic se definește astfel:
1 pt. t 0
u (t )
0 pt. t 0
În sistemul MATLAB funcția treaptă unitară poate fi formată
utilizând procedura ones.
t=-0.5:0.002:1.5;
U=[zeros(1,251),ones(1,750)];
plot(t,U);
xlabel('t,s');ylabel('Amplitudine');
title('Treapta unitara');
axis([-0.5 1.5 0 1.5]);
Treapta unitate
1.5
1
Amplitudine
0.5
0
-0.5 0 0.5 1 1.5
t,s
t=0:0.01:10;
y=0.75*rectpuls(t-2.2,2)+1.4*rectpuls(t-
5.1)+0.5*rectpuls(t-8.04);
plot(t,y),grid;
xlabel('timpul(s)');ylabel('y(t)')
1.4
1.2
0.8
y(t)
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
timpul(s)
1.2
0.8
y(t)
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
timpul(s)
49
1
0.8
0.6
0.4
0.2
yi(t)
-0.2
-0.4
-0.6
-0.8
-4 -3 -2 -1 0 1 2 3 4
timpul(s) -5
x 10
t=0:0.01:40;
yi=1.9*sinc(pi*(t-20)/5);
plot(t,yi); grid;
xlabel('timpul(s)');
ylabel('yi(t)')
50
2
1.5
1
yi(t)
0.5
-0.5
0 5 10 15 20 25 30 35 40
timpul(s)
1.5
0.5
Amplitudinea
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40
Timpul t
52
zgomot cu distribuție normală, valoarea medie zero şi varianța
0.5V, folosind o frecvenţă de discretizare de 1000Hz, adică
intervalul de discretizare T=0.001s.
Setul de comenzi necesar pentru crearea unui astfel de semnal
este următorul:
t=0:0.001:1;
y=sin(2*pi*50*t)+2*sin(2*pi*120*t);
randn('state',0);
yn=y+0.5*randn(size(t));
plot(t(1:50), yn(1:50));grid
-1
-2
-3
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
53
Funcţia y=square(w*t,duty) formează o secvenţă de
impulsuri dreptunghiulare cu durata semiundei pozitive,
determinată de parametrul duty (coeficient de umplere) în
procente față de perioadă și frecvența unghiulară determinată de
parametrul w. De regulă se ia duty=50.
t=-20:0.1:20;
y=square(t,50);
plot(t,y);
axis([min(t),max(t),-1.5,1.5]),grid
1.5
0.5
-0.5
-1
-1.5
-20 -15 -10 -5 0 5 10 15 20
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 2 4 6 8 10 12 14 16 18 20
0.6
0.5
0.4
0.3
0.2
0.1
0
0 5 10 15 20 25 30 35 40 45 50
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 5 10 15 20 25 30 35 40 45 50
t=0:0.01:50;
d=[0:10:50];
y2=0.7*pulstran(t,d,'gauspuls',1,0.5);
plot(t,y2),
grid
57
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
0 5 10 15 20 25 30 35 40 45 50
t=0:0.001:1;
y=0.8*chirp(t);
plot(t,y);
grid
58
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
Amplitudinea
-1
-2
0 5 10 15 20 25 30 35 40
Timpul t
Partea imaginara
2
Amplitudinea
-1
0 5 10 15 20 25 30 35 40
Timpul t
Fig. 2.19. Semnal exponenţial complex
60
Un semnal sinusoidal, variind exponențial, poate fi realizat
și în urma utilizării următoarei funcții analitice:
Exemplu:
t=0:0.001:1.223;
T=0.001;
k=101:1224;
Z=zeros(1,100);
x=[Z,exp(-(k*T-0.1)/0.2).*sin(2*pi*(k*T-
0.1)/0.16)];
plot(t,x); grid on;
title('Proces tranzitoriu');
xlabel('Time(s)');
ylabel('Amplitudine')
Proces tranzitoriu
1
0.8
0.6
0.4
Amplitudine
0.2
-0.2
-0.4
-0.6
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Time(s)
61
Exemplu:
clf;
t = -10:10;
a = 1.2;
K = 2;
x = K*a.^t;
plot(t,x);
title('Secventa exponentiala reala');
xlabel('n');ylabel('Amplitudine');
grid
Secventa exponentiala reala
14
12
10
Amplitudine
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
n
Fig. 2.21. Secvență exponențială reală
E 2.1. Exerciţii:
62
x6[n]=1.4 u[n-7], -5≤n≤20
x7[n]=2.3 u[n+5], -15≤n≤10
Pentru trei cazuri să se construiască un tren de impulsuri unitare
periodice.
2. Să se genereze în MATLAB următorul semnal sinusoidal.
63
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.
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.
8. Să se creeze în intervalul -10s≤t≤10s un semnal sinusoidal dat
de expresia:
2𝜋
𝑥(𝑡) = 2𝑠𝑖𝑛 ( 𝑡).
12
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.
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.
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.
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).
64
LUCRAREA nr. 3
3.1. Introducere
70
2𝜋
𝑋(𝑘) = ∑𝑛 𝑥[𝑛] 𝑒 −𝑗 𝑁 𝑘𝑛 . (3.16)
Există și TFD inversă, care permite a determina valorile
eșantioanelor 𝑥[𝑛] din valorile coeficienților 𝑋(𝑘):
2𝜋
𝑥[𝑛] = ∑𝑛 𝑋(𝑘) 𝑒 𝑗 𝑁 𝑘𝑛 . (3.17)
În figură 3.2 se reprezintă spectrul unui semnal în funcţie de
pulsaţie sau frecvenţă normată şi corespondenţa cu frecvenţa
analogică. De asemenea, se observă corespondenţa dintre
componentele spectrale de indice k calculate cu TFD şi spectrul
reprezentat în pulsaţii normate.
71
În MATLAB, pentru calculul transformatei Fourier discrete se
foloseşte funcţia fft. Denumirea sa reprezintă prescurtarea de la
Fast Fourier Transform (transformata Fourier rapidă) şi că
folosește pentru calcul un algoritm rapid.
Sintaxe:
y = fft(x)
dacă x este un vector, se returnează un vector y de aceeaşi
dimensiune cu vectorul x ce conţine valorile transformatei
Fourier discrete aplicată elementelor vectorului x; lungimea
transformatei Fourier (numărul de puncte N în care se
calculează transformata) este egală în acest caz cu lungimea
vectorului x;
dacă x este o matrice se va returna matricea y de aceeaşi
dimensiune cu matricea x; coloana i din matricea y va
conţine valorile transformatei Fourier discrete aplicată
elementelor coloanei i din matricea x.
y = fft(x,N)
aceleaşi considerente ca în sintaxa precedentă cu deosebirea
că în acest caz se specifică şi numărul de puncte N în care se
calculează transformata. Dacă length(x)<n, elementele
masivului x se completează cu zerouri. Dacă
lenglh(x)>n, elementele în plus se şterg.
x = ifft(y)
calculează transformata Fourier inversă consecutivităţii date
în vectorul y. Dacă y este matrice, atunci fiecare coloană se
transformă separat.
x = ifft(y,N)
efectuează transformata Fourier inversă din N puncte. Dacă
length(y)<N, elementele ce lipsesc ale masivului se
completează cu zerouri. Dacă length(y)>N, elementele
de prisos se elimină.
y = fftshift(x)
efectuează regruparea masivului de ieşire al transformatei
72
Fourier pentru construirea graficelor speclrelor semnalelor în
formă obişnuită, cu deplasarea frecvenţei nule în centrul
spectrului.
73
3.4. Spectrele semnalelor periodice
Exemplul 3.1:
Se propune descompunerea unui semnal periodic s(t) în serie
Fourier armonică. Se vor analiza mai multe semnale:
semnale armonice și combinații liniare de semnale
armonice:
semnale dreptunghiulare;
semnale de tip „dinte de ferestrău”.
La execuţie, programul cere următoarele argumente: T -
perioada, N - numărul de armonici pentru aproximare, precum şi
tipul semnalului s(t): sinusoidal, dreptunghiular sau „dinte de
ferestrău”. Timpul este modelat printr-un vector de dimensiunea
1024.
Rezultatele se obțin prin intermediul a patru diagrame:
semnalul s(t);
descompunerea în armonici;
fazele fiecărei armonici;
recompunerea semnalului s(t) prin însumarea armonicilor
calculate. Această diagramă permite compararea semnalului
recompus cu cel inițial și validarea rezultatelor obținute.
75
axis([min(t) max(t) (min(r)-0.02*(max(r)-
min(r))) (max(r)+0.02*(max(r)-min(r)))]);
subplot(222); stem(f,A);
title('Armonicile A(n)*cos[n*2*pi*f*t-Fi(n)]');
xlabel('f [Hz]'); grid;
subplot(224); stem(f,F/(pi));
title('defazajele Fi(f)'); xlabel('f [Hz]');
ylabel('x pi [rad]');
grid;
Pentru exemplificarea execuției programului au fost construite
reprezentările grafice pentru semnalul exprimat printr-o succesiune
de impulsuri dreptunghiulare de perioadă T=7s, aproximat prin 20
armonici (fig. 3.3).
semnalul s(t) Armonicile A(n)*cos[n*2*pi*f*t-Fi(n)]
1.5
1
0.5 1
0
-0.5 0.5
-1
0
0 2 4 6 0 1 2 3
t [sec] f [Hz]
semnalul reconstruit (verificare) defazajele Fi(f)
0.5
1
0.5
x pi [rad]
0
0
-0.5 -0.5
-1
-1
0 2 4 6 0 1 2 3
t [sec] f [Hz]
Fig.3.3. Descompunerea în serie Fourier a unui semnal
dreptunghiular aproximat prin 20 de armonici
76
E3.1. Exerciţiu:
Utilizând scriptul din Exemplul 3.1, să se efectueze
descompunerea în serie Fourier a trei tipuri de semnale periodice:
armonic, dreptunghiular și dinte de ferestrău, pentru două valor ale
numărului de armonici de aproximare N1 și N2, unde N2≈3N1. Să se
explice rezultatele obținute.
Exemplul 3.2:
Se propune descompunerea unui tren de impulsuri
dreptunghiulare în serie Fourier complexă.
La execuţie, programul cere introducerea următorilor parametri
ai semnalului: perioada T, durata τ, amplitudinea A și numărul de
armonici pentru aproximare N.
Rezultatele se obțin prin intermediul a trei diagrame:
spectrul de amplitudine;
spectrul de faze;
recompunerea semnalului x(t) prin însumarea
componentelor spectrale calculate.
77
alf=alf/pi;
A(1,i)=abs(Amplit*tau*sinc(alf)/T);
phi(1,i)=-angle(sinc(alf));
end;
%se calculeaza vectorul ind, necesar in
reprezentarea grafica a spectrului
for i=1:B,
ind(i)=(i-1)*f0;
end;
%reprezentarea spectrului SFC (numai pentru
frecvente pozitive)
subplot(221);
stem(ind,A(1,:));
title('spectrul SFC al trenului de impulsuri');
xlabel('f [Hz]');
grid;
subplot(222);
stem(ind,phi(1,:));
title('defazajele Fi(f)');
xlabel('f [Hz]'); ylabel('x pi [rad]');
grid;
%generarea trenului de impulsuri si
reprezentarea lui grafica
x1=zeros(1,((T*1000/2)-(tau*1000/2)));
x2=Amplit*ones(1,(tau*1000));
x3=zeros(1,((T*1000/2)-(tau*1000/2)));
x=[x1 x2 x3];
dt=0.001;t=[-T/2+dt:dt:T/2];
subplot(223);
h=plot(t,x); %set(h,'LineWidth',T);
axis([-T/2 T/2 -1.5 1.2*Amplit]);grid;hold on;
%calculul semnalelor deduse pe baza spectrului
determinat
%se utilizeaza Ni, 2*Ni si 3*Ni armonici in
spectru;
%aceste semnale se reprezinta pe un grafic comun
%cu cel al trenului de impulsuri
for j=Ni:n:Nf,
xy=A(1)*ones(1,(T*1000));
78
for i=1:j,
xy=xy+2*A(1,i+1)*cos(i*w0*t+phi(1,i+1));
end;
end;
plot(t,xy,'k');grid;
title('semnalul initial si reconstruit');
xlabel('t [sec]');
axis([-T/2 T/2 -1.5 1.2*Amplit]);grid;
-1
x pi [rad]
0.5 -2
-3
0 -4
0 2 4 6 8 0 2 4 6 8
f [Hz] f [Hz]
semnalul initial si reconstruit
6
-1 0 1
t [sec]
Fig.3.4. Descompunerea în serie Fourier complexă
a unui tren de impulsuri dreptunghiulare
79
E3.2. Exerciţiu:
Utilizând scriptul din Exemplul 3.2, studiaţi spectrul unui tren
de impulsuri dreptunghiulare pentru diverse valori ale parametrilor
semnalului: perioada T, durata τ și amplitudinea A. Să se analizeze
și să se explice rezultatele obținute.
Exemplul 3.3:
Să se analizeze spectrul semnalului poliarmonic, alcătuit din
trei oscilaţii armonice cu frecvenţele 1, 2 şi 3 Hz şi amplitudinile
respectiv 3, 1 şi 4:
𝑦(𝑡) = 3 cos(2𝜋𝑡) + sin(4𝜋𝑡) + 4cos(6𝜋𝑡).
Să se afișeze graficele semnalului, spectrului de amplitudine
(modulul spectrului) şi a părţilor reale şi imaginare ale spectrului.
Soluție:
Ts=0.01;T=10; t=0:Ts:T;
y=3*cos(2*pi*t)+sin(4*pi*t)+4*cos(6*pi*t);
subplot(211); plot(t,y); grid
df=1/T; Fm=1/Ts; len=length(t);
f=-Fm/2:df:Fm/2;
x=fft(y)/len;
xs=fftshift(x);
A=abs(xs);
s1=len/2-50; s2=len/2+50;
subplot(212); stem(f(s1:s2), A(s1:s2)); grid
xlabel('frecventa(Hz)'); ylabel('Modulul')
80
10
-5
-10
0 1 2 3 4 5 6 7 8 9 10
1.5
Modulul
0.5
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
frecventa(Hz)
Fig.3.5. Modulul spectrului semnalului poliarmonic
corespunzător seriei Fourier complexe
81
10
-10
0 1 2 3 4 5 6 7 8 9 10
2
Partea reala
-1
-5 -4 -3 -2 -1 0 1 2 3 4 5
0.5
Partea imaginara
-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
E3.3. Exerciţiu:
Să se calculeze și să se construiască caracteristicile spectrale
de amplitudini și de faze ale unor semnale periodice, recomandate
de profesor, pentru diverse valori ale parametrilor ce
caracterizează aceste semnale. Să se analizeze și să se explice
rezultatele obținute.
Exemplul 3.4:
Scriptul următor calculează transformata Fourier analogică,
utilizând expresia (3.11) a semnalului impuls rectangular, simetric
față de origine, de durată tau și de arie unitară:
82
%parametrii impulsului rectangular
tau=1;Amplit=1/tau;
%generarea impulsului rectangular
a=tau;
tm=6;
x1=zeros(1,((tm*1000/2)-(tau*1000/2)));
x2=Amplit*ones(1,(tau*1000));
x3=zeros(1,((tm*1000/2)-(tau*1000/2)));
x=[x1 x2 x3];
dt=0.001;t=[-tm/2+dt:dt:tm/2];
subplot(211);
h=plot(t,x); %set(h,'LineWidth',T);
title('impuls rectangular x(t)');
xlabel('t [sec]');
axis([-tm/2 tm/2 -0.1 1.2*Amplit]);
grid;hold on;
% sunt declarate variabilele simbolice
syms x w
% se calculeaza integrala Fourier
wmax=30;
int(Amplit*exp(-j*w*x),-a/2,a/2);
subplot(212);
% se reprezinta grafic
ezplot(ans,[-wmax wmax])
title('transformata Fourier a impulsului
rectangular X(w)');
xlabel('w');
axis([-wmax wmax -0.5 1]);
grid;hold on
u=-wmax:wmax:wmax;
y=0.0*u;
% se traseaza orizontala y=0
plot(u,y)
hold off;
83
Reprezentările grafice ale semnalului şi funcția de densitate
spectrală corespunzătoare sunt date în figura 3.7.
impuls rectangular x(t)
0.5
0
-3 -2 -1 0 1 2 3
t [sec]
transformata Fourier a impulsului rectangular X(w)
1
0.5
-0.5
-30 -20 -10 0 10 20 30
w
Fig. 3.7. Forma de undă și spectrul de frecvențe
ale semnalului impuls dreptunghiular
Exemplul 3.5:
Utilizând procedura fft, să se construiască funcția de
densitate spectrală a unui semnal impuls unitar dreptunghiular
centrat în originea de coordinate, cu amplitudinea A=0.8 şi durata
w=0.5s. Aplicăm pasul de discretizare Ts=0.01s, iar durata analizei
T= 1s:
85
Impuls unitar dreptunghiular
1
0.8
0.6
0.4
0.2
0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Timpul,sec.
Functia de densitate spectrala (procedura fft)
0.5
0.4
0.3
Modulul
0.2
0.1
0
0 10 20 30 40 50 60 70 80 90 100
Frecventa,Hz
Functia de densitate spectrala (procedura fftshift)
0.5
0.4
0.3
Modulul
0.2
0.1
0
-50 -40 -30 -20 -10 0 10 20 30 40 50
Frecventa,Hz
Întrebări de control
1. Cum apare noţiunea de frecvenţă negativă?
2. Cum se schimbă spectrul unei succesiuni periodice de impulsuri
la schimbarea perioadei impulsurilor?
3. Cum se schimbă spectrul unei succesiuni periodice de impulsuri
la schimbarea duratei impulsurilor?
4. Ce caracter are spectrul semnalului neperiodic?
5. Ce particularităţi are densitatea spectrală a semnalului real?
6. Care este legătura dintre durata impulsului şi lărgimea
spectrului său?
7. Cum se calculează amplitudinile şi fazele spectrelor semnalelor
neperiodice?
8. În ce constă asemănarea şi deosebirea spectrelor semnalelor
discrete şi analogice?
9. În ce constă şi cum se manifestă suprapunerea spectrelor la
discretizarea semnalului?
87
LUCRAREA nr. 4
88
convertorul analog-digital va converti aceste valori reale în
reprezentarea lor numerică.
4.2. Eșantionarea
Observații:
dacă dorim ca semnalul eșantionat să se apropie cât mai
mult de semnalul real, atunci trebuie să luăm un număr cât
mai mare de eșantioane, deci, să creștem frecvența de
eșantionare fs. Dezavantajul constă în spațiul mare de
memorie ocupat;
dacă dorim un număr mai mic de eșantioane (spațiu de
memorie ocupat mai mic, dar și o posibilă pierdere de
informație), atunci putem scădea frecvența de eșantionare
fs. Însă pentru a putea reface semnalul real din eșantioanele
sale, frecvența de eșantionare nu poate fi scăzută oricât, ea
trebuie să respecte teorema eșantionării.
Exemplul 4.1:
Fie un semnal sinusoidal x(t) având frecvența f = 9Hz (figura
4.4, a). Acest semnal a fost eșantionat cu fs1=90Hz (figura 4.4, b).
Se observă că din eșantioanele rezultate poate fi refăcut x(t). În
figura 4.4, c, semnalul x(t) a fost eșantionat cu fs2 = 8Hz (nu se
respectă teorema eșantionării) și se poate observa că aceleași
eșantioane rezultă atât prin eșantionarea semnalului x(t), cât și prin
eșantionarea unei alte sinusoide cu frecvență mai mică, de 1Hz. În
90
acest caz, semnalul x(t) nu mai poate fi refăcut, formula de
reconstituire generând sinusoida de 1Hz.
92
3. Fie semnalul:
𝜋 𝜋
𝑥(𝑡) = 10 sin (200𝜋𝑡 + ) + 20 sin(100𝜋𝑡) − 40sin (300𝜋𝑡 − ).
2 4
Cerințe:
care este frecvența minimă de eșantionare astfel încât să se
respecte teorema eșantionării;
alegând o frecvență de eșantionare de 10 ori mai mare
decât cea determinată la punctul anterior, să se eșantioneze
semnalul x(t) și să se reprezinte graphic;
care este frecvența de repetiție a semnalului x(t)?
4. Fie semnalul sinusoidal 𝑥(𝑡) = 3sin(2𝜋 ∙ 5𝑡). Să se
eșantioneze acest semnal cu fs1 = 4Hz și cu fs2 = 50Hz și să se
reprezinte grafic. În care dintre cele două cazuri poate fi
reconstituit semnalul x(t) din eșantioanele sale?
5. Să se genereze și să se prezinte în MATLAB, în două feres-
tre separate, semnalul din figura următoare și semnalul discretizat.
4.3. Cuantizarea
94
Observație: când semnalul de intrare (eşantionul analogic) se
află în domeniul de lucru al cuantizorului, eroarea de reprezentare
variază în intervalul –q ÷ 0.
Pentru ambele tipuri de cuantizare, când semnalul de intrare
se află în afara domeniului de cuantizare, toate eşantioanele care
depăşesc limita maximă a intervalului (Lmax) vor lua valoarea Lmax,
iar eşantioanele care au valori mai mici decât limita minimă a
intervalului (Lmin) vor lua valoarea Lmin. Această eroare se numeşte
eroare de depăşire și creşte nelimitat în funcție de semnalul de
intrare.
Exemplul 4.2:
Fie următoarele niveluri de cuantizare disponibile {-6, -5, -4, -
3, -2, -1, 0, 1, 2, 3, 4}. În tabelul 4.1 sunt incluse valorile obținute
în urma cuantizării prin rotunjire și prin trunchiere pentru diverse
valori ale unui semnal analogic.
Exemplul 4.3:
Dacă se dorește cuantizarea uniformă cu pasul de cuantizare
q = 0.2, în intervalul Lmin = -1 și Lmax = 1, nivelurile de cuantizare
posibile sunt {-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1}.
În urma cuantizării unui semnal sinusoidal (de amplitudine unitară,
95
fază inițială nulă, eșantionat cu Ts = 0.05s) se obține semnalul
din figura 4.5, c (cuantizare prin rotunjire) și semnalul din
figura 4.5, d (cuantizare prin trunchiere).
Exemplul 4.4:
Fie un semnal sinusoidal cuantizat, folosind metoda prin
rotunjire (figura 4.6, a). Dacă prin N se notează numărul de
niveluri de cuantizare, atunci semnalul din figura 4.6, a se
generează cu ajutorul următorului script:
96
N=6;
t = 0:0.001:2;
x=sin(2*pi*t);
y = round((N-1)*x)/(N-1);
plot(t,y,t,x);
grid
Exemplul 4.5:
Fie următoarele niveluri de cuantizare disponibile: {0, 1/3,
2/3, 1}.
Nivel 0 = 0 Nivel 2 = 2/3
Nivel 1 = 1/3 Nivel 3 = 1
97
În tabelul 4.2 sunt incluse valorile obținute în urma cuantizării
prin rotunjire pentru 10 eșantioane ale semnalului:
𝑛
𝑥[𝑛] = .
𝑛 + 1.5
Tabel 4.2. Cuantizarea prin rotunjire
Cuantizare
Valoare Valoare Nivel Nivel
prin
indice eșantion cuantizare cuantizare
rotunjire
n analogic (explicit) (binar)
(round)
0 0.000 0 Nivel 0 00
1 0.400 1/3 Nivel 1 01
2 0.571 2/3 Nivel 2 10
3 0.667 2/3 Nivel 2 10
4 0.727 2/3 Nivel 2 10
5 0.769 2/3 Nivel 2 10
6 0.800 2/3 Nivel 2 10
7 0.823 2/3 Nivel 2 10
8 0.842 1 Nivel 3 11
9 0.857 1 Nivel 3 11
Așa cum se poate observa în tabelul 4.2, nivelul de cuantizare
poate fi indicat cu un număr mic de biți (2 biți în cazul
exemplului), astfel încât întregul semnal poate fi stocat într-un
spațiu mic de memorie.
Numărul (minim) de biți prin care trebuie indicat nivelul de
cuantizare se calculează prin formula:
𝑏 = ⌈𝑙𝑜𝑔2 𝑁⌉,
unde:
b = numărul de biți necesari indicării nivelului de
cuantizare;
N = numărul de niveluri de cuantizare;
⌈ ⌉= rotunjire spre infinit = cel mai mic întreg mai mare
sau egal cu valoarea dintre paranteze. Rotunjirea este
necesară, deoarece numărul de biți b trebuie să fie număr
natural.
98
Deoarece pentru indicarea fiecărui nivel este nevoie de b biți,
iar valoarea fiecărui eșantion este unul dintre niveluri, b este
totodată și numărul de biți per eșantion, folosit pentru stocarea
semnalului.
Exemplul 4.6:
Care ar trebui să fie numărul minim de biți per eșantion
pentru stocarea semnalului din Exemplul 4.3?
Soluție: în Exemplul 4.3 sunt N=11 niveluri de cuantizare,
deci, numărul minim de biți per eșantion necesar este 𝑏 =
⌈𝑙𝑜𝑔2 11⌉ = 4.
E4.2. Exerciţiu:
1. Un semnal cu durata de 2 minute este eșantionat cu
frecvența de eșantionare de 4kHz. Câte eșantioane vor rezulta?
Dacă fiecare eșantion este stocat pe 2 octeți, ce memorie vor ocupa
toate eșantionale generate?
17 17
2. Să se cuantizeze semnalele 𝑥[𝑛] = 𝑛 și 𝑦[𝑛] = − 𝑛 ,
𝑛 = 1 … 40, folosind metodele floor și round. Se cunosc nivelurile
de cuantizare {0, ±1, ±2, … , ±17}. Să se reprezinte grafic
semnalele originale 𝑥[𝑛] și 𝑦[𝑛], precum și semnalele obținute în
urma cuantizării. Să se calculeze și să se reprezinte grafic
zgomotul de cuantizare.
3. Să se genereze 15 eșantioane de zgomot alb gaussian cu
media zero și dispersia 0,2. Indiciu: pentru a genera zgomot alb
gaussian se poate folosi funcția randn:
z = 0.2*randn(1,15).
Să se cuantizeze semnalul z folosind un cuantizor uniform cu
1 2 3
nivelurile {0, ± 4 , ± 4 , ± 4 , ±1}.
4. Cuantizați semnalul din Exercițiul 4.1.1 pe 8 respectiv, 16
biți. Reprezentați semnalul cuantizat alături de zgomotul de
cuantizare.
99
4.4. Interpolarea semnalelor eșantionate
Exemplul 4.7:
În script-ul următor se propune eşantionarea, apoi reconstrucția
unui semnal, sumă a doua sinusoide:
s(t ) a1 cos(1t ) a2 cos(2t ) ,
care este, evident, de bandă limitată.
Introduceți în calculator, cu editorul Matlab, script-ul care
urmează:
101
f1=1; % frecventa componentei primare
f2=2; % frecventa componentei secundare
% pasul utilizat la reprezentarea grafica
pasmic=0.001;
fes=4.1; % frecventa de esantionare
rep=1;
tes=1/fes; % perioada esantioanelor
a1=2;
a2=1;
t=0:pasmic:tmax;
% pregatirea graficului 1 (semnal original)
y=a1*cos(2*pi*f1*t)+a2*cos(2*pi*f2*t-fi);
t1=0:tes:tmax;
n=round(tmax/tes)+1;
% pregatirea graficului 2 (esantionarea)
y1=a1*cos(2*pi*f1*t1)+a2*cos(2*pi*f2*t1-fi);
% pregatirea graficului 3 (reconstituire)
y2=y1(1)*sinc(t/tes);
for k=1:(n-1)
y2=y2+y1(k+1)*sinc(t/tes-k);
end
if rep>0
subplot(4,1,1)
plot(t,y) % trasarea graficului 1 (semnal)
hold on
ylabel('Original')
title('ESANTIONAREA SEMNALELOR')
plot([0 tmax],[0 0])
for i=1:n
subplot(4,1,2)
% trasarea graficului 2 (esantionarea)
plot([t1(i) t1(i)],[0 y1(i)],'b:')
hold on
ylabel('Esantionat')
plot([0 tmax],[0 0])
end
subplot(4,1,3)
% trasarea graficului 3 (reconstituire)
plot(t,y2,'k')
102
hold on
plot([0 tmax],[0 0])
for i=1:n
plot([t1(i) t1(i)],[0 y1(i)],'b:')
end
ylabel('Reconstituire')
subplot(4,1,4)
% trasarea graficului 4 (diferente)
plot(t,y-y2,'r')
hold on
plot([0 tmax],[0 0])
ylabel('Diferente')
xlabel('Timp(s)')
else
plot(t,y) % trasarea graficului 1 (semnal)
hold on
plot([0 tmax],[0 0])
for i=1:n
% trasarea graficului 3 (reconstituire)
plot([t1(i) t1(i)],[0 y1(i)],'b:')
end
plot(t,y2,'k')
% trasarea graficului 4 (diferente)
plot(t,y-y2,'r')
plot([0 tmax],[0 0])
title('ESANTIONAREA SEMNALELOR')
ylabel('Semnal(albastru)/Reconstituire(negru)/
Diferente(rosu)')
xlabel('Timp(s)')
end
103
ESANTIONAREA SEMNALELOR
2
Semnal(albastru)/Reconstituire(negru)/Diferente(rosu)
1.5
0.5
-0.5
-1
-1.5
-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Timp(s)
E4.3. Exerciţiu:
Chestiuni de studiu în baza Exemplului 4.7.
a) Executarea calculelor cu valorile recomandate în antetul
script-ului, reprezentarea semnalelor în formă originară şi
după reconstrucție, precum şi a diferenţelor dintre ele, în
spaţii grafice diferite sau în acelaşi spaţiu.
b) Executarea de calcule cu valorile diferite pentru frecvenţele
f1 şi f 2 , eventual pentru amplitudini diferite ale
sinusoidelor componente, utilizând pentru fiecare caz trei
valori ale frecvenţei de eşantionare: mai mică, egală şi mai
mare (de 10 ori) ca frecvenţa Nyquist.
c) Aprecierea vizuală şi/sau cantitativ a modificărilor
semnalului reconstituit, calitatea reconstrucției semnalului în
zona de început şi de final a intervalului de timp observat.
d) Studierea şi a altor semnale de bandă limitată, recomandate
de profesor.
104
Bibliografie
105
MINISTERUL EDUCAŢIEI al REPUBLICII MOLDOVA
Chişinău 2011
Elaborat dr.conf. Romanenko Alexandru
dr.conf. Fiodorov Ion
dr.conf Ciorba Dumitru
lect.sup.magistr. Melnic Radu
2
Cuprins
Introducere .......................... Ошибка! Закладка не определена.
Lucrare de laborator Nr.1 ....Ошибка! Закладка не определена.
Lucrare de laborator Nr.2 ............................................................... 4
Lucrare de laborator Nr.3 ....Ошибка! Закладка не определена.
Lucrare de laborator Nr.4 ............................................................. 15
Lucrare de laborator Nr.5 ............................................................. 21
Lucrare de laborator Nr.6 ............................................................. 27
Bibliografia .................................................................................. 30
3
Lucrare de laborator Nr.5
Tema: Sisteme discrete în timp continuu sau discret
Scopul lucrării: De a învăţa cum să creăm diferite sisteme în conformitate cu sistemul iniţial.
Noţiuni teoretice
Sistemele discrete în timp convertesc semnalul de intrare în domeniul de timp cu scopul de a obţine
la ieşire un semnal cu proprietăţi dorite. Asupra semnalului de intrare se aplică diferiţi, care constau în
operaţii simple. Scopul acestei lucrări de laborator constă în prezentarea cîtorva tipuri simple de discrete,
cu prorprietăţile lor.
Într-un sistem liniar în timp discret pentru un semnal de intrare x[n]=αx1[n]+βx2[n] ca răspuns vom
avea y[n]=αy1[n]+βy2[n] unde y1[n] şi y2[n] sunt răspunsuri la secvenţele corespunătoare x1[n] и x2[n].
Într-un sistem discret în timp continuu ca răspuns la semnalul de intrare x[n]=x 1[n-n0] va fi
semnalul y[n]=y1[n-n0] unde n0 –număr intreg nenul ş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 răspunsuri ale unui sistem discret cauzal la intrările corespunzătoare u1[n] şi
u2[n], atunci u1[n]= u2[n] cînd n<N, implică y1[n]=y2[n] cînd n<N.
Construcţii sintactice
break end for if input
Funcţii elementare
cos abs
Grafică bidimensională
axis plot stem title xlabel ylabel
4
Programul 5_1
Prezentarea unui filtru simplu cu M-vîrfuri, numărul cărora se introduce de către utilizator.
% Programul P2_1
% Simularea filtrului FIR de o lungime arbitrara
% generarea semnalului de intrare
clf; n=0:100;
s1=cos(2*pi*0.05*n); % semnal de o frecventa joasa
s2=cos(2*pi*0.47*n); % semnal de o frecventa inalta
x=s1+s2;
% Realiyarea filtrului FIR
M=input('Lungimea dorita a filtrului = ');
num=ones(1,M);
y=filter(num,1,x)/M;
% Afisarea semnalelor de intare si de isire
subplot(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;
5
semnal #1 semnal #2
2 2
1 1
Amplituda
Amplituda
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Timpul n Timpul n
Semnalul de intrare Semnalul de iesire
2 2
1 1
Amplituda
Amplituda
0 0
-1 -1
-2 -2
0 50 100 0 50 100
Timpul n Timpul n
Programul 5_2
Programul de mai jos poate fi folosit pentru generarea semnalului de intrare x[n], compus ditr-o
secenta sinusoidala.
% Programul P2_2
% generarea semnalului sinusoidal de intrare
clf;
n=0:200;
x=cos(2*pi*0.05*n);
% Calcularea semnalului de iesire
x1 = [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');
6
semnalul de intrare
1
0.5
Amplituda 0
-0.5
-1
0 20 40 60 80 100 120 140 160 180 200
Timpul n
Semnalul de iesire
2
1.5
Amplituda
0.5
-0.5
0 20 40 60 80 100 120 140 160 180 200
Timpul n
Programul 5_3
În programul acesta este realizat sistemul reprezentat prin următoarea expresie:
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
Se generează trei secvenţe de intrare x1[n], x2[n] и x[n]=a*x1[n]+b*x2[n]. Se calculează trei
secvenţe de ieşire y1[n], y2[n] и y[n], cu reprezentarea lor grafică.
% Programul P2_3
% Generarea secvenţelor de iesire
clf;
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]; % initializarea
y1=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 abatere
subplot(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);
7
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnalul diferential ');
Amplituda 20
-20
-40
0 5 semnalul
10 de iesire 20 : a y25
15 incarcat 1
[n] + b 30
y 2[n] 35 40
20
Amplituda
-20
-40
0 -15 5 10 15
semnalul20
diferential25 30 35 40
x 10
5
Amplituda
-5
0 5 10 15 20 25 30 35 40
Timpul n
Programul 5_4
Pentru 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ă secvenţe de intrare
diferite x[n] şi x[n-D]. Se calculează şi se vizualizează corespunzător doua secvenzede ieşire şi abaterea
y1[n] – y2[n+D].
% Programul P2_4
% Generarea secventelor de intrare
clf; 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 iesire
subplot(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
title(['iesirea,la intirzierea semnalului la intrare
x[n',num2str(D),']']); grid;
subplot(3,1,3);
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda');
title('semnalul de abatere'); grid;
-20
-40
0 5 10 15 20 25 30 35 40
iesirea, la intirzierea semnalului la intrare x[n 10]
20
Amplituda
-20
-40
0 5 10 15 20 25 30 35 40
semnalul de abatere
1
Amplituda
-1
0 5 10 15 20 25 30 35 40
Timpul n
Programul 5_5
Aici se calculează şi se afişează la ecran impulsul răspunsului sistemului, corespunzător 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 y
clf;
N=40;
num=[2.2403 2.4908 2.2403];
den=[1 -0.4 0.75];
y=impz(num,den,N);
% Reprezentareagrafică a impulsului de raspuns
stem(y);
xlabel('Timpul n'); ylabel('Amplituda');
title('Impulsul de raspuns'); grid;
9
Impulsul de raspuns
4
1
Amplituda
-1
-2
-3
0 5 10 15 20 25 30 35 40
Timpul n
Programul 5_6
Programul 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 cascadelor
clf;
x=[1 zeros(1,40)]; % Generarea semnalului de intrare
n=0:40;
% Coeficientii sistemului de gradul 4
den=[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 2
num1=[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 cascadei
y1=filter(num1,den1,x);
% Semnalul deiesire y2[n] etapei a doua a cascadei
y2=filter(num2,den2,y1);
% abaterea dintre y[n] si y2[n]
d=y-y2;
% Graficele semnalelor de iesire si a abaterii
subplot(3,1,1);
stem(n,y);
ylabel('Amplituda');
title('afisarea realizării de gradul 4'); grid;
subplot(3,1,2);
stem(n,y2);
ylabel('Amplituda');
title('Afisarea realizarii cascada'); grid;
subplot(3,1,3);
10
stem(n,d);
xlabel('Timpul n'); ylabel('Amplituda ');
title('semnalul abaterii'); rid;
Amplituda 0.5
-0.5
0 5 10 15
Afisarea 20 cascada
realizarii 25 30 35 40
1
Amplituda
-1
0 5 10 15semnalul
20abaterii25 30 35 40
1
Amplituda
-1
0 5 10 15 20 25 30 35 40
Timpul n
Programul 5_7
Operaţiunea de convoluţie se realizează în MATLAB cu comanda conv. Pentru aceasta se folosesc
două secvenţe finite şi de aceeaşi 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;
11
Semnalul de iesire,obtinut in urma convolutiei
20
10
Amplituda
0
-10
-20
0 2 4 6 8 10 12 14
Timpul n
Semnalul de iesire obtinut in urma filtrarii
20
10
Amplituda
-10
-20
0 2 4 6 8 10 12 14
Timpul n
Programul 5_8
Programul calculează suma valorilor absolute ale raspunsului inpuls
% Programul P2_8
% Testarea stabilitatii bazat pe suma valorilor absolute ale elementelor
raspuns impuls
clf;
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))<10^(-6), break, end
end
% Afisarea răspuns impuls
n=0:N;
stem(n,h);
xlabel('Timpul n'); ylabel('Amplituda');
disp('Valoarea='); disp(abs(h(k))); %Afisarea valorilor
12
3
1
Amplituda
-1
-2
-3
0 20 40 60 80 100 120 140 160 180 200
Timpul n
Programul 5_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 deintare
clf;
n=0:299;
x1=cos(2*pi*10*n/256);
x2=cos(2*pi*100*n/256);
x=x1+x2;
% Calcularea secvenţelor de iesire
num1=[0.5 0.27 0.77];
y1=filter(num1,1,x); % Iesirea sistemului #1
den2=[1 -0.53 0.46];
num2=[0.45 0.5 0.45];
y2=filter(num2,den2,x); % Iesirea sistemului #2
% Graficele secventelor de iesire
subplot(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;
13
semnalul de iesire #1
2
Amplituda 0
-1
-2
0 50 100 150 200 250 300
semnalul de iesire#2
2
1
Amplituda
-1
-2
0 50 100 150 200 250 300
Timpul n
14
Lucrare de laborator Nr.6
Tema: Sisteme discrete liniare în timp continuu cercetate în domeniul de frecvenţă
Scopul lucrăii: De studiat proprietăţile de bază ale sistemelor discrete în timp continuu în domeniul
de frecvenţă.
Noţiuni teoretice
Orice sistem discret liniar în timp continuu este complet caracterizat de domeniul de frecvenţă în
secvenţa de impulsuri de raspuns. Astfel semnalul de ieşire poate fi obţinut pentru orice sistem de aşa tip
prin convoluţia secvenţei de intrare cu secvenţa impulsului de raspuns al ei. Anumite categorii de astfel de
sisteme, de asemenea, pot fi caracterizate printr-o ecuaţie (de diferenţiere) liniară cu coefcienţi constanţi.
Pentru aceste categorii de sisteme semnalul de ieşire poate fi calculat recursiv pentru orice secvenţă de
intrare. Aplicînd DTFT sau transformata-z la rezultatul convolutiei sau la ecuaţia de diferenţiere,
sistemele discrete liniare şi continue în timp pot fi carcterizate şin domeniul de frecvenţă. Acest tip de
specificarea sistemelor furnizează informaţii suplimentare despre comportamentul sistemului, pe lîngă
faptul că o astfel de specificare a sistemelor acordă posibilităţi mai uşoare de proiectări, realizări şi
utilizări în diferite aplicaţii.
Construcţii sintactice
function pause
Funcţii elementare
cos abs angle imag log10 real
Grafică bidimensională
axis plot stem title xlabel ylabel grid
Programul 6_1
În acestprogram se calculează aproximarea de sus. Se foloseşte funcţia sinc din sistemul MATLAB
%Programul P4_1
% raspunsul impuls filtrului ideal
clf;
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]);
15
xlabel('Timpul n'); ylabel('Amplituda'); grid
Rezultatul programului:
N=13
0.6
0.5
0.4
0.3
Amplituda
0.2
0.1
-0.1
-0.2
0 2 4 6 8 10 12
Timpul n
Programul 6_2
Programul calculează răspunsul 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); grid
axis([0 1 -50 0.5]);
xlabel('\omega /\pi'); ylabel('Adaugare');
title(['M = ',num2str(M)]);
16
Rezultatul programului:
M=2
0
-5
-10
-15
-20
Adaugare
-25
-30
-35
-40
-45
-50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
/
Programul 6_3
Cu ajutorul programul dat putem analiza proprietăţile celor patru tipuri de funcţii de transfer care
caracterizează filtrele:
Tipul 1: Răspunsul impuls simetric de lungime impară;
Tipul 2: Răspunsul impuls simetric de lungime pară;
Tipul 3: Răspunsul impuls asimetric de lungime impară;
Tiplu 4: Răspunsul impuls asimetric de lungime pară.
% Programul P4_3
% Punctele zero FIR filtrelor in faza liniara
clf;
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'); grid
title('Tipul 1 FIR filtrului');
subplot(2,2,2); stem(n2,num2);
xlabel('Timpul n'); ylabel('Amplituda'); grid
title('Tip 2 FIR filtrului');
subplot(2,2,3); stem(n1,num3);
xlabel('Timpul n'); ylabel('Amplituda'); grid
title(' Tip 3 FIR filtrului ');
subplot(2,2,4); stem(n2,num4);
xlabel('Timpul n'); ylabel('Amplituda'); grid
17
title('Tip 2 FIR filtrului');
pause
subplot(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:
Tipul 1 FIR filtrului Tip 2 FIR filtrului
100 100
50 50
Amplituda
Amplituda
0 0
-50 -50
-100 -100
0 2 4 6 8 0 5 10
Timpul n Timpul n
Tip 3 FIR filtrului Tip 2 FIR filtrului
100 100
50 50
Amplituda
Amplituda
0 0
-50 -50
-100 -100
0 2 4 6 8 0 5 10
Timpul n Timpul n
18
Tip 1 FIR filtrului Tip 2 FIR filtrului
1 2
Imaginary Part
Imaginary Part
1
8 9
0 0
-1
-1 -2
-1 0 1 2 3 -2 0 2 4
Real Part Real Part
Tip 3 FIR filtrului Tip 4 FIR filtrului
2 1
Imaginary Part
Imaginary Part
8 9
0 0
-2 -1
-2 0 2 4 6 -1 0 1 2 3
Real Part Real Part
19
Programul 6_4
Acest program prezintă cercetarea stabilităţii a filtrului numeric IIR. Stabilitatea filtrului−
ereprezintă o calitate foarte importantă a filtrului. Filtrul numeric IIR este stabil dacă polii funcţiei de
transfer se află în interiorul cercului unitate.
% Programul P4_4
% Test de verificare a stabilitatii
clf;
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:
>>
20
Lucrare de laborator Nr.7
Tema: 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.
Consideraţii teoretice
Algoritmii de prelucrare a semnalelor discrete sunt adesea aplicate asupra semnalelor continue în
timp. Această lucrare de laborator permite studierea algoritmilor principali de transformare a
semnalelor continue în semnale discrete, mai apoi, după aplicarea corespunzătoare a algoritmilor de
transformare, va avea loc transformarea semnalului într-un semnal continuu echivalent lui, după
posibilitate cu cantităţi minime de cheltuieli.
Restabilirea semnalului discret: sarcina – de găsit condiţiile necesare, cu ajutorul cărora semnalul
poate fi restabilit conform eşantioanului discret. Înainte de toate:
cos(2 w0 t ) [ (w w0 ) (w w0 )] / 2 .
Transformata Fourier a secvenţei
Fie avem un semnal x(t), şi este ales un pas de discretizare S. Funcţia este înlocuită printr-o
secvenţă y[n] x(nS ) .
Definiţie. Transformata Fourier a unei secvenţe este numită funcţia
Y ( w) y[n]e
n
2 wiSn
(4).
Funcţia Y (w) este o funcţie periodică. Deseori, pentru simplitate, vom presupune S=1, şi în acest
caz perioada funcţiei este egală cu 1. Aceasta este diferenţa fundamentală între transformatele Fourier
a funcţiilor şi a secvenţelor. În acelaşi timp, ambele transformate sunt strîns legate între ele. Fie avem
u (t ) (t nS ) , atunci Y (w) u(t ) x(t )e 2 wit dt
n
(5),
adică, este transformata Fourier a produsului a două funcţii, dintre care una este funcţie
generalizată. Conform teoriei generale, transformata Fourier a produsului a două funcţii este egală cu
convoluţia de imagini ale factorilor. Pentru simplificarea notaţiilor S=1. Găsim
N N
U (w) u(t )e
2 wit
dt . Punem U N (w) (t n)e
2 iwt
dt = e
n N
2 iwn
. Atragem atenţia la
n N
faptul că, aceasta este o funcţie periodică cu perioada egală cu 1, prezentată ca suma progresiei
geometrice.
e 2 iNw e 2 i ( N 1) w
Avem U N ( w) 2 iw
. Înmulţim numărătorul şi numitorul la e iw .
1 e
sin(2 ( N 1 / 2) w)
Obţinem U N ( w) .
sin(w)
c c
( w) sin(2 ( N 1 / 2) w)
În apropierea la (w)U N (w)dw
c
c
iw
dw se pretinde către N la
n
(0) . Pentru orice S se poate de scris formula: (t Sn) (w S ) / S (6).
Relaţiile dintre transformatele Fourier de tip discret şi continue. Frecventa Nyquist.
Utilizînd formulele (5) şi (6) şi, presupunînd adevărată declaraţia despre transformarea Fourier de
la produsul a două funcţii, primim relaţiile:
Y (w) U (w) * X (w)
unde x(t ) X (w) ,
de unde reiese:
21
n
Y ( w) X ( w ) / S (7)
S
Această formulă stabileşte legătura între transformata Fourier de tip continuu şi cea de tip discret.
După cum urma de aşteptat, Y (w) are perioada 1 / S , ceea ce este în concordanţă cu (4).
22
Program 7_1
Aici vom transforma condiţionat un semnal continuu într-un semnal discret corespunzător, cu
redarea ambelor grafice.
% Program P5_1
% Ilustrarea procesului de discretizare în domeniul de timp
clf;
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:
Semnal continuu în timp x a(t)
1
Amplitudinea
0.5
-0.5
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Timpul, msec
Semnal discret în timp x[n]
1
Amplitudinea
0.5
-0.5
-1
0 1 2 3 4 5 6 7 8 9 10
Timpul n
Program 7_2
Aici vom restabili semnalul continuu din semnalul discret deja existent. În ambele cazuri vom
primi o secvenţă cu o valoare finită de elemente, dar secvenţa semnalului continuu rezultată va fi mai
aproape de continuitate. Restabilirea are loc în timp.
23
%Program P5_2
% Demonstrarea efectului de „imaginaţie” în domeniul de timp
clf;
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:
Semnalul continuu restabilit y a(t)
0.8
0.6
0.4
Amplitudinea
0.2
-0.2
-0.4
-0.6
-0.8
-1
Program 7_3
Programul dat deasemenea restabilişte semnalul continuu dintr-un semnal discret existent, dar
utilizează alt algoritm care lucrează cu frecenţa.
% Program P5_3
% Demonstrarea efectului de „imaginaţie” în domeniul de frecvenţă
clf;
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;
24
xlabel('Frecvenţa, 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('Frecvenţa, KHz');
ylabel('Amplitudinea');
title('|X(e^{j/omega})|');
axis([0 1/T 0 2]);
Rezultatul programului:
Semnal continuu x a(t) |Xa(j/Omega)|
0.8 2
0.6 1.5
Amplitudinea
Amplitudinea
0.4 1
0.2 0.5
0 0
0 5 10 0 0.5 1 1.5
Timpul, msec Frecvenţa, KHz
Semnal discret în timp x[n] |X(ej/omega)|
0.8 2
0.6 1.5
Amplitudinea
Amplitudinea
0.4 1
0.2 0.5
0 0
0 5 10 0 0.5 1
Timpul n Frecvenţa, KHz
Program 7_4
Aici se demostrează lucrul filtrului analogic, utilizat la restabilirea semnalului continuu.
% Program P5_4
% Proiectarea filtrului analogic
clf;
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);
25
plot(wa/(2*pi),20*log10(abs(h))); grid;
xlabel('Frecvenţa, Hz');
ylabel('Adăugare');
title('Răspunsul de creştere');
axis([0 3*Fs -60 5]);
Rezultatul programului:
Răspunsul de creştere
-10
-20
Adăugare
-30
-40
-50
-60
0 2000 4000 6000 8000 10000 12000
Frecvenţa, Hz
26
Lucrare de laborator Nr.8
Tema: Structura filtrelor numerice
Scopul lucrării: De a învăţa cum se construiesc diferite structuri a filtrelor în dependenţă de
proprietăţile dorite a viitoarelor structuri.
Noţiuni generale
În această lucrare de laborator se analizează diferite structuri de filtre (paralelă şi cascadă).
Structura definită a filtrelor permite căpătarea relaţiilor corespunzătoare (convenabile ) între
variabilele interne, şi, în consecinţă, semnalul de ieşire corespunzător.
Orice cauzalitate IIR(Infinite Impulse Response – filtru cu caracteristică infinită a impulsului)
filtrul se caracterizează prin funcţia de transformare:
Filtrele numerice sunt cazuri particulare ale sistemelor liniare invariante. Limitarea semnificativă
datorată realizării fizice a sistemului.
Definiţie: Sistema este numită fizic realizabilă, dacă semnalul la ieşire în momentul de timp t
depinde de semnalul de intrare în momentul de timp ≤ t .
Fie un SLI (sistem liniar invariant) T. Să analizăm întrun punct al secvenţei
: [0] 1, [t ] 0, t 0 .
Fie T{} {h[n]} , şi prin definiţie k [t ] [t k ] . Pentru secvenţa arbitrară {x[n]} este validă
extinderea {x[n]} x[k ] k . De liniaritate T {x[n]} x[k ]T { k }, iar de invariantităţii
k k
T{ k } {h[n k ]} . În cele din urmă, în cazul în care { y[n]} T{x[n]} , atunci y[n] x[k ]h[n k ]
k
(9).
Cu alte cuvinte, reacţia la orice secvenţă se obţine prin convoluţia acestei secvenţe şi secvenţa
{h[n]} , numită impuls de raspuns sau funcţia de răspuns.
27
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 8_2
Există două forme paralele de realizare funcţiei de conversie cauzale IIR. Prima forma se bazează
pe porţiuni de spaţiu dat, în funcţie de z-1. Ea se realizează cu ajutorul funcţiei MATLAB residuez. Iar
forma a doua depinde de z şi se realizează cu ajutorul funcţiei MATLAB residue.
% Programul P6_2
% Realizarea in forma paralela a functiei de tranzitie IIR
num=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);
Polii: Polii:
-1.4167 + 1.3202i -1.4167 + 1.3202i
-1.4167 - 1.3202i -1.4167 - 1.3202i
Constanta: Constanta:
0.6667 0.8333
Programul 8_3
În acest program se realizează algoritmul Gray-Markel. Realizarea grilaj cascadă Gray-Markel
funcţiei de taranziţie H(z) de ordinul – N, se bazează pe realizarea grilaj cascadă funcţiei intermediare
de tranzacţie AN(z), avînd acelaşi numitor, ca şi funcţia H(z).
% Programul P6_3
% Structura grilaj cascada Gray-Markel
% k – vectorul parametrilor grilajului
% alpha – vectorul mutiplicatorilor de legatura directa
format long
% introducerea coeficientilor
num=input('Vectorul coeficientilor numaratorului: ');
den=input('Vectorul coeficientilor numitorului: ');
28
N=length(den)-1; % Gradul polinomului de la numitor
k=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));
end
disp('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);
4 3
3.5 2
1
3
0
2.5
-1
2
-2
1.5
-3
1
-4
0.5 -5
0 -6
1 2 1 2 3
29
Bibliografia
1. Сергиенко A. Б. , Цифровая обработка сигналов, изд. Питер, 2003
2. S.Haykin, B.V. Veen, Signals and Sistems, New Yorc, 1999
3. D.M.Etter, Engineering Problem Solving with MATLAB, Matlab Curriculum Series, 1996
30
1. ANALIZA SEMNALELOR
Se numeşte semnal o mărime fizică măsurabilă, purtătoare de informaţie, care poate fi transmisă
la distanţă, recepţionată şi/sau prelucrată. Cu alte cuvinte, semnalele sunt mărimi fizice cu ajutorul
cărora se transmit mesaje. Clasa semnalelor ce transmit mesaje este foarte largă, în practică
întâlnindu-se o varietate aproape infinită de semnale. În cele ce urmează, se va aborda problema
modelării formei semnalelor, fără a ne preocupa de conţinutul în informaţie al semnalelor.
Un semnal unidimensional, numit şi semnal 1D, este o funcţie de timp, notată generic prin s(t),
t ∈ℜ . De regulă, mărimea fizică variabilă reprezentând semnalul este o tensiune electrică. Totuşi, în
echipamentele de automatizări se utilizează şi semnale de altă natură fizică, aşa cum sunt, de
exemplu: curentul electric, presiunea aerului instrumental, deplasarea unui corp solid etc. În
telecomunicaţii, semnalul 1D este întotdeauna o tensiune electrică variabilă în timp.
Semnalele se pot aplica unor circuite sau, mai general, unor sisteme dinamice. Fie u(t) semnalul
aplicat la intrarea unui sistem şi y(t) semnalul obţinut la ieşirea acestuia, numit şi răspuns al
sistemului la semnalul de intrare (fig. 1.1).
Din aceste reprezentări se observă că semnalul neperiodic poate fi considerat un caz limită al
semnalului periodic, la care perioada tinde la infinit. Această afirmație poate fi generalizată pentru
orice semnal periodic.
Clasificarea semnalelor în semnale periodice și semnale neperiodice este utilă din punct de
vedere teoretic, întrucât instrumentul matematic de analiză a semnalelor diferă în funcție de
apartenența lor la una din categoriile menționate mai sus. Astfel, după cum se va vedea ulterior,
pentru analiza semnalelor periodice, se utilizează seriile Fourier, iar pentru analiza semnalelor
neperiodice transformata Fourier.
Simetria. Conform acestei proprietăți o mare parte a semnalelor poate fi clasificată în semnale
pare și semnale impare. Un semnal este par sau impar, după cum funcția de timp prin care este definit
satisface relația:
s(−t) = s(t); (1.2)
respectiv:
s(−t) = −s(t). (1.3)
Evident, există semnale care nu pot fi incluse în aceste două categorii. Semnalele din figura 1.3 (a,
c) sunt pare, iar cele din figura 1.3 (b, d) sunt impare.
Notând un semnal par cu sp(t) și unul impar cu si(t) se pot demonstra următoarele relații:
𝑡0 0 𝑡
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 2 ∫0 𝑠𝑝 (𝑡)𝑑𝑡 (1.4)
𝑡0
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 0 (1.5)
și deci:
𝑡0 0 𝑡
∫−𝑡0 𝑠𝑝 (𝑡)𝑑𝑡 = 2 ∫0 𝑠𝑝 (𝑡)𝑑𝑡.
deci:
𝑢(𝑡)−𝑢(𝑡−𝜏𝑘 )
𝛿(𝑡) = lim 𝑝𝜏𝑘 (𝑡) = lim (2.15)
𝜏𝑘 →0 𝜏𝑘 →0 𝜏𝑘
În membrul drept al relației (2.15) recunoaștem derivata funcției treaptă unitate. Așadar:
𝛿(𝑡) = 𝑢, (𝑡), (2.16)
Derivata treptei unitate este zero pe tot domeniul, cu excepția punctului de discontinuitate t=0
unde, riguros matematic, derivata nu ar trebui să existe. Totuși, utilizând această funcție improprie
care este impulsul Dirac, am găsit că derivata treptei unitate în punctul de discontinuitate t = 0
este un impuls Dirac localizat în t = 0. Dacă am mări treapta unitate de A ori, derivata va fi evident
Aδ(t). Pe de altă parte, mărimea discontinuității acestei noi funcții în punctul t = 0 este, conform
relației (2.7):
Putem deci concluziona că derivata unei funcții într-un punct de discontinuitate t0 este un
impuls Dirac localizat în acel punct ponderat cu mărimea discontinuității funcției în punctul
respectiv, adică Dδ(t – t0).
Astfel, pentru semnalul din figura 2.1, c, derivata în t = -τ/2 este Aδ(t + τ/2), iar în punctul t
= τ/2, derivata este -Aδ(t - τ/2). Această proprietate conduce la calcule mult mai simplificate în
analiza spectrală a semnalelor cu discontinuități.
O proprietate importantă a funcției δ(t) este exprimată de integrala:
∞
∫−∞ s(t)δ(t − 𝑡0 )dt = s(t). (2.17)
Această integrală se poate evalua simplu, ținând seama de faptul că δ(t − 𝑡0 ) = 0 pentru orice t
≠ 0. Relația (2.17) exprimă proprietatea de eșantionare a funcției impuls unitate. Evident, dacă
t0=0, obținem conform relației (2.17):
∞
∫−∞ s(t)δ(t)dt = s(0). (2.18)
1.4. Semnale periodice. Reprezentarea semnalelor periodice prin serii Fourier
Descompunerea semnalelor periodice în funcții elementare se realizează cu ajutorul
seriilor Fourier. Un semnal periodic s(t) de perioadă T poate fi dezvoltat în serie Fourier dacă
satisface condițiile lui Dirichlet, și anume:
a) s(t) să fie o funcție de modul integrabil pe interval, adică
t0 +T
∫t0 |𝑠(𝑡)|𝑑𝑡 să fie finită; (2.19)
frecvență fundamentală ).
Coeficienții 𝑎0 , 𝑎𝑛 , 𝑏𝑛 se calculează cu relațiile:
2 t +T
a0 = 𝑇 ∫𝑡 0 𝑠(𝑡)𝑑𝑡; (2.21)
0
2 t +T
an = 𝑇 ∫𝑡 0 𝑠(𝑡) cos 𝑛𝜔0 𝑡 𝑑𝑡; (2.22)
0
2 t +T
bn = 𝑇 ∫𝑡 0 𝑠(𝑡) sin 𝑛𝜔0 𝑡 𝑑𝑡; (2.23)
0
Seria trigonometrică poate fi reprezentată într-o formă mai compactă, denumită formă
armonică, utilizând numai funcții cosinusoidale.
unde:
𝑏
An = √𝑎𝑛2 + 𝑏𝑛2 și 𝜑𝑛 = −𝑎𝑟𝑐𝑡𝑔 𝑎𝑛 (2.25)
𝑛
Deci, seria Fourier armonică dă o descompunere a semnalului periodic s(t) într-o sumă de
semnale cosinusoidale ale căror frecvențe sunt multipli ai frecvenței de repetiție a semnalului
periodic. Aceste componente se mai numesc armonici. Atunci când determinăm analitic
amplitudinile An, sau le măsurăm experimental, spunem că facem analiza armonică a semnalului.
Forma complexă sau exponențială a seriei Fourier este dată de expresia:
s(t) = ∑∞
𝑛=−∞ 𝐶𝑛 𝑒
𝑗𝑛𝜔0 𝑡
(2.26)
și se obține din seria trigonometrică prin exprimarea funcțiilor sinus și cosinus, sub formă
exponențială, utilizând relațiile lui Euler. Coeficienții seriei Fourier complexe se calculează cu
relația:
1 t +T
𝐶𝑛 = 𝑇 ∫𝑡 0 s(t)𝑒 −𝑗𝑛𝜔0 𝑡 𝑑𝑡. (2.27)
0
Coeficienții 𝐶𝑛 sunt mărimi complexe și deci pot fi reprezentați prin modul și fază:
𝐶𝑛 = |𝐶𝑛 |𝑒 𝑗𝜙𝑛 . (2.28)
Relațiile de legătură dintre coeficienții 𝐶𝑛 și coeficienții seriilor trigonometrică și armonică sunt:
𝑎𝑛 −𝑓𝑏𝑛
𝐶𝑛 = 𝐶(𝑛𝜔0 ) = ; (2.29)
2
𝑎𝑛 +𝑓𝑏𝑛
𝐶𝑛 = 𝐶(−𝑛𝜔0 ) = ; (2.30)
2
𝐴𝑛 𝑎0
|𝐶𝑛 | = |𝐶−𝑛 | = ; 𝐶0 = ; (2.31)
2 2
𝑏𝑛
𝜙𝑛 = 𝜑𝑛 = −𝑎𝑟𝑐𝑡𝑔 . (2.32)
𝑎𝑛
s(t) = ∑ 𝐶𝑛 𝑒 𝑗𝑛𝜔0𝑡
𝑛=−∞
s(t) poate fi scris analitic pe o perioadă T astfel:
τ 𝜏
𝐴 pt. (− 2 < 𝑡 < 2)
s(t) = { τ 𝜏 (2.33)
0 pt. (2 < 𝑡 < 𝑇 − 2)
𝜏 𝜏 𝜏 𝜏
𝑗𝑛𝜔0 −𝑗𝑛𝜔0
1 𝐴 2𝐴 𝑒 2 −𝑒 2
𝐶𝑛 = − ∫ 𝐴𝑒 −𝑗𝑛𝜔0 𝑑𝑡 = −
2
𝜏 𝑒 −𝑗𝑛𝜔0 𝑡 | 2
𝜏 = ∙ ==
𝑇 − 𝑗𝑛𝜔0 𝑇 − 𝑛𝜔0 𝑇 2𝑗
2 2
𝜏 𝑛𝜔0 𝜏
2𝐴 𝑛𝜔0 𝐴𝜏 sin
2 2
∙ sin
𝜏 = ( 𝑛𝜔0 𝜏 ). (2.34)
𝑛𝜔0 𝑇 2 𝑇
2 2
Funcția din paranteză este de forma (sin x) / x. Această funcție are un rol important în teoria
semnalelor.
Notăm: sinc x = (sin x) / x. (2.35)
Reprezentarea grafică a acestei funcții pare este arătat în figura 2.10.
Trecerea prin zero ale funcției sinc se obțin pentru sin x = 0, adică x = ±kπ. Cu notația (2.35),
relația (2.34) pentru C se scrie:
𝐴𝜏 𝑛𝜔0 𝜏 𝑛𝜔0 𝜏 𝐴𝜏
𝐶𝑛 = sinc = 𝐴𝛿sinc = sinc nπτ𝑓0 (2.36)
𝑇 2 2 𝑇
Raportul δ = τ/T poartă denumirea de coeficient de umplere. Seria exponențială a semnalului s(t)
dat în figură este:
𝑛𝜔0 𝜏
s(t) = Aδ ∑∞
𝑛=−∞ sinc 𝑒 𝑗𝑛𝜔0𝑡 . (2.37)
2
Din relația (2.36) se observă că Cn este real, deci reprezentarea în domeniul frecvență constă dintr-
un singur spectru: Cn(nω0). Deoarece sinc x este funcție pară, rezultă că Cn = - Cn.
Frecvența fundamentală (de repetiție) este ω0 = ± (2π)/T. Spectrul de frecvențe este o funcție
discretă și există numai la ω = ± ω0; 2ω0; ... etc. Amplitudinile corespunzătoare se obțin din relația
𝑛𝜔0 𝜏
(2.36) în care n = 0, 1, 2, ... etc. și descresc după o înfășurătoare dată de funcția 𝐴𝛿sinc .
2
𝑛𝜔0 𝜏
Trecerile prin zero ale acestei funcții au loc la sinc = 0, adică:
2
𝑛𝜔0 𝜏 2𝑘𝜋
= ±𝑘𝜋, sau 𝑛𝜔0 = ± (2.38)
2 2
Reprezentarea spectrului în cazul general (fără particularizările din enunț) este dată în figura 2.11,
a și b, am reprezentat Cn(nf0) care diferă de Cn(nω0) doar printr-o raportare a axei frecvențelor la
2π, astfel încât trecerile prin zero ale înfășurătoarei devin:
𝑘
𝑛𝑓0 = ± 𝜏 , (2.39)
iar componentele spectrale sunt localizate la f = 0, ±f0, ±2f, ..., etc. unde f0 = 1/T.
𝐴𝑛 𝑎0
|𝐶𝑛 | = |𝐶−𝑛 | = ; 𝐶0 =
2 2
Să particularizăm acum spectrul din figura 2.11, b, pentru care cele două cazuri din enunț.
Conform relațiilor (2.36) și (2.32) coeficienții 𝐶𝑛 și 𝐴𝑛 sunt egali: 𝐶0 =0.5, 𝐶1 =0.318, 𝐶2 =0, 𝐶3 =-
0.106, 𝐶4 =0, etc., corespunzător amplitudinile 𝐴0 =0.5, 𝐴1 =0.637, 𝐴2 =0, 𝐴3 =-0.212, 𝐴4 =0, etc. în
cazul a) și 𝐶0 =0.2, 𝐶1 =0.187, 𝐶2 =0.151, 𝐶3 =0.101, 𝐶4 =0.047, 𝐶5 =0, 𝐶6 =-0.031, 𝐶7 =-0.043, 𝐶8 =-
0.037, 𝐶9 =-0.021, 𝐶10 =0, etc. corespunzător amplitudinile 𝐴0 =0.2, 𝐴1 =0.374, 𝐴2 =0.302, 𝐴3 =
0.202, 𝐴4 = 0.094, 𝐴5 =0, 𝐴6 =-0.062, 𝐴7 =-0.086, 𝐴8 =-0.074, 𝐴9 = -0.042, 𝐴10 = 0, etc. în cazul b).
Observăm că în ambele cazuri lățimea τ a impulsului este aceeași, τ = 20 ms. Rezultă:
1 1
= = 50 Hz.
𝜏 20 ∙ 10−3
În ambele cazuri trecerile prin zero au loc la ± 50 Hz. Perioada diferă de la un caz la altul.
1
Frecvența fundamentală 𝑓0 = 𝑇 este: 25 Hz în cazul a); 10 Hz în cazul b). Deci, componentele se
îndesesc pe măsură ce perioada crește. În banda de frecvențe [0, 1/𝜏] apare o singură componentă
în cazul a) lipsesc armonicile 2𝑓0 , 4𝑓0 , 5𝑓0 etc., care coincid cu trecerile prin zero. Similar, în
cazul b) lipsesc armonicile 5𝑓0 , 10𝑓0 , 15𝑓0 etc.
Înălțimile lobului central 𝐴𝛿, care este chiar mărimea componentei continuie (ω = 0) scade
pe măsură ce perioada crește. Coeficientul de umplere 𝛿 are, în ordine, valorile 0,5 și 0,2.
Spectrele de frecvențe 𝐶𝑛 (𝑓) și 𝐴𝑛 (𝑓) corespunzătoare celor două cazuri din enunț sunt
reprezentate în figurile 2.12, a, b, c, d.
Se observă că pe măsură ce perioada crește, componentele se îndesesc dar scad în
amplitudine. Astfel, în cazul b), componentele sunt de 2,5 ori mai dese, dar amplitudinile sunt de
2,5 ori mai mici. Aceasta este o observație importantă pentru înțelegerea trecerii de la semnalul
periodic la cel neperiodic.
Derivând ambii membri ai expresiei ce reprezintă seria Fouriei complexă (relația 2.26), se
obține:
𝑠 ′ (𝑡) = ∑∞
𝑛=−∞ 𝑗𝑛𝜔0 𝐶𝑛 𝑒
𝑗𝑛𝜔0 𝑡
(2.41)
Din (2.41) rezultă relația pentru coeficienții Dn ai seriei complexe a lui 𝑠 ′ (𝑡):
𝐷𝑛 = 𝑗𝑛𝜔0 𝐶𝑛 (2.42)
Deci coeficienții 𝐷𝑛 vor fi:
𝜏 𝑇 𝑇
1 ′ (𝑡)𝑒 −𝑗𝑛𝜔0 𝑡 𝐴 𝜏 −𝑗𝑛𝜔0 𝑡 𝜏
𝐷𝑛 = 𝑇 ∫ 𝑠2
𝜏
2
𝑑𝑡 = 𝑇 [∫ 𝛿 (𝑡 + 2) 𝑒
𝑇 𝑑𝑡 − ∫ 𝛿 (𝑡 − 2) 𝑒 −𝑗𝑛𝜔0𝑡 𝑑𝑡]. (2.43)
2
𝑇
− − −
2 2 2
Calculul coeficienților seriei Fouriei a unui semnal exprimat cu ajutorul impulsurilor unitate este
foarte simplu, de aceea metoda prezentă este indicată pentru acele semnale care prin derivări
succesive conduc la impulsuri Dirac. De exemplu, pentur semnalul din fig. 2.1, b, prin două
derivări succesive se ajunge la impulsuri unitate evitând astfel calculul unor integrale prin părți
la care se ajunge pe calea generală.
Așa cum s-a arătat în paragraful 2.1. semnalele neperiodice pot fi considerate un caz limită
al semnalelor periodice și anume cazul când perioada T tinde la infinit. Această trecere la limită
poate fi concepută și în modul următor: fiind dat semnalul neperiodic S(t) limitat pe axa
timpulului, facem o prelungire periodică ST(t) a acestui semnal, de perioada T, ca în figura 2.14.
La limită făcând pe T să tindă la infinit, semnalul periodic va avea doar o perioadă pe întreg
domeniul de timp (- ∞ < t < ∞) și va fi reprezentat prin s(t). Semanlul sT(t) poate fi dezvoltat în
serie Fourier complexă. Această serie îl reprezintă pe sT(t) pe tot intervalul iar pe s(t) numai pe
intervalul [-T/2, T/2]. La limită, când T tinde la infinit, seria corespunzătoare lui sT(t) îl reprezintă
pe s(t) pe întreg intervalul (- ∞ < t < ∞).
În exemplul 2.1 s-a constatat că cu cât T devine mai mare, frecvența fundamentală 𝜔0 devine
tot mai mică, spectrul tot mai dens, iar amplitudinile componentelor spectrale din ce în ce mai
mici. La limită nu se mai poate face o discriminare între două componente succesive, spectrul
existând pentru orice ω ca rezultat spectrul discret devine un spectru continuu.
Să demonstrăm analitic acest lucru. Să facem subtituția
𝑛𝜔0 = 𝜔𝑛 (2.48)
În relațiile (2.46 – 2.47). Notând Cn(nω0) = Cn(nωn), obținem:
𝑠 𝑇 = ∑∞
𝑛=−∞ 𝐶𝑛 (𝜔𝑛 )𝑒
𝑗𝜔𝑛
𝑑𝑡 (2.49)
𝑇
1
𝐶𝑛 = 𝑇 ∫2𝑇 𝑠𝑇 (𝑡)𝑒 −𝑗𝜔𝑛 𝑑𝑡. (2.50)
−
2
Fig.2.15.
Soluție
Se aplică relația (2.56) pentru semnalele din figurile 2.10, a, b, corespunzptor:
∞
𝑎) ℱ{𝛿(𝑡)} = ∫ 𝛿(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
−∞
Utilizând proprietatea de eșantionare a impulsului unitate exprimată prin relația (2.17), se obține:
ℱ{𝛿(𝑡)} = 𝑒 0 = 1. (2.58)
b) Semnalul s1(t) este definit prin relațiile:
0 pt. 𝑡 ≤ 0
𝑠1 (𝑡) = { −𝛼𝑡
𝑒 pt. t > 0
Deci:
∞
1 ∞ 1 𝛼 − 𝑗𝜔 𝛼 − 𝑗𝜔
S1 (𝜔) = ∫ 𝑒 −𝛼𝑡 𝑒 −𝑗𝜔𝑡 𝑑𝑡 = − 𝑒 −(𝛼+𝑗𝜔)𝑡 | = + ∙ =+ 2
0 𝛼 + 𝑗𝜔 0 𝛼 + 𝑗𝜔 𝛼 − 𝑗𝜔 𝛼 + 𝜔2
𝛼 𝜔
=+ 2 2
− 2 𝑗
𝛼 +𝜔 𝛼 + 𝜔2
S1(ω) este o funcție complexă. Vom determina atât spectrul de amplitudini, cât și cel de faze.
𝛼2 𝜔2 𝛼2 + 𝜔2 1
|S1 (𝜔)| = +√ 2 2 2
+ 2 2 2
= + √ 2 2 2
=+ ; (2.60)
(𝛼 + 𝜔 ) (𝛼 + 𝜔 ) (𝛼 + 𝜔 ) √𝛼 2 + 𝜔 2
𝜔
𝜑1 (𝜔) = −𝑎𝑟𝑐𝑡𝑔 𝛼 (2.61)
Funcțiile de densitate spectrală corespunzătoare celor trei semnale analizate sunt reprezentate
în figura 2.16.
Se observă că impulsul unitate are o densitate spectrală uniformă pe toată axa frecvențelor.
Funcția impuls unitate conține toate cmponentele de la ω = 0 la ω = ∞ cu aceeași amplitudine
relativă. Banda de frecvențe ocupată de semnal este infinită.
a) b) c)
Fig.2.16. Funcțiile de densitate spectrală ale semnalelor din figura 2.15.
Impulsul dreptunghiular de lățime finită τ conține cea mai mare parte a energiei sale în
intervalul 0 < ω < 2π/τ, adică 0 < f < 1/τ. Această concluzie este utilă la stabilirea lățimii de bandă
a sistemului de transmisiune pentru impulsurile de tipul considerat.
Exemplul 2.4. Să se determine semnalele s(t) ale căror funcții de densitate spectrală S(ω)
sunt reprezentate în figura 2.16.
Dacă s(t) este constantă, spectrul de frecvențe corespunzător conține numai o componentă cu
frecvență ω = 0. Aceasta este un rezultat firesc, deoarece s(t) = C reprezintă un semnal continuu
(ω = 0).
Din această transformare mai rezultă că dacă s(t) conține o constantă:
𝑠(𝑡) = 𝑠1 (𝑡) + 𝐶. (2.65)
atunci transformata Fourier va conține un impuls unitate
𝑆(𝜔) = 𝑆1 (𝜔) + 2𝜋𝐶𝛿(𝜔). (2.66)
b) 𝑆1 (𝜔) este defini astfel:
𝜔0
1 pt. |𝜔| <
𝑆1 (𝜔) = { 2
𝜔0
0 pt. . |𝜔| ≥
2
Utilizând relația (2.55) se obține:
1 𝜔 /2 1 𝜔0 /2 𝜔0 𝜔0 𝑡
𝑠1 (𝑡) = ℱ −1 {𝑆1 (𝜔)} = 2𝜋 ∫−𝜔0 1 ∙ 𝑒 𝑗𝜔𝑡 𝑑𝜔 = 2𝜋𝑗𝜏 𝑒 𝑗𝜔𝑡 | −𝜔0 /2
= 𝑠𝑖𝑛𝑐 . (2.67)
0 /2 2𝜋 2
Ultima integrală este tocmai 𝑆(𝜔), deci relația (2.73) este demonstrată.
Această însușire ne demonstrează că deplasarea în timp a funcției semnalului cu t o nu
schimbă spectrul de amplitudini |𝑆(𝜔)|. Schimbările intervin numai în spectrul de faze care se
multiplică cu −𝜔𝑡𝑜 a fiecărei componente ale semnalului păstrând forma lor inițială.
5. Deplasarea spectrului (modularea). Orice deplasare a funcției de densitate spectrală S(ω)
cu ω0 conduce la o multiplicare a semnalului s(t) cu 𝑒 𝑗𝜔𝑜 𝑡 . Expresia analitică a acestei
proprietăți este dată prin relația:
ℱ −1 {𝑆(𝜔 − 𝜔𝑜 )} = 𝑒 𝑗𝜔𝑜 𝑡 𝑠(𝑡). (2.74)
Demonstrație: Fie S(ω) transformata Fourier și S(ω – ωo) funcția deplasată cu ωo. Vom zice:
1 ∞
ℱ −1 {𝑆(𝜔 − 𝜔𝑜 )} = ∫ 𝑆(𝜔 − 𝜔𝑜 )𝑒 𝑗𝜔𝑡 𝑑𝜔.
2𝜋 −∞
Notând 𝜔 − 𝜔𝑜 = 𝜆, găsim:
−1 {𝑆(𝜔
1 𝑗𝜔 𝑡 ∞
ℱ − 𝜔𝑜 )} = 𝑒 𝑜 ∫ 𝑆(𝜔 − 𝜔𝑜 )𝑒 𝑗𝜆𝑡 𝑑𝜆,
2𝜋 −∞
Deci, în procesul de modulație se produce deplasarea spectrului cu ±𝜔𝑜 . Acest rezultat este foarte
important pentru teoria telecomunicațiilor. În figura 2.21 se ilustrează deplasarea spectrului în
rezultatul modulației.
6. Derivarea în domeniul timp. Transformata Fourier a derivatei unui semnal s(t) este de jω
ori transformata Fourier a semnalului.
ℱ{𝑠 ′ (𝑡)} = 𝑗𝜔 𝑆(𝜔). (2.77)
Pentru o derivare de n ori în timp se obține relația:
ℱ{𝑠 𝑛 (𝑡)} = (𝑗𝜔)𝑛 𝑆(𝜔). (2.78)
Demonstrație:
′ (𝑡)
𝑑 1 ∞
𝑠 = ∫ 𝑆(𝜔)𝑒 𝑗𝜔𝑡 𝑑𝜔.
𝑑𝑡 2𝜋 −∞
a)
b)
′ (𝑡)
1 ∞
𝑠 = ∫ 𝑗𝜔 𝑆(𝜔)𝑒 𝑗𝜔𝑡 𝑑𝜔,
2𝜋 −∞
deci,
ℱ{𝑠 ′ (𝑡)} = 𝑗𝜔 𝑆(𝜔).
7. Integrarea în domeniul timp. Transformata Fourier a integralei unui semnal s(t) este
transformata Fourier a semnalului împărțit cu jω:
𝑡 𝑆(𝜔)
ℱ {∫−∞ 𝑠(𝜏)𝑑𝜏} = . (2.79)
𝑗𝜔
Demonstrație:
𝑡
𝑡
1 ∞ 𝑗𝜔𝑡
1 ∞ 𝑆(𝜔) 𝑗𝜔𝑡
∫ 𝑠(𝜏)𝑑𝜏 = ∫ ∫ 𝑆(𝜔)𝑒 𝑑𝜔 𝑑𝜏 = ∫ 𝑒 𝑑𝜔 ,
−∞ 2𝜋 −∞ 2𝜋 −∞ 𝑗𝜔
−∞
∞
𝑑𝑆(𝜔)
= ∫ (−𝑗𝑡)𝑠(𝑡)𝑒 −𝑗𝜔𝑡 𝑑𝑡.
𝑑𝜔 −∞
Evident că funcția [−𝑗𝑡 𝑠(𝑡)] îi corespunde transformata 𝑑𝑆(𝜔) / 𝑑𝜔. Pentru derivatele de ordin
superior a funcției 𝑆(𝜔) se obține:
𝑑𝑛 𝑆(𝜔) / 𝑑𝜔𝑛 = ℱ{(−𝑗𝑡)𝑛 𝑠(𝑡)}.
Deci, derivarea în domeniul frecvențelor este echivalentă înmulțirii cu −𝑗𝑡 în domeniul
timpului.
9. Teorema convulției. Teorema convulției este una din cele mai eficiente metode pentru
analiza semnalelor în domeniul frecvențelor.
Fiind date două semnale 𝑠1 (𝑡) și 𝑠2 (𝑡), se numește funcție de convulție sau produs de
convulție integrala:
∞
𝑓(𝑡) = ∫−∞ 𝑠1 (𝜏)𝑠2 (𝑡 − 𝜏) 𝑑𝜏. (2.82)
Teorema convulției în timp. Fiind date două semnale 𝑠1 (𝑡) și 𝑠2 (𝑡), ale căror transformate
Fourier 𝑆1 (𝜔) și 𝑆2 (𝜔), rezultă:
ℱ{𝑠1 (𝑡) ∗ 𝑠2 (𝑡)} = 𝑆1 (𝜔)𝑆2 (𝜔). (2.85)
Demonstrație:
∞ ∞
ℱ{𝑠1 (𝑡) ∗ 𝑠2 (𝑡)} = ∫ 𝑒 𝑗𝜔𝑡 [∫ 𝑠1 (𝜏) 𝑠2 (𝑡 − 𝜏)𝑑𝜏] 𝑑𝑡.
−∞ −∞
Fig.2.23.Interpretarea grafică a
convulției semnalelor.
Observăm că, în timpul determinării funcției de convulție 𝑠(𝑡) = 𝑠1 (𝑡) ∗ 𝑠2 (𝑡), funcția
𝑠2 (−𝜏) se deplasează în direcția pozitivă a axei τ pentru valori pozitive a timpului t și invers.
10. Convulția funcției cu impulsul unitate. Convulția funcției s(t) cu impulsul unitateeste
însuși funcția s(t). Conform teoremei convulției în timp se obține:
ℱ{𝑠(𝑡) ∗ 𝛿(𝑡)} = 𝑆(𝜔) ∙ 1 = 𝑆(𝜔). (2.89)
Relația în timp, echivalentă celei în frecvență, exprimată prin (2.89) este:
∞
∫−∞ 𝑠(𝜏)𝛿(𝑡 − 𝜏)𝑑𝜏 = 𝑠(𝑡). (2.90)
Relația (2.90) realizează descompunerea unui semnal într-o sumă de funcții impuls unitate.
Această descompunere prezintă o mare însemnătate în analiza circuitelor deoarece permite
determinarea prin superpoziție a răspunsului unui circuit la orice semnal s(t) atunci cînd se
cunoaște răspunsul lui la impuls unitate.
Transformata Fourier poate fi aplicată semnalelor periodice, ceea ce permite o tratare unică
atît a semnalelor periodice, cît și și a celor neperiodice, facilitînd soluționarea problemelor de
analiză a semnalelor și a circuitelor în care intervin ambele tipuri de semnale. În mod riguros,
transformata Fourier a unui semnal periodic nu există deoarece semnalul periodic nu satisface
∞
condiția de integrabilitate ∫−∞|𝑠(𝑡)|𝑑𝑡 < ∞. Această condiție este satisfăcută numai pe un
interval finit. Transformata Fourier a semnalului periodic se obține totuși printr-o trecere la limită.
Limitele de integrare din expresia (2.93) arată că integrarea se face pe un contur paralel cu axa
imaginară jω, astfel încît integrala (2.93) să fie convergentă.
Utilizarea transformatelor Laplace ale semnalelor în studiul circuitelor electrice conduce la
transformarea ecuațiilor diferențiale în ecuații operaționale.
2. SEMNALE EȘANTIONATE
2.6.1. NECESITATEA EȘANTIONĂRII SEMNALELOR ÎN TIMP
După cum s-a arătat în paragraful 2.2, un semnal este complet determinat fie prin specificarea
sa în domeniul timp, fie prin specificarea sa în domeniul frecvență. Acesta este conceptul
fundamental pe care se bazează transmiterea simultană a mai multor semnale pe același canal de
telecomunicații. Astfel, N semnale pot fi transmise simultan pe același canal de telecomunicații
dacă pot fi separate fie în domeniul frecvență, fie în domeniul timp. Aceasta înseamnă că
semnalele trebuie să ocupe fie benzi de frecvență diferite, fie intervale de timp diferite.
Transmiterea simultană a mai multor semnale pe un același canal fizic, prin separarea lorîn
domeniul frecvență este denumită multiplexare în frecvență, iar transmiterea simultană a mai
multor semnale prin separarea lor în domeniul timp se numește multiplexare în timp.
În capitolul precedent s-a mai arătat că un semnal finit în timp este infinit în frecvență și
invers. Prin urmare, la multiplexarea în frecvență, semnalele ce se transmit simultan, avînd
spectre de frecvențe diferite, dar finite, sunt infinite în domeniul timp, deci apar mixate în
domeniul timp. Similar, la multiplexarea în timp, semnalele ce se transmit sînt mixate în frecvență
(spectrele lor se întind, teoretic, de la ω = 0 la ω = ∞).
Separarea semnalelor la recepție se face pe baza identității păstrate în domeniul frecvență,
respectiv în domeniul timp.
Multiplexarea în timp se bazează pe eșantionarea semnalelor și transmiterea eșantionelor la
momente de timp diferite, astfel încît eșantioanele diferitelor semnale să nu se suprapună
(fig.2.24).
Identificarea fiecărui semnal este dată de durata τi față de anumite momente de referință
marcate prin impulsuri de sincronizare (fig.2.24). La recepție, eșantionaele diferitelor semnale se
repară prin detecția sincronă.
Fig.2.24. Principiul multiplexării în timp.
Din cele arătate rezultă că multiplexarea în timp este realizabilă în principiu. Mai trebuie să
demonstrăm și cum se poate aplica. Demonstrația constă în a arăta că semnalul ce se eșantionează
poate fi reconstruit numia din cunoașterea ascestor eșantioane, sau, altfel spus, că semnalul este
unic determinat de eșantioanele sale. Aceasta formează obiectul teoremei eșantionării:
Teorema eșantionării uniforme stabilește următoarele:
Un semnal de bandă limitată este univoc determinat de valorile sale considerate la momentele de
timp echidistante, dacă distanța T dintre două momente succesive satisface relația:
1
T ≤ 2𝑓 , (2.94)
𝑚
2
unde = .Transformatei Fourier a semnalului T (t ) va fi: F{ T (t ) }=
T
1 jnt − jnt 1
T n=−e e dt =
T n =−
2 ( w − n ) =
n = −
( w − n) .
−
Funcţia S*(w) poate fi determinata utilizând teorema de convoluţie in domeniul frecvenţa: S*(w)=
1 1
F{S(t) T (t ) }= [ S ( w) * ( w − n)] = [ S ( w) * ( w − n)] ;
2 n = − T n = −
1
S(w)* (w − n) =
n = −
S (w − n) ; S*(w)=
n = −
S (w − n) .
T n =−
Aceasta expresie arata ca spectrul unui semnal eşantionat S*(t) este o repetare periodica a
spectrului semnal s(t) cu periodicitatea după frecvenţă .
S () cazul cind 2m 1/T S ( )
− m − − m m
− m m 1/T
− 0 2 2
Se observa ca spectrul e ce se repeta a semnal eşantionat nu se suprapun p\u cazul când w 2 wn
1
,adică când se respectă condiţia ca T care se numeşte condiţia lui Naqiust,T se numeşte
2f
1 1
perioada lui Nyquist ,iar f= = se numeşte frecvenţa Nyquist.
T 2 fm
1
𝑆(𝜔)𝐻(𝜔) = T 𝑆(𝜔), (2.103)
A0
0
0 t1
A(t)
Acest vector se roteste cu viteza unghiulara 0 si in momentul initial cit t=0 are unghiul 0 fata de
axa reala. Iar in alte momente de timp unghiul = wo t + o ;
Proectia acestui vector pe axa reala in orce moment de timp va fi egala cu valoarea instantaneie a
amplitudinei.
A modula inseamna a stabili o dependenta intre un parametru al purtatorului P(t) si semnalul
modulator S(t). Este indicat ca aceasta dependenta sa fie liniara fiecare dintre cei 3 parametri ce
definesc purtatorul poate prelua variatia semnalului modulator S(t) astfel putem obtine urmatoarele
tipuri de modulatii:
1) Modulatii de amplitudinea MA
2) Modulatii de frecventa MF
3) Modulatii de faza Phaze
1
In cazul modulatiei de amplitudine :
Amplitudinea instantaneie A(t) a semnaluli modulat in amplitudine trebue sa fie intr-o relatie de
dependenta liniara fata de semnalul S(t) in acest caz :
A(t ) = A0 + KS (t ) ;
Expresia in domeniul timp a semnaluli modulat in amplitudine va fi :
S MA (t ) = A(t ) cos(w0 t + 0 ) = A0 t + K S (t ) cos(w0 t + 0 ) ;
Sa reprezentam formele de unda a unui semnal modulator S(t) purtator P(t) si modulat in
amplitudine SMA (t )
S(t)
P(t)
A0
− A0
S MA (t )
A0 t
− A0
2
T=
0
Frecventa instantaneie:
d (t )
wi (t ) = ;
dt
2
Care in cazul semnalului sinusoidal generalizat variaza in timp
Din aceste considerente reatia de determinare a lui θ(t)=f i (t )dt ;
2) Modulatii cu purtatori in impulsuri
Modulatia in faza. A modula in faza inseamna a stabili o relatie de dependenta liniara intre faza
instantanee a purtatorului modulat si semnal modulat S (t ). (t ) = 0 t + 0 + kS (t ) .Expresia analitica
in forma cea mai generala a unui semnal modulat in faza are urmatoarea
forma: S MP (t ) = A0 cos (t ) = A0 cos[0 t + 0 + kS (t )] .P\ u a sublinia diferenta intre modulat de
fregventa si cea de faza construim graficele reprezentarii in timpale semnalelor modulate cu unu si
acelas semnal modulat S(t).Presupunem S(t)=at si faza initiala a purtatorului ϕ0=0,t0=0 deci:
S(t)
t0
S MF = A0 cos w0 t + k atdt = A0 cos w0 t +
kat 2
2
kat
unde [ 0 t + ] se înscrie faza semnal modulat in orice moment de timp .P\u a construi
2
kat 2
reprezentarea in timp a semnal modulat gasim fregv instantanee: (t ) = wo t + ;
2
d(t )
i (t ) = = 0 + kat .Se observa ca fregventa semnal modulat creste liniar incepind cu
dt
moment de timp t0.
3
0
P(t) S MP
2
A0
t0
t 2A0
− A0
const
t0
4
S(t)
a0
− a0
2
0
P(t)
A0
− A0
S MA (t )
AM
mA0
Am
t
− Am
m<1
AM
Se presupune conditia ca gradul de modulatie m 1,daca m>1 atunci infasuratoarea semnal modulat
in amplitud nu mai produce forma semnal modulat S(t) si aceasta nu poate fi obtinut prin
demodulare.Din expresia 3 se obtine urmatoarea reprezentare a semnal modulat in
amplitudine.
mA0 mA0
S MA (t ) = A0 cos( o t + 0 ) + cos[( 0 + 0 )t + 0 − 0 ] + cos[( 0 + 0 )t + 0 + 0 ] − 6
2 2
Expresia 6 pune in evidenta componentele spectrale ale semnal modulat in amplitudine. Sa
reprezentam spectrele de amplitudine a semnal modulator S(t) purtator P(t) si modulat in
amplitudine SMA(t).
5
A
A A A0 A0
mA0 mA0
2 2
S(t)
a0 0 0 0 − 0 0 0 + 0
A0
0 Re
6
m
mk A0
S MA (t ) = A(t ) cos( 0 + 0 ) ; S MA (t ) = A0 cos( 0 t + 0 ) + cos[( 0 + k )t + 0 +
k =1 2
m
mk A0
Φk]+ cos[( 0 − k )t + 0 − Φk ].
k =1 2
Spectrele de amplitudine ale semnal S(t) si SMA(t) pot fi reprezentate astfel:
Ak ( )
0 0
m2 A0 m2 A0
a2 a3
2 2
a1 a4
m3 A0 m1 A0 m1 A0 m3 A0
2 2 2 2
mn A0 mn A0
an
2 2
... ... ... t
1 2 3 n m 0 n 0 2 0 1 0 0
B = m 0
7
S ()
− m Bm m
S MA ( ) A0
− m + m
. Reprezentarea grafica a f-tiei de densitate spectrala a semnalelor S(t) si SMA(t) luate in cadrul
cind ϕ0=0 pot fi urmatoarele:
1)Dupa cum se observa modulat de amplitud translat functia de densitate spectrala S( ω) a semnal
modulat cu +/- ω0,in plus functia SMA(ω) contine 2 impulsuri localizate la fregventele +/- ω0 a caror
integrami =πA0.
Ca si în cazul precedent sedefinesc 2 benzi inferioare si superioara.In practica transmiterii semnal
modulate-n amplitudine se poate efectua prin mai multe metode rezultind astfel mai multe tipuri de
modulati in amplitudine:
1)cu purtator si ambele benzi laterale,
2)cu purtator suprimat si ambele benzi laterale
3)cu banda laterala unica.Avantaje si dezavantaze:1)in cazul modulatde amplitud cu purtator si
ambele benzi laterale avem avantajul unei reconstructii simple a mesaj la receptie .Acest tip de
modulatie e indicat atunci cind echipament de receptie trebuie sa fie cit mai simplu in schimb semnal
modulat ocupa o banda de fregventa dubla fata de semnal modulator,iar emitatorul necesita o putere
mare p\u a transmite atit purtatorul cit si ambele benzi laterale.
2)Sistemele cu modulat in amplitudine cu modul suprimat prezinta avantaj unei puteri mai mici la
emisie eficienta fiind 100%,banda de fregventa e aceiasi ca si-n caz precedent,iar primul dezavantaj
il constituie complicarea detectiei,deoarece la receptie e necesar de a genera un purtator sincron si
sinfazic cu purtator de la emisie.
3)Sistemele cu modulatie in amplitudine cu banda laterala unica au avantaj ca se reduce de 2 ori
banda de fregventa necesara p\u transmiterea fata de primele cazuri,de asemenea si puterea
emitatorului e mai mica insa receptorul e mult maicomplicat deoarece e necesar de a genera purtatori
la receptie.
8
Spectrele semnalelor modulate în frecvenţă
Expresia (2.50) reprezintă în forma cea mai generală un semnal MF în domeniul timp. 0 este o
constantă arbitrară şi poate fi luată zero. Dacă s(t) este nul la t<0, atunci limitele de integrare sînt 0
şi t. Notând:
t
g (t ) = s (t )dt (2.51)
0
SMF (t ) = A0 cos[0t + kg(t )] = A0 cos 0t cos[kg(t )] − A0 sin 0t sin[ kg(t )] (2.52)
Evaluarea spectrului de frecvenţe al semnalului MF este complicată din punct de vedere
matematic din cauză că g(t) apare în argumentul funcţiilor trigonometrice. Dacă este însă satisfăcuta
condiţia:
k g (t ) max (2.53)
2
atunci expresia (2.52) se simplifica mult şi spectrul SMF() se determină foarte simplu.
În cazul în care:
k g (t ) max (2.54)
2
analiza spectrală pentru un s(t) oarecare devine dificilă. Prin considerarea semnalului modulator s(t)
ca un simplu semnal sinusoidal, analiza se simplifică. Rezultatele obţinute în această ipoteză
simplificatoare sînt însă concludente pentru proprietăţile MF.
Relaţiile (2.53) şi (2.54) definesc modulaţia de frecvenţă de bandă îngustă, respectiv modulaţia de
frecvenţă de bandă largă.
MF de bandă îngustă. Ţinând seama de condiţia (2.53) se pot face aproximările:
cos[kg (t )] 1
(2.55)
sin[ kg (t )] kg (t )
Introducând (2.55) în (2.52) se obţine:
S MF (t ) = A0 cos 0 t − kA0 g (t ) sin 0 t (2.56)
Spectrul semnalului MF de bandă îngustă se determină foarte simplu, aplicând proprietatea de
deplasare în frecvenţă a transformatei Fourier. Obţinem:
9
e j 0 t + e − j 0 t e − j 0 t − e − j 0 t
S MA ( ) = A0 F{ } − kA0 F{ g (t )} =
2 2j
(2.57)
kA
= A0 [ ( − 0 ) + ( + 0 )] + j 0 [G ( − 0 ) − G ( + 0 )]
2
Deoarece:
t
g (t ) = s (t )dt (2.58)
0
kA0 S ( − 0 ) S ( + 0 )
S MF ( ) = A0 [ ( − 0 ) + ( + 0 )] + [ − ] (2.58)
2 − 0 + 0
Se observă că spectrul semnalului MF de bandă îngustă este similar cu cel al semnalului MA
(relaţia 2.19), obţinându-se şi în acest caz purtătorul şi cele două benzi laterale. Deci, lăţimea de
bandă a semnalului MF este ca şi la MA : B = 2m (în ipoteza că semnalul modulator s(t) are
spectrul limitat la m. Deosebirea esenţială între spectrele MA şi MF de bandă îngustă constă în
faptul că, în timp ce la MA, cele două benzi laterale sînt în fază, la MF acestea sînt în opoziţie de
fază. Din punct de vedere matematic, acest lucru este evidenţiat prin împărţirea lui S(-0) la (-
0), împărţire care schimbă sau nu semnul lui S(-0), după cum <0, respectiv >0.
Deşi din punct de vedere al spectrelor semnalele MA şi MF de bandă îngustă au multe asemănări,
formele lor de undă sînt totuşi foarte diferite. La un semnal MA, frecvenţa
unde =ka0 poartă denumirea de deviaţie de frecvenţă s. semnalului MF, măsurând depărtarea
maximă a frecvenţei instantanee i(t) faţă de 0.
În figura 2.19 este reprezentată variaţia în timp a lui i(t).
Faza instantanee şi semnalul MF, determinate cu relaţiile (2.49) şi (2.50) devin:
(t ) = 0t + sin 0t = 0t + sin 0t (2.62)
0
SMF (t ) = A0 cos(0t + sin 0t ) (2.63)
10
unde
= (2.64)
0
poartă denumirea de indice de modulaţie de frecvenţă. Se observă că p variază invers proporţional cu
frecvenţa semnalului modulator. Relaţia (2.63) se mai poate scrie:
SMF (t ) = A0 cos0t cos( sin 0t ) − A0 sin 0t sin( sin 0t ) (2.65)
2
Funcţiile: cos(sin0t) şi sin(sin0t) sînt funcţii periodice, de perioadă Prima este o funcţie
0
pară, iar a doua este o funcţie impară. Aceste funcţii se pot dezvolta în serii Fourier. Se obţine:
cos( sin 0t ) = J 0 ( ) + 2 J 2 k ( ) cos 2k0t sin( sin 0 ) − 2 J 2 k +1 ( ) sin( 2k + 1)0t (2.66)
k =1 k =0
Coeficienţii Jk() reprezintă valorile funcţiilor Bessel. Jk(x) de speţa întâi şi ordinul k, calculate
pentru x = .
Introducând dezvoltările (2.66) în relaţia (2.65) şi transformând produsele de funcţii
trigonometrice în sume de funcţii trigonometrice, se obţine:
sMF (t ) = A0 J 0 ( ) cos 0t + [ A0 J n ( ) cos(0 + n0 )t + (−1) n A0 J n ( ) cos(0 − n0 )t ] (2.67)
n =1
Expresia (2.67) pune în evidenţă componentele spectrale ale semnalului MF. Se constată că
semnalul MF conţine un număr infinit de componente nu numai trei cum avea semnalul MA.
Teoretic, lăţimea de bandă ocupată de semnalul MF este infinită. Practic, amplitudinile
componentelor spectrale depărtate de 0 devin neglijabile; aproape toată energia semnalului MF este
conţinută în componentele spectrale localizate în interiorul unei benzi finite.
Acest fapt se explică dacă examinăm reprezentările grafice ale funcţiilor Bessel de speţa I, ordinul k
şi argument (fig. 2.20).
Pentru β (practic <0,5), numai J0() şi J1() au o amplitudine semnificativă. Toate
2
celelalte funcţii: J2(), J3() ...sînt neglijabile. în acest caz semnalul MF este asemănător semnalului
M A,
SMF (t ) = A0 J 0 ( ) cos 0t + A0 J1 ( ) cos(0 + 0 )t − A0 J1 ( ) cos(0 − 0 )t având
expresia:
(2.68)
Acesta este desigur semnalul MF de bandă îngustă; este tocmai acel parametru kg(t)max.
prezentat anterior, pe baza căruia s-au clasificat semnalele
11
Fig. 2.20. Reprezentarea
grafică a funcţiilor Bessel
de speţa 1 şi ordinul k.
MF în semnale de bandă îngustă şi de bandă largă. Se remarcă din relaţia (2.68) că la componenta
laterală inferioară apare un defazaj de n faţă de componenta corespunzătoare a semnalului MA, ceea
ce de fapt a fost demonstrat în cazul general [s (t) oarecare] al semnalului MF de bandă îngustă.
Pentru (=2, coeficienţii J5 (2), J6 (2) etc., sînt neglijabili, funcţiile J5 (), J6 () etc., încă
„nedesprinzându-se" de abscisă. Componentele spectrale semnificative sânt: 0, 0 ± >, 0 ± 2>,
0 ± 3, 0± 4, iar lăţimea de bandă ocupată: B == 0 + 4 — (0 — 4) = 8.
Pe măsură ce creşte, componentele laterale de ordin mai mare devin semnificative. Numărul de
componente laterale N care trebuie luate în consideraţie se determină din considerentul ca ele să
conţină 99% din puterea semnalului MF. Considerând puterile debitate pe o rezistenţă de 1 ,
rezultă:
N
A02 ( ) = 0,99
k =− N
J
k =− N
2
k ( ) = 0,99 (2.69)
Se observă că pentru <<l, banda semnalului MF este B =20, iar pentru >>l:
B 20 2 = 2ka0 (2.72)
Banda necesară pentru transmiterea unui semnal MF de bandă largă este aproximativ de două ori
deviaţia maximă de frecvenţă a purtătorului. Aceasta înseamnă că pentru suficient de mare, banda
efectivă a semnalului MF nu depinde de frecvenţa mesajului.
Din reprezentările grafice ale funcţiilor Bessel (fig. 2.20) se observă că purtătorul conţinut în
semnalul modulat, de amplitudine A0J0(), nu mai are totdeauna cea mai mare amplitudine, ca în
cazul MA.
12
Mai mult, pentru valorile lui la care J0() intersectează abscisa, purtătorul lipseşte din semnalul
MF. Se mai remarcă faptul că pentru orice , amplitudinele componentelor relativ depărtate de 0,
descresc tinzând către zero, adică se află în relaţia:
J k ( ) J k +1 ( ) J k + 2 ( )..., (2.73)
Expresia cea mai generală a unui semnal M în domeniul timp este dată analitic de:
SM (t ) = A0 cos[0t + 0 + ks(t )] (2.75)
întrucât s(t) intră în argumentul funcţiei cosinus, analiza în domeniul frecvenţă (analiza spectrală)
este dificilă pentru s(t) oarecare. Ne rezumăm la cazul:
s(t ) = a0 sin(0t + 0 ) (2.76)
Pentru acest mesaj, faza instantanee (t) şi semnalul modulat sM(t) sînt date de relaţiile:
(t ) = 0t + 0 + ka0 sin 0t = 0t + 0 + sin(0t + 0 ) (2.77)
Se observă că sM(t) are aceeaşi expresie ca sMF(t) dat de relaţia (2.63), singura deosebire fiind
înlocuirea lui cu . În consecinţă, dezvoltarea lui sM(t), care pune în evidenţă componentele
spectrale, este aceeaşi cu cea de !a MF (relaţia (2.67) ), dacă se înlocuieşte cu :
S M (t ) = Ao J 0 ( ) cos 0t + A0 J n ( )[cos(0 + n0 )t + (−1) n cos(0 − n0 )t ] (2.79)
n =1
Toate consideraţiile făcute la MF asupra spectrelor semnalelor MF de bandă îngustă ( < 0,5) şi
de bandă largă ( > 5), rămân valabile şi la M.
Relaţia aproximativă pentru determinarea benzii de frecvenţe ocupată de semnalul M- este:
13
B 2( + 1)0 (2.80)
14
15
16
17
18
19
20
21
22
23
24
25
26
27