Está en la página 1de 4

Detector de tonos DTMF en MATLAB

Lechn Brayan, Oa Johnny, Pez Stalin, Tambi Andrs


Departamento de Elctrica y Electrnica, Universidad de las Fuerzas Armadas ESPE
Sangolqu, Ecuador
balechon1@espe.edu.ec, srpaez@espe.edu.ec, jdoa@espe.edu.ec, catambi@espe.edu.ec

Resumen
En la telefona se necesita de un detector de tonos II. FILTRO PASABANDA
para la marcacin rpida en telfonos, el sistema
DTMF permite detectar las teclas que se estn Un filtro paso banda es un tipo de filtro
presionando al momento de realizar la marcacin, se electrnico que deja pasar un determinado rango de
utiliza el anlisis en frecuencia que sirve para frecuencias de una seal y atena el paso del resto,
establecer los rangos a cada tono con el que cada una forma de construir un filtro paso banda puede ser
tecla se identifica. Para implementacin se hace uso usar un filtro paso bajo en serie con un filtro paso
de filtros que pueden ser realizados mediante el alto entre los que hay un rango de frecuencias que
software Matlab. ambos dejan pasar. Para ello, es importante tener en
cuenta que la frecuencia de corte del paso bajo sea
Palabras clave: mayor que la del paso alto, a fin de que la respuesta
DTMF, rango de frecuencias, pasabanda global sea paso banda (esto es, que haya
solapamiento entre ambas respuestas en frecuencia).

I. INTRODUCCIN Estos filtros tienen aplicacin en ecualizadores de


audio, y hacen que unas frecuencias se amplifiquen
ms que otras. Otra aplicacin consiste en
E l DTMF es un mtodo utilizado por el sistema
telefnico para reconocer las teclas pulsadas eliminar ruidos que aparecen junto a una seal,
siempre que la frecuencia de sta sea fija o conocida
durante la marcacin. Al pulsar una tecla en el
teclado del telfono se generan dos tonos
simultneos, que son descodificados por la centralita
para determinar la tecla pulsada. Este mtodo se
aplica tanto para celulares como para telfonos
convencionales para poder enlazar una
comunicacin.
Para poder realizar la prctica, primero se tuvo que
revisar el rango de frecuencias en las que se
encontraban cada uno de los nmeros, para esto se
revis la siguiente tabla: Fig2. Diagrama de filtro pasabanda

III. DISEO DEL DETECTOR DE TONOS EN MATLAB

Para el diseo de nuestro detector de tonos se tuvo


que crear un filtro pasabanda que tiene la funcin de
dejar pasar ciertas frecuencias, localizadas dentro de
un ancho de banda determinado, y atena las que se
localizan fuera de este ancho.
Son las frecuencias de corte inferior y las frecuencias
de corte superior las que determinan, a partir de su
posicin cuales eran las frecuencias mayores y cuales
Fig1. Rango de frecuencias de los tonos
las menores.
La banda de paso va desde los 60 hasta los 200 [Hz]
Un filtro pasabanda tiene tres parmetros de: la con menos de 3[dB] de tolerancia con la banda de
frecuencia, la ganancia y el factor Q relacionado con paso y 40[dB] de atenuacin en la banda eliminada,
el ancho de banda. la cual esta a 50[Hz] a cada lado de la banda de paso.
A frecuencia de muestreo es de 1000[Hz].
El ancho de banda est definido como el rango de
frecuencias entre dos puntos de corte, que son
menores a 3dB que el centro mximo o pico de
resonancia.

El diseo de un filtro consiste en obtener un circuito


en el que la respuesta frecuencial de su funcin de
transferencia satisfaga una especificacin dada, se
tiene que:

a) Determinar matemticamente la funcin de


transferencia cuya respuesta en frecuencia
mejor aproxima las especificaciones dadas Fig3. Curva de un filtro pasabanda
para la respuesta en frecuencia del filtro.
Las especificaciones de un filtro depende de que si
G(s) es la funcin de transferencia de un filtro, su
funcin de prdidas, H(s), se define como:
b) Descomponer los polinomios resultantes en
factores de segundo orden que permitan su
implementacin por una secuencia de etapas En el filtro pasabanda se tienen las siguientes
bicuadrticas conectadas en cascada caractersticas:

c) Seleccionar el circuito con el que se


