DTMF och Goertzel algoritm

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
4kTRB
Inlägg: 21597
Blev medlem: 16 augusti 2009, 19:04:48

DTMF och Goertzel algoritm

Inlägg av 4kTRB »

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
Användarvisningsbild
Remote
Inlägg: 91
Blev medlem: 12 januari 2007, 08:05:17
Ort: Stockholm

Re: DTMF och Goertzel algoritm

Inlägg av Remote »

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.
hornfeldt
Inlägg: 104
Blev medlem: 6 maj 2008, 00:27:07
Ort: Örnsköldsvik

Re: DTMF och Goertzel algoritm

Inlägg av hornfeldt »

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.
Användarvisningsbild
4kTRB
Inlägg: 21597
Blev medlem: 16 augusti 2009, 19:04:48

Re: DTMF och Goertzel algoritm

Inlägg av 4kTRB »

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.
Tycker det borde inte behövas en DSP med DTMF-toner.
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.
Användarvisningsbild
4kTRB
Inlägg: 21597
Blev medlem: 16 augusti 2009, 19:04:48

Re: DTMF och Goertzel algoritm

Inlägg av 4kTRB »

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.
Spännande läsning!

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."
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: DTMF och Goertzel algoritm

Inlägg av eqlazer »

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
Senast redigerad av eqlazer 1 oktober 2009, 10:21:02, redigerad totalt 1 gång.
hornfeldt
Inlägg: 104
Blev medlem: 6 maj 2008, 00:27:07
Ort: Örnsköldsvik

Re: DTMF och Goertzel algoritm

Inlägg av hornfeldt »

Hittar ingen Goertzel algoritm där ? Hårdvaran avkodar ju direkt till 4 bit binär
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: DTMF och Goertzel algoritm

Inlägg av eqlazer »

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_
Användarvisningsbild
4kTRB
Inlägg: 21597
Blev medlem: 16 augusti 2009, 19:04:48

Re: DTMF och Goertzel algoritm

Inlägg av 4kTRB »

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/
Skriv svar