1kHz (+-100hz) detektieren mit NE567 und Arduion leiten

OP (Firma: http://de8msh.blogspot.com/) Persönliche Seite #1924911
Lesenswert?

Hallo,

ich möchte gerne ein 1kHz Ton Signal mit dem NE567 detektieren und das 
Ergebnis an den Arduino Uno weitergeben. Sinn und zweck soll CW Decoder 
sein.

Leider finde ich im Netz keinerlei Info zu so einer Schaltung. Wie muss 
ich das Setup bemessen?

Ich danke Euch für eine Info.

73
Gast #1925193
Lesenswert?

Such mal nach "FFT" (Overkill wenn nur eine Frequenz erkannt werden 
soll)
oder nach "Goerzel"(-Algorithmus).
Der wird z.B. auch bei manchem DTMF-Dekoder verwendet (=>Suchen, alle 
Frequenzen bis auf eine aus dem Quelltext entfernen, auf 1kHz 
einstellen)
Gast #1938996
Lesenswert?

Hallo,

d.h. ich kann das relative leicht implementieren wenn ich

#define PI 3.14159265358979323844
// change the defines if you want to
#define SAMPLERATE 44100
#define BUFFERSIZE 8820
#define FREQUENCY 6000
#define NOISE 0.05
#define SIGNALVOLUME 0.8

setzte und diese Funktion

float goertzel(float *x, int N, float frequency, int samplerate) {
    float Skn, Skn1, Skn2;
    Skn = Skn1 = Skn2 = 0;

    for (int i=0; i<N; i++) {
    Skn2 = Skn1;
    Skn1 = Skn;
    Skn = 2*cos(2*PI*frequency/samplerate)*Skn1 - Skn2 + x[i];
    }

    float WNk = exp(-2*PI*frequency/samplerate); // this one ignores 
complex stuff
    //float WNk = exp(-2*j*PI*k/N);
    return (Skn - WNk*Skn1);
}

einbaue? Entnommen aus http://www.musicdsp.org/archive.php?classid=0#107

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren