|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Diplomová práce se zabývá vytvořením vhodných multimediálních podkladů z oblasti signálů a soustav se spojitým časem. Pochopení této problematiky je velmi důležité, neboť povinný předmět Signály a soustavy, resp. BSIS, je vyučován na bakalářském stupni oboru EST. Porozumění vyučované látky je nezbytnou prerekvizitou v dalších předmětech k úspěšnému zvládnutí navazující látky. Další část diplomové práce je zaměřena na jednorozměrné diskrétní signály. Konkrétně si klade za cíl realizaci softwarového systému. Navržený systém disponuje jak základními operacemi (energie signálu, počet průchodů nulou atd.) se zvukovými soubory, tak i funkcemi složitějšími, mezi které se řadí např. vyhledávání samohlásek v plynulé řeči. Systém je rozdělen na dvě části. První program analyzuje právě zvukové soubory, vytváří nový zvukový soubor s hledanou samohláskou a soubory s potřebnými parametry pro další zpracování. Druhý program analyzuje získaná data, která následně statisticky vyhodnocuje. Výsledný systém může být užitečný pro identifikaci mluvčího, jeho emočního stavu atd.
Druhé zadání souboru slouží duplikovanému načtení dat
souboru jeho parametrů.1 Princip programu
Program analyzuje pouze zvukové soubory vzorkovacím kmitočtem fvz= kHz.wav'); [N, channels,] size(y);
[y1, Fs, bit] wavread('morseovka.wav');
if Fs~=8000 %prevzorkovani puvodniho zvukoveho souboru
disp(sprintf('Your sound file does not meet the file condition
of this progam. Please start the program again with
the resampled *. případě, kdy vzorkovací kmitočet zvukového
souboru nerovná kHz dochází vytvoření nového souboru jeho převzorkováním.\n'))
.wav file. Těmito způsoby převzorkování nedojde nežádoucímu
překrytí spekter.
Pokud fvz zadaného souboru nižší než kHz potřeba zvukový signál
interpolovat.filtrace pred
if Fs_n
n_filt=2; %rad filtru
Wn=Fs_n/(Fs/2); normovane mezni PP
[b2,a2] butter(n_filt,Wn,'low'); %dolni propust BW
filt_y1=filtfilt(b2,a2,y1); %filtrace signalu
y1=resample(filt_y1,Fs_n,Fs);
wavwrite(y1,Fs_n,bit,name);
%interpolace- filtrace po
elseif Fs_n
y1=resample(y1,Fs_n,Fs);
n_filt=2; %rad filtru
Wn=Fs_n/(Fs/2); normovane mezni PP
[b2,a2] butter(n_filt,Wn,'low'); %DP Butterworth
y1=filtfilt(b2,a2,y1); %filtrace signalu
wavwrite(y1,Fs_n,bit,name);
end
disp(sprintf('Resampling done. Při decimaci vzorkovací kmitočet vyšší,
než požadovaný.
Po spuštění programu tedy zkoumáno, zda zadaný soubor splňuje tuto podmínku. Výhodou
navrženého filtru je, dochází malému fázovému zkreslení. Tento fakt dán tím,
že zvukový signál projde dvakrát IIR filtrem. tomto případě umístěn antialiasingový filtr (AAF) převzorkování
stávajícího zvukového souboru. Adresa
analyzovaného souboru musí být zadána dvakrát. První zadání slouží načtení
dat zvukového souboru. Následující ukázka zdrojového kódu
ilustruje předchozí odstavce. Pro tyto účely byl navržen IIR filtr řádu typu Butterworth.1.
y=wavread('morseovka.
6. necessary resample it.
Pokud ano, obrazovku vypsán požadavek pojmenování výsledného souboru
a zadání vyhledávané samohlásky.. tomto případě zvukový soubor může nacházet téměř kdekoliv.\n'))
Fs_n=8000;
name=input('Set the name the new sound file: ','s')
%decimace.30
určení zvukového souboru pomocí absolutní cesty, kdy musí být zadána přesná
adresa.
Na obrazovku vypsán požadavek zadání jména nově vytvořeného souboru. Tento
soubor poté nutné zadat programu korektní analýze.. tedy nutné nejprve zvukový signál vyfiltrovat pomocí AAF,
a následně jej převzorkovat