RTV forum PL | NewsGroups PL

Jak efektywnie zastosować bisekcję do regulacji pomiarów w systemach monotonicznych?

Rodzaj regulacji przez bisekcje

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie zastosować bisekcję do regulacji pomiarów w systemach monotonicznych?

Sebastian Bialy
Guest

Sun Apr 13, 2008 4:26 pm   



Witam.

Mam następujący problem:

a) jest obiekt o nieznanej funkcji wynik = o(x).

b) jest układ zadający x = z( wejscie );

c) jest układ pomiarowy pomiar = p( wynik );

co do funkcji o,z,p wiadomo tylko że są monotoniczne i to w dodatku w
jedną stronę (rosnące). z i p można "zdjąć" doświadczalnie, ale chyba
jesli nie znamy "o" to nie ma do wielkiego sensu.

Całość problemu wygląda więc tak:

pomiar = p ( o ( z ( wejscie ) ) )

pomiar i wejscie są zadawane z A/C i C/A (pwm) - 10-12bit. Reakcja
układu jest "natychmiastowa", tzn nie ma sensu przejmować się
opóźnieniami. Wszystkie funkacje nie zależą od czasu ani od historii.
Nie zależą (albo zależą w bardzo małym stopniu) od "kierunku pomiaru".
Pomiar jest średnio drogi - wolałbym możliwie zminimalizować ilość
pomiarów. Przypadek więc prosty (mam nadzieję).

Chce aby wartość "pomiar" była równa zadanej z zewnątrz. Muszę więc
zgadnąć jaką wartość "wejście".

Pytanie brzmi jak to zrobić w spoób w miarę szybki. Zaznaczam, że
funkcja o zmienia się co chwile (różne obiekty mierzone) i nie mam co do
jej kształtu zbyt wielu danych, w szczególności ciężko ją
aproksymować. Wygląda więc na to że szukam algorytmu "w ciemno". Jedyne
co wiadomo to to, że jest rosnąca i niezmienna na pomiary.

Przyszło mi do głowy żeby zrobić wyszukiwanie binarne (bisekcję).
Algorytm byłby taki że zadaje wartość w połowie zakresu na wejście i
dostaje pomiar. Sprawdzam w której z połówek jestem zględem zadanej i
biorę połowę przedziału. Powinienem odszukać dość szybko prawidłową
wartość na wejście układu która generuje mi szukany pomiar.

Pytanie: czy ktoś zna lepszą metodę szukania ?

Jestem w stanie próbować aproksymować wartość o, ale aproksymacja będzie
tak naprawdę zbiorem 3-4 funkcji co do których nigdy nie wiadomo jaką
wziąść (tyle "typów" obiektów mam). Pytanie zatem czy opłaca się bawić w
aproksymacje jeśli mogę w paru ruchach znaleźć własciwą wartość zwykłym
podziałem na pół. Zastanawiam się dodatkowo czy nie warto by uśrednić
tych fukcji aproksymujących uzyskując coś w rodzaju ślepego zakresu
"min/max" w którym dopiero szukać bisekcją.

J.F.
Guest

Sun Apr 13, 2008 5:45 pm   



On Sun, 13 Apr 2008 17:26:00 +0200, Sebastian Bialy wrote:
Quote:
Całość problemu wygląda więc tak:
pomiar = p ( o ( z ( wejscie ) ) )

Chce aby wartość "pomiar" była równa zadanej z zewnątrz. Muszę więc
zgadnąć jaką wartość "wejście".

Przyszło mi do głowy żeby zrobić wyszukiwanie binarne (bisekcję).

No coz - dla 12 bitow moze byc to najlepsze rozwiazanie.

Quote:
Pytanie: czy ktoś zna lepszą metodę szukania ?

Metody numeryczne - caly gruby dzial jest poswiecony znajdowaniu
miejsc zerowych.
Dla Ciebie na poczatek - metoda siecznych.

Uprzedzam ze dla niektorych funkcji sie zle zachowuje,
i binarne moze sie okazac lepsze.

J.

Sebastian Bialy
Guest

Sun Apr 13, 2008 6:42 pm   



J.F. wrote:
Quote:
No coz - dla 12 bitow moze byc to najlepsze rozwiazanie.

Hmmm w sumie nie potrzebuje dokładności większej niż 8bit, to 10-12 jest
troche na wyrost - bo mam akurat taką możliwość. Może się uśredni wynik
i dostane przynajmniej pewne 8 bit.

Quote:
Pytanie: czy ktoś zna lepszą metodę szukania ?

Metody numeryczne - caly gruby dzial jest poswiecony znajdowaniu
miejsc zerowych.
Dla Ciebie na poczatek - metoda siecznych.

