Zustandgesteuerte Zeitwerte hochzählen?

Antworten
HMT
Beiträge: 4
Registriert: Sonntag 29. Mai 2011, 18:01

Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von HMT » Donnerstag 29. September 2011, 21:48

Hallo Profilab-Experten,

ich habe ein „Problemchen“ was ich bisher nicht lösen konnte, wahrscheinlich aber kein wirkliches Problem darstellt.
Ich möchte in meiner Schallpegelvisualisierung (funktioniert fast alles ganz gut) noch prozentuale Zeitanteile über drei Schallpegelbereiche darstellen. Also, wie viel Prozent der aktiven Zeit (von Wochenschaltuhr vorgegeben) unter 45dB, unter 50 dB und über 50dB waren. Mein Ansatz: Schallpegel auf Vergleicher, die über UND-Glieder mit einem Zeittakt getaktet werden und auf 3 Bereichszähler und einen Gesamtzähler wirken. Die Bereichszähler wollte ich im Bezug zum Gesamtzähler setzen, um die prozentualen Anteile zu bekommen und darzustellen.
Das ganz funktioniert aber nicht, da durch die Schallpegelschwankungen z. B. zwischen 44 dB und 46 und wieder zurück 2 zusätzliche Takte auf die Bereichszähler zählen. Es sind dann plötzlich auf den Bereichzähler mehr Takte wie der Taktgeber überhaupt ausgibt.
Das Projekt ist mit angehängt.
Wenn jemand eine Idee hat, wie man das lösen könnte, wäre ich sehr dankbar!

:?:
Dateianhänge
V1.6_Schallpegel 25.09.2011_HB628_NOK.prj
(18.27 KiB) 333-mal heruntergeladen

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von tmm » Freitag 30. September 2011, 05:53

Hallo,

dass das Rauschen um den Schwellwert Signale erzeugt ist ja klar. Es gibt mehrere Möglichkeiten dieses "Problem zu lösen.