implementar cada etapa del filtro y estimar
los valores de los componentes que los
circuitos elegidos contienen. Fig4. Caractersticas del filtro pasabanda
Un ejemplo de un filtro pasabandas en matlab
cuya banda de pasos vaya desde los 60 hasta Para utilizar el modelo de Butterworth se hace uso de
los 200[Hz] tendramos el siguiente cdigo: la funcin BUTTORD que devuelve =
fm=1000; [1 , 2 ], donde el bajo de Butterworth (Wn1) y
fe=fm/2; alto (2 ) natural Frecuencias (o, las "frecuencias
wp=[60 200]/fe; de 3 dB") para utilizar con BUTTER para lograr las
ws=[10 250]/fe; especificaciones.
rp=3;
rs=40; [N, Wn] = BUTTORD(Wp, Ws, Rp, Rs, 's')
[n,wn]=buttord(wp,ws,rp,rs) Si Wn es un vector de dos elementos, =
[b,a]=butter(n,wn)
[1 2 ], BUTTER devuelve un orden 2N
[h,f]=freqz(b,a,[],fm)
plot(abs(h)) analgico. Filtro con banda de paso Wn1 <W <Wn2
xlabel('Hz') y devuelve los coeficientes de filtro en longitud 2N +
ylabel('Modulo de H(z)') 1 vectores NUM (numerador) y DEN (denominador).
grid on Los coeficientes se enumeran en las potencias
descendentes de s. Cuando Rp se elige como 3 dB, el
Wn en BUTTER es igual a Wp en BUTTORD
[NUM, DEN]=BUTTER(N,Wn,'s')

Se realiz dos filtros pasabanda que permitan


identificar el tono de la tecla que se est presionando:

a) Filtro pasabanda de frecuencias bajases el


que permite dejar el paso de tonos con
frecuencias bajas del teclado

Fig7. Cdigo de programacin de filtro pasabanda

Nos permite visualizar la seal que se filtra al


momento de presionar la tecla, esto se realizara
haciendo uso del filtro pasa banda en cual permite el
paso de la frecuencia dentro del intervalo establecido

- Respuesta en frecuencia
Para obtener la seal de salida se tendr que realizar
Fig5. Cdigo filtro pasabanda en MATLAB la transformada de Fourier de la funcin que
pertenece a la seal filtrada
b) Filtro pasabanda de frecuencias altas es el
que permite dejar el paso de tonos con
frecuencias altas del teclado

Fig8. Cdigo de programacin seal de salida

Nos permite evaluar la funcin para obtener los


puntos en la frecuencia y visualizar la seal que se
produce en la salida
Fig6. Cdigo de MATLAB

V. EJECUCIN
IV. PROGRAMACIN 1. Se ejecuta el script que contiene la
programacin del detector
- Grafica seal filtrada
El filtro pasabanda de butterword nos permite
establecer los rangos en los cuales se obtiene las
bandas de corte y rechazo.

Fig 9. Ejecucin de sripti


2. Se presiona la tecla de la cual se quiere Otro aspecto que se consider, fue el rango de
detectar el tono frecuencias en las cuales el DTMF trabajaba. Para
esto nos valimos de una tabla en donde nos especifica
las frecuencias de los tonos. Nos result de gran
ayuda ya que las mismas ayudaron a determinar el
rango de anlisis de los mismos.

Cabe recalcar que la realizacin de la presenta


practica nos ayudara a futuro en donde tengamos que
implementar algoritmos computacionales ms
complejos, sin embargo los mismos no nos resultaran
Fig10. Ingreso de tono difciles si aplicamos los conceptos adquiridos en la
presente prctica.
3. Se obtiene la seales filtradas y las respuestas
de frecuencia, y la tecla que se presiono Estas seran nuestras conclusiones al trmino de la
presente prctica.

VII. REFERENCIAS

[1]http://www.mediacollege.com/audio/tone/dtmf.ht
ml
[2]http://www.scribd.com/doc/39576022/Interface-
DTMF
[3]http://www.mathworks.com/products/signal/demo
s.html?file=/products/demos/shipping/signal/dtmfde
mo.html
[4]http://www.recercat.cat/bitstream/handle/2072/534
0/PFCDuran.pdf

Fig5.Resultados

VI. CONCLUSIONES

Al terminar la siguiente prctica hemos sacado como


conclusiones los siguientes puntos:

Como se ha podido observar, la deteccin de tonos


DTFM es muy utiliza en el mundo de la telefona, ya
que si no hubiera esto no se podra discar o marcar un
nmero telefnico para enlazar una comunicacin.

Por otro lado, para la deteccin de los tonos se puede


usar un circuito aparte o mediante un software
computacional, que en nuestro caso fue Matlab. Este
nos permiti adquirir el sonido de los tonos mediante
el micrfono del computador y mediante un
algoritmo computacional detectar las frecuencias y
ver que numero es el pulsado.