Odstranění šumu a rušení – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odstranění šumu a rušení – Mikrokontroléry – Fórum – Programujte.comOdstranění šumu a rušení – Mikrokontroléry – Fórum – Programujte.com

 

12. 8. 2021   #1
-
0
-

Ahoj,

potřebuji udělat digitální filtr signálu, ukázka signálu z ADC (fialově) a očekávaného výstupu filtru (černá) je na obrázku. Průměrování posldeních n vzorků má bohužel velké spoždění na výstupu. Jak na mikrokontroléru udělám "spojnici trendu"? Při hledání jsem narazil na pojem polynomická regrese. Připojen obrázek.

ATMEGA328P, jedna hodnota za 2 sekundy.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
13. 8. 2021   #2
-
0
-

Máš na výběr mnoho možností ... ty hledáš polynomickou regresi

https://cs.wikipedia.org/wiki/Polynomick%C3%A1_regrese

jde o to, že nepíšeš základní charakteristiky signálu .. ten tvuj signál je sinusovka ??? náhodný signál ? jiný signál ??? je zarušený ? znáš charakteristiku rušení ???  v jakým jazyce ??? v céčku ? python ? matlab ? jiný ?

a nestačí ti výpočet trendu pomocí plovoucího průměru ???

https://towardsdatascience.com/time-series-analysis-in-python-an-introduction-70d5a5b1d52a

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
JerryM0
Věrný člen
13. 8. 2021   #3
-
0
-

Polynomialni regrese:

https://uloz.to/file/7QS83hlxtRB8/polynomialni-regrese-pdf#!ZJV0AQR2ZwMuLmyyAQNkLwH3Lwt4LGuPHaD0pHIyqGuFq2V4Lj==

počítej že ti to zabere tak měsíc práce ...

ale soou lidi co to ani po roce programování nedaj dohromady

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
JerryM0
Věrný člen
13. 8. 2021   #4
-
0
-

 ATMEGA328 ? programovat polynomialni regresi na  ATMEGA328 ? odvážný krok ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
13. 8. 2021   #5
-
0
-

Když píšu signál, myslím obecný signál. O jeho tvaru nebo periodě nebyla zmínka proto, že nemá tvar jako sinus, trojúhelník, pila ... a není nijak periodický. Je to nějaká fyzikální veličina měnící se v reálném čase, je jedno jestli tlak vzduchu nebo teplota v peci. Charakteristika rušení a šumu není jak určit. Koneckonců nevybavuji si, že by u čidla s digitálním výstupem byly uvedeny informace o šumu a jeho charakteru. Plovoucí průměr jsem psal, že nevyhovuje. Narazil jsem na bakalářské práce, které tvrdili, že to jde. Realizaci jsem neviděl, nemám jak ověřit. V jakém jazyce? Potřebuji algoritmus. Proto to není v diskuzi ke konkrétnímu programovacímu jazyku.

180 řádků v Basicu? Sčítání, odčítání, násobení, dělení a druhá mocnina? To by ATMEGA328P na 16MHz mohla za 2 s stihnout...

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
13. 8. 2021   #6
-
0
-

No ... pro obecný signál lze vypočítat plovoucí průměr a je to jednoduché. Je to průměr z M prvků předcházejících aktuální prvek a N prvků následujících po aktuálním prvku. Takže celkem se to počítá z M + 1 + N prvků . Algoritmicky tohle doladit není problém. A funguje to ok...

další možností je převod do frekvenční oblasti pomocí Diskrétní Fourierovy Transformace a filtrace ve frekveční oblasti a převod zpět. To už ATMEGA328 nezvládne ale je na to speciální čip

https://www.ti.com/lit/an/sprabb6b/sprabb6b.pdf?ts=1628855628855&ref_url=https%253A%252F%252Fwww.google.cz%252F

a dá se to programovat i v Pythonu

https://numpy.org/doc/stable/reference/routines.fft.html

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
13. 8. 2021   #7
-
0
-

Pořád dokola: plovoucí průměr je pomalý, způsobí značné spoždění signálu. Otázka je, zda stejný problém nemá regrese.

hu
 

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
13. 8. 2021   #8
-
0
-

polynomiální regrese (PR) vyžaduje, aby v okamžiku výpočtu byly k dispozici všechny datové prvky tedy dvojice (x,y) které tvoří signál, PR je poměrně pomalá, na AT328 jsem ji nikdy nedělal a navíc vyžaduje přesnost IEEE754-single. Celočíslně jsem PR nikdy nedělal ale prej to de taky ale asi to bude nějaká šílenost :)

PR jsem na nejslabším počítači viděl na IQ151 :)  chvíli to počítalo no ...

