Nummerpresentatör
Postat: 27 april 2005, 09:31:44
Tänkte jag skulle ta och bygga mig en nummerpresentatör som extrauppgift i kursen Signaler och System genom att koda en egen dtmf-avkodare.
Visserligen finns det fina färdiga kretsar för sånt men nu går ju uppgiften ut på signalbehandling så jag tänkte jag skulle avkoda signalen i en atmega.
Goertzels algoritm som jag hittade i en annan tråd här på forumet verkar ytterst lämplig för detta. Beräkningarna blir nog inga problem att hinna med då atmegan går i 16Mips och klarar 16*16 bitars multiplikation på 2 cykler om jag inte missminner mig.
Har gjort en första simulering av algoritmen i matlab (spelade in tonerna från min mobiltelefon):
http://www.student.itn.liu.se/~frejo242 ... ertzel.gif

Här syns tydligt att första tonen är siffran 1 då den består av just 697Hz och 1209Hz enligt http://www.celticrover.com/bgtt/dtmf.asp
Nederst gjorde jag en fft mest av nyfikenhet (0-2KHz). Kan tillägga att fft:n tog 12ms medans Goertzel tog enligt matlab 0ms (upplösningen på tic/toc är inte bra nog)
Innan jag kopplar in någon display eller liknande tänkte jag debugga via hyperterminal. Har sett något om att det finns lite vettigare hyperterminaler än den i windows, nån som har ett bra förslag?
Ska försöka hinna med att koppla ut atmegan i helgen eller så och se om det går att få igång hyperterminalen.
Visserligen finns det fina färdiga kretsar för sånt men nu går ju uppgiften ut på signalbehandling så jag tänkte jag skulle avkoda signalen i en atmega.
Goertzels algoritm som jag hittade i en annan tråd här på forumet verkar ytterst lämplig för detta. Beräkningarna blir nog inga problem att hinna med då atmegan går i 16Mips och klarar 16*16 bitars multiplikation på 2 cykler om jag inte missminner mig.
Har gjort en första simulering av algoritmen i matlab (spelade in tonerna från min mobiltelefon):
http://www.student.itn.liu.se/~frejo242 ... ertzel.gif

Här syns tydligt att första tonen är siffran 1 då den består av just 697Hz och 1209Hz enligt http://www.celticrover.com/bgtt/dtmf.asp
Nederst gjorde jag en fft mest av nyfikenhet (0-2KHz). Kan tillägga att fft:n tog 12ms medans Goertzel tog enligt matlab 0ms (upplösningen på tic/toc är inte bra nog)
Innan jag kopplar in någon display eller liknande tänkte jag debugga via hyperterminal. Har sett något om att det finns lite vettigare hyperterminaler än den i windows, nån som har ett bra förslag?
Ska försöka hinna med att koppla ut atmegan i helgen eller så och se om det går att få igång hyperterminalen.