Forum: Mikrocontroller und Digitale Elektronik NF-Frequenz Auswertung / Vergleich (zerobeat)


von Heiko (Gast)


Lesenswert?

Hallo,

ich würde gerne ein NF Signal (Telegrafie-Signal vom Line-Out eines 
Funkgerätes) mit einem ATmega8/16 auswerten und die Abweichung von einer 
vorgegebenen Frequenz +/- auf einem LCD per Balken sichtbar machen, 
sodaß man den Transceiver einfach auf Schwebungsnull bringen kann.

Das Ganze sollte sich in einem Bereich von 200-1000Hz abspielen.

Da es kein sauberes Dauersignal ist, sondern nur kurze Tonimpulse, frage 
ich mich, wie ich die NF aufbereiten muß, damit der ATmega damit was 
sinnvolles anfangen kann?

Gruß, Heiko

von Bernie (Gast)


Lesenswert?

Wenn die kurzen "Tonimpulse" deutlich lauter, als die sonstigen 
Tonsignale aus dem Empfänger sind, brauchst du einen Komparator mit 
einstellbarer Hysterese (der liefert das Tonsignal als 
Rechteckschwingung, WENN es stark genug ist).

Legst du das Komparator-Ausgangssignal auf den INT0, oder INT1 vom 
ATmega, kann der mit der entsprechenden Software die Frequenz erfassen, 
vergleichen und die Differenz zur Anzeige bringen. Kommt kein Signal 
mehr, oder ein zu schwaches Signal, kann man die Anzeige ausblenden.

Ansonsten schau mal bei 
"http://elm-chan.org/works/akilcd/report_e.html";.
Oder suche beim GUGEL nach "Stimmgerät diy, Selbstbau, ..."

von Heiko (Gast)


Lesenswert?

Danke für die Tipps, ich werde mir das heute Nachmittag mal anschauen.

Die Tonsigale sind gut hörbar, aber nicht immer unbedingt deutlich 
lauter, es sind natürlich auch mal Störsignale /  Nachbarsignale links 
und rechts vom Nutzsignal vorhanden.

Vorallem muß die Auswertung praktisch in Echtzeit erfolgen, das können 
dann bei höheren Tempo schon mal 10 Impulse/Sek. sein.

Versuche mit den "üblichen" Frequenzzähler Beschaltungen schlugen 
komplett fehl.

Gruß, Heiko

von Ralph B. (rberres)


Lesenswert?

Je kleiner deine Abweichung zwischen Ist und Sollfrequenz, desto länger 
wird die Beobachtungszeit, um die Abweichung überhaupt feststellen zu 
können. Das solltest du auch bedenken.

Bei 10 Hz Abweichung must du mindestens 100 msek eher 200m sek die 
Signale beobachten, um eine Periodendauer zur Frequenzmessung 
feststellen zu können.
Vielleicht ist das ja der Grund, warum du mit deinen Frequenzzähler 
nicht zum Ziel gekommen bist.

von Ulrich (Gast)


Lesenswert?

Es gibt da 2 Möglichkeiten:
1) Aufbereiten der Nulldurchgänge und Messen der Zeiten zwischen den 
Nulldurchgängen. Als eine Art Reziprokzähler kann man da auch schon aus 
einer Periode die Frequenz bestimmen. Wegen der möglichen Störungen wäre 
es wohl besser mehrere Periode zu messen, und dann Ausreißer 
auszusortieren, z.B. über den Median.

2) Man nimmt das Signal per AD Wandler auf, und bestimmt die Frequenz 
mit der größten Amplitude rechnerisch, z.B. FFT. Dabei macht es auch 
nichts wenn über mehrere Pulse gemittelt wird. Die Aufgabe ist aber mit 
einem AVR schon anspruchsvoll. Mit dem Wissen um die ungefähre Frequenz 
und Amplitude kann man dann ggf. die Frequenz noch genauer bestimmen, in 
man für einzelne Pulse einen Sinus anpasst. Für den AVR ist dies aber 
nicht unbedingt in Echtzeit zu schaffen, aber schneller als man es vom 
LCD ablesen kann sollte noch gehen.

Der 2. Weg ist aufwendiger, aber weniger Empfindlich gegen 
Hintergrundgeräusche.

von Ralph B. (rberres)


Lesenswert?

Heiko schrieb:
> Vorallem muß die Auswertung praktisch in Echtzeit erfolgen, das können
>
> dann bei höheren Tempo schon mal 10 Impulse/Sek. sein.

Ulrich schrieb:
> ) Aufbereiten der Nulldurchgänge und Messen der Zeiten zwischen den
>
> Nulldurchgängen. Als eine Art Reziprokzähler kann man da auch schon aus
>
> einer Periode die Frequenz bestimmen.

Wenn er es wirklich schafft in einer Periode zuverlässig zu messen, dann 
kann er maximal ein Frequenzunterschied von 10Hz anzeigen.

Da er aber bei Beginn der Messung im ungünstigsten Fall 1 halbe Periode 
abwarten muss, bis er den nächsten Nulldurchgang erwischt, dauert es 
5msek länger.

Ralph Berres

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.