Разделение DTMF-сигнала из файла WAV с использованием Matlab

Вот контекст проблемы: у меня есть сигнал DTMF в формате wav, я должен идентифицировать номерную последовательность, которую он закодировал. Я должен сделать это с помощью быстрого преобразования Фурье в Matlab, подразумевая, что я прочитал файл WAV, используяwavread и идентифицировать каждый номер, который разделен тишиной 40 мс или более.

Вот мой код до сих пор:

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

Вот чтоfigure 1 Похоже, что это сигнал, прочитанный из WAV:

Как я могу эффективно разделить сигнал на части, чтобы затем можно было выполнить БПФ для каждого из 10 элементов отдельно для декодирования соответствующих чисел?

Ответы на вопрос(2)

Ваш ответ на вопрос