II-PRT-HOME

  1. Einführung

  2. Systeme als Vorgänge in der Zeit; Jitter

  3. Was ist Zeit?

  4. Subjektiv und objektive Erlebnisse

  5. Subjektives Zeiterleben

  6. Zur Neurophysiologie des subjektives Zeiterleben

  7. Die Zeit der Natur

  8. Zeit messen

  9. Die internationale Basiseinheit für Zeit

  10. Wichtige Zeitskalen

  11. Zeiterzeugung im Computer

  12. Bsp: Zeit messen auf dem PC

  13. Testfragen


II-PRT PROZESSRECHNER SS04
VL2: Zeit, Zeitmessung, Uhren

    Achtung : Skript gibt den mündlichen Vortrag nur teilweise wieder !!!
                        

AUTHOR: Gerd Döben-Henisch
DATE OF FIRST GENERATION: September-16, 2003
DATE OF LAST CHANGE: April- 27, 2004
EMAIL: doeben_at_fb2.fh-frankfurt.de



1. Einführung


Nach den ersten Überlegungen, warum man überhaupt Realzeitsysteme benötigt und welche Besonderheiten diese mit sich bringen soll nun der Begriff der Zeit ein wenig weiter erläutert werden. Die Zeit ist fundamental für ein Realzeitsystem.


START



2. Systeme als Vorgänge in der Zeit; Jitter


Bei der Behandlung von Systemen ist es nicht unbedingt notwendig, den Aspekt der Zeit zu thematisieren. Lautet aber die Aufgabenstellung so, dass das Einhalten bestimmter zeitlicher Vorgänge für die Qualität des Systems kritisch ist, dann muss man den Aspekt der Zeit von vornherein in die Betrachtung mit einbeziehen. Der grundsätzliche Zusammenhang zwischen Systemen und Zeit ergibt sich folgendermassen (siehe Bild):



systemzeit

Systeme als Vorgänge in der Zeit



Theoretisch haben wir ein System S als Struktur mit Input-Output-Zuständen beschrieben, dessen Verhalten formal über die Systemfunktion F gesteuert wird. Von den Analysen her wissen wir, dass sich die Systemfunktion in der Regel in mehrere kleinere Funktionen f1(), ..., fs() zerlegen lässt. Solange wir uns im Bereich der formalen Modellierung aufhalten, gibt es 'Zeit' nur insoweit, als wir diese wiederum formal in die Systemmodellierung einbeziehen. 'Real' kommt Zeit dann ins Spiel, wenn man formale Systemmodelle auf konkreter Hardware in Form von ablauffähigen Programmen implementiert und diese Programme abarbeiten lässt. Reale Hardware (CPU, RAM, I/O-Controller usf.) benötigt immer 'reale Zeit' (Ausbreitung von elektrischen Ladungen in Leitern; Leitungslängen, Verzögerung in Bausteinen, verfügbare Taktzeiten, Synchronisation ...). Die Abarbeitung einer Teilfunktion fi() der Systemfunktion F ist in der realen Welt immer von einer 'realen Dauer' dfi, so dass die Summe aller Abarbeitungszeiten dF einer bestimmten endlichen Dauer entspricht, die sich auf eine reale Zeitmessung als ein Intervall auf der realen Zeitachse abbilden lässt. Ist die Abarbeitung einer Systemfunktion F als eine Schleife ('loop') angelegt, in der sich eine bestimmte Abfolge von Verarbeitungsschritten fi() für die Dauer der Systemtätigkeit wiederholt, dann entspricht die Gesamtheit dieser Abarbeitungsschritte leztlich auch einer endlichen Dauer mit einem entsprechenden Abschnitt auf der realen Zeitachse.

Der Output O eines Systems S als durch die Systemfunktion F bestimmte 'Antwort' auf einen bestimmten Input I erfolgt also niemals 'direkt', sondern immer verzögert um diejenige Dauer, die durch die Abarbeitung der zu F benötigten Abarbeitungsschritte. Sei t der Zeitpunkt eines bestimmten Inputs I und t' der Zeitpunkt einer zu I gehörigen Antwort O aufgrund der Systemfunktion Fs von System S, dann kann man sagen dass für die Antwortverzögerung gilt:

dFs = t' - t


Da Systeme sehr oft (meistens?) keine völlig identische Bedingungen für eine bestimmte Systemantwort haben, muss man im allgemeinen einen sogenannten 'Jitter' unterscheiden:

jitterS = max(dFs) - min(dFs)


Bei der Planung eines zeitkritischen Systemeinsatzes ist somit der Jitter immer zu berücksichtigen; er bildet eine untere Grenze für die Genauigkeit der Prognose.

Beispiele für zeitkritische Systeme mit Jitter:

An dieser Stelle muss man aber noch einen weiteren Faktor explizit in die Überlegungen einbeziehen, un das ist der Mensch selbst. Denn im Falle von Realzeitsystemen muss nicht nur das technische System als solches bestimmten Zeitvorgaben genügen, man muss auch sicherstellen, dass die menschlichen Benutzer des Systems im Rahmen der menschlichen Wahrnehmungs- und Verstehenskapazitäten 'im Normalfall' eine Chance hat, wichtige Anzeigen des Systems bewusst wahrnehmen bzw. gegebenenfalls auch bewusst reagieren zu können. Denn, so gut auch die technischen systeme sein mögen, wenn der menschliche Benutzer in einer Entscheidungskette versagt, kann das ganze System versagen!

(Beispiele: Fahrer im Auto: wenn die Anzeigen im auto zu schnell oder zu viele auf einmal erfolgen, können sie nicht mehr verarbeitet werden. Dies gilt verstärkt für den Piloten eines Flugzeuges; die Fülle der Daten ist hoch und sie sind aufgrund der Flugsituation oft komplexer als im Auto. Ein Händler an einem Terminal eines Finanzplatzes kann heute in der Regel nicht mehr alle Daten verarbeiten, die vom System angezeigt werden. Dies ist eine permanente Gefährdung ds angestrebten Gewinnziels.)


START



3. Was ist Zeit?


Nach diesen Vorüberlegungen, die zeigen, dass der Faktor Zeit sowohl auf der technischen wie auf der menschlichen Seite eine Rolle spielt, sollen hier einige erste Überlegungen zum Begriff der Zeit selbst erfolgen.

Der Begriff Zeit besteht aus einem Worttoken 'Zeit' und seiner Bedeutung. Alltagssprachlich erschliesst sich die Bedeutung eines Begriffs aus der Art und Weise, wie wir den Begriff verwenden. In formalen Systemen werden Zeichenketten 'rein formal definiert'. Bei empirisch gedeuteten formalen Systemen wie im Falle der modernen Physik wird den formal definierten Zeichenketten über Messoperationen eine empirische Bedeutung zugeordnet. Diese Messoperationen versuchen vom Menschen als Faktor zu abstrahieren.

Insofern aber der Mensch Teil des Systems wird, das eine bestimmte Aufgabe lösen soll, kann man vom Menschen nicht abstrahieren, vielmehr muessen wir die Eigenart des Menschen in die Betrachtung einbeziehen. Im folgenden wird also zuerst dargelegt, wie das Zeiterleben des Menschen ist und relativ dazu werden die anderen Zeitbegriffe entwickelt.


