Forum: Mikrocontroller und Digitale Elektronik Einfacher Filter: Nur Pulse einer gewissen Zeit dürfen weiter? OOK


von Andreas H. (horn)


Lesenswert?

moien,

so, ich habe nun an meinen 433 mhz sendern und empfängern schon gut 
rumgespielt und ich mag funk! :)

aber nun würde ich gerne einen ganz stumpfen filter bauen, der bei 
meinen OOK signalen ein wenig was macht.
ich kriege halt oft auf dem datenausgabepin so 8-100 mikrosekunden lange 
blips rein. ist halt schon klar, wenn andere geräte aus der 
nachbarschaft da auch senden und das die reste sind, die bei mir 
reinstrahlen.
da würde ich nun gerne was vorschalten, dass diese ganz kurzen blips 
halt einfach irgendwo gestoppt werden.
ich kenne mich da leider nicht so aus, aber würde da nicht ein einfacher 
kondensator da schon reichen? oder wie müsste ich da was genau 
dazwischen schalten, dass halt erst pulse einer gewissen länger 
weitergereicht werden dürfen.

danke sehr :).

Andreas

von holger (Gast)


Lesenswert?

>ich kriege halt oft auf dem datenausgabepin so 8-100 mikrosekunden lange
>blips rein. ist halt schon klar, wenn andere geräte aus der
>nachbarschaft da auch senden und das die reste sind, die bei mir
>reinstrahlen.
>da würde ich nun gerne was vorschalten, dass diese ganz kurzen blips
>halt einfach irgendwo gestoppt werden.

Kannste knicken. Das kann man in Software lösen.
Taste dein Signal in bestimmten Zeitabständen mit Hilfe
eines Timers ab. Was zwischen den Abtastungen passiert
ist dann egal. Was du also auf keinen Fall tun solltest ist
deine Signale mit while(high) oder while(low) oder externen
Interrupts zu vermessen.

von Pink S. (pinkshell)


Lesenswert?

Eine fehlende Info ist: Wie lange dauern denn deine regulären 
(erwünschten) Pulse?

Ein Kondensator (mit Vorwiderstand) ist ein Tiefpass und kann schnelle 
Pulse abschwächen, diese Lösung ist in Digitalschaltkreisen jedoch 
"Pfusch".

Mit dem Timer 555 oder einem µC wäre eine Pulsweitenunterscheidung 
möglich.

Vorher sollte dir klar sein:
- dass auch deine guten Pulse dadurch verzögert werden
- was passiert, wenn Störpulse schnell aufeinander folgen

von Andreas H. (horn)


Lesenswert?

moien,

ich müsste für meinen anwendungsfall mit ca 30 MHz abtasten, also 
effktiv. das heisst ja dann, dass ich mehrere takte für die analyse bei 
jedem diese takte machen müsste. da würde ich vll bei so 100 MHz 
abtasten und analysieren brauchen. also mein arduino wird das nicht 
können ;).
daher würde ich das lieber per spezieller schaltung machen.
aber bin über alles was überhaupt geht dankbar!

grüße, Andreas

von Mike (Gast)


Lesenswert?

Andreas Hornig schrieb:
> ich müsste für meinen anwendungsfall mit ca 30 MHz abtasten, also
> effktiv.

Dein Empfänger liefert am Ausgang eine Bandbreite nahezu 15MHz ???

von Peter D. (peda)


Lesenswert?

Andreas Hornig schrieb:
> ich kriege halt oft auf dem datenausgabepin so 8-100 mikrosekunden lange
> blips rein.

Andreas Hornig schrieb:
> ich müsste für meinen anwendungsfall mit ca 30 MHz abtasten

100µs sind 10kHz, wie kommst Du dann auf 30MHz?

Störungen kann man nur filtern, wenn sie sich in irgendwas eindeutig vom 
Nutzsignal unterscheiden.

Was ist "OOK", was sind "blips"?

von Andreas H. (horn)


Lesenswert?

moien,

Peter Dannegger schrieb:
> 100µs sind 10kHz, wie kommst Du dann auf 30MHz?

weil ich da noch was anderes mit machen will/muss, was mit 30MHz taktet 
und es auch öfter solche signldauern von kleiner 100micros gibt, nur 
halt seltener.

>
> Störungen kann man nur filtern, wenn sie sich in irgendwas eindeutig vom
> Nutzsignal unterscheiden.

mein nutzsignal ist deutlich länger 10ms, aber mich interessieren da die 
flanken vom signal selber.

