Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frequenzzähler + digitales Filter mit pic10


von Leon (Gast)


Lesenswert?

Hallo zusammen,

ich möchte mit einem pic10 Controller Impulse zählen und anschließend
die Frequenz mit einem digitalen Filter filtern.
Hat jemand Erfahrungen damit?

Gibt es Programmbeispiele für digitale Filter mit dem pic10?
Besteht die Möglichkeit pic Programme mit dem pc zu simmulieren? Gibt
es einen Emulator?

Vielen Dank!!!!!!!!!
Leon

von Peter D. (peda)


Lesenswert?

Filter dienen dazu, aus einem Frequenzgemisch bestimmte Frequenzen zu
filtern. Dazu muß man aber die Signale analog abtasten.

Hast Du aber Impulse gezählt, ist alles schon vorbei, dann gibt es
nichts mehr zu filtern.


Peter

von Leon (Gast)


Lesenswert?

aber ich dachte man kann auch im digitalen Bereich filtern!!!
Es gibt doch digitale Filter...

von ingo (Gast)


Lesenswert?

Hi Leon,
natürlich gibt es digitale Filter!!! Aber ich denke mir, das Du die
Reihenfolge wohl etwas vertauscht!
Bevor man ein Signal vermisst (Anzahl der Impulse, Impulsbreite,
etc.p.p) filtert man die Störsignale heraus. Danach gelangt das Signal
an einen Prozessor.
So wie Du es im Moment beschreibst, hört es sich so an als wolltest Du
zuerst Auto fahren und dann in das Auto einsteigen!!

GRUSS
INGO

von Chris (Gast)


Lesenswert?

Hallo,

"ich möchte mit einem pic10 Controller Impulse zählen und
anschließend
die Frequenz mit einem digitalen Filter filtern."

Was willst Du eigentlich machen? Impulse Zählen? Dann erscheint als
Ergebnis eine bestimmte Anzahl bis in der nächsten Zählung von Null an
wieder gezählt wird. Oder Du zählst Impulse pro Zeitintervall. Als
Ergebnis erscheint beispielsweise 180 Pulse pro Sekunde. Was könnte man
an so einem Ergebnis Filtern, digital, analog, mittels einer
Rechenvorschrift auf dem Papier und mit Bleistift, in einem
Mikrocontroller mittels einem Programm??? Keine Ahnung, wie man an so
einem Wert etwas Filtern könnte. Geht wahrscheinlich beim besten Willen
nicht.

Oder willst Du einfach nur die Periodendauer Deiner Impulse messen ( Du
nennst es Impulse zählen) und daraus in einem Mikrocontroller die
Frequenz berechnen lassen (Du nennst es digitale Filterung)? Dann
müßtest Du einen reziproken Frequenzzähler aufbauen, was mit einem
Mikrocontroller leicht geht. Der Mikrocontroller mißt die Zeit zwischen
zwei Impulsen und berechent daraus jedesmal den Kehrwert und zeigt ihn
per Display beispielsweise an. Nach jeder Messung muß das Programm nur
Eins durch den Meßwert rechnen. Je nach geforderter Genauigkeit genügt
dafür eine 32-Bit Divisionsroutine.

Oder willst Du gleich die Frequenz messen? Das macht ein
Frequenzzähler. Der zählt, wieviele Impulse pro Zeiteinheit z.B. eine
Sekunde vorbei kommen.

Für die von mir genannten Vorschläge brauchtest Du Dich auch nicht in
die digitale Filterung einarbeiten :-)

Gruß

von Leon (Gast)


Lesenswert?

Es geht darum: auf einen Photostrom-Frequenzwandler fällt ein gepulstes
Lichtsignal (Licht an/aus) Tastverhältnis 1:1 mit der Frequenz von
10kHz.
Also 50us Licht AUS und 50us Licht AN.
Der Photostrom-Frequenzwandler liefert eine der Lichtleistung
proportionale Anzahl an Impulsen pro Zeiteinheit.