START



4. Subjektiv und objektive Erlebnisse

In der Wissenschaft versucht man bei Messprozessen vom Faktor Mensch zu abstrahieren und beschränkt sich auf sogenannte objektive Daten, eben solche, deren Messung unabhängig vom subjektiven Erleben des Menschen sind. Bei dieser Betrachtungsweise vergisst man schnell, dass auch die sogenannten objektiven Daten aus Sicht eines Menschen notgedrungen subjektiv sind, d.h. die sogenannten 'objektiven' Daten sind eine echte Teilmenge der sogenannten subjektiven Erlebnisse eines Menschen (siehe Schaubild .....).

Diese Redeweise macht Sinn, wenn man sich klar macht, dass ein Mensch primär die Welt aus seiner persönlichen, individuellen Erlebnisperspektive wahrnimmt, erfährt. Die Menge der Erlebnisse, die diese Perspektive charakterisieren, nennen die Philosophen auch Phänomene; ein Phänomen ist einfach das, was man erleben kann.

Das erste, was Kinder lernen, ist, dass die Menge dieser Phänomene zerfällt in jene, die zu unserem Körper gehören und von anderen wahrgenommen werden können und jene, die irgendiwe in uns sind und die von anderen nicht wahrgenommen werden können. Die Gesamtheit der Phänomene, die 'in' uns 'drin' sind, nennen wir subjektive Phänomene und die anderen objektive.

Wie jeder lernt, ist es einfacher, sich mittels Sprache über objektive Phänomene zu verständigen als über subjektive. Über subjektive Phänomene kann man immer nur in Analogien sprechen und unter der Voraussetzung, dass 'der andere' 'irgendwie' ähnliche subjektive Erlebnisse (Phänomene)' hatte wie man selbst.

Es ist von daher nicht erstaunlich, dass die Wissenschaft versucht hat, ihre Aussagen über die Welt auf die objektiven Phänomene aufzubauen obwohl sie damit für lange Zeit den Faktor Mensch schlichtweg ausgeklammert hatte.


START



5. Subjektives Zeiterleben

Klammert man die subjektive Seite eines Menschen nicht aus --und im Falle von Realzeitsystemen kann man dies nicht!--, dann muss man sich etwas Klarheit darüber verschaffen, wie das Zeiterleben des Menschen beschaffen ist.

Wie schon zuvor bemerkt, besteht das methodische Problem beim Sprechen über subjektive Erlebnisse darin, dass man sie nicht direkt vorweisen kann. Die hier zuständige Disziplin, die Psychologie, behilft sich dann dadurch, dass sie versucht, die Aussagen von Versuchspersonen über ihre subjektiven Erlebnisse an standardisierte 'objektive' Situationen und Abläufe zu koppeln. D.h. in einem Experiment wird eine Situation hergestellt, in der die 'wichtigsten' Eigenschaften der Situation (Parameter oder Variablen genannt) objektiv beschrieben und kontrolliert werden. Eine Versuchsperson muss dann relativ zu diesen Parametern Aussagen über ihre subjektiven Erlebnisse in dieser so standardisierten Situation machen. Im Normalfall nimmt man dazu ausserdem nicht nur eine Versuchsperson, sondern mehrere. Wieviele genau, hängt dann im Idealfall von statistischen Berechnungen ab, wie gross die Anzahl der Probanden sein muss, um die geschätzten unvermeidlichen Messfehler 'zu überwinden'.

Die Untersuchung zum Zeiterleben von Kindern im 6.-8.Lebensjahr hat folgende Hinweise geliefert (nach [GRÜSSER 1989:83,90]):

  1. Die erlebte Zeit gliedert sich in Vergangenheit, Gegenwart und Zukunft

  2. Die Zeit hat eine Richtung, sie weist aus der Vergangenheit in die Zukunft

  3. Die Zeit lässt sich durch ein periodisches Ereignis messen und duch Zählen der Perioden in Längen angeben

  4. Die Menschen haben sich darauf geeinigt, Zeit in jeweils gleichen Messgrössen anzugeben: Sekunden, Minuten ... Jahre

  5. Die Zeit bringt Veränderungen, die nicht umkehrbar sind.

  6. Die subjektive Dauer der erlebten Zeit stimmt oft nicht mit der durch die Uhr gemessenen Zeit überein.

  7. Die Zeit zwischen zwei Wahrnehmungen

Fragt man die Psychologen, ob es analog den bekannten Sinnesmodalitäten (Sehen, Hören, Fühlen, Schmecken, Riechen, Lagewahrnehmung, Bewegungswahrnehmung des eigenen Körpers im Raum) auch einen eigenen Zeitsinn gibt, so wird dies verneint. Dennoch gilt, dass Menschen (siehe Tabelle oben) in der Lage sind, zeitliche Dauer und Ordnung von Sachverhalten wahrzunehmen. Dazu gehört auch die Wahrnehmung von Rhythmen und die Fähigkeit, Ordnungen und Abfolgen zu erinnern. Im Verein mit der Neurobiologie gilt heute die Arbeitshypothese, dass die Fähigkeit der Wahrnehmung dieser zeittypischen Eigenschaften auf einer transmodalen zentralnervösen Analyse der Daten der verschiedenen Sinnesorgane beruht (vgl. [GRÜSSER 1989:91]).

Für den Kontext der Realzeitsysteme ist nun speziell interessant, ob es irgendwelche quantitativen Angaben dazu gibt, wieviele Signale ein Mensch in einer bestimmten Zeit verarbeiten kann, d.h. in welchen Zeitintervallen er auf wieviele Signale mit wievielen Aktionen reagieren kann.

Untersuchungen zur zeitlichen Untescheidbarkeit von zwei Ereignissen E1 und E2 ergeben, dass die verschiedenen Sinnesmodalitäten unterschiedlich 'genau' unterscheiden; ausserdem können weitere Parameter, die das Ereignis bestimmen, die Unterscheidung beeinflussen (vg. [GRÜSSER 1989:91ff]).

(Die folgenden Werte sind nur erste Hinweise. Systematisch müsste man jetzt alle Sinnesmodalitäten einbeziehen und hier auch die Unterscheidung (homomodal, homotop), (homomodal, heterotop),(heteromodal, ---) berücksichtigen. Für die Zuknft geplant)

Modaliät

Mindestdauer für Unterscheidung

akustisch

> 80 ms

haptisch

> 160 ms

visuell

> 250 ms

olfaktorisch

> 1 s

Werden die Ereignisse in kürzeren Abständen dargeboten, sind sie für einen Menschen normalerweise nicht mehr unterscheidbar, obgleich sie in der realen Welt unterschiedlich sind.

Ein anderes Experiment projiziert ein weisses Dreieck so an die Wand, dass es in gleichmaessigen Abstaenden unterschiedlicher Frequenz unterbrochen wird.

Flimmerfrequenz

Ereignisse

< 4 Hz

Wechsel zwischen Dreieck u. Dunkelpause

