Frekvens detektor PIC 12F683 Processor med (7 / 12 steg)

Steg 7: Tillval: algoritm Detaljer



The Goertzel algoritm är en signal processing algoritm som används för att upptäcka en enda frekvens. Den härstammar från fouriertransformen.

Algoritmen fungerar som ett mycket smalt band pass filter. Det ger en mycket skarp reaktion på frekvenser inom frekvensbandet pass, och en mycket lägre svar för frekvenser utanför passera bandet. De små detaljerna av Goertzel algoritmen kommer inte att omfattas här.

Algoritmen slingan tar prov den indata med mikroprocessor inbyggd A/D-omvandlare. De nödvändiga matematiska operationer utförs i tiden mellan på varandra följande prover.
De olika variabler som används i algoritmen definieras enligt följande:

Xn_sample = senaste provet från A/D-omvandlare
Xn = senaste provet från A/D omvandlare multiplicerat med hjälp av funktionen.
Y0 = produktionsvärde för närvarande positionsbestämning.
Y1 = tidigare beräknade produktionsvärde. (Produktionsvärde från den föregående iterationen av slingan).
Y2 = produktionsvärde från iteration iteration innan l tidigare iteration av loopen.

Figuren nedan visar en lista över de variabler som används i algoritm.

Se flödesschema i bifogade PDF-filen att se hur Goertzel algoritm portion av programmet körs på processorn. När algoritmen har processer alla prover (de bifogade filerna *.hex och *.asm använda 200 prov), beräknas de verkliga och imaginära komponenterna av resultaten. Den reella och imaginära delen används sedan för att beräkna omfattningen. Omfattningen är ett mått på hur mål ofta är närvarande i uppgifterna som ingick i urvalet. Omfattningen jämförs mot tröskeln. Om värdet är större än tröskelvärdet, frekvensen anses upptäckas och produktionen ligger högt. Om omfattningen är lägre än tröskelvärdet, sätts utdata låg.

Skärpan i filtret svaret kontra frekvensen är proportionell mot antalet prover som tagits. Svaret av algoritmen måste vara tillräckligt skarp för att det svarar på target frekvens men producerar mycket lägre svar för frekvenser utanför målet. Ett värde av 200 prover konstaterades för att producera ett tillräckligt smalt svar i experimenterande.

Fönstersystem funktion

Efter varje prov erhålls från A/D-omvandlare, är det första multiplicerad med en fönster innan det används i de efterföljande beräkningarna. Se bilderna nedan visar Frekvensgången av algoritmen att se påverkar av fönstret. Omfattningen av svaret är lägre och det svaret är bredare när fönstret används, men krusningar elimineras nästan, underlättar fastställandet av huruvida målet frekvensen är närvarande.

Det finns många typer av windows som kan tillämpas i digital signalbehandling. Här kallas ett Hamming fönster. Formen på fönstret hamming visas i en bild nedan. Tomten nedan visar värdet med hjälp av funktionen som används för var och en av tar prov i subrutinen.

Se Steg
Relaterade Ämnen

Testa din radar detektor eller laser jammer med denna trafik verkställighet LIDAR pistolen simulator

denna LIDAR pistolen simulator efterliknar elva olika trafik verkställighet vapen LIDAR. Varje LidarGun fungerar på 904nM våglängd med kort puls skurar, vissa vapen fungerar 100 pulser per sekund, några kanoner på 238 pulser per sekund, etc. Laser At...

Bump detektor för robotar med aluminiumfolie

Samtidigt som autonom robot med ultraljudssensorer, inför vi problemet att ändra sökvägen till robot när det stöter på en vägg eller objekt.Lösningen är ganska enkel, men jag hoppas det hjälper någon :)Steg 1: Komponenter behövs: 1) aluminiumfolie2)...

DTMF-Touch Tone dekoder med hjälp av Microchip PIC mikroprocessor

Detta projekt innehåller uppgifter om med ett mikrochip PIC12F683 8 bitars mikroprocessor för att upptäcka DTMF-toner. Avslutade programmet tillåter processorn att programmeras med en sträng av DTMF-toner att upptäcka. Om strängen programmerade upptä...

Pålitlig frekvens identifiering med hjälp av DSP tekniker

korrekt frekvens upptäckt är viktigt för många projekt som gitarr/Piano Tuners, vibrationer analysatorer, hjärtrytm bildskärmar, MEMs Sensor analys och laboratorieutrustning.Det har varit många fina exempel på projekt som försöker lösa detta problem,...

Växla läge Altoids iPOD laddare med 3 "AA" batterier

målet med detta projekt var att bygga en effektiv Altoids tin iPod (firewire) laddare som körs på 3 (uppladdningsbara) "AA" batterier. Projektet började som ett samarbete med Sky på PCB design och konstruktion, och jag på krets och firmware. Som...

