Vai al contenuto
PLC Forum


Decoder Di Toni Dtmf - ovvero come decodificare i toni DTMF


FranceFEI

Messaggi consigliati

Nell'ultimo numero del giornale della MAXIM (vedi http://pdfserv.maxim-ic.com/en/ej/MER_5.pdf) ho trovato l'idea di realizzare un codice per un microcontrollore che registri i numeri di telefono in uscita da una linea telefonica. :blink:

Ignorati solo per un momento gli immaginabili problemi di privacy che tale operazione comporta, mi sono cimentato nella messa a punto del codice. :(

Il suggerimento di MAXIM era di campionare il segnale analogico sulla linea telefonica, e di filtrare con filtri a banda stretta centrati sulle frequenze dei toni DTMF. La contemporanea presenza dei toni di una data riga e di una data colonna deve corrisponde alla pressione di un numero nel tastierino numerico. :D

La apparente semplicita' del progetto si scontra con le limitazioni dell'hardware a disposizione, sollevando difficolta' che ho superato in un modo che forse puo' interessare anche qualcun'altro. :angry:

Il processore usato e' il solito 8051 (8 bit + ADC integrato a 8ks/s) alla bella velocita' di 20MHz, che sembrano tener dietro alla grande agli 8000 campioni per secondo. In realta' ci si accorge presto che dobbiamo dimenticare di fare i calcoli in virgola mobile, e per quelli in virgola fissa una implementazione con interi a 16 bit va bene solo per 5 toni. Allora che fare? Non c'e' altra soluzione se non passare all'assembler.

Se qualcuno e' interessato posso mandare l'intero codice e/o quache suggerimento in piu'.

Ciao

FC

Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...