>
> Was ist "OOK", was sind "blips"?

on-off-keying und blips ist mein wort für super kurze störsignale, die 
halt als bit erkannt werden, weil sie über den threshold kommen, aber zu 
kurz für ein echtes bit sind.

grüße, Andreas

von Maxx (Gast)


Lesenswert?

Andreas Hornig schrieb:
> weil sie über den threshold kommen, aber zu
> kurz für ein echtes bit sind.

1. Lowpass Filtern. (Kürzere Impulse = höhere Frequenz)
2. Sinnvoll sampeln.

von Peter D. (peda)


Lesenswert?

Dann wäre eigentlich die einfachste Lösung, von OOK auf FSK zu wechseln.
Man könnte aber auch direkt Manchester senden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas Hornig schrieb:
> blips ist mein wort für super kurze störsignale, die halt als
> bit erkannt werden, weil sie über den threshold kommen, aber zu
> kurz für ein echtes bit sind.
Kannst natürlich auch "Spikes" sagen, dann versteht der Rest der Welt 
das auch...

Wenn du einfach hinter deinem OOK noch eine klitzekleine 
Plausibilitätskontrolle anbringst (ich könnte jetzt mein Kürzel für 
Prüfsumme bringen: PS, oder das weltweit übliche nehmen: CRC), dann 
jucken dich solche "falschen" Bits überhaupt nicht.

> weil ich da noch was anderes mit machen will/muss, was mit 30MHz taktet
> und es auch öfter solche signldauern von kleiner 100micros gibt, nur
> halt seltener.
Wie jetzt? :-/

von holger (Gast)


Lesenswert?

>also mein arduino wird das nicht können ;)

>weil ich da noch was anderes mit machen will/muss, was mit 30MHz taktet

Das kann dein Arduino auch nicht.

So, was zum Teufel willst du da anschliessen?

von Luther B. (luther-blissett)


Lesenswert?

Kannst du nicht einfach per Input-Capture die Länge der Pulse messen und 
die kurzen einfach ignorieren?

Siehe Kapitel 18.8
in 
http://www.oreilly.de/catalog/arduinockbkger/Arduino_Kochbuch_englKap_18.pdf

Die Interruptroutine liefert dir dann einen schönen Array mit 1-Längen 
und 0-Längen ohne Spikes, den du dann gemütlich abarbeitest.

von Andreas H. (horn)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe mal meinen Empfänger an den Oszi gehängt. Es kommt alle 2 
Sekunden ein 50ms Signal. Das sieht man auch zwischen den Spikes.

Ein erster Tiefpassfilter ist auch schon drin, aber noch nicht perfekt. 
Als nächstes muss ich mal schauen, wie ich nun alles unter einem 
gewissen Wert einfach wegbügeln kann :).

Grüße, Andreas

von Marian (phiarc) Benutzerseite


Lesenswert?

Lothar Miller schrieb:
> Andreas Hornig schrieb:
>> blips ist mein wort für super kurze störsignale, die halt als
>> bit erkannt werden, weil sie über den threshold kommen, aber zu
>> kurz für ein echtes bit sind.
> Kannst natürlich auch "Spikes" sagen, dann versteht der Rest der Welt
> das auch...

Blip(s) ist eigentlich recht üblich im Funkbereich für kurze Signale.

von ich, nicht du (Gast)


Lesenswert?

schonmal mit einem schwellwert entscheider versucht?
sprich: du legst die schwelle für die biterkennung über die höchste 
spitze des rauschens (spikes/blips/was auch immer)

von Andreas H. (horn)


Lesenswert?

ich, nicht du schrieb:
> schonmal mit einem schwellwert entscheider versucht?
> sprich: du legst die schwelle für die biterkennung über die höchste
> spitze des rauschens (spikes/blips/was auch immer)

moien,

ich denke mir das schon, ja, aber ich weiss noch nicht, wie ich das 
genau mache! :)
was muss ich denn machen, dass der nur spizen über ein bestimmtes level 
weiterleitet?

grüße, Andreas

von Dietrich L. (dietrichl)


Lesenswert?

Andreas Hornig schrieb:
> was muss ich denn machen, dass der nur spizen über ein bestimmtes level
> weiterleitet?

Einen Komparator verwenden. Das Signal wird mit einer Schwelle 
verglichen. Ist das Signal größer, schaltet der Ausgang um.
http://www.mikrocontroller.net/articles/Komparator
http://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Der_Komparator

Gruß Dietrich

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.