Betrouwbare frequentie detectie met DSP technieken (2 / 7 stap)

Stap 2: autocorrelatie


De truc die we gebruiken om te bepalen van de frequentie van een lawaaierige signaal is bekend in de wiskundige wereld van digitale signaal Processing (DSP), en is gebaseerd op sommige vrij fancy wiskunde. Maar de techniek is niet moeilijk te begrijpen en beter nog het is super-eenvoudig te code. De kern van het is slechts 3 lijnen van code.

Wat we moeten doen is het wijzigen van het oorspronkelijke signaal in een ander dat wijst op de periodiciteit van het oorspronkelijke signaal. Dus als er inderdaad periodieke, dan is die zal opvallen in de nieuwe signaal en dan we kunnen meten dat op de gebruikelijke manier met behulp van piek-detect of nul kruising analyse.

Wat is het magische algoritme die dat doet?

Het is de autocorrelatiefunctie.

Stel dat uw signaal in een venster of de buffer wordt gegeven. Nu beeld u hebt een exacte kopie van dat venster of buffer met een vertraging.

Wat autocorrelatie doet is voor het meten van de correlatie (of gelijkenis) tussen het signaal en de vertraagde kopie telkens wanneer die de kopie wordt vertraagd door een bemonsteringsperiode.

Zie het diagram. Wanneer het signaal en de kopie hebben geen vertraging die ze zeer vergelijkbaar zijn (d.w.z. sterk gecorreleerd) zoals aangegeven in stap 1, en derhalve de autocorrelatie voor vertraging waarde = 0 maximum is.

Stap 2 laat zien dat wanneer de kopie wordt aanzienlijk vertraagd het niet op de oorspronkelijke in het overlappende gebied lijken. De waarde van de autocorrelatie voor deze vertraging is dus klein.

Stap 3 toont dat wanneer de kopie wordt vertraagd nog het signaal in het overlappende gebied zeer vergelijkbaar met het origineel is omdat het signaal periodiek is. De waarde van de autocorrelatie voor deze vertraging geeft daarom een piek.

We kunnen zien dat de afstand in tijd tussen de maximale piek aan het begin en de eerste piek daarna gelijk aan de fundamentele periode van de golfvorm zijn moet.

Nu dat we de frequentie van het signaal door autocorrelatie heb benadrukt moeten we alleen voor het uitvoeren van een piek-Detect voor het meten van de periode.

Technisch gezien is de "overeenkomst" of de correlatie tussen het signaal en de vertraagde kopie de som van het product van de twee signalen.

Voor het technisch minded alle details van de autocorrelatie kunnen hier worden gevonden: http://en.wikipedia.org/wiki/Autocorrelation

Gerelateerde Artikelen

Frequentie-Detector met behulp van PIC 12F683 Processor

Frequentie-Detector met behulp van PIC 12F683 Processor

dit project beschrijving van hardware en software die ik heb ontwikkeld waarmee een kleine 8 bit PIC microprocessor te functioneren als een enkele frequentie-detector of Toon-decoder.Een dergelijke circuit kan worden gebruikt voor het detecteren van
Arduino frequentie detectie

Arduino frequentie detectie

Als een vervolg op de Arduino Audio Input tutorial die ik vorige week gepost, schreef ik een schets die analyseert een signaal binnenkomt de analoge ingang van de Arduino en bepaalt de frequentie. De code maakt gebruik van een sampling rate van 38.5k
Sinusgolf frequentie meting met behulp van pic-microcontroller

Sinusgolf frequentie meting met behulp van pic-microcontroller

Sinusgolf frequentie meting project is ontworpen met behulp van pic microcontroller. Dit project meet de frequentie van de sinus. Nul kruising detectie-techniek wordt gebruikt voor het meten van de frequentie van sinus. Nul kruising detectie met behu
Lage frequentie audioversterker met behulp van de LM386

Lage frequentie audioversterker met behulp van de LM386