NOMAD från ursprungliga Star Trek-serien med ljus och ljudeffekter

om du är ett fan av den ursprungliga Star Trek-serien, du vet vad NOMAD.Det visades i episod #37 "Changeling".NOMAD är huvudsakligen en hybrid av en gammal jord utrymmesonden som kolliderade med en främmande utrymmesonden. Den resulterande hybri...

Elektroniskt lås med one-wire iButton

i detta instructable kommer jag att presentera en liten liten krets som kan ersätta ett elektroniskt lås, elektriska apparat switch eller något liknande, till en bättre och svalare. Denna lilla styrelse kan försäkra er, ingen kommer någonsin ange dit...

Enkel mobil detektor krets

enkla mobila detektor krets använder CA3130 op-förstärkareBeskrivning Källa: http://www.electroschematics.com/1035/mobile-bug-detector-sniffer/Denna behändiga mobiltelefon detektor kan känna närvaron av en aktiverad mobil mobiltelefon från en och en...

RGB LED Mood taklampa med hackad IR-fjärrkontroll

detta instructable dokument utformning och konstruktion av en gigantisk RGB LED taklampa, kontrolleras av en hacka GE fjärrkontroll.Efter att bygga ett par mindre RGB lampor, bestämde jag mig för jag ville se hur långt jag kunde ta konceptet. Kontrol...

Pulserande gubbe detektor

detta projekt använder en RF-mottagare modul för att utlösa ett pulserande hjärta LED när sändaren kommer inom räckhåll. Jag gjorde detta för min fästman för alla hjärtans dag i år.Jag har ännu att testa spänna, som jag faktiskt inte har tagit sändar...

Steampunk ESP8266 Internet ansluten klockan med hjälp av Arduino IDE

Vad du får när en NeoPixel ring, en billig Arduino Wifi ombord och en laserskärare går in i en ånga Punk Saloon?En fashionabla Steampunk designade Internet ansluten klocka med ESP8266 chip och Arduino IDE förstås!Här är ett projekt för kvällen eller...

Hur man gör en billig 16 MHz Arduino oscilloskop med hjälp av Excel och skärmen till Visa

Ofta kommer att en elektronik hobby designa och bygga något bara för att upptäcka att det inte beter sig som han eller hon tänkt. Ibland i dessa situationer är problemet relaterat till en elektrisk signal, men att saker rör sig med ljusets hastighet!...

RFM69 / Arduino Pro Mini med livlig diskussion med JeeLink

Jag har varit att utforska världens snabbt växande av billig, liten sändtagare. Dessa små enheter är mycket användbara för kommunikation mellan två noder som dator och passar fint i många projekt. Radioapparater omfattar ett brett spektrum av frekven...

Bygga en 1:1 skala Portal pistol med ljus

Inledning:Detta Instructable kommer detalj processen jag gick igenom samtidigt bygga min egen Aperture Science handdator av Portal [AKA den "Portal pistol"] från Valve-spel Portal & Portal 2. Om Portal pistolen är i fokus för detta bygga, pr...

ODROID U3 lampa servaren med Seafile Cloud

Vänligen rösta för detta Instructable och några av mina andra i avsnittet omröstning i det övre högra hörnet av sidan. Tack så mycket för att stödja våra projekt och jag hoppas de är bra.I en värld av mikrodatorer har historien varit starkt begränsad...

Atmega16/32 utveckling styrelsen med LCD

detta instructable visar, hur du gör din egen utveckling styrelsen för Atmega16 eller Atmega32 processorer. Internet är fullt av hemgjorda utveckling styrelser, men jag tror att det finns utrymme kvar för en annan. Denna styrelse har varit mycket anv...

En svävar sfär roterar lyser och blinkar med Arduino

En svävar lite Dödsstjärnan i Instructables bjöd in mig till det nya projektet med Arduino. Tre principer var beslutat och höll för att skilja den från föregångaren.Gör det själv med någon (eller mindre) färdiga.Hålla roterande.Göra glöd och blinka u...

DIY 2.1 bärbar högtalare med USB, AUX, TF, Bluetooth och fjärrkontroll

Hej killar, jag är en själv trodde DIY fan, jag älskar att göra småskaliga projekt, jag ville göra instructables här men hade inte en trevlig kamera att ta bilder av processen. Ja nu har jag köpt en trevlig kamera så är dags jag börja göra instructab...

Hur man installerar OS X Mavericks på din PC med Unibeast

du intresserad kör Mac OS X, men du vill inte betala löjliga priser för en normal Mac, då en Hackintosh (jag kommer att skriva en guide om hackintoshing) bara kan vara för dig. Just nu, den senaste iterationen av OS X är 10,9, känd som ensamvargar. I...