Extras din laborator
A. Definirea temei
Se va face o captură de semnal audio, înregistrând propria voce într-un fişier wave
(extensia .wav). Înregistrarea trebuie să respecte următoarele cerinţe:
înregistrare mono (un singur canal);
frecvenţa de eşantionare fe = 48 kHz;
numărul de biţi de cuantizare Nbits = 16;
durata totală a semnalului înregistrat: 8-10 secunde.
Acest fişier se va citi cu funcţia MATLAB wavread/audioread şi se va supune
următorilor paşi de preprocesare (Întrebare: În ce ordine ar fi optim?):
eliminarea componentei continue a semnalului;
normalizarea amplitudinii semnalului în intervalul [–1, 1];
schimbarea frecvenţei de eşantionare în fe’ = 18 kHz;
filtrarea semnalului folosind un filtru trece-jos (FTJ) având frecvenţa de tăiere
fc = 7 kHz.
Se va citi tot cu funcția wavread/audioread și un fișier audio (muzical, ambiental). Acest semnal va fi supus, apoi, acelorași pași de preprocesare ca în cazul semnalului vocal.
I) Condiţiile în care s-a făcut înregistrarea semnalului iniţial
Înregistrarea audio am realizat-o cu ajutorul programului Audacity care permite selectarea formatului de înregistrare: frecvența de eșsantionare=48khz, 16biți/eșantion, mono. Am folosit microfonul propriilor căști, și am realizat înregistrarea într-o cameră cu un fond de zgomot cât mai redus pentru a influența cât mai puțin înregistrarea audio.
II) Schema bloc
III) Răspunsuri la întrebări
a) Am verificat că semnalul înregistrat respectă cerința cu ajutorul funcției audioinfo din Matlab.
Se poate observa din aceste grafice că semnalul este normalizat în intervalul [-1,1], acest fapt este datoratfuncției audioread. Se mai observă ca semnalul vo_mono prezintă o împrăștiere foarte mare deoarece acesta este receptat ca un zgomot, fără a se înțelege ce se zice, pe când la semnalul s0 se pot observa pauzele din vorbire.
b) Am eliminat componenta continua a semnalului cu ajutorul unui filtru trece sus Butterworth. Se observă din grafic că componenta continua este eliminată atunci când se face diferența dintre semnalul fără componentă continua și semnalul inițial . Am folosit un FTS , cu frecvența de tăiere aleasă cu o decadă mai jos decât limita inferioară a gamei de frecvențe perceptibile de către urechea umană ([20Hz - 20kHz]) astfel încât să nu influențez faza componentelor semnalului, distorsionându-l fără să pierd din gama frecvențelor utile.
function s1 = eliminare_cc(s0)
% construiesc un filtru FTS
[b,a]=butter(1,2/24000,'high');
% filtrez semnalul s0 prin FTS obtinandu-l pe s1
s1=filter(b,a,s0);
Preview document
Conținut arhivă zip
- Metode de eliminare a unui semnal audio ambiental suprapus aditiv peste un semnal vocal de interes.docx