1 van 1

data met onregelmatige frequentie

Geplaatst: ma 31 mei 2021, 11:44
door wannesvier
Hallo,

ik heb een kWh meter die een puls geeft telkens er 0.1 Wh verbruikt is. Deze pulsen komen dus met een onregelmatige frequentie, van heel laag (bvb 1 puls per 2 seconden) tot hoog (bvb 1 puls per 40 ms).
Doel: de pulsen uitlezen, wegschrijven naar een database om de 5 minuten en 'vertalen' naar een regelmatige frekwentie. Ik wil bvb een grafiek met een X-as die de tijd weergeeft met 1 tick per 10 minuten en een Y-as die verbruik weergeeft.
Probleem:
Ik schrijf naar de database van bvb 10h40 tot 10h45
Er is een puls om 10h44 en de eerstvolgende puls komt om 10h48
Hoe kan ik dan omgaan met het deel van 10h44 tot 10h45?
En met het deel van 10h45 tot 10h48?
mvg
Wannes

Re: data met onregelmatige frequentie

Geplaatst: ma 31 mei 2021, 15:35
door Xilvo
Hoe vaak komen die pulsen en om de hoeveel tijd wil je een meetpunt hebben?
Je zegt eerst dat 1 puls per 2 seconden een heel lage frequentie is, maar even later geef je een voorbeeld waarbij er 4 minuten tussen twee pulsen zit.

Als je iedere 10 minuten een meetpunt wilt hebben en de pulsen komen om de paar seconde of (veel) vaker binnen, dan zou ik het aantal pulsen met 360 joule vermenigvuldigen en delen door de periode (10*60 s) om het gemiddelde vermogen in die periode te krijgen.

Re: data met onregelmatige frequentie

Geplaatst: ma 31 mei 2021, 15:38
door OOOVincentOOO
Zelf zou ik ieder tijdinterval het aantal pulsen tellen, dit aantal dan wegschrijven in database. Iedere seconde loggen krijg je een erg grote dbase.

Zo ben je zelfs onafhankelijk van de lengte tijdintervallen, je schrijft steeds het aantal pulsen weg tussen de laatste meting en de laatste metingstijd. De logging kan nooit precies 5 minuten zijn en met deze methode ben je volgens mij meer robuust.

Iedere keer als een nieuw interval start begin je met het tellen van het aantal pulsen. Het aantal pulsen in tijdinterval is het verbruik x0.1 Wh zoals jij definieert.

Natuurlijk kan je geen resolutie van 1 seconde uit de metingen halen uit de opgeslagen data. Verder kan ik geen goede doelstelling of methode uit jouw bericht halen.

11:48 --
11:52 5 pulsen
11:55 10 pulsen
12:00 10 pulsen
12:05 3 pulsen
12:07 2 pulsen
etc.

Re: data met onregelmatige frequentie

Geplaatst: ma 31 mei 2021, 23:06
door HansH
punt is dat je pulsen krijgt met onbpaalde tijd ertussen. Dus om die nauwkeurig te registeren zonder verlies aan informatie moet je het zodanig opslaan dat je weet hoeveel pulsen er in de tijd zaten dat die pulsen verzonden werden. dus kun je bv pulsen tellen en van de eerste en de laatste ook te tijd opslaan. Dan kun je gemiddeld vermogen berekenen over het aantal pulsen wat je als blok verstuurt zonder dat je info verliest over dat blok als geheel.

Re: data met onregelmatige frequentie

Geplaatst: di 01 jun 2021, 13:16
door irArjan
wannesvier schreef: ma 31 mei 2021, 11:44 Er is een puls om 10h44 en de eerstvolgende puls komt om 10h48
Hoe kan ik dan omgaan met het deel van 10h44 tot 10h45?
En met het deel van 10h45 tot 10h48?
Interpoleren? Lineair is het makkelijkst, maar je kan ook hogere orde gaan.

Stel je hebt een geregistreerde puls op de volgende tijdstippen (0 is starttijd):
0 4 6 7 11 15

Dan heb je intervallen van deze lengtes:
4 2 1 4 4

'Grafisch':
|----|--|-|----|----|

Dus het eerste interval gebruik je 100W in 4min = 25Wpm (per minuut dus, geen zin om het om te rekenen). Het twee de gebruik je 100W in 2min = 50Wpm, etc... dan krijg je een reeks van
25 50 100 25 25

Omdat dit gemiddelde vermogens per interval zijn, is denk ik het makkelijkst om dit te vertalen naar een geschat vermogen op de tijdstippen waar je een puls meet. Dat kan lineair of hogere orde. Maar lineair gaat het ongeveer zo:

tijdstip 0: hier moet je gewoon iets aannemen, je mist de data van hiervoor. Dus gewoon het eerste vermogen: 25Wpm.

tijdstip 1: Je gebruikt 25Wpm voor de eerste 4 minuten en 50Wpm voor de volgende 2 minuten. Je kan de vermogens middelen gewogen naar het halve interval, dus zo: (2min * 25Wpm + 1 *50Wpm) / 3min = 33.33 Wpm

tijdstip 2: wederom middelen gewogen naar halve interval: (1*50 + 0.5*100)/1.5 = 66.67 Wpm

etc...

Dan krijg je een reeks:
tijd [min] = 0 4 6 7 11 15
vermogen [Wpm] = 25 33.33 66.67 40 25 25

Deze reeks kan je interpoleren naar elke 2 minuten oid. Gewoon lineair geeft dit:
tijd [min] = 0 2 4 6 8 10 12 14
vermogen [Wpm] = 25.0 29.17 33.33 66.67 36.25 28.75 25.00 25.00

Zoiets...

Re: data met onregelmatige frequentie

Geplaatst: di 01 jun 2021, 13:21
door irArjan
Er zijn natuurlijk slimmere methodes met betere schattingen. Maar dit is zo ongeveer het simpelst.

Re: data met onregelmatige frequentie

Geplaatst: di 01 jun 2021, 14:56
door irArjan
Ok, ik denk toch weer te moeilijk. Je kan ook gewoon het vermogen op een interval toekennen aan de tijd halverwege dat interval. Dan heb je ook een reeks die je kan interpoleren naar elke tijd die je wilt.

Overigens, dat hoeft niet eens. Als je enige doel een x-y plot is met x tijd en y vermogen, dan hoeft dat helemaal geen data te zijn met een constante tijdsinterval.