Podpiraj nas in si oglej kak oglas:
(ko jih klikneš, so lepši! ;) )

10/10

SIS: 2. vaja – Vpliv vzorčevalne frekvence

Sonicelo, 12 March 2010, Ni ni komentarjev
Kategorija: SIS
Tags:

Navodila

Pri tej nalogi se boste preučili vpliv vzorčevalne frekvence na kvaliteto zvoka.

V MATLABu vzorčite zvok s funkcijo audiorecorder, ki vrne referenco na objekt audio recorder. Da bi posneli 3 sekunde dolg zvok, pri frekvenci vzorčenja 44100 Hz z ločljivostjo 16 bitov moramo v malabovo ukazno okno napisati naslenje ukaze:
recorder = audiorecorder(44100,16,1); %ustvari objekt za snemanje zvoka, frekvenco vzorčenja nastavi na 44100 Hz, ločljivost a 16 bitov zadnji argument pa določa število posnetih kanalov (1-mono, 2-stereo);
recordblocking(recorder,3); %posname 3 sekunde zvoka
posnetek = getaudiodata(recorder); % shrani posneti zvok v spremeljivko posnetek

Vzorčen zvok predvajate s funkcijo sound pri čemer navedete tudi vzorčevalno frekvenco, s katero je bil zvok vzorčen. Npr.
sound(posnetek,44100); %predvaja posneti zvok

Če je predvajani zvok pretih, lahko posnetek pomnožite s konstanto (npr. 2) in tako povečate glasnost. Pri tem morate paziti, da ne prebijete minimalne in maksimalne vrednosti, ki jo omogoča zapis s 16 biti ( int16).

Pri nalogi boste simulirali zmanjšanje vzorčevalne frekvence. To bo narejeno v funkciji (4t)
[s_1378,s_2756,s_5512,s_11025,s_22050] = znizaj_frekvenco_vzorcenja(s_44100)

Vhod v funkcijo bo signal vzorčen s frekvenco 44100 Hz, izhod pa signali vzorčeni s frekvencami 22050 Hz, 11025 Hz, 5512 Hz, 2756 Hz in 1378 Hz. Če dobro pogledate, je vsaka vzorčevalna frekvenca za polovico manjša od prejšnje. Uporaba stavkov for in while ni dovoljena.
V funkciji boste simulirali zmanjšanje vzorčevalne frekvence za polovico tako, da boste iz vektorja izbrisali vsak drug vzorec. S tem se vzorčevalna frekvenca zmanjša za polovico. V MATLABu vsak drugi vzorec izpuste z naslednjim stavkom: s=posnetek(1:2:end). Da bi bilo nižanje frekvence vzorčenja popolnoma pravilno, bi morali signal najprej še filtrirati (t.j. izničiti spektralno prekrivanje). Ker bomo filtre spoznali šele kasneje, bomo zavestno naredili to napako.

Žal zvočne kartice ne podpirajo poljubne vzorčevalne frekvence, zato bomo vse iz signala izbrisane vzorce nadomestili z njihovimi sosedi, ki so v signalu ostali. Na ta način bomo signal lahko še vedno predvajali z originalno vzorčevalno frekvenco. Operacijo si predstavljajte, kakor da smo zmanjšali bitno sliko, nato pa smo si dobljeno sliko približali – slika postane kockasta. Če smo zbrisali vsak drugi vzorec, zbrisane vzorce nadomestimo s sosedi v MATLABu z naslednjimi stavki (za vektor predpostavimo, da je v vrstični obliki):
m=[s; s]; % naredimo matriko z dvema vrsticama. V vsaki je signal
r=m(:); % z (:) zahtevamo, da se matrika izpiše v obliki vektorja izpisuje se po stolpcih (najprej 1. stolpec, nato 2. itd..)

Da bodo vsi izhodni signali s tem postopkom imeli enako dolžino, mora biti dolžina signala v našem primeru deljiva z 32!

Predvajajte si signale, ki jih dobite (npr. sound(s_2756,44100)), nato pa sestavite tabelo, v kateri boste imeli 2 stolpca. V prvem stolpcu boste navedli vzorčevalno frekvenco, v drugem kakovost zvoka pri tej vzorčevalni frekvenci (odlična, dobra, slaba, nezadovoljiva). Tabela naj se nahaja v navadni datoteki porocilo_naloga1.pdf (2t).

Poleg tabele izrišite tudi grafe Fourierjeve transformacije pred in po pretvorbi (za vse zgoraj navedene pretvorbe) (2t). Pomagajte si s sledečim ukazom
figure;
hold on;
F_vzorcevalna = 44100;
plot([0:length(s_44100)-1]/length(s_44100)*F_vzorcevalna,abs(fft(s_44100)));
axis tight;
xlabel(‘Frekvenca (Hz)’);
ylabel(‘Amplituda (a.u.)’);

Pri tem pazite da vzorčevalno frekvenco in ime signala nadomestite s pravimi vrednostmi pri posamezni pretvorbi. Na vsakem grafu z rdečo navpično črto označite Nyquistovo frekvenco! (1t). Vse grafe dodajte v datoteko porocilo_naloga1.pdf in jih opremite s kratkimi komentarji (1t). Kaj se dogaja s frekvenčno vsebino signala?

Pozor! Uporabite popolnoma enaka imena funkcij, kot je zahtevano, saj se uporablja avtomatsko preverjanje. V nasprotnem primeru bo naloga ocenjena z 0 točkami.

Rešitev

SIS:vaja2:naloga1 - Arhiv vsebuje tri datoteke: izrisi.m porocilo_naloga1.pdf znizaj_frekvenco_vzorcenja.m Prva je za pomoč pri izdelavi zadnjega dela naloge, drugi dve sta obvezni! Naložil: Sonicelo

Oglejte si še:

  1. Kontakt
  2. Kako objavljati
  3. Malo delo
  4. SIS: 1. vaja – Izriši graf
  5. SIS: 1. vaja – Evklidova norma

Komentarji

Te kaj tišči?

Ime *

Mail (hidden) *

Spletna stran

Spam protection by WP Captcha-Free

Arhiv

Oblak

 

rss

Vsevedno okno

Kategorije

Nekaj za preživetje:

Blogroll