> 6 Hz

Gestaltfusionsfrequenz überschritten

> 50 Hz

Flimmerfusionsfrequenz überschritten

Bei ener Flimmerfrequenz von F < 4 Hz taucht das weisse Dreieck kurz auf und verschwindet wieder. Bei F > 6 Hz sieht man das Dreieck kontinuierlich, aber seine Helligkeit schwankt. Gestaltfusion findet statt. Ab F > 50 Hz sieht man ein Dreieck konstanter Helligkeit. Jetzt findet auch Flimmerfusion statt (vgl. dazu [GRÜSSER 1989:96f]).

Bei Experimenten mit dem Lesen von Texten kann man feststellen, dass das Lesen aus einem Wechsel von sogenannten Saccaden (10 - 80 ms) (Folgen schneller, kleiner Bewegungen der Augen) abgewechselt werden von Fixationsperioden (150 - 600 ms). Die eigentliche Informationsaufnahme geschieht während der diskontinuierlichen Fixationsphasen. Der Lesende selbst nimmt aber keine Unterbechungen wahr. Die Schwierigkeit beim Verstehen von Texten wird durch Zunahme von sogenannten Rückwärtssaccaden angezeigt. Auch diese werden subjektiv nicht wahrgenommen. Es muss also Integrationsprozesse geben, die diese disruptiven Ereignisse sequentiell ordnen. Dazu kommt, dass die wortbedeutungen sich während des 'vorwärts Lesens' ändern können; dies führt zu Rückwärtskorrekturen. Dabei zeigt sich auch, dass ständig Erwartungen aus vergangene Erfarungen eine Rolle spielen.

In diesem Zusammenhang ist es wichtig, dass es nicht nur eine untere Grenze in der Wahrnehmung von getrennten Ereignissen gibt, sondern auch eine obere Grenze in der Wahrnehmung von zusammengehörigen Einheiten; bei Sprache liegt diese bei 20 s maximal (vgl. [GRÜSSER 1989:101]).

Ein weiterer wichtiger Aspekt ist die Reaktionszeit. Eine einfache Wahlreaktionszeit liegt vor, wenn auf n-viele Ereignisse mit genau einer Aktion geantwortet werden soll; eine Wahlreaktionszeit liegt entsprechend vor, wenn auf n-viele Reize mit m-vielen Aktionen geantwortet werden kann. Experimente zeigen, dass die Wahlreaktionszeit näherungsweise mit dem Logarithmus der Menge möglicher Signal-Reaktionspaare ansteigt. Reaktionszeiten sind abhängig von verschiedenen Faktoren, z.B. von der Modalität, von speziellen Reizeigenschaften, von dem Alter und mehr.

Ferner ist das Faktum der Asymetrie im Falle zeitlicher Ereignisse bemerkenswert. Während ein Mensch bei räumlichen Ereignissen in der Lage ist, das Ereignis auch zu erkennen, wenn s skaliert, rotiert oder gespiegelt wird, ist dies im Falle von zeitlichen Ereignissen nicht der Fall.

Eng damit zusammen hängt das Faktum der Anisotropie im Falle der Erinnerung von zeitlichen Ereignissen. Man kann zwar in der Erinnerung zu fast allen Ereignissen der Vergangenheit 'zurückspringen', will man sie aber in der 'ursprünglicen Reihenfolge' aufzählen, geht dies nur duch eine sequentielle Erinnerung in Zeitrichtung.


START



6. Zur Neurophysiologie des subjektives Zeiterleben

Die Wissenschaft der Psychologie ist methodisch darauf beschränkt, aus beobachbaren Verhaltensweisen (S-R-Daten) von Menschen und ihren Selbstaussagen (Ph-Daten) auf mögliche, dem Verhalten und dem Erleben zugrundeliegenden, Strukturen zu schliessen. Aufgrund der Komplexität des menschlichen Verhaltens und Erlebens ist man mit diesem Vorgehen sehr schnell an den Grenzen sinnvoller Modellbildung angelangt. Die vielfältigen Versuche, z.B. psychologische Modelle des menschlichen Gedächtnisses zu entwickeln, können dies sehr schön belegen.

Mit der modernen Gehirnforschung erschliesst sich nun mehr und mehr die Möglichkeit, die konkrete Strukturen (N.Daten) 'hinter' dem Verhalten und Erleben direkt in Augenschein zu nehmen. Allerdings bietet dies keinen 'Automatismus der Enthüllung', sondern das Verstehen der Komplexität der neuronalen Maschinerie stellt eine immense Herausforderung dar (Messen, Modellieren), die noch dadurch erschwert wird, dass die neuronalen Daten von sich aus noch nichts über das zugehörige Verhalten oder Erleben sagen. Den Zusammenhang zwischen neuronalen Daten und Verhaltens- bzw. Erlebnisdaten muss zusätzlich und explizit erarbeitet werden. Dies ist die Domäne der Neuropsychologie (S-N-R-Daten bzw. N-Ph-Daten oder gar S-N-Ph-R-Daten).

Da auch hier die Literatur geradezu uferlos ist, hier nurmehr ein paar grundlegende Stichworte (Für erste Überblicke siehe [J.DUDEL, R.MENZEL, R.F.SCHMIDT [1996]], [M.S.GAZZANIGA [1995]], [Robert D. KNIGHT, Marcia GRABOWECKY [1995]], [Bryan KOLB, Ian Q.WHISLAW [1993]], [R.F.SCHMIDT, G.THEWS[1995]], [G.M. SHEPHERD [1994]])

Für den vorliegenden Zusammenhang wichtig ist zunächst der grundlegenden Tatbestand, dass die Informationsverarbeitung im Gehirn in und zwischen den Neuronen über chemische und elektrische Prozesse vermittelt wird, die Zeit benötigen. Je mehr Neuronen involviert sind, um so mehr Zeit wird benötigt. Dabei kann man eine grosse Variabilität in der Arbeitsgeschwindigkeit feststellen. Die obere Grenze der Reizerzeugungskapazität liegt zwischen ca. 20 und ca. 800 Impulsen pro Sekunde [Hz].

Diese Prozesse ('Molekülwolken' der Transmitterausschüttung, 'Spontanaktionen' bei Rezeptoren, Spannweite bevor Auslösung des Aktionspotentials...) sind zudem lokal mit Ungenauigkeiten behaftet, die im Zeitbereich zu 'Jitter-Phänomenen' führen, die sich bei Nacheinanderschaltung kaskadieren.

Je komplexer die neuronalen Schaltungen sind, umso mehr kommen auch Rückkoppelungseffekte zum Tragen, die dazu führen, dass zeitlich kurze Reize (< 50ms) zu Erregungswirkungen führen können, die mehrere Sekunden andauern ('Nachwirkungen'). Dadurch können 'neuronal' Ereignisse als 'gleichzeitig' erscheinen, die physikalisch zu unterschiedlichen Zeitpunkten stattgefunden haben.

Allein diese wenigen Eigenschaften neuronaler Informationsverarbeitung lässt schon erahnen, dass die Besonderheit neuronaler Stukturen deutliche Grenzen bzgl. der Verarbeitung 'schneller' wie 'langsamer' bzw. auch 'komplexer' Ereignisse vorgibt.

Auf weitere Details der neuronalen Informationsverarbeitung muss hier verzichtet werden.


START



7. Die Zeit der Natur

Wenn zuvor herausgearbeitet worden ist, dass wir Menschen aus unserer Erlebnisperspektive die Welt in einer zeitlichen Struktur wahrnehmen, dann heisst dies noch nicht notwendigerweise, dass die Welt jenseits unserer subjektiven Wahrnehmung 'tatsächlich' auch eine zeitliche Struktur besitzt; zunächst kann man nicht ausschliessen, dass die 'reale' Welt möglicherweise keine Zeitstruktur besitzt.

Für die Konstruktion von Realzeitsystemen, die mehr oder weniger Teile der 'realen Welt' messen und steuern sollen kann es nicht natürlich nicht ganz egal sein, wie diese Frage beantwortet wird.

Da der Aspekt der Zeitlichkeit die Menschen schon seit Anbeginn beschäftigt, wird es nicht verwundern, wenn es zu diesem Thema eine sehr umfangreiche Literatur gibt. Für eine erste umfassende Einführung in das Thema sei verwiesen auf das Buch The Natural Philosophy of Time von [WHITROW 1980].

Im Telegrammstil sei hier nur auf einige der grossen Linien in der jahrtausendelangen Diskussion hingewiesen.

Grundsätzlich gibt es mindestens seit der griechischen Philosophie und Wissenschaft zwei unterschiedliche Strömungen: eine, die versuchte, bei der Beschreibung der Welt ganz auf den Faktor Zeit zu verzichten (so in den geometrisierenden Darstellungen eines Archimedes), andere, die meinten, man muss den Faktor Zeit einbeziehen (so durch Aristoteles, der sich dem Phänomen der Bewegung explizit stellte). Der Versuch, die Zeit zu eliminieren durch Rückzug auf das rein Räumliche hielt sich viele Jahrunderte durch.

Nimmt man 'irgendwie' den Faktor Zeit an, dann gibt es eine andere grosse Unterscheidung, nämlich die, ob die Zeit linear zu sehen ist oder zyklisch. Die frühen Zeitmodelle, die primär durch die Beobachtung zyklischer Naturphänomene geprägt waren, waren eher zyklisch; teilweise schon durch das Judentum, auf jeden Fall aber durch das Christentum, wurde eine lineare Auffassung der Zeit motiviert. Diese Diskussion dauert eigentlich bis heute an (siehe unten).

Eine andere wichtige Unterscheidung ist die in absolute und relative Zeit. Der bekannteste Initiator eines absoluten Zeitbegriffs war der Mathematiker und Physiker Newton. Sein erster prominentestes Widersacher war das Universalgenie Leibniz, der Zeit als relativ auffasste. Die relationale Auffassung der Zeit geht im Prinzip davon aus, dass Zeit nicht unabhängig von konkreten Ereignissen gemessen und gedacht werden kann.

Mit dem relationalen Zeitbegriff wären sowohl ein zyklisches wie ein lineares Modell kompatibel. Die Frage ist also, ob es in der Natur Hinweise gibt, die auf eine Gerichtetheit hinweisen.

Diese Frage war und ist eine der am intensivsten diskutierten Fragen in der Physik bis heute. In der Zusammenfassung von [WHITROW 1980:9-12] überwiegen die Argumente dafür, dass --zumindest innerhalb des bekannten Weltalls-- mehr für eine Gerichtetheit der Prozesse spricht als dagegen.

Was speziell die biologische Sphäre angeht, so ist allerdings auf das interessante Detail hinzuweisen, dass der Prozess der Weitergabe von genetischer Information als solcher prinzipiell umkehrbar ist; welche Varianten sich auch immer bilden mögen. Die Natur des Prozesses erlaubt nicht nur theoretisch eine 'Rückentwicklung', sie kommt auch empirisch vor. Dass wir historisch --also aufgrund der Artefakte-- den Eindruck einer gerichteten Entwicklung haben, liegt darin begründet, dass die in einnem bestimmten Zeitintervall gerade verfügbaren biologischen Systeme an ganz spezifische Umgebungsbedingungen gekoppelt waren, die nur bestimmten Systemen das Überleben ermöglichten. D.h. nur aufgrund der Interaktion mit einer bestimmten Umwelt entstand als Seiteneffekt eine Art Selektion. Die theoretisch mögliche 'Rückentwicklung' bestimmter biologischer Stukturen scheitert dann daran, dass die jeweiligen Umgebungen --zu denen dann auch die konkurrierenden anderen biologischen Systeme gehören--, ein Überleben schwer bis unmöglich machen. Falls man hier von einer 'Gerichtetheit' sprechen will, muss man einen sehr komplexen Begriff von Gerichtetheit anwenden.

Letztlich stellt sich auch die Frage, ob es in der Natur --selbst bei Annahme einer globalen Gerichtetheit-- natürliche rhytmische (zyklische) Prozesse gibt, die es erlauben, so etwas wie gleichmässige Abstände zu erzeugen, anhand deren sich ein Begriff wie der der Dauer objektiv bestimmen liese. Dies führt zum Thema Zeit messen.


START



8. Zeit messen

Um Zeit messen zu können, stellt sich als erstes auch die Frage, wie man Zeit symbolisch repräsentieren kann?

Visuell wird Zeit oft als ein gerichteter Pfeil dargestellt, auf dem man gleiche Wegstrecken abträgt und sagt, dass jeder Markierung ein 'Zeitpunkt' entsprechen soll. Doch wie ordnet man visuelle Pfeile realen Prozessen in der realen Welt zu?

Formal kann man Zeit als eine Struktur TIME darstellen mit den Forderungen:

TIME(x) gdw x = (T,<)

mit:

  1. T ist eine Menge von Zeitpunkten


  2. < ist eine Relation für die gilt:



  3. (ORDNUNG DER ZEITPUNKTE)(A:t,t') (t,t' in T ==> t < t' or t = t' )


  4. (DICHTE DER ZEITPUNKTE)(A:t,t') (t,t' in T & t < t' ==> (E:d)( t < d < t' ) )


Unter Voraussetzung einer Zeit-Struktur kann man dann die Prädikate 'vorher', 'nachher' sowie 'zur gleichen Zeit' definieren. Aber auch hier wieder die frage: wie kann man solche formalen Gebilde zu realen Prozessen in der realen Welt in Beziehung setzen?

Um diese Frage der Zuordnung von visuellen oder formalen Zeitrepräsentationen zu realen Zeitprozessen vornehmen zu können, benötigen wir einen realen Prozess in der realen Welt, mittels dem man das Konzept Zeit operationalisieren kann.

