DTMF och Goertzel algoritm
DTMF och Goertzel algoritm
Jag håller på med ett projekt tangentbordsbelysning i projekttråden.
Intensiteten ska styras mha toner och ett sätt vore att ha DTMF.
Jag hittar enkla kretsar att generera DTMF men jag är mer intresserad
av att detektera. Då finns tydligen en algoritm för detta. Det här tycker
jag verkar intressant. Vore väldigt kul att implementera en lösning
på kortet som utnyttjar algoritmen. Med processor eller logikkretsar.
Finns det kanske någon som testat det innan?
http://en.wikipedia.org/wiki/Goertzel_algorithm
Intensiteten ska styras mha toner och ett sätt vore att ha DTMF.
Jag hittar enkla kretsar att generera DTMF men jag är mer intresserad
av att detektera. Då finns tydligen en algoritm för detta. Det här tycker
jag verkar intressant. Vore väldigt kul att implementera en lösning
på kortet som utnyttjar algoritmen. Med processor eller logikkretsar.
Finns det kanske någon som testat det innan?
http://en.wikipedia.org/wiki/Goertzel_algorithm
Re: DTMF och Goertzel algoritm
Ja det fungerar bra. Har kört det på PC och det funkar. Det finns numera exempel för små processor alltså inte DSP. Det finns appl. exempel på t. ex. Microchip hemsida. Dock kräver de flesta exempel att processorn har multiplikation i hårdvaran.
Re: DTMF och Goertzel algoritm
Såg ett projekt med igår kväll med DTMF/Goertzel http://www.circuitcellar.com/avr2006/winners/AT3344.htm. Har inte kollat så noga, men jag såg det fanns lite programkod i PDF´n iaf.
Re: DTMF och Goertzel algoritm
Tycker det borde inte behövas en DSP med DTMF-toner.Remote skrev:Ja det fungerar bra. Har kört det på PC och det funkar. Det finns numera exempel för små processor alltså inte DSP. Det finns appl. exempel på t. ex. Microchip hemsida. Dock kräver de flesta exempel att processorn har multiplikation i hårdvaran.
Många controllers är väldigt snabba i dagens värld.
Jag har alltid varit sugen på att bygga en lösning helt med TTL.
En ASM maskin. Det klart den här algoritmen kanske är i krångligaste laget
för en sån lösning.
Re: DTMF och Goertzel algoritm
Spännande läsning!hornfeldt skrev:Såg ett projekt med igår kväll med DTMF/Goertzel http://www.circuitcellar.com/avr2006/winners/AT3344.htm. Har inte kollat så noga, men jag såg det fanns lite programkod i PDF´n iaf.
Citerar:
"The first worthy challenge was Goertzel’s algorithm for DTMF detection. We implemented it in fixed point
arithmetic with 9-bit coefficients. This was where the AVR’s on-chip multiplier shone: combining loop
unrolling with some hand tuned assembler, Goertzel’s inner loop took only 364 cycles. Using double
buffering of the intermediate results and spreading the calculation over many samples, the finalization step
took another ~100 amortized cycles, bringing the whole algorithm to take less than 500 cycles per sample. A
shortened version of this code is shown in Listing 1."
Re: DTMF och Goertzel algoritm
Vi har använt Goertzel för att avkoda DTMF i vårt projekt. Hårdvaran som vi då använder beskrivs här http://projekt.auml.se/homeautomation:h ... munication
och mjukvaran för DTMF finns här http://projekt.auml.se/websvn/HomeAutom ... n_CallerID_
(själva DTMF-avkodningen finns ner igenom katalogen avr-lib)
Så att avkoda med en liten AVR går alldeles utmärkt.
Edit: ändrade länkarna
och mjukvaran för DTMF finns här http://projekt.auml.se/websvn/HomeAutom ... n_CallerID_
(själva DTMF-avkodningen finns ner igenom katalogen avr-lib)
Så att avkoda med en liten AVR går alldeles utmärkt.
Edit: ändrade länkarna
Senast redigerad av eqlazer 1 oktober 2009, 10:21:02, redigerad totalt 1 gång.
Re: DTMF och Goertzel algoritm
Hittar ingen Goertzel algoritm där ? Hårdvaran avkodar ju direkt till 4 bit binär
Re: DTMF och Goertzel algoritm
Förlåt, råkade länka till fel DTMF-applikation (den som använder mt8870), har ändrat i inlägget ovan.
Så själva Goertzel finns i http://projekt.auml.se/websvn/HomeAutom ... s_DTMF_raw_
Så själva Goertzel finns i http://projekt.auml.se/websvn/HomeAutom ... s_DTMF_raw_
Re: DTMF och Goertzel algoritm
Bra att ha olika projekt att läsa om. Det ger kunskap på ett bra sätt.
Av en slump (sökning på projekt med LM567) hittade jag ett projekt
där Goertzels algoritm används i stället för en LM567 tondekoder.
Algoritmen ska tydligen ge mer precis detektering enligt författaren.
http://www.tau.ac.il/~stoledo/lego/msp4 ... ect-pitch/
Av en slump (sökning på projekt med LM567) hittade jag ett projekt
där Goertzels algoritm används i stället för en LM567 tondekoder.
Algoritmen ska tydligen ge mer precis detektering enligt författaren.
http://www.tau.ac.il/~stoledo/lego/msp4 ... ect-pitch/
