Professional Documents
Culture Documents
Obrada Digitalnih Signala - Vježbe PDF
Obrada Digitalnih Signala - Vježbe PDF
[ ] { u[ ] {
∑ [ ]
Naša funkcija:
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
2. Definisati signale sa slike pomoću sekvence [ ] i funkcije u(n).
1
Kauzalnost
Odziv će biti nula ako je n<0.
h(n) = 0, n<0
Pošto ovdje nemamo odziv za n<0, sistem je kauzalan.
∑ [ ]
f(n) = [ ]- [ ] [ ] [ ]
{ [ ] [ ]} { [ ] [ ]} { [ ] [ ]} { [ ]
[ ]}
zapis našeg signala preko jedinične funkcije
Opći oblik:
∑ { [ ] [ ]}
Sistem je kauzalan.
[ ] [ ] [ ]
{ [ ] [ ]} { [ ] [ ]} { [ ] [ ]}
∑{ [ ] [ ]}
2
4.
[ ] {
[ ] {
[ ] [ ] [ ] [ ] [ ]
[ ] [ ]
8. Sistem je opisan diferencijalnom jednačinom . Naći
impulsni odziv sistema h(n).
[ ] { [ ]}
[ ] { [ ]}
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
3
9. Sistem je opisan diferencijalnom jednačinom
. Naći impulsni odziv sistema h(n).
[ ] [ ]
10. Sistem je opisan diferencijalnom jednačinom .
a) Naći impulsni odziv sistema h(n).
b) Ako u sistem ulazi signal naći izlaz iz sistema y(n).
[ ]
∑ ∑ ∑( )
4
1. P1rikazati kontinualni i diskretni signal funkcije: x = sin(2πft), pri čemu je
ulazna frekvencija f = 5 Hz, frekvencija odabiranja fo = 100 Hz. Funkciju
prikazati u vremenu od 0 do 1 s, a dijagrame jedan ispod drugog.
f1 = [zeros(1, 4) 1 zeros(1,5)];
t = 0:9;
5
stem(t, f1);
ili
L = 10;
t = 0:L-1;
funkcija1=zeros(size(t));
x(4)=1;
ili
n = 4;
t=0:9;
x=t==n;
stem(t, x);
4. Predstaviti signal sa slike
L = 20;
t = -L/2:L/2-1;
funkcija=[zeros(1,10) ones(1, 10)];
stem(t, funkcija);
L = 20;
t = -5:5;
funkcija=[ones(1,7) zeros(1, 1) ones(1,3)];
stem(t, funkcija);
6
1. Definisati signal x[n] preko odbiraka: x[0]=1, x[1]=2, x[2]=-2, x[3]=0, x[4]=4;
x = [1 2 -2 0 4];
t = 0:length(x)-1;
stem(t,x)
t = 0:20;
x = (0.9).^t;
stem(t,x)
3. Predstaviti (-2)^n od -5 do 5.
n = -5:5;
x = (-2).^n;
stem(n, x);
7
5. U 20 tačaka predstaviti realni i imaginarni dio funkcije x(n) =
n = 0:20;
x = -2.^(3*exp(n*(5*pi/2*j)))+ 2*cos(3*n);
subplot(211)
stem(n,real(x));
subplot(212)
stem(n,imag(x));
8
Konvolucija i impulsni odziv
Konvolucija je matematički operator koji od dvije funkcije proizvodi treću koja predstavlja
količinu preklapanja između funkcije f i okrenute i prevedene verzije funkcije g. Možemo je
predstaviti sljedećim izrazom:
∫ ili kraće:
[ ] { [ ]} { ∑ [ ] [ ]} ∑ [ ] { [ ]}
∑ [ ] [ ] [ ] [ ]
9
1. Konvolucija jediničnog niza
x = ones(5,1);
y = conv(x,x);
Nx = length(x); %duzina signala x
Ny = length(y); %duzina signala y
nx = (0:Nx-1); %vremenska osa signala x
ny = (0:Ny-1); %vremenska osa signala y
subplot(211)
stem(nx,x)
title('Signal x');
subplot(212)
stem(ny,y);
title('Konvolucija signala x');
x1 = 5 : -1 : 1;
x2 = [0.5 1 0.2];
Nx1=length(x1);
Nx2=length(x2);
s1 = conv(x1,x2);
s2 = conv(x2,x1);
Ns1=length(s1);
Ns2=length(s2);
nx1 = (0:Nx1-1);
nx2 = (0:Nx2-1);
ns1 = (0:Ns1-1);
ns2 = (0:Ns2-1);
subplot(221)
stem(nx1,x1)
title('Signal x1')
10
subplot(222)
stem(nx2,x2)
title('Signal x2')
subplot(223)
stem(ns1,s1)
title('Konvolucija x1*x2')
subplot(224)
stem(ns2,s2)
title('Konvolucija x2*x1')
x1= [4 3 -6 8 -4];
x2= [1 1 -1 2 -4];
nx1=(0:length(x1)-1);
nx2=(0:length(x2)-1);
ny=0:length(x1)+length(x2)-1-1;
y=conv(x1,x2);
subplot(221)
stem(nx1,x1);
title('Signal x1');
subplot(222)
stem(nx2,x2);
title('Signal x2');
subplot(2,2,[3,4])
stem(ny,y);
title('Konvolucija signala x1 i x2')
11
4. Izračunati konvoluciju signala:
[ ] { }
[ ] { }
te za dva dobijena signala predstaviti serijsku odnosno kaskadnu vezu. Na ulaz dovesti
jedinični impuls sekvence 10.
h1 = [1/2 1/4 1/8];
h2 = [1 1/2 1/4 1/16];
impuls = [1 zeros(1,10)];
h_rez2=conv(h1,h2);
Nh1 = length(h1);
Nh2 = length(h2);
Npom = length(pom);
Nh_rez1 = length(h_rez1);
Nh_rez2 = length(h_rez2);
nimpuls = (0:10);
nh1 = (0:Nh1-1);
nh2 = (0:Nh2-1);
npom = (0:Npom-1);
nh_rez1 = (0:Nh_rez1-1);
12
nh_rez2 = (0:Nh_rez2-1);
subplot(231)
stem(nh1,h1)
title('h1');
grid on
subplot(232)
stem(nh2,h2)
title('h2');
grid on
subplot(233)
stem(nimpuls,impuls)
title('impuls');
grid on
subplot(234)
stem(npom,pom)
title('pom');
grid on
subplot(235)
stem(nh_rez1,h_rez1)
title('hrez1');
grid on
subplot(236)
stem(nh_rez2,h_rez2)
title('hrez2)');
grid on
x = [ 0 3 -3 2 -2 1 -1 0 ];
x2 = [1 -1 2 -2 3 -3 4 -4];
13
nx = [0 : length(x)-1];
nx2 = [0 : length(x2)-1];
subplot (221)
stem(nx,x,'MarkerFaceColor','r','MarkerEdgeColor','m','lineWidth',1)
title('x');
grid on
subplot (222)
stem(nx2,x2)
title('x2');
grid on
subplot (223)
zconv = conv(x,x2);
nz = [0 : length(zconv)-1];
stem(nz,zconv)
title('Direktna konvolucija')
grid on
subplot (224)
stem(nz,z1);
title('Konvolucija sa furijerovim transformacijama');
grid on
14
Opis diskretnih signala preko diferencijalnih jednačina
U digitalnoj obradi signala veoma važnu ulogu ima klasa sistema koji se mogu opisati
diferencijalnom jednačinom N-tog reda sa konstantnim koeficijentima:
∑ [ ] ∑ [ ]
[ ] ∑ [ ] ∑ [ ]
Ovaj oblik diferencijalne jednačine omogućava da se signal y[n] na izlazu sistema izračuna na
osnovu N prethodnih odbiraka izlaznog signala i tekuće i M prethodnih vrijednosti ulaznog
signala x.
filter(b, a, x)
U MATLAB-u se digitalni filter implementira preko naredbe y = filter(b, a,loololki x) gdje je
x ulazni signal, b i a su koeficijenti jednačine uz x i y, a rezultat operacije se smješta u vektor
y.
y = filter(b,a,x);
nx = (0 : length(x)-1);
ny = (0 : length(y)-1);
subplot(211)
stem(nx,x)
title('Ulazni signal x')
subplot(212)
stem(ny,y)
title('Izlazni signal y')
15
a1 =0,9 b0= 0,6 b1 =0,3
Ulazni signal x jednak je jediničnom impulsu sekvence 10.
y = filter(b,a,x);
nx = 0:length(x)-1;
ny = 0:length(y)-1;
subplot(211)
stem(nx,x);
title('Ulazni signal');
subplot(212)
stem(ny,y);
%mijenjati brojeve
3. Izračunati i nacrtati 64 odbirka impulsnog odziva sistema koji je opisan
sljedećom diferencijalnom jednačinom:
[ ] [ ] [ ] [ ] [ ]
impuls = [1 zeros(1,64)];
a = [1 0 0.9];
b = [0.3 0.6 0.3];
y = filter(b,a,impuls);
subplot(211)
stem(0:length(impuls)-1,impuls);
title('Ulazni signal');
subplot(212)
stem(0:length(y)-1,y);
title('Izlazni signal');
16
4. Izračunati i nacrtati 128 odbiraka jedinične funkcije ako njen interval počinje od
-10.
[ ] [ ] [ ] [ ] [ ]
a = [1 -0.5];
b = [1 2 1];
n =(-10:117);
x = n>0;
y = filter(b,a,x);
subplot(211)
stem(n,x)
title('Ulazni signal');
subplot(212)
stem(n,y)
title('Izlazni signal (odziv)');
17
1. Odrediti impulsni odziv linearnog vremenski invarijantnog sistema koji je
definisan diferencijalnom jednačinom
⁄
L = 10;
n = (0:L-1); %sekvenca niza
x = zeros(L, 1); %vemenska osa
x(1) = 1; %ulazni signal (jedinicni impuls)
y(1, 1) = x(1); %pocetni trenutak jedinicnog impulsa
for br = 2:length(x)
y(br) = x(br)+x(br-1)/3+y(br-1)/2;
end
subplot(211),stem(n, x, 'f');
title('Ulazni signal (jedinicni impuls)');
xlabel('\itn'), ylabel('pobuda \itx(\itn)');
subplot(212), stem(n, y);
title('Direferencijalna jednacina y(n)=x(n)+x(n-1)/3+y(n-1)/2');
xlabel('\itn'), ylabel('impulsni odziv \ityn(\itn)');
18
grid on
subplot(212), stem(n, [y y1]);
xlabel('n'), ylabel('odziv y(n)');
legend('y(-1)=0', 'y(-1)=-20');
grid on
19
Frekvencijski odziv sistema danog diferencijalnom jednačinom
Frekvencijski odziv sistema opisanog diferencijalnom jednačinom se u MATLAB-u računa
preko naredbe [ ] gdje su i koeficijenti diferencijalne jednačine, a
je broj tačaka frekvencijske karakteristike. Izlazni vektor sadrži vrijednosti frekvencijske
karakteristike izračunate u ekvidistantno raspoređenih učestanosti od 0 do π. Učestanosti u
kojima je izračunata frekvencijska karakteristika smještaju se u vektor digitalnih učestanosti
.
[ ] [ ] [ ]
[ ] {
b = [1 0.5]; %koeficijenti uz x
a = [1 -1.8*cos(pi/16) 0.81]; %koeficijenti uz y
[H, w] = freqz(b, a, 256); %izačunavanje frekvencijskih karakteristika
Hampl = abs(H); % amplitudna karakteristika je apsolutna vrijednost
frekvencijskog odziva
Hfazna = angle(H); %izračun fazne karakterijstike
subplot(211);
stem(w, Hampl);
title('Amplitudna karakteristika');
subplot(212);
stem(w, Hfazna);
title('Fazna karakteristika u radijanima');
20
2. Za M = 7 nacrtati u 1000 tačaka realni i imaginarni dio frekvencijskog spektra
x[n]. Primijetiti da realni i imaginarni dio X( nisu od posebnog značaja za
procjenu spektralnog sadržaja, već su u tu svrhu daleko korisniji rezultati
dobijeni crtanjem amplitudskog spektra |X( |
M = 7;
N = 1000; %broj tačaka
korak = 2*pi/N;
omega = -pi:korak:pi-korak; %interval po kome se računa frekvencijski
spektar
%Izračunavanje frekvencijskog spektra
x = sin(omega*M/2)./sin(omega/2).*exp(-j*omega*(M-1)/2);
Xabs = abs(x); %amplitudni spektar
Xfazni = angle(x); %fazni spektar
subplot(221);
plot(omega, real(x));
title('Realni dio frekvencijskog spektra');
xlabel('osa ucestanosti od -pi do pi');
subplot(222);
plot(omega, imag(x));
title('Imaginarni dio frekvencijskog spektra');
xlabel('osa ucestanosti od -pi do pi');
subplot(223);
plot(omega, Xabs);
title('Amplitudni spektar');
xlabel('osa ucestanosti od -pi do pi');
subplot(224);
plot(omega, Xfazni);
21
title('Linearni fazni spektar');
xlabel('osa ucestanosti od -pi do pi');
( )
22
23
Kajzerova prozorska funkcija
Ova funkcija predstavlja diskretnu aproksimaciju funkcije ograničenog trajanja Tk koja
maksimizira energiju sadržanu u opsegu učestanosti βk.
Kajzerova prozorska funkcija definiše se:
[√ ( )
{ }
gdje Asl = 13,26 dB odgovara slabljenju pravougaone prozorske fukcije, na koju se svodi
Kajzerova prozorska funkcija za β=0.
Optimalna vrijednost N procjenjuje se iz sljedeće empirijske formule:
Na taj način Kajzerova prozorska funkcija predstavlja pogodan metod za ograničenje dužine
ulazne sekvence, čiji spektar treba odrediti, tako da se na optimalni način ostvari kompromis
između dužine sekvence, frekvencijske rezolucije i širenja spektra.
{
[ ] ⁄ ⁄
24
( )
( ) ( )
( )
Preuređenje spektra
Preuređenje spektra se u MATLAB-u postiže naredbom y=fftshift(x), gdje je x DFT
sekvenca nekog signala. Odbirci DFT-a preuređeni u prirodnom rasporedu smještaju se u
vektor y.
N = 32;
n =(0:N-1);
w=boxcar(N);
subplot(211)
stem(n, w), title('Pravougaoni impuls');
W = fft(w, 1024); %DFT pravougaona prozorska shema
Wnorm = abs(W)/N; %normalizacija
subplot(212)
plot(-pi*(0:length(W)/2-1)/512, 20*log10(Wnorm(1:length(W)/2)));
title('Amplitudni spektar (dB)');
25
2. Posmatrajmo kontinualni signal ,
.
Diskretizacijom ovog signala dobije se:
x[n] , , gdje su i
.
Ako je učestanost odabiranja = 10 kHz, , izvršiti
odsjecanje ovog signala primjenom pravougaone prozorske funkcije dužine N =
64 i nacrtati njegov spektar.
a)
b)
c)
26
f0 = F0/Fs;
f1 = F1/Fs;
x = Ao*cos(2*pi*f0*n)+A1*cos(2*pi*f1*n); %funkcija
X = abs(fft(x)); %spektar
subplot(132);
stem(X(1:N/2));
%c)
F0=1/14*10000;
F1=2/25*10000;
f0 = F0/Fs;
f1 = F1/Fs;
x = Ao*cos(2*pi*f0*n)+A1*cos(2*pi*f1*n); %funkcija
X = abs(fft(x)); %spektar
subplot(133);
stem(X(1:N/2));
N = 32;
n =(0:N-1);
w=triang(N);
subplot(211)
stem(n, w), title('Trougaoni prozor');
W = fft(w, 1024);
Wnorm = 2*abs(W)/N; %normalizacija
subplot(212)
plot(-pi*(0:length(W)/2-1)/512, 20*log10(Wnorm(1:length(W)/2)));
title('Amplitudni spektar (dB)');
27
4. Generisati i nacrtati u MATLAB-u Kajzerovu prozorsku funkciju dužine N =
128 i nacrtati njen spektar ako je: a) β=4, b) β=7 i c) β=10. Koristeći axis,
zumirati dio grafika koji sadrži centralni i prvi bočni luk i uočiti kako se mijenja
njihov odnos s promjenom parametra β.
% a)
N = 32;
beta = 4;
n = 0:N-1;
prozor = kaiser(N, beta);
subplot(231), stem(n,prozor, 'k');
axis([0 32 0 1.2]); title('Kajzerova prozorska funkcija, N = 32');
W = fft(prozor, 1024);
Wnorm = 2*abs(W)/length(prozor);
subplot(2,3,[2:3]);
plot(pi*(0:length(W)/2-1)/512, 20*log10(Wnorm(1:length(W)/2)), 'r',
'linewidth', 3);
axis([0 0.5 -60 0]); title('Amplitudna karakteristika (dB)');
subplot(234), plot(pi*(0:length(W)/2-1)/512,
20*log10(Wnorm(1:length(W)/2)), 'g', 'linewidth', 3);
axis([0 0.5 -60 0]);
title('Dio amplitudske karakteristike beta = 4');
28
% b)
beta = 7;
prozor = kaiser(N, beta);
W = fft(prozor, 1024);
Wnorm = 2*abs(W)/length(prozor);
subplot(235);
plot(pi*(0:length(W)/2-1)/512, 20*log10(Wnorm(1:length(W)/2)), 'b',
'linewidth', 3);
axis([0 0.5 -60 0]); title('Dio amplitudske karakteristike beta = 7');
% c)
beta = 10;
prozor = kaiser(N, beta);
W = fft(prozor, 1024);
Wnorm = 2*abs(W)/length(prozor);
subplot(236);
plot(pi*(0:length(W)/2-1)/512, 20*log10(Wnorm(1:length(W)/2)), 'y',
'linewidth', 3);
axis([0 0.5 -60 0]); title('Dio amplitudske karakteristike beta = 10');
5. Dat je diskretan signal x[n] = ... Izvšiti spektralnu analizu analognog signala
primjenom Kajzerove prozorske fnkcije koja ima bočne lukove oslabljenje ua 40
dB u osnosu na centralni luk, ako je dužina prozorske funkcije
a) N = 128
b) N = 32
%generisanje signala
N = 128;
n=(0:N-1);
Beta = 5.48;
x = cos(2*pi*n/14)+0.75*cos(4*pi*n/15);
w = kaiser(N, Beta)';
29
y = x.*w;
Y = 2*abs(fft(y))/N;
subplot(211);
stem(n, y);
title('Spektar signala x[n], Kajzerov prozor N=128');
%b
N = 32;
n = (0:N-1);
Beta = 5.48;
x = cos(2*pi*n/14)+0.75*cos(4*pi*n/15);
w = kaiser(N, Beta)';
y = x.*w;
Y = 2*abs(fft(y))/N;
subplot(212);
stem(n, y);
title('Spektar signala x[n], Kajzerov prozor N=32');
30
Z transformacije
Prednost z transformacije nad Furieorovom ogleda se u tome što je dosta pogodnija za
primjenu u analitičkim problemima. Osim toga, Furierova transformacija ne konvergira za sve
signale, te je poželjno uvesti transformaciju koja je primljenljiva za mnogo širu klasu signala.
Zbog toga se z transformacija uglavnom koristi u kvalitativnoj analizi diskretnih sistema za
njihov opis, analizu i projektovanje.
Definicija z transformacije
Z transformacija diskretnog signala x[n] se definiše kao:
{ [ ]} ∑ [ ]
( ) |
odnosno, Furierova transformacija diskretnog signala je identična z transformaciji izračunatoj
u tačkama koje leže na jediničnom krugu u kompleksnoj ravni.
∑ [ ] ∑ [ ] ∑
∑ [ ] ∑ [ ]
∑ ∑
31
Stoga je oblast konvergencije reda definirana sa | | , odnosno | | | |, a z
transformacija:
Dva signala iz dva primjera imaju identične z transformacije, dok im je oblast konvergencije
različita. Drugim riječima, diskretni signal x[n] jednoznačno je određen svojom z
transformacijom X(z) i oblašću konvergencije X(z), te da bi se u praksi izvršila rekonstrukcija
signala x[n] na osnovu njegove z transformacije, mora se uvijek zadati i oblast konvergencije.
Inverzna z transformacija
Kada je poznata z transformacija X(z) i njena oblast konvergencije, vrijednost niza x[n] može
se odrediti na nekoliko načina. Definicioni izraz za inverznu z transformaciju dat je sljedećom
jednačinom:
[ ] ∮
pri čemu se ostatak funkcije f(z) u polu z = , koji je k-tog reda, izračunava po sljedećem
obrascu:
[ ]| [ | ]
32
pri čemu kontura C leži u oblasti |z| > 1. Unutar konture C postoje dva pola podintegralne
funkcije z = 1 i z = 0. Kako su oba pola prvog reda, za k = 1 primjenom Košijeve teoreme
ostataka se dobija:
[ ] | |
[ ]
Za n<0 postoji i pol z = 0, koji je reda n. Kako je ovaj pol svaki put različitog reda, potrebno
je za svako n < 0 poseno izračunati x[n]. Međutim, izračunavanje se može pojednostaviti
uvođenjem smjene , tako da jednačina u tom slučaju postaje:
[ ] ∮ ( ) ∮
ako kontura C leži u oblasti konvergencije koja se nalazi izvan kruga poluprečnika r, onda je
kontura C određena oblašću konvergencije unutar kruga poluprečnika 1/r. Kako je u ovom
slučaju r = 1, onda se kontura C nalazi unutar oblasti | | . Iz prethodnog izraza se vidi da
za negativno n, polovi p = 1 i p = 2 leže izvan kontura C. Kako podintegralna funkcija za
negativne vrijednosti n nema polova unutar konture integracije, dobija se:
[ ]
tako da je konačno rješenje:
[ ] ( ) [ ]
[ ] ∮ ∮
gdje je kontura integracije izvan kruga poluprečnika a z z ravni. Primjenom teoreme ostatka,
za n >=0 se dobija;
[ ] |
[ ] [ ]
33
∑
koji konvergira u zadanoj oblasti konvergencije. U tom slučaju, zbog jedinstvenosti razvoja u
red, poređenjem prethodnog izrata i definicionog izraza z transformacije, dobija se da su
vrijednosti sekvence x[n] jednake koeficijentu razvoja, odnosno [ ]
1. Izračunati inverznu z transformaciju sljedećeg izraza razvojem u red
=
Odakle se, poređenjem sa definicionim izrazom za z transformaciju, dobija:
[ ] [ ] [ ] [ ] [ ]
Konačno rješenje:
[ ] [ ] [ ] [ ] [ ]
[ ] ∑ [ ]
gdje je
[ ]
neka od poznatih tabličnih transformacija.
Izračunavanje inverzne z transformacije, primjenom ove metode, posebno je efikasno X(z)
racionalna funkcija kompleksne promjenljive z. Kako je u tom slučaju X(z) količnik dva
polinoma po z, razlaganje se vrši na sljedeći način:
34
∑ ∑ ∑∑
∏
gdje je M red polinoma N(z), N red polinoma D(z), Np broj prostih polova funkcije X(z), dok
je Nm broj višestrukih polova čiji je multiplicitet mi. Koeficijenti Br se dobijaju dijeljenjem
polinoma N(z-1) sa D(z-1) sve dok se ne dobije ostatak koji je nižeg reda od nazivnika.
Koeficijenti Ai dobijaju se kao:
a koefijenti Cki
[ ]
Razvojem funkcije po formuli pri čemu je red polinoma u brojniku M =2, red polinoma u
nazivniku N =4, broj jednostrukih polova Np=2, i broj višestrukih polova Nm=1 reda mi=2
dobija se:
[ ]
[ ]
Pa je konačno
[ ] [ ] [ ] [ ] [ ]
35
x[n]+3x[n-1]+2x[n-2]=u[n]
Odakle je:
Primjenom razvoja u parcijalne razlomke (4) dobija se inverzna z transformacija ovog signala,
koja istovremeno predstavlja rješenje diferencijalne jednačine:
[ ] [ ] [ ] [ ]
36
Analiza linearnihh vremenski nepromjenjivih sistema pomoću z
transformacije
Funkcija prenosa diskretnog sistema
Jedan diskretan sistem može da se opiše funkcijom prenosa H(z) koja je analogna funkciji
prenosa kontinualnog sistema H(s). Posmatrajmo jedan linearan vremenski invarijantan
diskretan sistem okarakterisan svojim impulsnim odzivom h[n]. Odziv ovog sistema y[n] na
proizvoljnu pobudu x[n] određen je konvolucionom sumom:
[ ] [ ] [ ] ∑ [ ] [ ]
Odakle je:
Kompleksna funkcija H(z) naziva se fukcija prenosa digitalnog sistema. Iz jednačine (7) i (8)
lako se uočava da funkcija H(z) predstavlja z transformaciju impulsnog odziva h[n]. Drugim
riječima, impulsni odziv h[n] i funkcija prenosa diskretnog sistema H(z) čine transformacioni
par:
[ ]
Nule i polovi funkcije prenosa se u MATLAB-u mogu nacrtati naredbom pzmap(num, den).
U tom vektor num (skraćenica od engleskog numerator) se smještaju koeficijenti polinomau
brojniku funkcije prenosa, a u vektor den (eng. denominator) se smještaju koeficijenti u
nazivniku funkcije prenosa. Naredbom zgrid, zadaje se podjela za z domen. U suprotnom,
crtanje se vrši sa podjelom za s domen, odnosno, nule i polovi se crtaju kao nule i polovi
kontinualne funkcije prenosa H(s).
Prilikom crtanja nula i polova funkcije prenosa, da bi se dobio ljepši grafik, poželjno je
izvršiti skaliranje osa primjenom naredbe axis. Upravo to radi sljedećih nekoliko naredbi,
kojima se za postojeće nule i polove, određuje maksimalna vrijednost na x (realnoj) osi i
maksimalna vrijednost na y (imaginarnoj osi, nakon čega se, pomoću naredbe axis,
koordinatni sistem postavlja tako da leži u odgovarajućem opsegu.
opseg = 1.05*max(max(abs(zo)),max(abs(zp)));
if opseg == 0, opseg1; end
axis([-opseg opseg -opseg opseg]), axis('square');
37
1. Jedan diskretan sistrem opisan je sljedećom diferencijalnom jednačinom:
[ ] [ ] [ ] [ ] [ ] [ ]
a) Analitički odrediti funkciju prenosa ovog sistema
b) Odrediti nule i polove funkcije prenosa i provjeriti dobijeni rezultat u MATLAB-
u.
gdje su z0i (i=1,2) nule funkcije prenosa a zpi (i=1,2) polovi funkcije prenose. Nule i polovi
ove funkcije dobijaju se kao rješenja kvadratnih jednačina u brojniku i nazivniku funkcije
prenosa, odnosno z01,2=1.1667+-j0.5528, zp1=2.000 i zp2=0.5000
Funkcija prenosa jednog diskretnog sistema u MATLAB-u se zadaje preko koeficijenata
polinoma u brojniku i nazivniku nakon čega se faktorizacija polinoma (odnosno određivanje
nula i polova) vrši pomoću naredbe roots. Proizvoljni polinom n.tog reda moće se predstaviti
u sljedećem obliku:
38
2. Za svaku od sljedećih funkcija prenosa, odrediti u MATLAB-u nule, polove i
pojačanje k i nacrtati njihov položaj u z ravni.
Z transformacije - primjeri
{ [ ]} ∑ [ ]
39