- Mittelwertbildung einbauen (so "stark", dass das Rauschen damit glatt gebügelt wird)
- Tiefpass einbauen (nimmt dem verrauchten Signal die Spitzen weg (kann aber trotzden nicht wie gewünscht funktionieren)
- "Abtastrate" für deine Zähler erhöhen (du musst die Zählerpulse schneller kommen lassen als dein Signal rauscht - sonst bekommst du u. U. 2 oder mehr Pulse (vom verrauschten Signal) pro Takteinheit)
- Hysteresemodul einbauen (Schwellwert etwas größer als die Rauschsignalhöhe einstellen - wenn die Schwankungen z. B. +- 1,4 dB betragen, dann stellst du den Wert auf > 1,5 ein

Ich würde die zwei letzt genannten Punkte ausprobieren.

Gruß MM

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von abacom » Freitag 30. September 2011, 07:56

Eine Hysterese zu verwenden (auch Spiel genannt) scheint auch mir der richtige Weg.
siehe Komponente:
Bibliothek->Analoges->Sonstige->Spiel
ABACOM support

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von tom_g » Freitag 30. September 2011, 12:26

Hi HMT,

übereinstimmend mit tmm und Abacom:
hier eine Möglichkeit für die Auswertung von drei Schallpegeln wie in Deiner Aufgabe gestellt, ich benutze eine prozentual einstellbare Hysterese und Integratoren über die Teilereignisse und über die ganze Messdauer und rechne das Verhältnis.



Gruss Thomas

PS: ich habs nicht im Griff: die Voreinstellungen kommen nicht mit ?

Zu beachten:
*Hysterese-Bänder (bewirkt mittels den Toleranzen) dürfen keine Bandüberlappungen bewirken
*also lo = 45, mid = 50 und hi = 55 dB einstellen, Toleranzen 5%, dann sollte es klappen.
*aber Achtung: Die Bänder sind absolut gesehen nicht gleich breit durch Angabe der prozentualen (relativen) Bandbreite ! D.h. sie gewichten unterschiedlich ! -> versuche doch auch mal lo = 6%, mid = 5% und hi = 4% !
*Mit dem Reset beginnt ein neuer Auswerteintervall (hier nicht terminiert)
*Wenn schon ein Ereignis vor dem Reset ansteht, funktioniert die Auswertung manchmal nicht.

Diese Feinheiten überlasse ich Euch :-), was ich zeigen möchte, ist das Konzept.

Interessant kann auch der zeitliche Verlauf sein (Bpl. Auswertung Lärmpegel an einer Dorfstrasse, tageszeitlich aufgelöst), neu ist im angefügten Projekt realitätsnah eine HF-Rauschquelle mit random LF-Modulation des Rauschens: der Zeitverlauf sieht fast aus wie an der Börse...
Dateianhänge
ereignis_histogram_3.prj
(17.55 KiB) 317-mal heruntergeladen
Curiousity makes us progress !

HMT
Beiträge: 4
Registriert: Sonntag 29. Mai 2011, 18:01

Re: Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von HMT » Freitag 30. September 2011, 23:23

Vielen Dank, für eure Unterstüzung!

Da es recht variable und dynamische Schallpegelwerte (Aktualisierungsrate 125ms) sind, die recht oft die 3 Bereiche in beiden Richtungen wechseln, scheidet Mittelwertbildung aus. Da würde sicher die hohe 50 dB Zone deutlich zu Gunsten der 40dB und 45 dB „geschönt“. Insbesondere in hohen Zone sind es eher Spitzen und keine Konstantwerte die für längere Zeit anstehen.
Ich habe kein wirkliches „Rauschen“. Es sind tatsächliche dynamische Pegelschwankungen von bis zu +/- 40 dB die über alle 3 Bereiche gehen und die ich natürlich auf die Zeieinheiten akkumulieren möchte.

Die Vorschläge von Tom_g sind sehr interessant und scheinen mir hierfür gut brauchbar. Ich versuche deine Tipps bei mir um zu setzen.

P.S.: Ich habe bei mir mal die Taktung mit Frequenzgenerator deutlich gegenüber der Schallpegelaktualisierungen erhöht und es scheint so auch zu gehen. Muss nur noch %-Auswertung und die Zählerüberläufe integrieren.

Herzlichen Dank für die Hilfe an alle!

Grüße HMT

HMT
Beiträge: 4
Registriert: Sonntag 29. Mai 2011, 18:01

Re: Zustandgesteuerte Zeitwerte hochzählen?

Beitrag von HMT » Dienstag 4. Oktober 2011, 19:07

WoB hat geschrieben:Hi HMT,

der Gesamtzähler (CO4) ist immer ungleich der Summe der 3 Einzelzähler (CO1-CO3), wenn mehrere Zustandsänderungen innerhalb einer Messung stattfinden.
Dazu generell folgende Lösungsmöglichkeiten:
1. Messimpuls so kurz wie möglich halten (z.B. unsymmetrischen Taktgeber 0,005s an und 0,195s aus)
2. Gesamtzähler ignorieren, lieber Einzelzähler summieren und als 100% definieren,
dann bildet sich der Mittelwert automatisch, wenn man die Einzelzähler mit diesen 100% ins Verhältnis setzt
P.S. die Zählereingänge unbedingt invertieren, damit nur kurze positive Impulse zum Zählen genommen werden

Im Anhang dazu das abgeänderte Programm als Vorlage für weitere Optimierungen.
Der enthaltene Zufallsgenerator dient nur dem Test ohne Schallpegelmesser.

M.f.G. WoB
Hallo WoB,
Danke für deinen zusätzlichen Hinweis. Ich hatte in der Zwischenzeit auch den Gesamtzähler verworfen und stattdessen die Summe der 3 Bereichszähler als Bezug genommen. Mit einer kurzen Taktfrequenz von 50Hz hat das schon ganz gut funktioniert. Deine Idee mit dem unsymmetrischen Taktzähler finde ich noch besser, werde ich gerne übernehmen.
Danke für die Tipps!

Antworten

Zurück zu „Zählfunktionen, Zeitsteuerung und Programmablauf“