Integrator, zeitdiskret

Gast #1256889
Hallo zusammen,

ich möchte gerne ein Eingangssignal auf einem uC oder auch normalen 
Linux integrieren.

Geht dies wenn ich keine "Zeitinformation" habe, die mir die Zeit nach 
letztem Aufruf gibt?

Oder gibt es hier möglichkeiten dies herauszubekommen?

Beispiel wäre Eingangssignal = dezimal 5 ergibt nach einer Sekunde dann 
5, nach zwei 10 usw... Summieren kann ich, aber wie bekomme ich den Wert 
pro Zeiteinheit?


Vielen Dank, Peter
Gast
Hallo,

danke für die rasche Antwort,

aber time() unter Linux gibt ja die zeit in Sekunden an, soweit ich 
weiss= damit dürfte ich keine chance haben, die Zeit zwischen zwei 
Aufrufen des Integrators zu ermitteln, oder?

Gruss, Peter
Es gibt noch sowas wie microtime().
Da musst du nachsehen. Da sollte aber ein Highprecitiontimer laufen oder 
richtiges Realzeitbetriebsystem bzw. eine entsprechende Erweiterung. 
Weil sonst kannst du dir nicht sicher sein, dass auch zu jeder Sekunde 
der IRQ kommt sondern z.B. jede 1.1Sekunden und dann wieder 0.9. Das nur 
als Beispiel.
Gast
Super, Danke!

bin dann auch auf dieses gestossen:

struct timespec time1, time2;
clock_gettime( CLOCK_REALTIME, &time1 );
//Com_Init();
usleep(1000);
clock_gettime( CLOCK_REALTIME, &time2 );
printf( " A: time1: %d time2: %d, diff_sec: %d\n", time1.tv_sec, 
time2.tv_sec, time2.tv_sec-time1.tv_sec  );
printf( " A: time1: %d time2: %d, diff_nsec: %d\n", time1.tv_nsec, 
time2.tv_nsec, time2.tv_nsec-time1.tv_nsec  );
Gast
Naja. Indem man irregulaer distant gesampelte Werte integriert macht 
man's besser als gar nicht. Falls man zur Ermittlung des Intervalls 
allerdings
 Zeiten subtrahiert, verplempert man viel Rechenzeit. Ein Murks. Jeder 
ATTiny macht das besser.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.