OK, to ja wiem, zdążyłem sobie dzisiaj przejrzeć większość algorytmów Smile
Pytam czy z praktyki automatyki są jakieś sprytne rozwiązania tego typu
zagadnień. Np. mógłbym całkowicie pozbyć się częsci cyfrowej robiąc
całość na sprzężeniu zwrotnym analogowym. Z drugiej strony czy
sprzężenie zwrotne ma sens dla nieznanych, acz monotnicznych, funkcji?

J.F.
Guest

Mon Apr 14, 2008 8:29 am   



On Sun, 13 Apr 2008 19:42:44 +0200, Sebastian Bialy wrote:
Quote:
J.F. wrote:
No coz - dla 12 bitow moze byc to najlepsze rozwiazanie.

Hmmm w sumie nie potrzebuje dokładności większej niż 8bit, to 10-12 jest
troche na wyrost - bo mam akurat taką możliwość. Może się uśredni wynik
i dostane przynajmniej pewne 8 bit.

Tak czy inaczej to tylko 4 bity roznicy, pisales ze
pomiar jest "srednio kosztowny", ale moze warto
je poniesc.

Quote:
Pytam czy z praktyki automatyki są jakieś sprytne rozwiązania tego typu
zagadnień. Np. mógłbym całkowicie pozbyć się częsci cyfrowej robiąc
całość na sprzężeniu zwrotnym analogowym. Z drugiej strony czy
sprzężenie zwrotne ma sens dla nieznanych, acz monotnicznych, funkcji?

Wszak to co chcesz zrobic to swoiste "sprzezenie zwrotne".

A analogowo .. sie da, ale wtedy sie okaze ze wynik nie jest
natychmiast i sie regulator wzbudza Smile.
No i jak te "kosztowne" rozumiec, bo analogowy co chwila bedzie
"obliczal".

J.

Sebastian Bialy
Guest

Mon Apr 14, 2008 9:06 am   



J.F. wrote:
Quote:
Tak czy inaczej to tylko 4 bity roznicy, pisales ze
pomiar jest "srednio kosztowny", ale moze warto
je poniesc.

Nie w tym rzecz: pomiar trwa paredziesiąt milisekund. Układ się wtedy
stabilizuje. Dlatego jest dla mnie różnicą czy wykonam 100 czy 10 czy 3
pomiary. Natomiast rozdzielczość A/C w zasadzie może być taka jaką dała
fabryka, nie zależy mi specjalnie. 8 bitów może wystarczyć do dalszej
obróbki.

Quote:
Wszak to co chcesz zrobic to swoiste "sprzezenie zwrotne".

Owszem, ale bez problemów "analogowych".

Quote:
A analogowo .. sie da, ale wtedy sie okaze ze wynik nie jest
natychmiast i sie regulator wzbudza Smile.

No i tego się obawiam, dlatego nie chce robić tego analogowo bo mam
bardzo małe doświadczenia w regulatorach a odkrywanie tego tematu na
nowo chyba nie wchodzi w grę, ponadtyo jest tam dużo suchej teorii -
zanim się przegryzę zastanie mnie emerytura.

Quote:
No i jak te "kosztowne" rozumiec, bo analogowy co chwila bedzie
"obliczal".

Czas pomiaru.

J.F.
Guest

Mon Apr 14, 2008 9:43 am   





Sebastian Bialy
Guest

Mon Apr 14, 2008 9:56 am   



J.F. wrote:
Quote:
Ale miedzy 8 a 12 nie ma juz takiej wielkiej roznicy Smile

Dla mnie nie, pewno 4 bity będą zawierały szum okolicznych kuchenek
mikrofalowych :/

Quote:
A to ma byc regulator ?

No właśnie niezupełnie. Taki raczej układ pomiarowy. Dlatego w temacie
jest "rodzaj regulacji" a nie regulator. Porzebuej znaleźć wartość
szukaną i koniec - nastepny do pomiaru.

J.F.
Guest

Mon Apr 14, 2008 12:41 pm   



On Mon, 14 Apr 2008 10:56:10 +0200, Sebastian Bialy wrote:
Quote:
J.F. wrote:
Ale miedzy 8 a 12 nie ma juz takiej wielkiej roznicy :-)

Dla mnie nie, pewno 4 bity będą zawierały szum okolicznych kuchenek
mikrofalowych :/

A to ma byc regulator ?

No właśnie niezupełnie. Taki raczej układ pomiarowy. Dlatego w temacie
jest "rodzaj regulacji" a nie regulator. Porzebuej znaleźć wartość
szukaną i koniec - nastepny do pomiaru.

No coz, niewykluczone ze najlepiej byloby znalezc binarnie zakres,
a potem kolejno sprawdzic wszystkie 16..32 wartosci, w dodatku
w dwie strony - dla usrednienie szumow i histerezy.

J.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie zastosować bisekcję do regulacji pomiarów w systemach monotonicznych?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map