tohle zpracování signálů na procesorech AT je poměrně problém ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
KIIV
~ Moderátor
+43
God of flame
13. 8. 2021   #9
-
0
-

Neslo by zvolit oversampling? Kazde 2 sekundy udelat 16 vzorku tesne po sobe a zprumerovat vydelenim 16 (aka bitshift o 4 bity). Proste zpresnit vstupni hodnoty. Nebo vzorkovat mnohem casteji a pak bude plovouci prumer mnohem sviznejsi. Ja delal aproximovany odecetl jsem prumernou hodnotu a pricetl novou. Ale to samozrejme neni uplne ono na "rychle" skoky. Nicmene s oversamplingem by to nemuselo byt tak opozdene

Novejsi druhy Atmegy tohle umi udelat uz primo v ADC, kdyz se to nastavi (ty na Xmega jadre).

Podle prubehu to jinak vypada, ze to jsou jsou skoky mozna na urovni jednoho ci dvou LSB bitu.

Jo u toho aproximovaneho by se dalo udelat treba rozdil nove hodnoty a podle velikosti rozdilu vynasobit nejakym koeficientem, aby velka zmena zapusobila rychleji (derivacni clen jako z ridicich systemu, ci primo kompletni PID)

Nahlásit jako SPAM
IP: 37.48.52.–
Program vždy dělá to co naprogramujete, ne to co chcete...
13. 8. 2021   #10
-
0
-

#9 KIIV
Bohužel, čidlo neumí rychlejší vzorkování.

Rychlé skoky by nastávat neměly.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
13. 8. 2021   #11
-
0
-

jinak ten plovoucí průměr se dá dělat i z každýho k-týho vzorku dopředu i dozadu od aktuálního vzorku ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
KIIV
~ Moderátor
+43
God of flame
13. 8. 2021   #12
-
0
-

#10 hlucheucho
A co je to presne za cidlo? Na zacatku si zminil akorat ADC, tak mozna je to nejake externi ci tak...

Kazdopadne u interniho a neprilis se meniciho signalu davam na vstup RC filtr, a pak vzorkuju vicekrat (z ADC leze temer PWM - cim vice se to blizi k jedne nebo druhe hodnote, tim casteji to v tom stavu i je zmerene)

No mozna by se to docela zpresnilo uz jen zprumerovanim s predchozi hodnotou (ale ne o moc)

EDIT: mimochodem nemas ten vzorek dat v textovem formatu, by se aspon daly primo na pocitaci zkouset ruzne aproximace

Nahlásit jako SPAM
IP: 37.48.52.–
Program vždy dělá to co naprogramujete, ne to co chcete...
JerryM0
Věrný člen
13. 8. 2021   #13
-
0
-

a co třeba extrapolátor s po částech lomenou funkcí ?

https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/06LeastSquares/extrapolation/examples.html

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
13. 8. 2021   #14
-
0
-

Ze vzorku dopředu? Aktuální vzorek je poslední naměřená hodnota.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
13. 8. 2021   #15
-
0
-

aha ... no pojem "ze vzorku dopředu" znamená, že buď děláš predikci/extrapolaci příp. použiješ kalmánuv filtr u nekonečné řady nebo na začátku signálu má tvůj filtrovaný signál K kroků zpoždění, což by vubec nevadilo ...

plovoucí průměr se dělá - jak už sem psal - z M vzorků po aktuálním vzorku a N vzorků "před" aktuálním vzorkem ... a ten tvůj "aktuální vzorek" je třeba 5 vzorků zpožděný za tim, který právě reálně nastal

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
13. 8. 2021   #16
-
0
-

DHT22 a tím jsem i prozradil fyzikální veličinu. V ukázce je pak průběh absolutní vlhkosti (musí se počítat) při zásahu regulátoru.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
13. 8. 2021   #17
-
0
-

#12 KIIV
Mám to v excelu. Bohužel tady je ejn vložit obrázek

hu

Nahlásit jako SPAM
IP: 195.178.67.–
KIIV
~ Moderátor
+43
God of flame
13. 8. 2021   #18
-
0
-

Ono by to melo jit oznacit a zkopirovat - ci ulozit jako csv textak.

Ale kazdopadne podle toho vstupniho vzorku a jak oproti tomu vypada vystupni, bude asi sakra tezke vykouzlit nejakou krivku bez znacneho zpozdeni

Nahlásit jako SPAM
IP: 37.48.52.–
Program vždy dělá to co naprogramujete, ne to co chcete...
JerryM0
Věrný člen
13. 8. 2021   #19
-
0
-

takže tohle ?