Es soll die Anzahl der Impusle während der AN Phase (50us) und der
Phase AUS (50us) gezählt werden und dann die Differenz davon geblidet
werden um Dunkelstrom und Fremdlicht zu kompensieren. Die nun innerhalb
von 100us gewonnene Impusanzahl entspricht der tatsächlichen
Lichtleistung.

Die entstehenden Frequenzen sollen nun mit einem Bandpass gefiltert
werden der nur Frequenzen von ca 10Hz bis 100kHz durchläßt um ganz
langsame und sehr schnelle Signaländerungen zu unterdrücken.

Das ganze soll ein Sensor werden der Änderungen der Lichtleistung, die
auf den Photostromfrequentzwandler trifft erkennt. Es soll erkannt
werden wenn sich während der AN Phase die Lichtleistung ändert.
Die Reaktionszeit nach der die Signaländerung erkannt wird sollte max.
1ms betragen.

Vielen Dank!!!

von Chris (Gast)


Lesenswert?

Ach so!

"Die entstehenden Frequenzen sollen nun mit einem Bandpass
gefiltert..."

Ein Bandpaß mit sooo großer Breite ist etwas ungünstig. Besser einen
Hochpaß mit Grenzfrequenz 10 Hz und einen nachgeschalteten Tiefpaß mit
Grenzfrequenz 100 kHz verwenden. Dimensionierung siehe "Aktiv Filter
Kochbuch"

Anstatt 10 Hz sind wohl 10 kHz gemeint?

Die Messung der Hell- und Dunkelphase müßte vermutlich synchron
erfolgen, damit eine sinnvolle Differenz gebildet werden kann. Also muß
das Meßgerät noch hell von Dunkelphasen unterscheiden können. Einfach
einen Zähler während der Hellphase vorwärts laufen lassen und    in der
Dunkelphase rückwärts laufen lassen. Beim Übergang von hell auf dunkel
wird auf Rückwärtsbetrieb geschaltet. Das ganze könnte man nur mit
CMOS-ICs (auf-Ab-Zähler, Schmitt-Trigger, 7-Segment-Treiber...) oder
mit µC lösen.

Nur interessehalber:
Wo und wofür wird ein Photostrom-Frequenzwandler üblicherweise
verwendet? Sowas ist mir bisher noch nicht begegnet. Ist das eine
Vakuumröhre oder ein Halbleiter?

Gruß

von Leon (Gast)


Angehängte Dateien:

Lesenswert?

Ja klar...der Bandpass ist schmäler!!!

Das Auf- und Abwärtszählen ist mit der Sendefrequenz (Licht an und aus)
synchron damit bei Licht an aufwärts und bei Licht auf abwärts gezählt
wird.

Das Zählen soll mit einem uC (nach Möglichkeit PIC10xxx) gemacht
werden.
Das Filter soll ebenfalls mit dem uC realisiert werden.
Gibt es da vielleicht Beispiele wie so ein Programm zum Zählen und
Filtern für den PIC aussehen könnte?

Der Photostrom Frequenzwandler ist ein Halbleiter und kann für alle
möglichen optischen Sensoranwendungen verwendet werden: TSL237 von TAOS
siehe Anhang

Danke Für die Tips!!!

von Peter D. (peda)


Lesenswert?

"Es soll die Anzahl der Impusle während der AN Phase (50us) und der
Phase AUS (50us) gezählt werden"

Du schaust Dir Datenblätter wohl nicht gerne an ?

Bei den Testbedingungen (21.8 mW/cm2) liefert der typisch 50kHz, das
sind dann bei 50µs Meßzeit gerademal 2 Impulse.
Und die Dunkelfrequenz ist typisch 0,1Hz, also nichts innerhalb 50µs.

Das ganze kannst Du Dir also voll abschminken mit nur 50µs.


Peter

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.