Soll jedoch auf Fehlermodelle und Hardware-Topologien eingegangen werden, muss mit anderen Ansätzen gearbeitet werden. Für derartige Probleme können Kalman-Filter (oder auch Kalman-Bucy-Stratonovich-Filter) verwendet werden. Benannt ist der Filter nach seinen Entdeckern Rudolf E. Kálmán, Richard S. Bucy und Ruslan L. Stratonovich, die das Verfahren unabhängig voneinander entdeckt beziehungsweise wesentliche Beiträge dazu geliefert haben. Der Kalman-Filter dient dazu, Fehler in realen Messwerten zu reduzieren und Schätzungen für nicht messbare Systemgrößen zu liefern. Voraussetzung dabei ist, dass die notwendigen Werte durch ein mathematisches Modell beschrieben werden können. Die Besonderheit des 1960 von Kálmán vorgestellten Filters [3] bildet dabei seine spezielle mathematische Struktur, die den Einsatz in Echtzeitsystemen verschiedener technischer Bereiche ermöglicht. Dazu zählt unter anderem der Einsatz in elektronischen Regelkreisen in Kommunikationssystemen. Im Rahmen der mathematischen Schätztheorie spricht man auch von einem bayesschen Minimum-Varianz-Schätzer für lineare stochastische Systeme in Zustandsraumdarstellung.
Der Kalman-Filter versucht, Fehlermodelle mit in die Schätzung für den eigentlichen Korrekturwert einzubringen. Hierzu ist es im ersten Ansatz notwendig, die Fehlerquellen innerhalb einer IEEE-1588-Realisierung abschätzen zu können.
Eine Fehlergröße bei IEEE-1588-Implementierungen ist die Stabilität des verwendeten internen Zählers. Der Takt, mit dem der Zähler inkrementiert wird, wird von einem Oszillator oder einer anderen Quelle abgeleitet. Bei den Intel Netzwerkchips I21x und I35x ist diese vom verwendeten Ethernet-Takt – also 125 MHz – abgeleitet.
Um einen Überblick über die Stabilität dieses Taktes zu bekommen, wurden im TSEP-Labor Messungen vorgenommen (siehe Bild 2). Es wurden mehrere Rechnerboards und PC-Einsteckkarten mit den entsprechenden Netzwerkchips vermessen. Hierzu wurde die interne Uhr auf den Netzwerkchips mit einer konstanten Anpassung über mehrere Stunden betrieben. Als Messgröße wurde ein pps-Signal (Pulse per Second) auf dem GPIO des Intel-Netzwerkchips programmiert und mit einem entsprechenden Oszilloskop nachgemessen. Als Zeitreferenz wurde eine Omicron Grandmaster Clock verwendet.
Bild 3 zeigt die Differenz der Periodendauer des pps-Signals. Dem Diagramm kann man entnehmen, dass sich der Fehler des Taktes bei circa ±2 µs um die Mittellage bewegt. Basierend auf der 125-MHz-Taktung der Uhr ergibt sich ein Fehler pro Taktung/Inkrement der Uhr von:
Diese Fehlergröße konnte auch bei anderen Intel-21x-Netzwerkkarten oder Embedded-Computern mit Intel I21x nachgemessen werden.
Ein weiterer Punkt ist die Temperaturstabilität der internen Uhr der Intel-I21x-Chips. Hierzu wurde die Umgebungstemperatur des Netzwerkchips variiert. In Bild 4 und Bild 5 sind die Fehler bei den Ecktemperaturen für den Chip dargestellt. Aus den Diagrammen kann man sehen, dass die Fehlerverteilung deutlich anders ist. Bei erhöhter Temperatur tritt der Fehler auch erkennbar häufiger auf.