You are on page 1of 5

R

a
d
n
a
v
e
r
z
i
j
a
I
n
t
e
r
n
a
u
p
o
t
r
e
b
a
Copyright 2010 - Gogi Asmir
Laboratorijska vjeba 2
Zadatak 2.1
Odrediti signal na izlazu sistema opisanog diferencnom jednainom
y[n]
1
5
y[n 1] = x[n]
ako je ulazni signal x[n] = [n] + 2[n 1].
Rjeenje
U Matlab-u se diskretni sistem opisan diferencijalnom jednainom oblika
N

k=0
a
k
y[n k] =
M

k=0
b
k
x[n k]
simulira preko naredbe y = lter(b,a,x) gdje je x ulazni signal, a i b koecijenti uz x i y.
clear all
close all
clc
x = [3 2 zeros(1,10)];
a = [1 1/5];
b = [1];
y = filter(b,a,x);
nx = 0:length(x)1;
ny = 0:length(y)1;
subplot(2,1,1);
stem(nx,x);
subplot(2,1,2);
stem(ny,y);
Zadatak 2.2
Koritenjem funkcije lter generisati i nacrtati impulsni odziv h[n] sistema datog sljedeom diferencnom
jednainom:
y[n] 1.8cos(/16)y[n 1] + 0.81y[n 2] = x[n] + 0.5x[n 1]
Zadatak 2.3
Dat je sistem opisan diferencnom jednainom
y [n] + 0.9y[n 2] = 0.3x[n] + 0.6x[n 1] + 0.3x[n 2]
R
a
d
n
a
v
e
r
z
i
j
a
I
n
t
e
r
n
a
u
p
o
t
r
e
b
a
Copyright 2010 - Gogi Asmir
6 OBRADA DIGITALNIH SIGNALA
a) Analitiki odrediti y[n] kada je x[n] jednako [n].
b) Kreirati vektor [n] duine 128. Generisati impulsni odziv sistema sa datom diferencnom jednai-
nom. Koritenjem funkcije stem prikazati ulaz i izlaz sistema.
Zadatak 2.4
U prilogu je data datoteka ODS_lab2.mat. Potrebno je datoteku uitati u Octave koritenjem naredbe
load ODS_lab2.mat. Nakon izvrenja naredbe kreira se vektor x koji sadri signal x[n]. Graki prikaz
signala x[n] je dat na slici. Napisati Octave program koji e implementirati sljedee diskretne sisteme:
1. y[n] =
1
L + 1
L

i=0
x[n i] za L = 3, 6, 9, 15, 23, 43 Opisati ta se deava sa signalom x[n] u smislu
kvaliteta kako se L poveava. Prikazati izlazni signal za L = 6 i L = 43.
2. y[n] = x[n] ax[n 1], gdje je a = 0.2, 0.4, 0.8 i 1. Opisati ta se deava sa signalom x[n] u
smislu kvaliteta kako se a mijenja. Prikazati izlazni signal za a = 0.2 i a = 1.
3. y[n] = median(x[n 1], x[n], x[n + 1]) Opisati ta se deava sa signalom x[n] u smislu kvaliteta
i prikazati izlazni signal.
4. y[n] = ay[n 1] + x[n], gdje je a = 0.5, 0.5. Opisati ta se deava sa signalom x[n] u smislu
kvaliteta kako se a mijenja. Prikazati izlazni signal za a = 0.5 i a = 0.5.
5. Koji je od navedena etiri sistema najekasniji za uklanjanje spike-a (pica) u originalnom
signalu.
Zadatak 2.5
Dioniar eli da vidi da li se prosjena cijena jedne dionice poveava ili smanjuje. Kako bi se to uradilo,
potrebno je posmatrati promjene cijena dionice za svaki dan. Jedno od moguih rjeenja su:
prvrijednost(danas) =
1
3
(vrijednost(danas)+vrijednost(juce)+vrijednost(prije dva dana)) (2.1)
prvrijednost(danas) = 0.8 (vrijednost(juce)) + 0.2 vrijednost(danas) (2.2)
prvrijednost(danas) = vrijednost(juce) +
1
3
(vrijednost(damas)-vrijednost(prije tri dana)) (2.3)
Potrebno je uitati datoteku dionice.mat. Kreirati ltere na osnovu prethodno navedenih izraza,
i prikazati prosjenu vrijednost i originalnu vrijednost dionice, koritenjem naredbi subplot i stem.
Objasniti prednosti i nedostatke ltera. Napomena: Za primjenu ltera potrebno je imati vrijednost
dionice od jue ili prije dva dana. Za prvu vrijednost (n = 0) uzeti da su te vrijednosti jednake 0.
load dionice.mat
x = rate;
scatter(1:length(x),x);
%Sistem 1
prvrijednost1 = zeros(1,length(x));
R
a
d
n
a
v
e
r
z
i
j
a
I
n
t
e
r
n
a
u
p
o
t
r
e
b
a
Copyright 2010 - Gogi Asmir
OBRADA DIGITALNIH SIGNALA 7
for i= 1:length(x)
%Dodati kod
prvrijednost1(i) = [];
end
scatter(1:length(x),x);
hold on
scatter(1:length(x),prvrijednost1,'x','r');
Zadatak 2.6
Veliki broj dananjih raunara i digitrona za raunanje kvadratnog korijena pozitivnog broja A koristi
sljedei rekurzivni algoritam
y(n) =
1
2

