Aufteilen eines DTMF-Signals aus einer WAV-Datei mit Matlab
Hier ist der Kontext des Problems: Ich habe ein DTMF-Signal im WAV-Format, ich muss die Nummernfolge identifizieren, die es codiert hat. Ich muss dazu eine schnelle Fouriertransformation in Matlab verwenden, was bedeutet, dass ich die WAV-Datei mit gelesen habewavread
und um jede Nummer zu identifizieren, die durch eine Stille von 40 ms oder mehr getrennt ist.
Hier ist mein Code soweit:
[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);
Hier ist was zumfigure 1
sieht so aus, das ist das von der WAV gelesene Signal:
Wie kann ich das Signal effektiv in Teile aufteilen, sodass ich dann eine FFT für jedes der 10 Teile separat ausführen kann, um die entsprechenden Zahlen zu decodieren?