https://www.gme.cz/digitalni-teplomer-a-vlhkomer-s-dht22

to je zajímavý ...

no já bych asi začal s tim plovoucím průměrem a pak by se vidělo ...

každopádně bych zkusil i křivku trendu, tady je příklad:

https://www.codeproject.com/Articles/1101932/Simple-trend-calculation

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
13. 8. 2021   #20
-
0
-

#18 KIIV
uložit jako csv ....  ale vložit sem nejde. Jediný, co mohu udělat, tak to dát na leteckaposta.cz nebo něco podobnýho.Jestli si s tím chceš pohrát

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:9c8d:5f7d:2e3e:2369...–
13. 8. 2021   #21
-
0
-

#19 JerryM
Vím jak klouzavý průměr funguje a proto ho zkoušet nemusím, výsledek je znám. Protože známé řešení nefunguje, hledám řešení jiné. To z odkazu si prostuduji a možná i vyzkouším.

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:9c8d:5f7d:2e3e:2369...–
JerryM0
Věrný člen
13. 8. 2021   #22
-
0
-

hm příkladů na výpočet křivky tendu je na internetu celkem dost

https://stackoverflow.com/questions/43224/how-do-i-calculate-a-trendline-for-a-graph

https://classroom.synonym.com/calculate-trendline-2709.html

stačí do googlu zadat heslo něco ve smyslu "trendline calculation C++"

https://classroom.synonym.com/calculate-trendline-2709.html

problém ale je, že ty asi potřebuješ kvadratickej trent nebo příp. logaritmickej nebo exponenciální ..

to by se muselo zkusit

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
JerryM0
Věrný člen
13. 8. 2021   #23
-
0
-

tady je moc hezkej příklad na exponenciální trend

https://blogs.sap.com/2016/11/08/create-exponential-trendlines-in-web-intelligence/

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
JerryM0
Věrný člen
13. 8. 2021   #24
-
0
-

i když tobě by mohla stačit parabola :)

https://atozmath.com/example/CONM/LeastSquare.aspx?he=e&q=2

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
JerryM0
Věrný člen
13. 8. 2021   #25
-
0
-

tady je moc hezkej příklad na parabolu

https://books.google.cz/books?id=zxAeEAAAQBAJ&pg=PA421&lpg=PA421&dq=math+trendline+calculation+parabolic&source=bl&ots=60MRlVPSja&sig=ACfU3U3bWEYvxN2_Uy7zKJyQq0Vl2K5M0Q&hl=cs&sa=X&ved=2ahUKEwj__tna2q7yAhVMsKQKHUfvC74Q6AF6BAguEAM#v=onepage&q=math%20trendline%20calculation%20parabolic&f=false

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:f5d3:8a34:7384:78dc...–
KIIV
~ Moderátor
+43
God of flame
13. 8. 2021   #26
-
0
-

#20 hlucheucho
tak to nekde nahraj, treba budu mit chvilku na blbnuti

Nahlásit jako SPAM
IP: 37.48.52.–
Program vždy dělá to co naprogramujete, ne to co chcete...
MilanL+1
Grafoman
14. 8. 2021   #27
-
0
-

#1 hlucheucho
tedy nevím, připadá mi to jako by ta výstupní křivka v daném bodě kopírovala průměr od začátku. pak by stačilo uchovávat sumu a počet nebo poslední průměr a počet, výpočet nové hodnoty se pak sredukuje na

(suma+nová hodnota)/n+1 nebo (průměr*n + nová hodnota)/n+1

případně aplikace nějaké korekce.

Nahlásit jako SPAM
IP: 185.112.167.–
JerryM0
Věrný člen
14. 8. 2021   #28
-
-1
-
Mimo téma

on tam neuved to nejduležitější  .. jestli se ta křivka počítá z K-posledních vzorků nebo ze všech ..

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
JerryM0
Věrný člen
14. 8. 2021   #29
-
0
-

https://uloz.to/file/xrhmFEILIuGr/higher-enginering-mathematics-by-bs-grewal-42nd-edition-pdf#!ZJH2MGR2AmD0MGEyLmMvBQqwMTEyAUWUqHyKLII2JF1uLzEzBD==

strana 812

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
14. 8. 2021   #30
-
0
-

#28 JerryM
Kdybys přemýšlel, tak bys věděl, že počet vzorků je omezen - ATMEGA nemá harddisk aby si zapamatovala cca 20 minut (ukázka) nebo třeba týden. A už vůbec nemá početní výkon na to aby zpracovala takový objem dat. Kromě toho výsledek polynomické regrese závisí i na počtu vzorků. Nejdřív potřebuji vědět jak se to dělá (algoritmus) a pak mohu řešit detaily (jestli bude vzorků 5 nebo 50)

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:e810:d5dc:2121:a419...–
JerryM0
Věrný člen
14. 8. 2021   #31
-
-1
-
Mimo téma