y(n 1) +
x(n)
y(n 1)

Ako je ulaz u sistem x(n) step signal amplitude A, onda bi y(n) trebao konvergirati nakon nekoliko
iteracija ka kvadratnom korijenu. Napisati Octave program koji koristi sljedei algoritam za raunanje
kvadratnog korijena brojeva 16, 4, 5 i 3.
Koliko je iteracija potrebno da se dobije priblino tana vrijednost ako je y(1) = 0.5?
Da li je algoritam osjetljiv prema poetnim uslovima y(1)?
Zadatak 2.7
Razmotriti sistem S
1
opisan diferencnom jednainom
y(n) =
1
2
y(n 1) + x(n)
Odrediti diferencnu jednainu sistema S
2
tako da vrijedi da je = S
2
[S
1
[]] = , gdje je dis-
kretni impulsni signal [n]. Kako su sistemi S
1
i S
2
linearni i vremenski invarijantni, premo principu
superpozicije vrijedi da je x = S
2
[S
1
[x]] za bilo koji diskretni signal x.
Napomena: Sistem S
2
ima diferencnu jednainu oblika
y(n) = c
1
x(n) + c
2
x(n 1)
Napisati Octave funkciju koja implementira sistem S
2
, pri emu je potrebno odrediti vrijednosti kons-
tanti c
1
i c
2
, kako bi vrijedila osobina x = S
2
[S
1
[x]].
clear all
close all
clc
%Koeficijenti za sistem S1
% Izmjeniti
a1 = [];
b1 = [];
%Koeficijenti za sistemi S2
% Izmjeniti
a2 = [];
b2 = [];
%Ulazni Delta impuls
R
a
d
n
a
v
e
r
z
i
j
a
I
n
t
e
r
n
a
u
p
o
t
r
e
b
a
Copyright 2010 - Gogi Asmir
8 OBRADA DIGITALNIH SIGNALA
x =[1 zeros(1,31)];
%Odziv sistema S1 na delta impuls
y1 = filter(a1,b1,x);
%Odziv sistema S2 na S1(x)
y2 = filter(a2,b2,y1);
figure;
subplot(2,1,1)
stem(y1)
subplot(2,1,2)
stem(y2,'r')
%Dodati
%Odziv sistema S2 na delta impuls
y3=[];
%Odziv sistema S1 na S2(x)
y4=[];
figure;
subplot(2,1,1)
stem(y3)
subplot(2,1,2)
stem(y4,'r')
Zadatak 2.8
Napisati MATLAB program koji e provjeriti da li je sistem linearan, vremenski invarijanta i stabilan.
Program demonstrirati na sljedeim sistemima
a) y[n] = 3x[n] + 1
b) y[n] = x[n] + |x[n]|
c) y[n] = A(1 + 0.2x[n]) cos(20n)
d) y[n] = sinh(x[n])
e) y[n] = round(x[n])
f) y[n] = floor(x[n + 1])
g) y[n] = sgn(x[n])round(x[n])
h) y[n] = ln x[n]
i) y[n] = x[n] x[n 1]
j) y[n] =
3

k=3
x[n k]
k) y[n] = x[n
2
]
l) y[n] = 0.2sgn(x[n])
m) y[n] = (1)
n
x[n]
Rjeenje
R
a
d
n
a
v
e
r
z
i
j
a
I
n
t
e
r
n
a
u
p
o
t
r
e
b
a
Copyright 2010 - Gogi Asmir
OBRADA DIGITALNIH SIGNALA 9
clear all
close all
clc
n=5:5;
% provjera linearnosti
x1=stepfun(n,0);
x2=stepfun(n,2);
a=2;
b=3;
y1=3
*
x1+1;
y2=3
*
x2+1;
y3=a
*
y1+b
*
y2;
y4=3
*
(a
*
x1+b
*
x2)+1;
subplot(3,1,1)
stem(n,y3)
hold on
stem(n,y4,'r')
% provjera vremenske invarijantnosti
x1=stepfun(n,2);
y1=3
*
x1+1;
x2=stepfun(n,0);
y2=3
*
x2+1;
y2=[ 1 1 y2(1:end2)];
subplot(3,1,2)
stem(n,y1)
hold on
stem(n,y2,'r')
% provjera stabilnosti na dva ogranicena signala
x1=stepfun(n,2);
y1=3
*
x1+1;
x2=n.
*
(stepfun(n,3)stepfun(n,3));
y2=3
*
x2+1;
subplot(3,1,3)
stem(n,y1)
hold on
stem(n,y2,'r')

You might also like