Você está na página 1de 22

Geração e Detecção DTMF

Laboratório de PDS
Prof. Luciano Scandelari
Sinal de Voz

Fonte: Prof.
Volnys B. Bernal

Lab de PDS - Prof. Luciano Scandelari 2


Canal de VOZ

Fonte: Prof.
Volnys B. Bernal
Lab de PDS - Prof. Luciano Scandelari 3
DTMF – O que é
• Dual Tone - Multi Frequency
• Envio de dados em um canal de voz (analógico)
• Usa duas frequências simultâneas
• Nome genérico para a sinalização de telefones com teclas

Lab de PDS - Prof. Luciano Scandelari 4


O teclado DTMF

1209 Hz 1336 Hz 1477 Hz

697 Hz 1 2 3

770 Hz 4 5 6

852 Hz 7 8 9

941 Hz * 0 #
Lab de PDS - Prof. Luciano Scandelari 5
Dígitos DTMF

Lab de PDS - Prof. Luciano Scandelari 6


Geração do sinal DTMF

Lab de PDS - Prof. Luciano Scandelari 7


Geração

Lab de PDS - Prof. Luciano Scandelari 8


Padrão Geração DTMF
• Cada dígito deve ser gerado com as duas frequências simultâneas
• A duração de cada dígito deve ser superior a 40ms
• O intervalo entre dígitos deve ser maior que 50ms
• Taxa de amostragem de 8kHz
• 10 dígitos por segundo (50ms marca – 50ms espaço)

Lab de PDS - Prof. Luciano Scandelari 9


Padrão DTMF

Lab de PDS - Prof. Luciano Scandelari 10


Osciladores digitais senoidais de segunda
ordem

Lab de PDS - Prof. Luciano Scandelari 11


Parâmetros
do oscilador

Lab de PDS - Prof. Luciano Scandelari 12


Parametros para amostragem de 8kHz

Lab de PDS - Prof. Luciano Scandelari 13


Experiência

Lab de PDS - Prof. Luciano Scandelari 14


EXPERIÊNCIA: GERAÇÃO DTMF
• Gerar uma sequencia de 10 tons DTMF, correspondendo ao número
de matricula dos integrantes da equipe, na saída do conversor D/A do
kit
• Detectar corretamente esta sequencia usando um software ligado a
placa de som do PC
• http://www.qsl.net/kb5ryo/dtmf.htm
• http://www.polar-electric.com/DTMF/Index.html

*** Cuidado ao interfacear o kit à placa de som – utilize um filtro anti-


alias e um capacitor de desacoplamento.
Lab de PDS - Prof. Luciano Scandelari 15
Detecção DTMF
• Duas abordagens: Filtro e Goertzel
• Filtro: usa filtros digitais para determinar as frequências presentes no sinal
• Algoritmo de Goertzel: é um caso especial da DFT, onde apenas as
frequências de interesse são calculadas

• No laboratório utilizaremos filtros IIR de ordem 5 para cada


frequência.

Lab de PDS - Prof. Luciano Scandelari 16


Detecção DTMF

Lab de PDS - Prof. Luciano Scandelari 17


Detecção de
Frequencia

Lab de PDS - Prof. Luciano Scandelari 18


Algoritmo de detecção
• Algorítmo de detecção:
• Entrada: X1…XN amostras do sinal
• Saída: flag para indicar se o sinal tem uma correlação com a frequencia que
se quer detectar ou não
• Implementação:
• Implementar um Filtro passa banda em centrado na frequencia que se quer detectar
• Fazer a média dos valores absolutos na saída do filtro
• Comparar a média com um limiar estabelecido de forma empírica
• Flag ligada  a média é maior que o limiar

Lab de PDS - Prof. Luciano Scandelari 19


Experiência

Lab de PDS - Prof. Luciano Scandelari 20


Experiência: Detecção DTMF
• Gere 10 tons DTMF na placa de som do PC e adquira usando o conversor
A/D do kit
• Detecte os tons DTMF usando bancos de filtros IIR
• Valide cada tom recebido, usando os espaços entre tons para separá-los
• A sequencia dos tons será informada no momento de teste
• Use um programa de PC para gerar os tons, ou o kit do colega
• Mostre em uma matriz interna, usando o DEBUG, os 10 últimos dígitos
recebidos. Esta variável deve ficar em constante atualização.
char dtmf_recebido[10]

Lab de PDS - Prof. Luciano Scandelari 21


Geração dos tons de teste via PC
• Use um software disponível
• http://www.polar-electric.com/DTMF/Index.html#Encoder

• Cuidado na interface Kit <-> PC


• Use capacitor de desacoplamento
• Não exceda o nível de sinal (mín=0v, máx = 3,3v)
• Use um circuito para inserir um nível DC antes da aquisição do sinal, e após o
capacitor de desacoplamento (o ARM não mede sinais negativos)

Lab de PDS - Prof. Luciano Scandelari 22

Você também pode gostar