Forum » Elektrotehnika in elektronika » Pic mikrokontrolerji in računanje povprečja za vrednosti s senzorjev
Pic mikrokontrolerji in računanje povprečja za vrednosti s senzorjev
neoto ::
Zanima me (za tiste, ki se s tem ukvarjajo), na kakšen način računate povprečje podatkov prebranih iz senzorjev. Npr. imamo senzor za razdaljo, pri branju katerega se pojavljajo napake oz. odstopanja. Za uporabo teh vrednosti moram izračunat povprečje in me zdaj zanima, po kateri metodi to počnete vi:
1) povprečje zadnjih n-tih meritev
2) po formuli povprecje=(povprecje*n+nova_vrednost)/(n+1), pri kateri n določa "gladkost" krivulje
Men je veliko bolj zanimiva druga metoda, moti me edino to, da je nihče ne uporablja. Je neprimerna za uporabo, al kaj ?
1) povprečje zadnjih n-tih meritev
2) po formuli povprecje=(povprecje*n+nova_vrednost)/(n+1), pri kateri n določa "gladkost" krivulje
Men je veliko bolj zanimiva druga metoda, moti me edino to, da je nihče ne uporablja. Je neprimerna za uporabo, al kaj ?
Brane2 ::
Mogoče pa zato, ker je bolj računsko intenzivna, folku se pa ne da zaj* z množenjem in deljenjem na ubogem PICu ?
Sicer to ni nič takega, par ukazov in mikrosekund gor ali dol, če si jih lahko privoščiš in če se ti da pisat subrutine...
Sicer to ni nič takega, par ukazov in mikrosekund gor ali dol, če si jih lahko privoščiš in če se ti da pisat subrutine...
On the journey of life, I chose the psycho path.
Zgodovina sprememb…
- spremenil: Brane2 ()
neoto ::
Katera je računsko bolj zahtevna?? Če računaš povprečje 100-tih meritev, jih moraš najprej vse imet shranjene v ramu, pol jih moraš vse skup seštet in delit s 100. Ni to več računanja??
Brane2 ::
Že, amapk zato pa ne računaš povprečja 100tih ampak denimo 128tih meritev in namesto deljenja samo rezultat zašiftaš 7 bitov v desno...
On the journey of life, I chose the psycho path.
neoto ::
Nisem niti pomislil... Dobra fora
Ker drugače uporabljam c compiler za pic-e, se niti ne vbadam s tem, kako v assemblerju množit ali delit ...
Drugače pa še vedno menim, da več proc. časa traja da 128 številk sešteješ kot pa da opraviš operaciji množenja in deljenja... Ali se motim?
Ker drugače uporabljam c compiler za pic-e, se niti ne vbadam s tem, kako v assemblerju množit ali delit ...
Drugače pa še vedno menim, da več proc. časa traja da 128 številk sešteješ kot pa da opraviš operaciji množenja in deljenja... Ali se motim?
Brane2 ::
Ne motiš se. VEndar je podatke traba sešteti tako in tako, tu pa prišparaš lahko množenje.
Poleg tega seštevanje te ne boli nujno, tako kot množenje. Če moraš na podatke čakati, da denimo priklapljajo po serijskem linku, potem pred nadaljnjo obdelavo pač rutinsko opraviš še tistih nekaj ukazov, torej ti zanj ni treba izgublati časa s seštevanjem vseh zajetih podatkov naenkrat.
Pri množenju pa izgubiš lahko brdo ciklov naenkrat- sploh če nimaš hardverskega množilnika in če množiš malce daljše cire- recimo 32 bitne...
Poleg tega seštevanje te ne boli nujno, tako kot množenje. Če moraš na podatke čakati, da denimo priklapljajo po serijskem linku, potem pred nadaljnjo obdelavo pač rutinsko opraviš še tistih nekaj ukazov, torej ti zanj ni treba izgublati časa s seštevanjem vseh zajetih podatkov naenkrat.
Pri množenju pa izgubiš lahko brdo ciklov naenkrat- sploh če nimaš hardverskega množilnika in če množiš malce daljše cire- recimo 32 bitne...
On the journey of life, I chose the psycho path.
neoto ::
Potem pa je že problem z RAM-om. 32 bit * 128 bytov ...
Ali je kakšna druga metoda, pri kateri ni treba shranjevati prejšnje podatke v RAM-u?
Ali je kakšna druga metoda, pri kateri ni treba shranjevati prejšnje podatke v RAM-u?
int47 ::
Lahko jih sproti seštevaš. Na ta način imaš novo povprečja na vsakih n rezultatov.
Če hraniš rezultate v RAM-u lahko izračunaš novo povprečje za vsak rezultat .
Če hraniš rezultate v RAM-u lahko izračunaš novo povprečje za vsak rezultat .
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Deljenje in množenjeOddelek: Šola | 3980 (2832) | DeeJay |
» | Ideje kako racunati z vec decimalkami kot omogoca napravaOddelek: Programiranje | 3215 (2383) | blay44 |
» | Zna kdo razložiti kazalčne diagrame?Oddelek: Elektrotehnika in elektronika | 7248 (5509) | CaqKa |
» | Rusko množenje (strani: 1 2 )Oddelek: Znanost in tehnologija | 10812 (7936) | fireice |
» | 64 bitni procesor?Oddelek: Kaj kupiti | 2364 (1922) | Brane2 |