Forum: Mikrocontroller und Digitale Elektronik 1kHz (+-100hz) detektieren mit NE567 und Arduion leiten


von SWL D. (Firma: http://de8msh.blogspot.com/) (de8msh) Benutzerseite


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

von Einer (Gast)


Lesenswert?

Sollte der Arduino das nicht ohne Hilfe schaffen.

von SWL D. (Firma: http://de8msh.blogspot.com/) (de8msh) Benutzerseite


Lesenswert?

Einer schrieb:
> Sollte der Arduino das nicht ohne Hilfe schaffen.

Vieleicht. Aber ich habe keinen Denkansatz.

von Einer (Gast)


Lesenswert?

Aktiver Gleichrichter Tiefpass Komparator.
oder
Zu Rechteck verstärken Pulslänge auswerten.

von Aldinator (Gast)


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)

von Aldinator (Gast)


Lesenswert?

Sorry, "t" verschluckt.
Hier ist ein Link:
http://de.wikipedia.org/wiki/Goertzel-Algorithmus

von de8msh (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.