já vííííííííííím já víííííííííííím proto sem ti dal co nejvíc možností k přemýšlení :) :) :) a polynomiální regrese je tam napsaná v Basicu takže jestli potřebuješ Basic tak ti mužu dát i TurboBasic a pustíš si ho v DOSBoxu pod MSDOSem 7.0 :)  NortonCommander mám taky a český ovladače klávesnice taky .. takže klid .. pupíčku

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
14. 8. 2021   #32
-
0
-

#27 MilanL
Plovoucí průměr, pokud ho používám, počítám tak, že mám v paměti pole n hodnot, součet a ukazatel na nejstarší hodnotu v poli. S každou novou hodnotou od součtu odečtu nejstarší, přičtu novou hodnotu, podělím n, novou hodnotu uložím na místo nejstarší a posunu ukazatel. Stejný postup jsem použil pro true RMS, tam se dělá odmocnina z aritmetického průměru kvadrátů zvorků. ATMEGA 88 na 8MHz to zvládala pro 8 vstupů, každý se vzorkoval každé 2 ms. Početní výkon AVR bych nepodceňoval, není sice velký, ale maličký taky ne.

Plovoucí průměr se chová jako integrační člen. Výstup sleduje vstup se spožděním. Sebelepší algoritmus výpočtu na tom nic nemění.

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:e810:d5dc:2121:a419...–
14. 8. 2021   #33
-
0
-

#26 KIIV
v pondělí

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:e810:d5dc:2121:a419...–
JerryM0
Věrný člen
14. 8. 2021   #34
-
0
-

jestli je Basic z 90 let moc složitej tak tady na straně 249 je to napsaný v Pythonu

https://uloz.to/file/C7nserCwe1kR/apress-numerical-python-scientific-computing-and-data-science-applications-with-numpy-scipy-and-matplotlib-second-edition-pdf#!ZJSxZQR2ZwAxAwIyMGZ0MJEuMJEyZIWeZJIFnTp0qaWOGzIyAN==

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
Kit+15
Guru
14. 8. 2021   #35
-
0
-

#32 hlucheucho
Napadá mě místo klouzavého průměru jednoduše vždy přičíst první a druhou derivaci (možná i pár dalších). Reakce by byla mnohem rychlejší a přitom plynulá.

Nahlásit jako SPAM
IP: 85.160.5.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
14. 8. 2021   #36
-
0
-

#34 JerryM
super, Budu se učit bůhvíkolik jazyků jen abych 1x za život udělal zpětný inženýrství nějakého kódu. Kdybys vygůgli zvorečky a dal k nim návod pro pitomce, bylo by to větším přínosem. Zvorečky se asi vygůglit dají, ale pro mne budou nesrozumitelný. 31 let po maturitě už vědomostí zbylo málo.

Ony ty zvorečky mají výhodu. Dá se to s jejich pomocí modelovat na reálných datech a do vlastní implementace se pouštět až když to bude vypadat nadějně.

Takže už žádný implementace v mnoha jazycích.

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:7d66:884b:1b1b:7954...–
14. 8. 2021   #37
-
0
-

#35 Kit
Derivaci čeho? Matně si vzpomínám, že derivace se dělaly u funkcí. Mám jen data, funkci definovanou nemám. Pokud bych měl získat funkci z nějakého počtu vzorků dat, představuje to "ecelovské" proložení grafu nějakou křivkou a tím se vracíme k tomu, co je v prvním příspěvku. Jak na polynomickou regresi?

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:7d66:884b:1b1b:7954...–
Kit+15
Guru
14. 8. 2021   #38
-
0
-

#37 hlucheucho
Nad diskrétními daty se také dá udělat derivace. Nejjednoduššeji tak, že odečteš od sebe poslední dvě hodnoty. Používá se to u regulačních smyček pro přesun mezi kvadranty grafu. Výhodou je, že si můžeš stanovit takové koeficienty, které ti budou nejlépe vyhovovatvyhovvyhovovat.

Nahlásit jako SPAM
IP: 85.160.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
JerryM0
Věrný člen
14. 8. 2021   #39
-
0
-

cože ? až v pondělí ? jak až v pondělí ? přeci o víkendu děláš na sedumnáctky ne ? :) jako za totáče ..

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
JerryM0
Věrný člen
14. 8. 2021   #40
-
+1
-
Zajímavé
Kit +

