Witam jestem nowym użytkownikiem na forum i przyznam że jeśli chodzi o matlaba to jestem zielony.
Mam zrobić projekt który usuwa echo z nagranego przeze mnie dźwięku (nagrałem klaśnięcie w ręce w dużym pustym korytarzu).
Znalazłem w internecie algorytm przedstawiający ideę homomorficznego rozplatania. Niestety nie wiem bardzo jak to przenieść do programu.
Wiem ze moje echo i sygnał to splot dwóch funkcji x(t)*h(t) i ze idea polega na zamianie tego mnożenia sygnałów na sumę sygnałów poprzez logarytmowanie, dzięki temu będzie możliwość ich rozłączenia i usunięcia echa.
Napisałem kawałek programu ale nie wiem co dalej, tzn. jak rozłączyć te sygnały, jak usunąć to echo (najlepiej żeby rozdzielić sygnał echa od oryginalnego i zapisać je do oddzielnych zmiennych).
Wiem że można użyc też funkcji rceps i cceps ale nie wiem jak one dokładnie działaja
Załącznik echo.jpg jest to plik z dźwiękiem echo.wav spakowany rar-em ze zmienionym rozszerzeniem na jpg (inaczej nie chciał sie załączyc)
Bardzo proszę o pomoc. Będę wdzięczny za jakiekolwiek porady.
Mam zrobić projekt który usuwa echo z nagranego przeze mnie dźwięku (nagrałem klaśnięcie w ręce w dużym pustym korytarzu).
Znalazłem w internecie algorytm przedstawiający ideę homomorficznego rozplatania. Niestety nie wiem bardzo jak to przenieść do programu.
Wiem ze moje echo i sygnał to splot dwóch funkcji x(t)*h(t) i ze idea polega na zamianie tego mnożenia sygnałów na sumę sygnałów poprzez logarytmowanie, dzięki temu będzie możliwość ich rozłączenia i usunięcia echa.
Napisałem kawałek programu ale nie wiem co dalej, tzn. jak rozłączyć te sygnały, jak usunąć to echo (najlepiej żeby rozdzielić sygnał echa od oryginalnego i zapisać je do oddzielnych zmiennych).
[x,fs] = wavread('echo.wav');
n = length(x);
w=log(abs(fft(x)));
odwr=ifft(w);
odwrrz=real(odwr);
%{y = real(ifft(log (abs (FFT (z))))); to działa tak samo jak 3 linie powyżej ale u mnie wyskakiwał błąd „Function 'FFT' is not defined for values of class 'double'”
%}
plot (w);
figure;
plot(odwr);
figure;
plot(odwrrz);Wiem że można użyc też funkcji rceps i cceps ale nie wiem jak one dokładnie działaja
Załącznik echo.jpg jest to plik z dźwiękiem echo.wav spakowany rar-em ze zmienionym rozszerzeniem na jpg (inaczej nie chciał sie załączyc)
Bardzo proszę o pomoc. Będę wdzięczny za jakiekolwiek porady.