Professional Documents
Culture Documents
Korisno PDF
Korisno PDF
Vremenski prikaz
signala
Harmonici
1.
1.1.
1.2.
1.3.
1.4.
2.
3.
4.
5.
6.
7.
UVOD
Konti nuirani i diskretni signali i DSP
Analiza u vremenskom i frekvencijskom podruju
DSP tra nsformacije
Projektiranje digitalnih filtera
Zvuni signali visoke razluivosti HD Audio
Di gitalna obrada govora
Sa imanje zvunih datoteka
Uvod u obradu zvunih signala umjetnim neuralnim mreama
Uvod u obradu i analizu zvunih signala va lidem Wavelet
Ra zlike DSP i procesora
30 s a ti predavanja + 30 sati laboratorijskih vjebi
Svi MATLAB kodovi nalaze se u skripti LAB VJEBE DOZS
Spektar signala
Harmonici
Fundamental
Spektrogram signala
Vrijeme trajanje
signala
Ozren Bilan
Fundamental ili
osnovni harmonik
Ozren Bilan
Opdi model sustava obrade vremenski diskretnog signala (Discretetime signal processing - DTSP) ili sustava obrade digitalnog signala
(Digital signal processing - DSP) :
IMPULSNI ODZIV
Izlaz nazivamo odziv sustava. Moe imati vie od jednog ulaza i vie od
jednog izlaza. Tipini sustavi su digitalni filteri.
Izlazni signal
SUSTAV
Ozren Bilan
xn
Ozren Bilan
Primjer je na slici:
Impuls
vrijeme tee na desno
Ulazni signal
Impuls
ranije (prethoenje)
SUSTAV
Izlazni signal
i
kasnije (kanjenje)
xk n k
Ozren Bilan
IMPULSNI ODZIV
Ozren Bilan
14.9.2013.
Ozren Bilan
Primjer 1
Odredi impulsni odziv sustava ija je ulazno izlazna jednadba
diferencija y(n) = 0.8y(n 1) + x(n)
Rjeenje
Ako supstituiramo x(n) sa (n) onda de y(n) biti upravo h(n):
h(n) = 0.8h(n 1) + (n)
Prisjetimo se (n)= 1 u n = 0, inae je jednak nuli. U kauzalnom
sustavu h(n) = 0 za n < 0, pa imamo:
h(0) = 0.8h(-1) + (0) = 1
h(1) = 0.8h( 0) + (1) = 0.8
h(2) = 0.8h(1) + (2) = 0.82
h(3) = 0.8h(2) + (3) = 0.8 3
...
h(n) = 0.8nu(n)
Sustav je IIR i stabilan je jer h(n) konvergira.
Najede ne dobivamo ovakav rezultat.
9
Ozren Bilan
DIGITALNA KONVOLUCIJA
Primjer 2
Impulsni odziv sustava je periodian s periodom od 3 indeksa
h(n) = [ 1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2 ... ]
Odredi ulazno-izlaznu signalnu jednadbu diferencija.
Rjeenje
Kasnimo zadani impulsni odziv 3 uzorka
h(n - 3) = [ 0, 0, 0; 1, 2, 3; 1, 2, 3; 1, 2 ]
Izraunamo razliku
h(n) - h(n - 3) = [ 1, 2, 3; 0, 0, 0; 0, 0 +
= (n)+2 (n-1)+3 (n-2)
Zatim
h(n) = h(n-3)+ (n)+2 (n-1)+3 (n-2)
Jednadba diferencija onda je:
y(n) = y(n - 3) + x(n) + 2x(n - 1) + 3x(n - 2)
Ozren Bilan
10
To je DSP
x[n]*h[n]=y[n]
Ozren Bilan
x[n]*h[n]=y[n]
ulazni signal konvoluiran s impulsnim odzivom jednak je izlazu
Ozren Bilan
11
12
14.9.2013.
Konvolucijska suma
k xk n k
yn S xk n k xk S n k
k
k
Nadalje, ako je sustav i vremenski ili posmano invarijantan (nepromjenjiv),
S[(n - k)] = h(n - k)
Izlaz de biti:
yn xk hn k
k
y n x n h n x k h n k
k
Rijeima: ako je impulsni odziv sustava h(n) poznat, moemo odrediti izlazni signal y(n)
za bilo koji ulazni signal x(n).
Zbog toga se impulsni odziv naziva i vremenska karakteristika sustava. Sumiranje se
izvodi od - do +, a u stvarnosti su relevantni signal ili impulsni odziv (ili oboje)
konani pa je i sumiranje (u raunalu ili DSP procesoru) konano.
Gdje je x[n] ulazni signal, h[n] impulsni odziv, a y[n] izlazni signal.
Operator * oznaava konvoluciju. Mnoimo izraze x[k] izrazima
pomaknutog h[n], potom ih sumiramo. Kljuni pojmovi za
razumijevanja konvolucije su impulsni odziv i impulsna
dekompozicija.
13
Ozren Bilan
14
Ozren Bilan
Impulsni odziv
Prisjetimo se: impulsni odziv izlaza sustava h[n], dobije se kao odziv
sustava sa jedininim uzorkom - impulsnom delta funkcijom na ulazu:
LTI sustavu odziv vremenski pomaknute impulsne funkcije je pomaknut
za isto iznos. Tako je impulsni odziv *n-1] je h[n-1]. Znamo li impulsni
odziv h[n], moemo odmah odrediti impulsni odziv h[n-1] pomakom
h[n] za +1. Sukladno tome, h[n-2] rezultira pomakom h[n] za +2. Kako
smo pokazali, linearnom sustavu, skalirani ulazni signal rezultirat de
identinim skaliranjem izlaznog signala:
SUSTAV
SUSTAV
Opdenito
signal moemo
zapisati kao sumu skaliranih i
pomaknutih delta funkcija
15
Ozren Bilan
Primjer konvolucije
SUSTAV
Moemo
zakljuiti:
izvrimo
li
dekompoziciju ulaznog signala u niz
impulsa, izlazni signal moemo
izraunati sumiranjem skaliranih i
pomaknutih impulsnih odziva sustava.
Najvanije: od svih karakteristika
sustava jedino trebamo poznavati
impulsni odziv h[n]. Poznavanjem
impulsnog odziva moemo lako doznati
kako se sustav odziva na bilo koju
ulaznu pobudu.
16
Ozren Bilan
Proraun konvolucije
Proraun u MATLAB-u
funkcijom conv
>> a = [3 4 5];
b = [2 1];
c = conv(a,b)
c=
6 11 14
Uoavamo:
y[0+ se sastoji od jedne komponente x*0+h*0+, a sve ostale su jednake nuli u k 0.
Drugim rijeima
x[1]h[-1]=x[2]h[-2]=0.
Ako je n jednak ili vedi od 4, sve komponente y*n+ bit de jednake nuli. Dakle nakon n=4 nije
potrebno raunati y*n+ i sumiranje 4 signala y*0+, y*1+, y*2+, y*3+ proizvodi izlazni signal
konvolucije:
y[n]={6, 11, 14, 5}.
17
Ozren Bilan
18
14.9.2013.
MATLAB
Konvolucija
y*0+ = x*0+h*0+
y*1+ = x*1+h*0+ + x*0+h*1+
y*2+ = x*2+h*0+ + x*1+h*1+
y*3+ = x*3+h*0+ + x*2+h*1+
signal x(n)
x[n] = { 3, 4, 5 }
Vidi vjebe
KONVOLUCIJA
Convolution output up to n u
= -1 n=-1
15
10
Obrazac se ved uoava. y[2] rauna se od 2 ulazna uzorka: x[2] i x[1], te 2 uzorka impulsnog
odziva: h[0] i h[1]. Ulazni uzorci poinju od 2, to je isto kao i uzorci izlaza, a nakon toga idu
oni s manjim rednim brojem. Uzorci impulsnog odziva kredu od 0 i povedavaju.
Temeljem uoenog obrasca piemo jednadbu za sve uzorke izlaznog signala:
KONVOLUCIJA
Convolution output up to n =u
0 n= 0
15
x(m)h(n ! m)
y(n) =
10
x(m)h(n ! m)
-2
-1
0
1
2
3
4
n
System response h(-1-m) in black X, Signal x(m) in red O
-2
-1
0
1
2
3
4
n
System response h(0-m) in black X, Signal x(m) in red O
-2
-1
-2
-1
15
x(m)h(n ! m)
10
m= ! 1
-2
0
-3
-2
-1
KONVOLUCIJA u n= 5
konvolucija
y[n]={6, 11, 14, 5}
X4
y(n) =
x(m)h(n ! m)
m= ! 1
5
0
-1
0
1
2
3
4
n
System response h(3-m) in black X, Signal x(m) in red O
-2
-1
0
1
2
3
4
n
System response h(4-m) in black X, Signal x(m) in red O
-2
MATLAB conv
>> a = [3 4 5];
b = [2 1];
c = conv(a,b)
2
0
-3
2
m
Convolution output up to n = 4
Prvi uzorak izlaznog signala y*0+ sastoji se od samo jednog lana, a po obrascu se rauna kao:
y*0+ = x*0+h*0+ + x[-1]h[1].
Bududi da x[-1] nije odreen, popunjavamo ga nulom.
Prikazat demo cijeli proraun animacijom u Matlabu kako bi uoili postupak:
KONVOLUCIJA u n= 4
y(n) =
-1
0
1
2
3
4
n
System response h(1-m) in black X, Signal x(m) in red O
0
-3
KONVOLUCIJA
3
Convolution output up tou
n = n=
3
10
x(m)h(n ! m)
m= ! 1
-2
0
-3
Gdje je i bilo koja toka uzorka, a k je broj uzorka impulsnog odziva. Npr.:ako se impulsni
odziv sastoji od 4 uzorka, uzorak izlaznog signala u toki 9 bit de:
15
X4
y(n) =
10
m= ! 1
m= ! 1
KONVOLUCIJA u n= 2
Convolution output up to n =
KONVOLUCIJA
u1 n= 1
15
X4
X4
y(n) =
Ozren Bilan
0
-3
-2
-1
c=
-1
6 11 14
nakon n=4, ne treba raunati y*n+ i sumiranje 4 signala y*0+, y*1+, y*2+, y*3+ daje konvoluciju izlazni signal y[n]={6, 11, 14, 5}.
19
20
Ozren Bilan
Ozren Bilan
21
Asocijativnost
yn xn k hk hk xn k hk xk n
Distributivnost
Ozren Bilan
22
Dekonvolucija
Ozren Bilan
Komutativnost
23
24
14.9.2013.
STABILNOST SUSTAVA
h n <
n=-
25
Ozren Bilan
Odziv na step
Ozren Bilan
26
u n n k
k 0
= ()
=
sn hk
k 0
Ozren Bilan
27
Ozren Bilan
28
Ozren Bilan
30
DIGITALNI FILTERI
Digitalni filteri su tipini i najedi DSP sustavi, a predstavljaju sami temelj
digitalne obrade signala.
Obradu signala nazivamo filtriranje. Obraujemo li signale u diskretnom
vremenu obradu nazivamo digitalno filtriranje.
Digitalni filtri odreeni su svojim impulsnim odzivom h[n], koji opisuje izlaz
filtera kada je na ulazu jedinini impuls.
Za sada demo upoznati tipine filtre i njihove jednadbe diferencija. Digitalni
filtri djeluju na ulazni signal kako bi proizveli izlazni signal koji se razlikuje po
amplitudi, frekvenciji i fazi s obzirom na ulazni signal.
Digitalni filtri kao i analogni postoje u 4 osnovna frekvencijski selektivna
tipa. To su:
nisko propusni,
visoko propusni,
pojasno propusni i
pojasno nepropusni (ili pojasna brana).
Frekvencijske aspekte filtra obradit demo nakon to upoznamo osnovne
transformacije.
Sada demo klasificirati filtere samo
temeljem impulsnih odziva i strukture.
Ozren Bilan
29
14.9.2013.
b xn k
k
k M
bk n k b
n
k M
31
Ozren Bilan
k 0
k 0
y n =
y n =
h k x n - k
k = -M
h k x n - k
k =0
32
y(n) a k yn k bk xn k
A kauzalni filter:
Kada su jedna ili obje granice sumiranja jednake , vie nije rije o
FIR nego o IIR filteru. Meutim, u najvedem broju sluajeva granice su
konane pa su nerekurzivni i rekurzivni filtri jedno te isto.
Zamijenimo li bk sa h(k) moemo napisati nerekurzivni (FIR) filter:
ak y(n k ) bk x(n k )
33
Ozren Bilan
Ozren Bilan
34
Rjeenja i odzivi
Ulazno izlazna jednadba diferencija signala ili sustava opdenito opisuje odnos
izlaznog i ulaznog signala, a ne govori nam nita o unutranjoj strukturi filtera.
Kako bi odredili odziv, dakle, izlaz filtera na odreeni ulazni signal moramo
poznavati stanje filtera prije nego primijenimo signal na ulaz. To stanje nazivamo
poetni uvjeti.
Relaksiranom sustavu na izlazni signal ne djeluju uinci prethodnog (prolog)
signala, pa je y(n) = 0 za n < 0. Ako to nije sluaj stav nazivamo nerelaksiran.
y(n) a k yn k bk xn k
k 1
=
=0
k 0
=0
Ozren Bilan
35
Ozren Bilan
36
14.9.2013.
DIGITALNA KORELACIJA
Korelacija dva signala mjeri stupanj njihove slinosti. Korelacija signala sa
samim sobom takoer ima smisao i primjenu. Dok se konvolucija moe
primijeniti na signale i sustave, korelacija se primijenjuje samo na signale. Kao i
konvolucija i korelacija se definira za analogne i digitalne signale.
Korelacija se koristi na podrujima radara, geofizike, komunikacija, a posebno kod
svih sluajnih procesa. U DSP konvolucija je mnogo eda, ali korelacija ima vrlo
veliku primjenu kod zvunih signala.
Korelacija daje odgovor na pitanje:
kolika je slinost signala A i signala B?
Intuitivni odgovor dobivamo usporedbom deterministikih signala sa
stohastikim signalom.
Deterministiki signali su predvidivi ekvivalenti signala koji se dobiju
matematikim funkcijama
Stohastiki signali su nepredvidivi i ekvivalentni onima dobivenima sluajnim
procesima.
37
Ozren Bilan
38
Ozren Bilan
Krina korelacija
Korelacija signala
R xv m x n m v m m = 0, 1, 2, ...
n
Uoavamo da je korelacija na indeksu n jednaka sumi umnoaka prvog i
drugog pomaknutog signala.
Zamijenimo li signale
x(n) i v(n) dobivamo:
Rvx m vn xn m m = 0, 1, 2, ...
n
to je ekvivalentno
Rvx m v n m x n
m = 0, 1, 2, ...
n=0:23;
A=[ones(1,4),zeros(1,8),ones(1,4),zeros(1,8)];
subplot (3,1,1),stem(n,A);
grid
axis([0 25 0 1.5]);
title('Signal A')
xlabel('uzorak')
B=randn(size(A));
% signal B je Gaussov um iste duine kao A
subplot(3,1,2),stem(n,B);
axis([0 25 -3 3]);
title('Signal B')
xlabel('uzorak')
C=A;
subplot(3,1,3),stem(n,C);
axis([0 25 0 1.5]);
title('Signal C');
xlabel('uzorak')
xv
n=-
Dakle
Rxv(m) = Rvx(-m)
to znai da je prva korelacija obrnuta verzija ili zrcalna slika drugog izraza, ali
sadrava istu informaciju.
Procjena korelacije slina je konvoluciji, s razlikom to nije potrebno obrtanje
pa su koraci prorauna
pomakni pomnoi sumiraj.
39
Korelacija i komunikacije
Autokorelacija
Auto-korelacija signala x(n) jednaka je krinoj korelaciji sa samim
sobom:
R xx m x nx n m
n
to je ekvivalentno
R xx m x n m x n
40
Ozren Bilan
41
xn n0 xn m z n xn m
ynxn m xn n znxn m n
n
0
42
14.9.2013.
R yy m
Za dva periodina signala x(n) i v(n) koja imaju isti period N uzoraka,
krina korelacija i autokorelacija odreene su izrazima:
1 N 1
x nv n m
N n 0
1 N 1
R xx m
x nx n m
N k 0
R xv m
1 M 1
yn yn m
M n 0
x [ n] x [ n]
1
n 0
Ozren Bilan
44
Pitamo se:
jesu li dva sluajna signala
(um1 i um2) korelirana?
Raunamo:
>> A*B'/length(A)
ans =
Mala vrijednost za signale A i B
0.0839
govori da su signali
>> A*C'/length(A) nekorelirani.
Pozitivna i mnogo veda
ans =
vrijednost izrauna signala A i C
0.3333
govori da su signali korelirani.
2/N = 0.1990
Zakljuujemo: ova dva signala su nekorelirana.
45
Ozren Bilan
43
Ozren Bilan
r12
1 M 1
1 M 1
xn xn m
xn z n m zn xn m
M n 0
M n 0
1 M 1
zn xn m
M n 0
1 M 1
xn z n xn m z n m
M n 0
1
N
N 1
x [ n] x [ n k ]
n 0
Ozren Bilan
47
Ozren Bilan
46
48
14.9.2013.
Auto-korelacija
N=1:100;
n1=randn(size(N));
n2=randn(size(N));
[acor,lags]=xcorr(n1,n2);
stem(lags,acor/length(n1));
r11 (0)
1
N
N 1
N 1
x [ n] x [ n] N x [ n ]
1
n 0
n 0
49
50
Ozren Bilan
n=0:1999;
omega=2*pi*100/1000;
d=sin(omega*n);
d3n=d+3*randn(size(d));
% sinusni signal je maskiran trostrukim sumom
d5n=d+5*randn(size(d));
% sinusni signal je maskiran peterostrukim sumom
subplot(3,1,1),plot(d(1:100)),title('Signal')
subplot(3,1,2),plot(d3n(1:100)),
title(signal s trostrukim sumom'), axis([0,100,-15,15])
subplot(3,1,3), plot(d5n(1:100)),
title(signal s peterostrukim sumom'), axis([0,100,-15,15])
n=0:99;
omega=2*pi*100/1000;
sinusni_signal=sin(omega*n);
[acor_sinusni_signal,k]=xcorr(sinusni_signal,sinusni_signal);
plot(k,acor_sinusni_signal/length(sinusni_signal));
grid;
title('Auto-korelacija signala - sinusni_signal')
xlabel('uzorak')
Signal
1
-1
10
20
30
40
50
60
70
80
90
100
70
80
90
100
70
80
90
100
-10
0
10
20
30
40
50
60
Ozren Bilan
51
10
30
40
50
60
52
n=0:1999;
omega=2*pi*100/1000;
d=sin(omega*n);
d3n=d+3*randn(size(d)); % sinusni signal je maskiran trostrukim umom
d5n=d+5*randn(size(d)); % sinusni signal je maskiran peterostrukim umom
subplot(2,1,1),fft_plot(d3n,1000);grid;
title('100 Hz 3x um')
subplot(2,1,2),fft_plot(d5n,1000);grid;
title('100 Hz 5x um')
FFT
Autokorelacija
FFT
Ozren Bilan
20
Ozren Bilan
53
Autokorelacija
Ozren Bilan
54
14.9.2013.
[xcor_pure,lags]=xcorr(x_return,x);
plot(lags,xcor_pure/length(x))
grid;
title('krina-korelacija, transmitiranog i primljenog
signala')
xlabel('kanjenje, uzoraka')
x_ret_n=x_return+1.5*randn(size(x_return));
plot(n,x_ret_n); axis([0 1023 -6, 6])
% Vidimo promjenu na osi podrucja
grid;
title('Povratni signal i superponirani um')
xlabel('uzorak,n')
Simulacija emitiranog
i primljenog impulsa
sa kanjenjem od 400
uzoraka (jeka).
Ozren Bilan
Ozren Bilan
56
Zakljuak
[xcor,lags]=xcorr(x_ret_n,x);
plot(lags,xcor/length(x))
grid;
57
Ozren Bilan
Ozren Bilan
ANALIZA U
FREKVENCIJSKOM
PODRUJU
Ciljevi
Nastanak kvadratnog vala: Gibbsov uinak
0.5
Ozren Bilan
58
-0.5
-1
59
60
10
14.9.2013.
Furierova
transformacija
ini
zvunom signalu (datoteci) isto ono
to prizma ini zraci bijele svjetlosti;
Ozren Bilan
62
Ozren Bilan
x( t ) a 0 a n cos n 0 t bn sin 0 t
n 1
a0
n 1
1 T0 / 2
x( t )dt
T0 T0 / 2
2 T0 / 2
x( t ) cos n 0 tdt
T0 T0 / 2
bn
2 T0 / 2
x( t ) sinn 0 tdt
T0 T0 / 2
Granice integracije su T0/2 do T0/2, pri emu se druga granica moe koristiti sve
dok je raspon granica jednak periodu T0, npr. 0 do T0.
Komponente imaju slijedede znaenje :
a0
: srednja vrijednost signala (ili istosmjerna komponenta)
a1cos 0t + b1sin 0t : osnovni harmonik, fundamentalna komponente, jer je suma
dvije sinusoide iste frekvencije je sinusoida na toj frekvenciji ili
prvi harmonik.
a2cos0t + b2sin0t : drugi harmonik
a3cos0t + b3sin0t : tredi harmonik
63
Ozren Bilan
Ozren Bilan
64
x ( t ) c0 c n cos( n 0 t 0 )
Gdje je:
n 1
c0 a0
c n a n2 bn2
n arctan
bn
an
65
66
11
14.9.2013.
Olakava shvadanje
pojma faze.
x=linspace(-10,10);
y=sinc(x);
plot(x,y);grid;
Svojstvo spiralnog
oblika = projekcija
na bilo koju ravninu
paralelno s
vremenskom osi
daje sinusoidalni
valni oblik.
67
Ozren Bilan
Fourierov teorem
a0
an cos(n0t ) bn sin(n0t
2 n 1
2 T
an s (t ) cos(n0t )dt
T 0
2 T
bn s (t ) sin(n0t )dt
T 0
2 T
2 T
a0 = s (t ) cos(0)dt s (t )dt
T 0
T 0
cn
1
T
1
Tp
T /2
s (t )e
e
jn0t
dt
1
nf 0
jnf 0 w
e jnf0 w
1 sin(nf 0 w)
Tp
nf 0
w
sinc(nf 0 w)
Tp
1
T
s (t )e jn0 dt
dt
w/ 2
1
1
e
Tp jn 2f 0
1
Tp
jn0t
cn
jn0t
T /2
w/ 2
ce
s(t )
1
1
e
Tp jn0
e
e
2j
w/ 2
jn 2 f 0t
w/ 2
jnf 0 w
jnf 0 w
w sin(nf 0 w)
Tp
nf 0 w
for
za
w=1;
% odreujemo irinu impulsa u ms
fmax=3500;
% odreujemo maksimalnu frekvenciju
R1=4;
% odreujemo odnos perioda i irine za
svaki sluaj
R2=8;
R3=32;
[c1,f1]=pulse_train(fmax,w,R1);
% funkcijom odreujemo Fourierove
koeficijente
[c2,f2]=pulse_train(fmax,w,R2);
% sluaj 2
[c3,f3]=pulse_train(fmax,w,R3);
% sluaj 3
subplot(3,1,1),stem (f1,c1),
title(odnos perioda i irine impulsa = 4');
subplot(3,1,2),stem (f2,c2),
title(odnos perioda i irine impulsa = 8');
subplot(3,1,3),stem (f3,c3),
title('odnos perioda i irine impulsa = 32');
xlabel('Harmonika frekvencija Hz')
<n<
69
Ozren Bilan
Fourierova transformacija
{x(t )}
x(t )e
x(t )e
dt
jt
70
b) Jedinini impulse
To je delta Diracova funkcija, a ne prethodno spomenut
uski impulse. Transformacija je
68
s (t )
Ozren Bilan
dt
c) Konstanta
Transformacija je
t t
infinitezimalne irine
Ozren Bilan
71
Ozren Bilan
72
12
14.9.2013.
X (F )
1
a j 2F
a 2 2F
73
Ozren Bilan
X ()
x[n]e
jn
x()=j(-0 )+j(-0 )
75
Ozren Bilan
n 0
n 0
n 0
n 0
= /2
N 1
3
3
n 0
n 0
n 0
3
3
(1)[cos(0) j sin(0)] (1)[cos( ) j sin( )] (1)[cos( ) j sin( )] (1)[cos
j sin( )]
2
2
2
2
(1)(1) (1)( j ) (1)(1) (1)( j )
0
Ozren Bilan
f
fs
Ozren Bilan
76
= :
N 1
x[n]e jn
n 0
74
Ozren Bilan
77
n=0:7;
omega1=pi/2;
x=cos(omega1*n);
stem(n,x, 'filled'),
title('8 uzoraka sinusoide frekvencije pi/2')
xlabel('Index, n')
omega=[0,pi/2,pi];
% 3 vrijednosti
X=[0,0,0];
% inicijalizacija vektora X
for k=1:3
% za svaku vrijednost omega
for m=1:8
% za svaku vrijednost signala
% raunamo DTFT sumiranjem za k-tu vrijednost
X(k)=X(k)+x(m)*exp(-j*omega(k)*(m-1));
end
end
figure,plot(omega/pi,abs(X));grid
title('Tri toke DTFT')
ylabel('Magnituda DTFT')
xlabel('Digitalna frekvencije izraena u pi')
Ozren Bilan
78
13
14.9.2013.
dtft_demo(x,0,pi,512);
% funkcija
grid;
Y ( )
y[n]e
jn
x [n]e
jn
x [n] x [n] e
x [n]e
jn
jn
X 1 () X 2 ()
DTFT linearne kombinacije signala je linearna
kombinacija DTFT individualnih signala.
79
Ozren Bilan
x[n]e
Neka je DTFT signala x[n] jednaka X(), a DTFT signala x[n-k] jednaka Xk()
X ( 2 k )
x[n]e
X k ()
j ( 2 k ) n
x[n]e
n mk
then, vrijedi:
Onda
x[n]e
jn
jn
m nk
but jer je
Zato
X ( 2 k )
x[n k ]e
Neka
let : je
DTFT je periodina u
frekvencijskom podruju s
periodom 2
jn j 2 kn
X k ()
X ( )
x[m]e j ( m k )
m k
x[m]e
jm jk
e jk X ()
Ozren Bilan
81
subplot(3,1,2),
dtft_demof(d2000,0,9000,16*512,2000);
grid;
title('Fs = 2000 Hz')
subplot(3,1,3),
dtft_demof(d3000,0,9000,16*512,3000);
grid;
title('Fs = 3000 Hz')
Ozren Bilan
82
Ozren Bilan
dtft_demof(d1000,-500,500,512,1000);
grid;
figure,subplot(3,1,1),
dtft_demof(d1000,0,9000,16*512,1000);
grid;
title('Fs = 1000 Hz')
80
jn
Ozren Bilan
83
N1=0:9;
N2=0:19;
N3=0:39;
omega=pi/2;
x1=cos(omega*N1);
x2=cos(omega*N2);
x3=cos(omega*N3);
[X1,f]=dtft_demo(x1,0,pi,512);
[X2,f]=dtft_demo(x2,0,pi,512);
[X3,f]=dtft_demo(x3,0,pi,512);
subplot(3,1,1),
plot(f/pi,(abs(X1)/max(abs(X1)))),
title('DTFT - N=10')
subplot(3,1,2),
plot(f/pi,(abs(X2)/max(abs(X2)))),
title('DTFT - N=20')
subplot(3,1,3),
plot(f/pi,(abs(X3)/max(abs(X3)))),
title('DTFT - N=40')
xlabel('X os frekvencija u Pi radijana')
4
N
84
14
14.9.2013.
0
Time
N= 7
-2
y (t)
0
Time
N= 49
-2
-1
0
Time
N= 70
0
Time
N= 19
1
0
-1
0
-2
-1
0
-2
1
0
-1
0
-1
0
Time
-2
-1
0
Time
Gibbsov uinak
0.5
valovanje,
prebaaj i
podbaaj.
-0.5
85
Ozren Bilan
y (t)
-2
y (t)
Moemo zakljuiti da je
valovanje vidljivo ak onda i
kada uzmemo u obzir vedi
broj komponenata, to je
najizraenije pri vrlo brzim
promjenama valnog oblika.
N= 3
y (t)
podbaaj
rekonstruirani val
N= 1
y (t)
prebaaj
Izvorni val
2
y (t)
Na slici je usporedba
originalnog
kvadratnog
valnog
oblika
i
rekonstruiranog valnog oblika
iz samo jedne po do 70
komponenata.
Gibbsov uinak
86
Ozren Bilan
-1
x=analog(100,1,100,4000);
% sinusoida 100 Hz, trajanje 100 ms, Fs=4kHz
xw=x.*hamming(length(x))';
% Hamming vremenski otvor ili prozor
subplot(3,1,1), plot(x),
title('Sinusoida proputena kroz pravokutni
vremenski otvor, N=401')
subplot(3,1,2),
plot(hamming(length(x))),
title('Hamming vremenski otvor, N=401')
subplot(3,1,3),
plot(xw),
title('Sinusoida proputena kroz Hamming
vremenski otvor, N=401')
xlabel('x os indeks uzorka')
Filter vremenskog otvora (prozor), u ovom sluaju
Hamming, opdenito zaobljava naglo odrezivanje signala
pri tome sauva njegovu frekvencijsku karakteristiku
Ozren Bilan
87
88
Ozren Bilan
subplot(2,1,1),plot(f/pi,abs(X)/max(abs(X)));
title('DTFT signala proputenog kroz pravokutni vremenski otvor, N=40');
subplot(2,1,2),plot(f/pi,abs(XW)/max(abs(XW)));
title('DTFT signala proputenog kroz Hamming vremenski otvor, N=40');
xlabel('x os frekvencija u pi radijana')
axis([0,1,-100,0])
subplot(2,1,2),plot(f/pi,20*log10(abs(XB)/max(abs(XB))))
title('Blackman')
1. Blackman prozor
jo vie potiskuje
bone lobove ali
2. Blackman prozor
slabi rezoluciju jo
vie, r = 2.6
4 r
N
r2
Ozren Bilan
89
Ozren Bilan
90
15
14.9.2013.
Spektralna analiza
Pravokutni
subplot(3,1,1),
plot(f/pi,20*log10(abs(X)/max(abs(X))))
axis([0,1,-100,0])
subplot(3,1,2),
plot(f/pi,20*log10(abs(XW)/max(abs(XW))
))
axis([0,1,-100,0])
subplot(3,1,3),
plot(f/pi,20*log10(abs(XB)/max(abs(XB))))
2 f 2
4 r
f
N
fs fs
or
ili
2rf s
f
N
Blackman
91
Ozren Bilan
2rf s (2)(2.6)(10000)
173
f
300
Ozren Bilan
92
N 1
X [k ] x[n]e
j 2
k
n
N
n 0
k 0,1, 2,...N 1
Ozren Bilan
93
Ozren Bilan
94
n1=0:10;
n2=0:40;
f=pi/4;
y1=cos(f*n1);
y2=cos(f*n2);
subplot(2,1,1),
stem(n1,y1, 'filled');
title('kratki signal, y1'),
xlabel('uzorak')
subplot(2,1,2),
stem(n2,y2, 'r', 'filled');
title('dugi signal, y2'),
xlabel('uzorak')
[X1,omega1]=dft_demo(y1);
[X2,omega2]=dft_demo(y2);
subplot(2,1,1),
stem(omega1/pi,abs(X1), 'filled');
title('DFT signala y1')
subplot(2,1,2),
stem(omega2/pi,abs(X2), 'r', 'filled');
title('DFT signala y2')
xlabel('digitalna frekvencija izraena u pi')
[X1_dtft,omega_dtft]=dtft_demo(y1,0,
2*pi,512);
plot(omega_dtft/pi,abs(X1_dtft))
grid;
hold
stem(omega1/pi,abs(X1), r')
legend('DTFT x1','DFT x1')
title(Usporedba DTFT i DFT signala x1')
hold off
95
Ozren Bilan
96
16
14.9.2013.
x[n]
1
2
Inverzna DFT
X ( )e
jn
1
X [k ]e
N k 0
n 0,1,...N 1
where
gdje je
x[n]e
jn
N 1
X [k ] x[ n]e
Vrms 2 A2 1
R
2 R
N 1
x[ n]
where
gdje je
X ()
j 2
j 2
k
n
N
Snaga je proporcionalna kvadratu efektivnog napona, a potroena energija je umnoak snage i vremena. U
analogiji s prethodnim izrazom, moemo odrediti snagu digitalnog signala kao srednji kvadrat vrijednosti
signala:
1 N 1
P | x[n] |2
N n 0
Bududi da broj uzoraka N, odreuje prozor ili vremenski otvor t=NTs, mogude je odrediti energiju digitalnog
signala:
N 1
E | x[n] |2
k
n
N
n 0
Realni signali moraju potivati zakon sauvanja energije. Zbog toga signal u vremenskom podruju mora imati
istu energiju kao signal u frekvencijskom podruju. Digitalni signali moraju imati istu energiju u oba podruja.
n 0
1
N
N 1
| x[n] |
1
N
n 0
N 1
x[n]x [n] 2 N | X
n 0
() |2 d
U jednadbi lijeva strana je u vremenskom podruju, a desna u frekvencijskom. Rezultat je Parsevalov teorem.
Digitalnom signalu energija je ista u vremenskom i frekvencijskom podruju. Teorem sauvanja energije
implicira da energija digitalnog signala ne smije ovisiti o frekvenciji sempliranja fs.
Ozren Bilan
97
98
Ozren Bilan
d1000=sample(t,s,1000);
d2000=sample(t,s,2000);
[mean(d1000.^2),mean(d2000.^2)]
% snaga u frekvencijskom podruju:
fprintf('snaga u frekvencijskom podruju na Fs1 i Fs2');
[sig_power(d1000), sig_power(d2000)]
snaga u vremenskom podruju na Fs1 i Fs2
ans = 2.6224 2.6237 (Ukupna snaga ne ovisi o Fs)
snaga u frekvencijskom podruju na Fs1 i Fs2
Power = 2.6224
Power = 2.6237 (Snaga u frekvencijskom podruju jednaka je snazi u vremenskom)
Ozren Bilan
99
100
Ozren Bilan
Frekvencijski odziv
X ()
x[n]e
N 1
x[n]e jn
jn
ak y[n k ]
bk x[n k ]
k 0
k 0
n 0
f
fs
2.
3.
4.
5.
6.
DTFT zahtjeva konani kauzalni signal pri proraunu, pa tonost ovisi o broju uzoraka N
DTFT je kontinuirana kompleksna funkcija
Proraun DTFT zahtjeva N lanova za diskretnu ; ne ide bez raunala.
Najvanija svojstva DTFT su linearnost, periodinost i svojstvo kanjenja.
Primjena DTFT pri analizi spektra zahtjeva procjenu duine signala (rezolucije) i funkcije prozora za
potiskivanje Gibbsovog uinka.
7. DFT je diskretna transformacija X[k] digitalnog signala, za razliku od kontinuirane transformacije X().
Duina DFT jednaka se duini signala, pri emu je DFT signala uzorak DTFT u intervalu [ = 0,2]:
X [ k ] x[ n]e
N 1
k
n
N
j2
n 0
H( )
Y( )
X( )
b0 b1e
a0 a1e
j
j
b2e
a2e
j2
bM e
aN e
j2
k 0,1, 2,...N 1
jM
2
2
jN
E x(t ) dt
H( )
bk e
jk
ak e
jk
k 0
N
X ( F ) dF
k 0
Y( )
X( )
b0
a0
b1e
a1e
j
j
b2e
a2e
j2
j2
bM e
aN e
jM
jN
H( )
Ozren Bilan
101
bk e
jk
ak e
jk
k 0
N
Ozren Bilan
102/102
k 0
17