Technisch wird Zeit realisiert durch Uhren, die periodische Prozesse gleicher Länge erzeugen können und die in der Lage sind, das 'Auftreten eines solchen periodischen Ereignisses i' zu 'erkennen' und mittels eines Zählers zu zählen und anzuzeigen. Dies kann auf vielfältige Weise technisch realisiert werden. Das Auftreten eines solchen periodischen Ereignisses i einer Uhr u soll microtick von u genannt werden, geschrieben iu. Die Häufigkeit der microticks einer Uhr u pro Zeiteinheit t ist die Frequenz von u, geschrieben fu. Das Gegenstück zur Frequenz fu ist die Granularität 1/fu = gu. Die Granularität gibt die kürzeste Zeitdauer an, die mit einer Uhr u dargestellt werden kann.

Aus praktischer Sicht interessiert die Menge der Zeitpunkte vor allem deswegen, weil man bestimmten Ereignissen Zeitpunkte ('timestamps') zuordnen möchte, um dadurch sagen zu können, dass 'etwas' 'zum Zeitpunkt t' 'stattgefunden' hat.

Eine solche Zuordnung von Zeitpunkten aus einer Zeitstruktur x zu 'etwas' stellt eine Abbildung dar:

timing: E ---> Tx

wobei 'E' hier für eine beliebige Menge von benennbaren Grössen stehen soll.

t = timing(e)

würde also besagen, dass die messbare Grösse e relativ zu den Zeitpunkten ('timestamps') der Zeitstruktur x mit dem Zeitpunkt ('timestamp') t korreliert.

Würde man auf diese Weise z.B. folgende Zuordnungen vornehmen:

  1. t1 = timing(e1)


  2. t2 = timing(e2)


  3. t2 = timing(e3)


  4. t1 < t2


dann könnte man aufgrund der zugeordneten Zeitpunkte sagen, dass Grösse e1 zeitlich vor den beiden Grössen e2 und e3 aufgetreten ist und die Grössen e2 und e3 sind zeitgleich (simultan) aufgetreten. Aufgrund solch eines zeitlichen Verhältnisses könnte man vermuten, ob zwischen dem Auftreten von Grösse e1 und den zeitlich späteren Grössen e2 und e3 möglicherweise eine kausale Beziehung besteht. Solche Überlegungen wären aber nur dann sinnvoll, wenn die zuvor vorgenommen zeitlichen Zuordnungen 'genau genug' sind. Wäre die zeitliche Zuordnung nicht genau genug, dann könnte es möglicherweise sein, dass die Grössen e2 oder e3 eventuell 'in Wirklichkeit' vor der Grösse e1 aufgetreten sind.

Das Thema der Genauigkeit von zeitlichen Zuordnungen und das Verhältnis zwischen verschiedenen Uhren soll Gegenstand einer weiteren Vorlesung sein. Hier soll nur noch angesprochen werden, welches denn nun die verbindliche Einheit für eine technische Zeitmessung ist.


START



9. Die internationale Basiseinheit für Zeit


Wie zuvor schon herausgearbeitet worden ist, benötigt man zur technischen Erzeugungvon regelmässigen Zeitpunkten eine Uhr u mit einer bestimmten Granularität g = 1/fu. Um aber bei verschiedenen Uhren zu einheitlichen Aussagen bzgl. der Zuordnung eines bestimmten vergleichbaren Zeitpunktes zu kommen, benötigt man eine Referenzuhr und eine Referenzzeitdauer, um jede beliebige Uhr in Beziehung zu dieser Referenzuhr setzen zu können.

Weltweit zuständig für den gültigen Zeitstandard und dessen Messung ist das Bureau International des Poids et Mesures (BIPM), das im Park de Saint-Cloud von Sèvres liegt, einem Vorort süd-westlich von Paris. Das BIPM beschreibt seine Aufgabe wie folgt:

The task of the BIPM is to ensure world-wide uniformity of measurements and their traceability to the International System of Units (SI).

It does this with the authority of the Convention of the Metre, a diplomatic treaty between fifty-one nations, and it operates through a series of Consultative Committees, whose members are the national metrology laboratories of the Member States of the Convention, and through its own laboratory work.

The BIPM carries out measurement-related research. It takes part in, and organizes, international comparisons of national measurement standards, and it carries out calibrations for Member States.

Die Existenz des BIPM geht zurück auf eine lange historische Entwicklung, deren Inhalt die immer klarere Herausarbeitung der heute benutzten internationalen Standards zur Bescheibung physikalischer Grössen ist. Hier eine kurze Geschichte der Entwicklung der internationalen Standards aus der Sicht des BIPM:

Wichtig ist, dass das internatinale System der Standards kein statisches System ist, sondern sich entsprechend den technischen Bedürfnissen dynamisch weiterentwickelt.

Die aktuelle Tafel der Basiseinheit nach der Darstellung des BIPM lautet wie folgt:

SI base units

Quantity

Unit

 

Definition

Length

metre

m

The metre is the length of the path travelled by light in vacuum during a time interval of 1/299 792 458 of a second.

Mass

kilogram

kg

The kilogram is the unit of mass; it is equal to the mass of the international prototype of the kilogram.

Time

second

s

The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom.

Electric current

ampere

A

The ampere is that constant current which, if maintained in two straight parallel conductors of infinite length, of negligible circular cross-section, and placed 1 metre apart in vacuum, would produce between these conductors a force equal to 2 × 10-7 newton per metre of length.

Thermodynamic temperature

kelvin

K

The kelvin, unit of thermodynamic temperature, is the fraction 1/273.16 of the thermodynamic temperature of the triple point of water.

Amount of substance

mole

mol

The mole is the amount of substance of a system which contains as many elementary entities as there are atoms in 0.012 kilogram of carbon 12.
When the mole is used, the elementary entities must be specified and may be atoms, molecules, ions, electrons, other particles, or specified groups of such particles.

Luminous intensity

candela

cd

The candela is the luminous intensity, in a given direction, of a source that emits monochromatic radiation of frequency 540 × 1012 hertz and that has a radiant intensity in that direction of 1/683 watt per steradian.


Damit ist nun klar, dass die internationale Masseinheit für die Zeit die Sekunde ist und dass die Referenzuhr für die Messung einer Sekunde eine Uhr ist, die auf periodischen Prozessen im Cäsium-Atom beruht, d.h.

Frequenz einer Cäsium-basierten Atomuhr: fcs = 9.192.631.770 pro sec

Granularität einer Cäsium-basierten Atomuhr: gcs = 1/9.192.631.770 sec

Eine gute prinzipielle Beschreibung einer Cäsium-basierten Atomuhr" findet sich auf der Seite von Herget:

"Atomic clocks work on the following principle: Atoms occur in different energy states one of which is identified by the symbol (+) and one by the symbol (-). The transition of an atom from the (+) to the (-) state can be stimulated and is connected with the emission of electromagnetic radiation of a characteristic frequency. In the case of the caesium atom, this frequency, fcs has a value of 9.192.631.770 Hz, corresponding to an oscillation period of (1 / 9.192.631.770) seconds. According to the laws of atomic physics, fcs is equal to the energy difference between the (+) and (-) states divided by the Planck constant h. For the caesium atom in particular, the constancy in time of fcs much better than that of, for example, the oscillation period of a pendulum, the oscillation frequency of a quartz or the rotation period of the earth."

