qt realtime plot

Alles rund um die Programmierung mit Qt
Antworten
Ozzy
Beiträge: 141
Registriert: 24. Oktober 2007 10:18

qt realtime plot

Beitrag von Ozzy »

Hi,

ich steige gerade relativ neu von der C Programmierung in Qt ein und probiere mich gerade an einem Datenplotter, der Daten (aufgezeichnete Daten) wieder in Echtzeit abspielen soll. Das ganze soll so aussehen, dass die Daten von links nach rechts geplottet werden und danach wieder von links anfangen (wie so ein EKG im Krankenhaus, nur als nach unten gefüllte Kurve). Die Updaterate liegt dabei bei ca. 50ms. Ich habe mich dafür mal ein wenig mit qwt beschäftigt, aber dabei ist mir aufgefallen, dass die Kurve häufig flackert, was bestimmt mit daran liegt, dass die komplette Kurve immer neu gezeichnet wird. Deshalb habe ich überlegt ob es aus Performance-Gründen nicht praktischer wäre, immer nur den aktuellen Wert als senkrechte Linie (Startpunkt=Baseline, Endpunkt: Messwert) oder vielleicht als Rechteck oder Polygon zu zeichnen.
Hat jemand von Euch so etwas schon einmal gemacht und kann vielleicht ein kleines Startbeispiel dafür posten?

Vielen Dank im Voraus!
trendyAndy
Beiträge: 54
Registriert: 27. März 2009 15:01

Re: qt realtime plot

Beitrag von trendyAndy »

Moin,

Ähm... der Titel deines Beitrags ist doch ein Beispiel das bei qwt dabei ist. Mit setBrush wird die Kurve zwischen der baseline und der Kurve gefüllt. Das die replotrate bei 50 ms liegen muß glaube ich nicht weil man das bestimmt nicht sehen kann. Wenn du dennoch so schnell die Werte auf das Plot ballern willst, dann das besagte qwt Beispiel verwenden. Dann flackert nix weil kein replot ausgelöst wird. Das cpuplot example wäre da auch interessant.
Die Beispiele die bei qwt dabei sind, sind Top! Da findet man fast alles.

Gruß
Ozzy
Beiträge: 141
Registriert: 24. Oktober 2007 10:18

Re: qt realtime plot

Beitrag von Ozzy »

Hi, danke für Deine Antwort! Also die 50ms ergeben sich dadurch, dass die Daten mit 200Hz aufgenommen werden, und eben auch mit der gleichen Frequenz wiedergeben werden soll.
Dann werde ich mir noch mal genauer die qwt Beispiele ansehen.
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Re: qt realtime plot

Beitrag von Uwe »

Ozzy hat geschrieben:Also die 50ms ergeben sich dadurch, dass die Daten mit 200Hz aufgenommen werden, und eben auch mit der gleichen Frequenz wiedergeben werden soll.
Der Zusammenhang ist keineswegs zwangsläufig - Sample Rate und Bildwiederholrate gleichzusetzen ist ein Grundfehler, den Du vermeidem solltest..

Schau Dir am besten die Beispiele cpuload + oscilloscope ( realtime mit Abstrichen ) an. Das oscilloscope Beispiel ist eher eine Demo und weniger geeignet um einen Einstieg in Qwt Programmierung zu bekommen - allerdings den Aspekt, wie Daten- und Bildwiederholrate entkoppelt werden, kannst Du da ganz gut sehen.

cu,
Uwe
Antworten