How to remove Silence from an that has DTMF tones in it?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
The input to my file is are the DTMF digits but since it has silence intervals in it, i.e., 'beep',silence,'beep',silence, and due to this silence when fft is taken,The system cannot identify the correct frequencies of dtmf so how can i remove this silence?
0 comentarios
Respuestas (1)
sandeeep jan
el 4 de Oct. de 2017
Editada: Walter Roberson
el 21 de Nov. de 2021
Fs = 8000;
t = 0.25;
N = 1:ceil(t*Fs);
% define DTMF:
R = [697,770,852,941]; % Hz, rows
C = [1209,1336,1477]; % Hz, columns
[Ra,Ca] = meshgrid(R,C); % Hz, all
Rb = 2*pi*(Ra(:)/Fs);
Cb = 2*pi*(Ca(:)/Fs);
T = sin(Rb*N) + sin(Cb*N);
% get user input:
J = '123456789*0#';
% subplot is by row
I = input('Enter keys/s [0:9*#]: ','s');
assert(all(ismember(I,J)),'An invalid key was entered')
% plot and play:
for k = 1:numel(I)
X = strfind(J,I(k));
subplot(4,3,X);
plot(T(X,:));
xlabel(sprintf('KEY%s',I(k)))
sound(T(X,:));
pause(0.5);
end
0 comentarios
Ver también
Categorías
Más información sobre DTMF en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!