"Caesium atoms are evaporated in the vacuum chamber of an atomic clock. The magnet arranged behind the oven separates the atoms such that only atoms in the (+) state enter the cavity resonator. Here exposure to a microwave field stimulates the atoms to pass into the (-) state. The second magnet then directs to the detector only these atoms. The number of atoms at the collector reaches a maximum when the frequency of the irradiation field has the value fcs. A feedback circuit ensures that the microwave oscillator Q is kept at the frequency fcs. By the counting of 9.192.631.770 periods, the time interval of one second is obtained from the oscillator signal."


Diagram of an atomic clockDiagram of an atomic clock:
O atomic bem ovenQ microwave oscillator
M sorting magnetA detector
H cavity resonatorR servo control circuit

Horizontal section through the CS2 primary time and frequency standard of the PTB
Horizontal section through the CS2 primary time and frequency standard of the PTB
O caesium beam ovenS sorting magnets
V vacuum recipientM mu-metal shields
H cavity resonatorW beam reversal manipulator
C coil to generate a homogeneous magnatic field (C-field)A detector


START



10. Wichtige Zeitskalen


Selbst wenn man jetzt mit der Einheit 'sec' einen einheitlichen Standard für die Messung der Zeit hat, reicht dies alleine noch nicht aus, um Zeit weltweit einheitlich zu messen. Das Schweizerische Bundesamtes für Metrologie und Akkreditierung (METAS) gibt einen guten Überblick über die wichtigsten Zeitskalen , die international benutzt werden:

Definition der gebräuchlichsten Zeitskalen


  • UT0
    Astronomische Weltzeit. Als Zeiteinheit von UT0 dient die mittlere Dauer eines Sonnentages, wie sie im Observatorium von Greenwich (nullter Längengrad) gemessen wird.

  • UT1

    Bestimmt man UT0 an verschiedenen Orten auf der Erde, so stellt man Unterschiede fest, die durch Bewegungen der Erd-Rotationsachse hervorgerufen werden. Wird UT0 um diese Effekte korrigiert, so erhält man UT1.

  • TAI

    Internationale Atomzeitskala: TAI basiert auf der atomaren Definition der Sekunde und wird vom Bureau International des Poids et Mesures aus den Daten von ca. 250 Cäsium-Uhren aus ca. 45 über die ganze Welt verteilten Zeitlaboratorien erarbeitet und verteilt.

    Koordinierte Universalzeit: Die Zeitskala UTC basiert wie TAI, auf der atomar definierten Sekunde und ist mit der astronomischen Zeitskala UT1 aber über folgende Beziehung verknüpft.

    UTC = TAI - n • Sekunde (n ganzzahlig) (1)
    |UTC - UT1| < 0.9 s (2)

    Die Zahl n kann positiv, negativ oder null sein. Da die zwei Zeitskalen UTC und UT1 auf ganz verschiedenen Definitionen beruhen, bleibt ihre Differenz nicht konstant. UTC muss daher so gesteuert werden, dass die Bedingung (2) immer erfüllt wird. Um dies zu erreichen, wird von Zeit zu Zeit entweder eine Sekunde eingeschaltet oder weggelassen, d.h. n ändert in Schritten von ±1. Der "International Earth Rotation Service" (IERS) überwacht die Evolution von UTC - UT1 und entscheidet, wann UTC um eine Sekunde korrigiert wird.

    An folgenden Daten wurde die Differenz zwischen UTC und TAI angepasst. Nimmt n zu, so wurde eine Sekunde eingeschaltet, d.h. die letzte Minute des Vortages war um eine Sekunde länger. Nimmt n ab, so wurde eine Sekunde ausgeschaltet.

    Datum n Datum n Accuracy of timing through history
    1. Jan 1972
    1. Juli 1972
    1. Jan 1973
    1. Jan 1974
    1. Jan 1975
    1. Jan 1976
    1. Jan 1977
    1. Jan 1978
    1. Jan 1979
    1. Jan 1980
    1. Jan 1981
    1. Juli 1982
    1. Juli 1983
    1. Juli 1985
    1. Jan 1988
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    1. Jan 1990
    1. Jan 1991
    1. Juli 1992
    1. Juli 1993
    1. Jan 1994
    1. Jan 1996
    1. Juli 1997
    1. Jan 1999
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32

    Weiterführende Literatur:

    B. Decaux and B. Guinot
    La mesure du temps
    Reihe Que Sais-je, 97, 1969

    M. Grandveaud
    Echelles de temps atomiques
    Monographies du Bureau National de Métrologie, 11, Editions Chiron, 1986.

    National Bureau of Standards
    Time and Frequency: Theory and Fundamentals
    NBS Monograph 140, U.S. Government Priniting Office, Washington D.C., 1974.


START



11. Hardware-Zeit: Timer

(Für die nachfolgende Darstellung zur Realisierung von Zeit durch Timer sei auch verwiesen auf die Darstellung von [Klaus Wüst 2003:194ff], der wir hier weitgehend folgen.)

Was auch immer ein Realzeitsystem tun soll, es wird operationale Zeit in unterschiedlichsten Formen benötigen. Diese wird heute in der Regel mittels Timer-Chips realisiert, die so verschaltet werden, dass man unterschiedlichste Anforderungen damit erfüllen kann. Das nachfolgende Diagramm gibt dazu ein Beispiel:



timer

Vielseitige Timerschaltung



Diese Schaltung lässt folgende grundsätzliche Schaltungseinstellungen erkennen:

  1. Bei konstanter Vorspannung durch +UB zählt ein Zähler einzelne Impulse.


  2. Nur bei Vorliegen einer bestimmten Torspannung zählt ein Zähler einzelne Impulse


  3. Bei konstanter Vorspannung durch +UB zählt ein Zähler die Impulse eines Oszillators.


  4. Nur bei Vorliegen einer bestimmten Torspannung zählt ein Zähler die Impulse eines Oszillators.


  5. Zusätzlich kann in allen vier Fällen der Zählvorgang durch einen Teiler modifiziert werden.


  6. Ein Zähler kann aufwärts oder abwärts laufen.


  7. Beim Zählerüberlauf kann ein Zähler aus einem Register mit einem bestimmten Wert geladen werden.


  8. Beim Zählerüberlauf kann ein Zähler einen Interrupt auslösen und/oder einen Pegelwechsel an einem Anschluss.


  9. Die abfrage eines Zählers kann mittels capture erfolgen oder mittels compare. Im Falle von capture wird der Inhalt des Zählerregisters gelesen, ohne dass der Zähler angehalten wird; im Falle von compare wird der Inhalt des Zählerregisters mit einem anderen Wert verglichen. Falls ungleich läuft der Zähler weiter, falls gleich wird ein Interrupt oder ein Pegelwechsel ausgelöst.


Bei einem Zähler mit N-Bit Breite, einem Startwert S und einer Inkrementzeit Ti beträgt die Zeitdauer TO zwischen zwei Überläufen:

TO = (2N - S) * Ti

Bei einem Systemtakt von z.B. 1 MHz würde ein Takt 1/1 MHz = 1*10-6sec = 1 Mikrosekunde dauern.

