data met onregelmatige frequentie
Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
-
- Berichten: 3
data met onregelmatige frequentie
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
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
- Moderator
- Berichten: 9.967
Re: data met onregelmatige frequentie
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.
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.
- Berichten: 1.605
Re: data met onregelmatige frequentie
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.
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.
-
- Berichten: 3.927
Re: data met onregelmatige frequentie
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.
- Berichten: 342
Re: data met onregelmatige frequentie
Interpoleren? Lineair is het makkelijkst, maar je kan ook hogere orde gaan.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?
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...
- Berichten: 342
Re: data met onregelmatige frequentie
Er zijn natuurlijk slimmere methodes met betere schattingen. Maar dit is zo ongeveer het simpelst.
- Berichten: 342
Re: data met onregelmatige frequentie
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.
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.