viernes, 10 de mayo de 2013

Dual Tone Multi-frequency



   Ultimamente he notado que muchas personas no terminan de entender que es lo que en realidad es DTMF y lo importante y util que es, basicamente DTMF es un sistema de señalizacion que consiste en sumar dos sinusoides con frecuencias especificas para formar un tono, este tono es enviado dentro del propio canal de voz en una linea telefonica y sirve para:

  1. Discado.
  2. Seleccion en menus integrados por medio del teclado del telefono.
  3. Dar indicaciones audibles o controlar dispositivos.
  4. Tocar canciones psicodelicas.
  5. Acabar con la paciencia de la persona a la que llamas o te llama censurandola jajaja.
La tabla anterior muestra la configuracion estandar de un teclado alfanumerico telefonico, como pueden notar es una matriz que adicionalmente posee cada fila y columna identificada con una frecuencia, las columnas representan el grupo de altas frecuencias y las filas el de bajas frecuencias. La union de 1 componente de baja frecuencia y otro de alta frecuencia segun esta tabla, da como resultado la onda que identifica el digito o caracter discado.

Ejemplo:
 El tono que indica la marcacion del numero 5 se forma con las frecuencias 770 Hz y 1336 Hz. Por lo tanto T5 = sen(770*2*pi*t) + sen(1336*2*pi*t)
     Representacion utilizando Matlab de la onda resultante (N° 5)

¿Por que se dice que es un sistema de señalizacion que se envia dentro del mismo canal de voz?

   La respuesta radica en que la voz humana tiene un rango de frecuencias que abarca desde unos 300 Hz hasta aproximadamente 3.4 KHz, en los sistemas telefonicos se utiliza un rango de frecuencias que abarca desde 0 Hz hasta 4000 Hz, es decir un ancho de banda de 4 KHz en total, observen que ninguna de las frecuencias que componen las señalizaciones (remitirse a la tabla del teclado) supera este rango de frecuencias, estan exactamente dentro del rango. Esta es la razon de que podamos escucharlas lo cual es bueno y malo a la vez, bueno porque nos da la posibilidad de dar indicaciones audibles, malo porque entre tantos componentes frecuenciales puede ser dificil distinguir las dos componentes que identifican el digito, de no ser por...

  El auge de los DSP o Digital Signal Processor, previamente a esto para poder distinguir una señal DTMF de los componentes de la voz se recurria a un array de filtros sintonizados, algo complicado de desarrollar y no 100% efectivo. Con los DSP basicamente cuantizamos y digitalizamos la señal analogica y luego la procesamos utilizando algun algoritmo de Transformada Discreta de Fourier. 

FFT o Fast Fourier Transform

  Es un algoritmo matematico de Transformada Discreta de Fourier que se utiliza para, teniendo una tanda de datos (muestras digitalizadas) de una señal analogica, poder encontrar los componentes frecuenciales que conforman la onda.

Pasando de esto:
forma de onda compuesta por un tono DTMF y 4 sinusoides adicionales


A esto:
Espectro de frecuencias de la señal anterior

  Noten los 6 componentes frecuenciales, de esos tenemos uno equivalente a 697 Hz (4° de izquierda a derecha) y otro de 1209 Hz (5° de izquierda a derecha), verifiquemos la tabla, la presencia de estos dos componentes indica que se ha presionado la tecla numero 1. A simple vista se nota que gracias a este analisis se puede realizar un filtro digital utilizando algun lenguaje de programacion que simplemente seleccione lo que queremos y lo demas lo descarte de esta forma sabremos que digito se presiono. 

Para los que utilizan microcontroladores, los tonos DTMF no se generan utilizando ondas analogicas directamente sino que se utiliza PWM y luego se filtra la señal para conseguir el tono deseado, esto seria material para otro post. 

PD: Por si les interesa, el programa utilizado para realizar el FFT y las graficas es el Matlab.





















                                                

No hay comentarios:

Publicar un comentario