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
#1924934
Sollte der Arduino das nicht ohne Hilfe schaffen.
Einer schrieb: > Sollte der Arduino das nicht ohne Hilfe schaffen. Vieleicht. Aber ich habe keinen Denkansatz.
Gast
#1925060
Aktiver Gleichrichter Tiefpass Komparator. oder Zu Rechteck verstärken Pulslänge auswerten.
Gast
#1925193
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
#1925195
Sorry, "t" verschluckt. Hier ist ein Link: http://de.wikipedia.org/wiki/Goertzel-Algorithmus
Gast
#1938996
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.