Mit diesem Arrangement lassen sich unterschiedlichste Aufgaben lösen. Einige seien hier kurz genannt:

  1. Weglänge, Dauer, Geschwindigkeit
    Bewegungen von mechanischen Teilen lassen sich z.B. durch Dehungssensoren erfassen, die pro Wegstrecke eine bestimmte Anzahl von Impulsen senden. Durch Zählen der Impulse mit einem Zähler Z1 kann man die zurückgelegte Wegstrecke berechnen. Benutzt man einen zweiten Zähler z2 für Zeiteinheiten, dann kann man mit Weg/Dauer die Durchschnittsgeschwindigkeit der Bewegung ermitteln.


  2. Impulsdifferenzen:
    In Erweiterung der Impulszählung kann man die Differenz zu unterschiedlichen Zeitpunkten bilden und somit Teilstrecken ermitteln.


  3. Impulsabstandsmessung:
    Sensoren kodieren häufig ihre Messwerte duch digitale Abstände. Um diese zu erfassen muss man den Capture-Wert eines Zählers sowohl bei der ersten aufsteigenden (oder fallenden) Flanke erfassen als auch bei der nächsten; die Differenz gibt den 'Abstand' zwischen zwei Impulsen an bzw. die Zeitdauer.



    impuls

    Impulsabstand messen




  4. Impulsfrequenzmessung:
    Hat man den Impulsabstand, dann hat man die Dauer zwischen zwei Impulsen. Daraus kann man dann als Kehrwert die Frequenz ermitteln.


  5. Impulslängenmessung:
    Misst man anstatt den aufsteigenden (bzw. fallenden) Flanken von zwei aufeinanderfolgenden Impulsen die aufsteigende und die absteigende Flanke eines Impulses, dann hat man seine Länge.


  6. Pulsweitenmodulation:
    Mit Hilfe der Capture-Methode kann man auch Impulse bestimmter Länge erzeugen. Man startet einen Impuls, wenn der erste Capture Wert erreicht ist, und man schaltet ihn wieder ab, wenn der zweite Capture-Wert erreicht wird. Einen ähnlichen Effekt (siehe Bild) kann man auch erzielen, wenn man mit einem bestimmten Reload-Wert einen Impuls einschaltet und ihn bei Overflow wieder ausschaltet.


  7. Zyklischer Interrupt:
    Umgekehrt kann man Pulsweiten ach zur Erzeugung zyklischer Interrupts benutzen. Immer dann, wenn der Zähler nach einem bestimmten Reload-Wert einen Überlauf erzeugt (festes Zeitintervall), dann wird z.B. ein Interrupt gesetzt.



    impuls2

    Festen Impulsabstand erzeugen (Bsp.1)





    impuls3

    Festen Impulsabstand erzeugen (Bsp.2)




Durch Kombination von mehreren Timereinheiten lassen sich noch weitere komplexere Schaltungen realisieren. Moderne Mikrokontroller besitzen 5 und mehr solche Einheiten, die frei konfigurierbar sind.

Diese Ausführungen zeigen, dass das Zeitverhalten eines Realzeitsystems maximal begrenzt ist durch seine Timer-Architektur. Wenn die kleinste realisierbare Einheit 1 Mikrosekunde ist, dann können Ereignisse mit kleineren Zeiteinheiten nicht behandelt werden. Wie die weiteren Überlegungen zeigen werden, ist aber das tatsächliche Zeitverhalten eines Systems durch zahlreiche weitere Randbewingungen zusätzlich eingeschränkt.


START



12. Bsp: Zeit messen auf dem PC

Die Darstellung der Zeitmessung im Rahmen von Realzeitsystemen kann aufgrund von noch zu vermittelnden Voraussetzungen erst an späterer Stelle geliefert werden. Dennoch sei hier schon mal eine Kostprobe von Zeitmessungen unter Nicht-Realzeitsystemen gegeben. Ich folge dabei der sehr aufschlussreichen Darstellung von Michael Riepe [Riepe 2004] ("Zeitmessung unter Unix/Linux und Windows. Sweetheart, what watch?"), der sehr schön aufzeigt, wie unbefriedigend die Situation der Zeitmessung bei 'normalen' Betriebssystemen ist.

Hier sei nur auf Linux und die Sprache C/C++ eingegangen.

Die verschiedenen Zeitfunktionen befinden sich für die Sprache C in der Headerdatei time.h. Unter SuSe-Linux 8.2 finden sic dazu die folgenden Fundstellen:

./usr/include/sys/time.h
./usr/include/bits/time.h
./usr/include/linux/time.h
./usr/include/time.h  

Massgebend für C (nach ISO C99 Standard: 7.23) ist die Datei time.h. Innerhalb von C hat man aber nur eine Genauigkeit von 1 sec. Will man mit einer groesseren Genauigkeit messen, dann muss man auf die Systemfunktionen von Linux zurückgreifen und dort dann z.B. die Struktur

struct timeval {
	time_t		tv_sec;		/* seconds */
	suseconds_t	tv_usec;	/* microseconds */
};

aus der Datei linux/time.h benutzen. Diese bietet eine Genauigkeit von Mikrosekunden. Eine Funktion, die den Zugriff auf diese Struktur erlaubt, ist die Funktion

extern int gettimeofday (struct timeval *__restrict __tv,
			 __timezone_ptr_t __tz) __THROW;  

Aus der Datei sys/time.h.

Mit diesen Funktionen kann man ein erstes einfaches Testprogramm schreiben, das Zahlen ausgibt, auf die der Benutzer mit Buchstaben reagieren muss. Die Zeit zwischen den Ereignissen wird durch eine Zufallsfunktion variiert.


/****************************
 *
 * ii-prt-ex1-reactiontest2.c
 *
 * author: g.doeben-henisch
 * first: april-14,2004
 * last: april-19,2004
 *
 * idea: testprogram to enable a user to test his reactions
 *       with 1...24 choices and 1...50 repetitions
 *
 * compile: gcc -o reaction2 ii-prt-ex1-reactiontest2.c
 * usage: ./reaction2 SEED DELAY
 *
 ********************************************/

#include <stdio.h>
#include <sys/time.h>   /* For the timer function gettimeofday() */
#include <stdlib.h>     /* For the random number generator */

struct data{

  int BOOL;
  double rtime;

};

