31.12.2014 Views

Zadaci iz multimedija Vježba 2

Zadaci iz multimedija Vježba 2

Zadaci iz multimedija Vježba 2

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Zadaci</strong> <strong>iz</strong> <strong>multimedija</strong><br />

Vježba 2<br />

1. Skicirati Fourier-ovu transformaciju i vremensko-frekvencijsku<br />

reprezentaciju za signal:<br />

1 2<br />

a) y e<br />

j ω t j ω<br />

= + e<br />

t ; t∈<br />

(0,2 )<br />

y = y + y ,<br />

b)<br />

1 2<br />

jω1t<br />

y1 = e ; t∈(0,1)<br />

jω2t<br />

y2 = e ; t∈(1,2)<br />

a) frek<br />

w 2<br />

w 1<br />

w 1 w 2 frek 0 2 time<br />

b)<br />

frek<br />

w 1<br />

w 2<br />

w 1 w 2 frek 0 1 2 time<br />

2. Pokazati kako promjena širine prozora utiče na rezoluciju kod spektograma.<br />

>> T=0.25;<br />

w=32; f=1024;<br />

for n=0:256<br />

if n


end<br />

end<br />

[s,F,T]=specgram(y,w,f,w,w-1); % w je širina prozora!!!<br />

figure,imagesc(T,F,20*log10(abs(s)))<br />

0<br />

0<br />

0<br />

1<br />

1<br />

1<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

4<br />

4<br />

4<br />

5<br />

5<br />

5<br />

6<br />

6<br />

6<br />

7<br />

7<br />

7<br />

0 5 10 15 20 25<br />

0 5 10 15 20<br />

0 2 4 6 8 10 12 14 16<br />

w=32 w=64 w=128<br />

3. Napisati skup naredbi za dobijanje spektograma nekog govornog signala u<br />

Matlabu.<br />

>> [y,x]=wavread(’speech_dft.wav’);<br />

>> y=y(10000:30000);<br />

>> spec=specgram(y,1024,x,1024,1000);<br />

>> [m,n]=s<strong>iz</strong>e(spec);<br />

>> spec=spec(m:-1:1,:);<br />

>> imagesc(20*log10(abs(spec)))<br />

4. Učitati u Matlab-u signal speech_dft.wav. Odrediti broj odbiraka učitanog<br />

signala, frekvenciju odairanja i maksimalnu frekvenciju signala.<br />

Rješenje:<br />

>> [y,x]=wavread(' speech_dft.wav'); naredba za učitavanje govornog signala<br />

>> length(y) određivanje dužine signala<br />

ans =<br />

110033<br />

>> x frekvencija odabiranja<br />

x =<br />

22050<br />

Maksimalna frekvencija:<br />

f max =f od /2=x/2=22050Hz/2=11025Hz


5. Učitati u Matlab-u signal speech_dft.wav. Odrediti koliko sekundi traje<br />

učitani signal i nakon toga formirati novi signal trajanja 2s.<br />

Rješenje:<br />

>> [y,x]=wavread(' speech_dft.wav'); naredba za učitavanje govornog signala<br />

>> length(y) određivanje dužine signala<br />

ans =<br />

110033<br />

>> x frekvencija odabiranja<br />

x =<br />

22050<br />

Frekvencija odabiranja učitanog signala je 22050Hz, odnosno 1s signala sadrži 22050<br />

odbiraka. Dužina učitanog signala je 115589 odbiraka, pa se trajanje signala određuje<br />

kao:<br />

duzina signala 110033odbiraka<br />

= = 5s<br />

broj odbiraka u jednoj sekundi 22050 odbiraka / s<br />

U jednoj sekundi signala ima 22050 odbiraka. Dakle, da bi kreirali signal koji traje 2s<br />

potrebno je uzeti<br />

2 s * 22050 odbiraka / s = 44100odbiraka<br />

>> y1=y(1:44100);<br />

>> soundsc(y1,x)<br />

6. Real<strong>iz</strong>ovati u Matlab-u pojačavanje i smalnjivanje tona govornog signala.<br />

Rješenje:<br />

>> [y,x]=wavread(' speech_dft.wav');<br />

>> x frekvencija odabiranja<br />

x =<br />

22050<br />

>>slim=[min(y)*k max(y)*k]; za k>1 smanjuje se ton signala, dok se za k>soundsc(y,x,slim)


7. Reailozovai u Matlab-u efekat usporavanja i ubrzavanja govornog signala.<br />

Rješenje:<br />

>> [y,x]=wavread(' speech_dft.wav');<br />

>> x frekvencija odabiranja<br />

x =<br />

22050<br />

Da bi se signal ubrazao 2 puta potrebno je <strong>iz</strong>vršiti odabiranje sa dva puta većom<br />

frekvencijom odabiranja<br />

>>soundsc(y,2*22050)<br />

Da bi se signal usporio 2 puta potrebno je <strong>iz</strong>vršiti odabiranje sa dva puta manjom<br />

frekvencijom odabiranja<br />

>>soundsc(y,22050/2)<br />

8. Real<strong>iz</strong>ovati u matlabu efekat eha govornog signala.<br />

Rješenje:<br />

>> [y,x]=wavread(speech_dft.wav');<br />

>> x frekvencija odabiranja<br />

x =<br />

22050<br />

>>> y1=[zeros(1,2205) y'];<br />

>> y2=[y' zeros(1,2205)];<br />

>> eho=y1+y2;<br />

>> soundsc(eho,x)<br />

9. Za signal dužine 40000 odbiraka frekvencija odabiranja je 10kHz. Koliko će<br />

odbiraka imati signal nakon filtriranja sa niskopropusnim filtrrom granične<br />

frekvencije f c = 1kHz.


Rješenje<br />

fod<br />

= 10kHz ⇒<br />

fod<br />

fmax<br />

= = 5kHz<br />

2<br />

f max : 20000 = f c : x =><br />

20000* fc<br />

20000*1kHz<br />

x = 4000<br />

f<br />

= 5kHz<br />

=<br />

max<br />

S obzirom da filtar propusta u opsegu od - f c do + f c ukupan broj odbiraka koje će imati<br />

signal na <strong>iz</strong>lazu <strong>iz</strong> filtra je 8000 odbiraka.<br />

20000 odb 20000 odb<br />

-fmax<br />

-fc1<br />

fc1<br />

fmax

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!