Dzielenie sygnału DTMF z pliku wav przy użyciu Matlaba

Oto kontekst problemu: Mam sygnał DTMF w formacie WAV, muszę zidentyfikować zakodowaną sekwencję numerów. Muszę to zrobić przy użyciu szybkiej transformacji Fouriera w programie Matlab, co oznacza, że ​​czytam plik wav przy użyciuwavread i do identyfikacji każdego numeru, który jest oddzielony przez 40 ms ciszy lub więcej.

Oto mój kod do tej pory:

[signal, fs] = wavread( 'C:\Temp\file.wav' );  % here, fs = 8000Hz

N = 512;                    
T = 1/fs;                   
L = length( signal )        
samples = fs / 1000 * 40    
windows = floor(L / samples) 
t = (1:L)/fs;

figure(1), plot(t, signal);

Oto cofigure 1 wygląda tak, to jest sygnał odczytany z wav:

W jaki sposób mogę skutecznie podzielić sygnał na kawałki, dzięki czemu mogę wykonać FFT na każdym z 10 kawałków osobno, aby zdekodować odpowiednie liczby?

questionAnswers(2)

yourAnswerToTheQuestion