De geïntegreerde LM386-chip is een energiebesparende audiofrequentie versterker vereisen een lage niveau voeding. Het IC is ontworpen om een versterking van de spanning van 20 zonder externe add-on delen. Maar de winst van deze spanning kan worden ve
Power systeem frequentie bepaling met behulp van Arduino

Power systeem frequentie bepaling met behulp van Arduino

InleidingNetstroom wordt over het algemeen verdeeld op 50 of 60 Hz.This project is gericht op "Bereken de frequentie van levende ac power systeem met behulp van Arduino" kit en kleine transformator ckt setup. Dit project is gebouwd door ons team
Afstand meten en obstakel detectie met behulp van NXP 89v51rd2fn en ultrasone sensor HC-SR04.

Afstand meten en obstakel detectie met behulp van NXP 89v51rd2fn en ultrasone sensor HC-SR04.

Iedereen maakt gebruik van arduino uno of mega om projecten te maken zoals ze makkelijk te gebruiken zijn en de code voor de arduino gemakkelijk beschikbaar zijn op de arduino forums is en niemand atmel, philips of andere microcontroller gebruik te m
IPhone frequentie Generator met Power Supply

IPhone frequentie Generator met Power Supply

de frequentie Generator met Power Supply is een wijziging van de Laser Communicator-project. Dit apparaat staat DC huidige aan pulse bij de gewenste frequentie instellen door de frequentie generator software. De frequentie generator software kan ook
Arduino frequentie synthesizer met behulp van 160MHz Si5351

Arduino frequentie synthesizer met behulp van 160MHz Si5351

Dit Instructable beschrijft de bouw en werking van een zelfstandige frequentie synthesizer geschikt voor gebruik als een signaalgenerator, of voor gebruik als de lokale oscillator in een amateur band zender of ontvanger.Mijn prototype was gebouwd op
Hoge frequentie functiegenerator met de Maxim MAX038

Hoge frequentie functiegenerator met de Maxim MAX038

We hadden behoefte aan een functiegenerator in PCBheaven en in plaats van het kopen van een die hebben we besloten om één van kras te bouwen. Het hele idee is gevestigd in maxim's MAX038 chip. Deze chip is vrij duur, maar heeft vele mogelijkheden. He
Frequentie meten met LabVIEW

Frequentie meten met LabVIEW

Deze video wordt beschreven hoe voor het meten van de frequentie van het geluid met behulp van de ingebouwde microfoon op een MacBook Pro en de software LabVIEW. Dit programma kan worden gebruikt om af te stemmen op een muziekinstrument. In dit voorb
Alcohol detectie met behulp van Linkit One

Alcohol detectie met behulp van Linkit One

Een breathalyzer is een apparaat voor het schatten van bloedalcoholgehalte (BAC) uit een monster van de adem. Adem analyzers meten niet direct bloedalcoholgehalte of concentratie, waarvoor de analyse van een bloedmonster. In plaats daarvan, ze schatt
Bewegings detectie met behulp van Raspberry Pi

Bewegings detectie met behulp van Raspberry Pi

hier ben ik het uitleggen van een eenvoudige beweging detectie project. Platform gebruikt is de raspberry pi. Beweging wordt gedetecteerd met behulp van de bibliotheken van de simplecv in python.Wat is SimpleCV?SimpleCV is een open source framework v
KLEUR detectie met behulp van MATLAB

KLEUR detectie met behulp van MATLAB

In dit artikel ga ik om aan te tonen hoe te detecteren van kleur met behulp van MATLABStap 1: GUI elementen gebruikt:1. assen2. twee drukknoppen3. tekst bewerkenKleurenafbeeldingen• Een kleurenmodel is een methode voor het opgeven van de kleuren in e
Kamertemperatuur detectie met Galileo Gen 2 en Grove Kit

Kamertemperatuur detectie met Galileo Gen 2 en Grove Kit

Ik zal u tonen hoe te zetten van een interactieve kamertemperatuur project met LCD RBG en temperatuur sensor met behulp van Intel Galileo en grove kit.Stap 1: Download de Arduino IDE voor Intel Galileo en de temperatuur sensor code.Stap 2: Open de co