Dividindo um sinal DTMF de um arquivo wav usando o Matlab

Aqui está o contexto do problema: Eu tenho um sinal DTMF em formato wav, eu tenho que identificar a seqüência numérica que ele codificou. Eu devo fazer isso usando a transformação rápida de Fourier no Matlab, sugerindo que eu li o arquivo WAV usandowavread e para identificar cada número que é separado por 40ms de silêncio ou mais.

Aqui esta o meu codigo ate agora:

[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);

Aqui está o que ofigure 1 parece que é o sinal lido do wav:

Como posso efetivamente dividir o sinal em pedaços para que eu possa fazer uma FFT em cada uma das 10 partes separadamente para decodificar os números correspondentes?

questionAnswers(2)

yourAnswerToTheQuestion