int
main(int argc, char *argv[]){

  struct timeval start, stop;
  double d;
  const int MAX_REPETITION = 50;
  const int MAX_CHOICES = 26;

  int N;                /* Number of repetitions */
  int C;                /* Number of choices */
  int i;                /* Counter for actual Loop */
  long int x,delay;           /* Delay variable */
  char c, input;
  double mean;

  struct data rtimes[MAX_REPETITION];  /* For to store the measured reaction times in sec */

  /*------------------------------------------------------------------
   * Values for random number generator
   *-----------------------------------------------------------------------*/

long int  j;
 long int seed;
 float  upper, upper2;
 int r;  

 /* UERBERNAHME DER ARGUMENTE AUS DER KOMMANDOZEILE */

 seed=atol(argv[1]);
 delay=atol(argv[2]);
 upper=10000;

 /* AUSWAHL EINER ZUFALLSZAHLENFOLGE DURCH SEED */

  srand((unsigned) seed);

  /* ERZEUGEN VON MAX_RUN-VIELEN ZUFALLSZAHLEN */
  /* Da rand() eine Zahl zwischen 1 und RAND_MAX liefert, muss diese Zahl
   * auf den gewuenschten Bereich umgerechnet werden. Die 'Numerical Recipes in C'
   * empfehlen die untenstehende Formel: */


  /*********************************************
   * Getting a base value for using the function gettimeofday()
   *******************************************************************/

  gettimeofday(&start,NULL);
  do{
     gettimeofday(&stop,NULL);
  }
  while(start.tv_usec == stop.tv_usec &&
	start.tv_sec - stop.tv_sec);

 d = (double)stop.tv_sec - (double)start.tv_sec;


 d += ((double)stop.tv_usec - (double)start.tv_usec)/1000000;

 printf("Time Jitter : %g \n",d);

 /********************************************************************
  * Asking for number of repetitions (N)
  *******************************************************************/

 printf("REAKTIONSTEST_________________________________\n");
 printf("Bitte Eingabe bzgl. Anzahl der Wiederholungen \n ");
 printf("(Max.Anzahl Wiederholungen = %d \n", MAX_REPETITION);

 scanf("%d",&N);
 if(N > MAX_REPETITION){ N =  MAX_REPETITION;}

 printf("N = %d \n",N);

 /********************************************************************
  * Asking for number of choices (C)
  *******************************************************************/

 printf("REAKTIONSTEST_________________________________\n");
 printf("Bitte Eingabe bzgl. Anzahl der Alternativen: ");
 printf("(Max.Anzahl Alternativen = %d \n", MAX_CHOICES);

 scanf("%d",&C);
 if(C > MAX_CHOICES){ C =  MAX_CHOICES;}
 upper2 = (float)C+1;  

 printf("C = %d \n",C);

 /*****************************************************
  * Describing the test
  *********************************************************/

 printf("You will see a number between 1 and somewhere below 27 \n");
 printf("You have to convert the numberinto a letter between A ... Z \n");
 printf("1 -> A, 2 -> B, ..., 26 -> Z \n");

 /********************************************************************
  * Beginning main loop of test
  *******************************************************************/

 for(i=0;i<N; i++){

   /*------------------------------------------------------
    * Making the time between different events randomly short/long
    *-----------------------------------------------------------------*/

    r=1+(int)( upper*rand() /(RAND_MAX+1.0  ) );

    for(x=1;x<r*10000*delay; x++){}

   printf("Dies ist Test Nr. %d \n\n\n",i+1);

   /*----------------------------------------------------
    * Selecting an event
    *---------------------------------------------------*/

  r=1+(int)( upper2*rand() /(RAND_MAX+1.0  ) );

  printf("----------->>>      %d \n\n\n\n\n\n\n", r);

  /*----------------------------------------------------
   * Receiving Input
   *------------------------------------------------*/


  gettimeofday(&start,NULL); /* Measuring time before input */
  input = fgetc(stdin);
  while( input == '\n' ){input=fgetc(stdin); }
  gettimeofday(&stop,NULL);  /* Measuring time after input */

 d = (double)stop.tv_sec - (double)start.tv_sec;
 d += ((double)stop.tv_usec - (double)start.tv_usec)/1000000;

  /*-----------------------------------------------------
   * Checking whether Input is true/false
   *------------------------------------------------------*/

  if( ((int)input-32) == r+64 ){ rtimes[i].BOOL=1; rtimes[i].rtime=d; }
  else { rtimes[i].BOOL=0; rtimes[i].rtime=d;}


 }/* End of for with N */

 mean =0;

  for(i=0;i<N; i++){
    printf("test %d = %d <---> %g \n",i+1,rtimes[i].BOOL, rtimes[i].rtime);
    mean +=  rtimes[i].rtime;
  }/* End of for with i */
  printf("-----------------------------------------------------------\n");
  printf("Durchschnittswert = %g \n",mean /= N);

exit(0);

}


START



13. Testfragen


  1. Warum brauchen Systeme für ihre Antworten auf bestimmte Eingaben Zeit?


  2. Was ist der Jitter eines Systems und wie ist er definiert?


  3. Geben Sie Beispiele von Systemen mit Jitter.


  4. Warum sind die zeitlichen Eigenschaften des menschlichen Verhaltens im Umgang mit Realzeitsystemen wichtig?


  5. Was unterscheidet subjektive und objektive Erlebnisse?


  6. Wie erleben Kinder im 6.-8. Lebensjahr die Zeit?


  7. Was wissen sie über die kritischen Mindestzeiten, die ein Mensch benötigt, um zwischen zwei physikalisch unterschiedlichen Ereignissen zu unterscheiden?


  8. Welche Erklärung haben Sie dafür, dass ein Mensch beim Lesen physikalisch mit sehr vielen isolierten Ereignissen konfrontiert ist, die aber subjektiv zu einer Einheit zusammengefügt werden?


  9. Worin unterscheidet sich eine einfache Reaktion von einer Wahlreaktion? Was wissen Sie über den Zeitbedarf von Wahlreaktionen?


  10. Worin liegen die Unterschiede zwischen der Wahrnehmung räumlicher und zeitlicher Strukturen?


  11. Was soll man sich unter der Anisotropie der zeitlichen Erinnerung vorstellen?


  12. Welche eigenschaften der neuronalen Informationsverarbeitung beeinflussen die Verarbeitung zeitlicher Ereignisse?


  13. Gibt es in der Natur Zeit?


  14. Was sagen ihnen die Begriffe 'absolute' Zeit, 'relative' Zeit, 'zyklische' Zeit, 'lineare' Zeit?


  15. Wie kann man Zeit messen?


  16. Was ist eine Uhr?


  17. Wie ist heute die Basiseinheit für Zeit definiert?


  18. Wofür benötigt man 'kleine' Zeiteinheiten?


  19. Was bedeuten UT0, UT1, TAI und UTC? Wie hängen sie untereinander zusammen?


  20. Wie gross ist die Zeitdauer zwischen zwei Zählerüberläufen bei einem Zähler mit N-Bit Breite, einem Startwert S und einer Inkrementzeit Ti?


  21. Wie kann man bei beweglichen mechanischen Teilen den zurückgelegten Weg, die Dauer der Bewegung und die Geschwindigkeit messen?


  22. Wie kann man den Abstand zwischen zwei Impulsen messen?


  23. Wie kann man die Länge eines Impulses messen?


  24. Wie kann man periodische Impulse erzeugen?


  25. Wie kann man Impulse mit einer bestimmten Impulslänge erzeugen?


  26. Mit welcher Genauigkeit kann man im Rahmen von C99 Zeit messen?


  27. Auf welche Weise kann man die Genauigkeit von Zeitmessungen im Rahmen von Nichtrealzeit-Betriebssystemen wie Windows, Linux und UNIX erhöhen?


  28. Was können Sie zur Zuverlässigkeit der Zeitmessung bei den zuletzt genannten Betriebssystemen sagen?



START