|
Wieluń - forum, informacje, ogłoszenia
|
|
Praca / Edukacja - Przetwarzanie sygnałów (matlab) - cepstra MFCC
rafalekjan - 2010-01-05, 14:03 Temat postu: Przetwarzanie sygnałów (matlab) - cepstra MFCC Mam do zrobienia projekt o następującej treści:
Cytat: |
1. Wczytać wyznaczony przez prowadzącego sygnał "mbi04popis.wav"
2. Przeprowadzić 4-krotną decymację sygnału
3. Wykreślić jego wykres
4. Obliczyć cepstra MFCC dla kolejnych fragmentów sygnału o długości 20ms z nakładkowaniem 10ms
5. Wyniki te przedstawić na wykresie 3D
6. Punkty 1-5 powtórzyć dla 6-krotnej decymacji i długości 30ms z nakładkowaniem 10ms
7. Wyniki te przedstawić na wykresie 3D
8. Po każdym z zadań przeprowadzić analizę uzyskanych wyników a na końcu opracowania zebrać najważniejsze wnioski |
Jak do tej pory nie idzie mi źle, bo są to same podstawy Zaciąłem się natomiast przy punkcie 4 i 5. Znalazłem funkcję w matlabie, która oblicza cepstra, ale musiałem poddać sygnał autokorelacji i nie wiem czy jest to właściwe wyjście.. Czy należało to zrobić w jakiś inny sposób.
Kod programu:
Kod: |
clear;
clf;
%wczytanie wav
[x,fp]=wavread('mbi04popis.wav'); %wczytanie wava o nazwie mbi04glowa
N=length(x); %długość wektora x
t=0:1/fp:(N-1)/fp;
%wykres wav
subplot(3,2,1);
plot(t,x);
xlabel('czas[s]');
ylabel('sygnal');
%decymacja wav
dr=4; %rząd decymacji
y=decimate(x,dr);
fd=fp/dr; %częstotliwość decymacji
Ny=length(y);
ty=0:1/fd:(Ny-1)/fd;
%wykres wav po decymacji
subplot(3,2,2);
plot(ty,y);
xlabel('czas[s]');
ylabel('sygnal');
%cepstra MFCC o długości 20ms z nakładkowaniem 10ms
c=rceps(y);
z=acorr(c,fd,0.02,0.01,15);
subplot(3,2,3)
mesh(z);
%decymacja wav
dr=6; %rząd decymacji
y=decimate(x,dr);
fd=fp/dr; %częstotliwość decymacji
Ny=length(y);
ty=0:1/fd:(Ny-1)/fd;
%wykres wav po decymacji
subplot(3,2,4);
plot(ty,y);
xlabel('czas[s]');
ylabel('sygnal');
%cepstra MFCC o długości 30ms z nakładkowaniem 10ms
c=rceps(y);
z=acorr(c,fd,0.03,0.01,15);
subplot(3,2,5)
mesh(z); |
Link do badanego dźwięku:
http://www.4shared.com/fi...mbi04popis.html
Będę wdzięczny za jakiekolwiek podpowiedzi.
Pozdrawiam
|
|