Egal ob Hardare oder Software, das ist ein Zähler mit einem Überlauf der einenen Reset des Zählers verursacht (ihn zurück auf null setzt).
Kommt wirklich jeder Puls einzeln, ist das kein Problem.
In Software: Ist der Input ein zeitdiskreter Impuls, eine Zählschleife die bei jedem Signal um eins inkrementiert und einen Vergleich bei größer 3 hat.
In Software: Ist der Input eine Zahl, dann muß der aktuelle Zählerstand genommen werden und der Input aufaddiert werden.
Hiervon wird solange, rekursiv 4 subtrahiert, bis das Ergebniss kleiner 4 ist. Das Ergebniss wird dann zum neuen Zählerstand.
In Hardware: Bei einzelnen Impulsen ein CD 4017 mit dem fünften Ausgang (0 bis 3 gleich 4) auf dem Reseteingang und der Eingangsimpuls am Takteingang.
In Hardware: Bei einer Zahl als Input wird es etwas schwieriger, da es auf die Kodierung der Eingangszahl ankommt (Binär, BCD).
Bei einer Softwarelösung, wäre noch interessant welche Plattform (Microcontroller / Board) und welche Programmiersprache / Programmierumgebung genutzt wird. Da nur so konkrete Tips gegeben werden können die sich auf dem Zielsystem dann auch so implementieren lassen.
Lesezeichen