kdyby si sem hodil ty data tak by to možná bylo jednodušší

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
Kit+15
Guru
14. 8. 2021   #41
-
+1
-
Zajímavé

#40 JerryM
Taky si říkám. Mohli jsme se zabavit tím, kdo vvymyslí lepší algoritmus.

Nahlásit jako SPAM
IP: 85.160.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16. 8. 2021   #42
-
0
-
Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
16. 8. 2021   #43
-
0
-

Hmm, tuto stránku se nám nedaří najít.

K serveru na adrese https se nepodařilo připojit.

Pokud je tato adresa správná:

    Zkuste to znovu později.
    Zkontrolujte připojení k síti.
    Pokud jste připojeni přes firewall, zkontrolujte, že má Firefox povolený přístup na web.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
16. 8. 2021   #44
-
0
-

Snad budu rozesílat flashku poštou nebo co...

hu

Nahlásit jako SPAM
IP: 195.178.67.–
16. 8. 2021   #45
-
0
-
Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
16. 8. 2021   #46
-
0
-

taky nic .. možná bude potřeba 3: pokus

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:3c0d:85d0:f970:aa72...–
16. 8. 2021   #47
-
0
-

#46 JerryM
tohle jsem zkoušel otevřít i z jiného počítače a šlo to. Jaké úložiště ti funguje?

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
16. 8. 2021   #48
-
0
-

nevim proč ale mě to stáhnout nejde ... zkus uloz.to

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:305e:35cd:e25c:73c0...–
Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
16. 8. 2021   #50
-
0
-

hm už mě to funguje ..

hm zajímavý .. takže polynomiální regrese

tak ta je tady

https://gist.github.com/chrisengelsma/108f7ab0a746323beaaf7d6634cf4add

a funguje

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:305e:35cd:e25c:73c0...–
JerryM0
Věrný člen
16. 8. 2021   #51
-
0
-

tady je taky jedna

https://rosettacode.org/wiki/Polynomial_regression#C

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:305e:35cd:e25c:73c0...–
16. 8. 2021   #52
-
0
-

#51 JerryM
Používá bůhvíjaký knihovny, které na ATMEGA nepůjdou napasovat

#50 JerryM
std::Vector snad by šel nahradit polem. To už vypadá použitelně.

Ještě chvíli a dostanu hotový řešení

hu

Nahlásit jako SPAM
IP: 195.178.67.–
JerryM0
Věrný člen
16. 8. 2021   #53
-
0
-
Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:305e:35cd:e25c:73c0...–
JerryM0
Věrný člen
16. 8. 2021   #54
-
-1
-
Mimo téma

jde o to, že tu polynomiální regresi nejde zkrátit .. chápeš jo ... prostě tam ty vzorce použít musíš :)

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:305e:35cd:e25c:73c0...–
16. 8. 2021   #55
-
0
-

#54 JerryM
Nikdo tady nerozporoval použití vzorců. Pouze jsem rozporoval knihovny třetích stran které nepůjdou na ATMEGA použít a naznačil úvahu o nahrazení std::Vector polem.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
KIIV
~ Moderátor
+43
God of flame
18. 8. 2021   #56
-
+1
-
Zajímavé
Kit +

   

Připojen obrázek.

#include <iostream>

constexpr int N = 16;

int main() {
  int sum = 0;

  int i;
  while (std::cin >> i) {
    int diff = i - sum/N;

    sum += ((diff+8)/16*16)*8 + diff%16;
    
    std::cout << sum/N << "\n";
  }
}

Na neco lepsiho to budes asi muset rozjet jako PID regulator regulujici tu hodnotu (pro atmegy nejake jsou) -

Nahlásit jako SPAM
IP: 78.80.120.–
Program vždy dělá to co naprogramujete, ne to co chcete...
19. 8. 2021   #57
-
0
-

#56 KIIV

Tohle vypadá opravdu dobře. Tady je i vidět, co to dělá. Vyzkouším a dám vědět.

Normalizované transportní spoždění je větší než 1 (ale to jsi nemohl vědět). V takovém případě se PID nedoporučuje.

Každopádně na lepší výsledek by muselo být čidlo s větším rozlišením. Díval jsem se do databáze na kompletní záznam, kde je i relativní vlhkost. Ty skoky, co tam jsou, odpovídají změně o 0,1% relativní vlhkosti, což je rozlišení čidla.

hu

Snažím se z daného HW dostat maximum možného.

hu

Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:459f:672e:d6dd:e3ae...–
JerryM0
Věrný člen
21. 8. 2021   #58
-
0
-

tak povídej jak to dopadlo ? hoříme zvědavostí :)

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:d199:6d64:b79b:6f48...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý