Postautor: tg3a » 29 wrz 2011, o 08:21
Może opiszę, jak uzyskałem swoje wartości, w sumie pewnie niepotrzebnie, jeśli chodzi o Ciebie, ale może przyda się komuś na przyszłość.
Otóż założyłem, że skoro 1-szy krok różny od zera i tak musi mieć długość impulsu równą 1 takt (przy drobniejszym podziale dłuższego okresu nie musi już tak być), to "logarytmicznie", czyli wykładniczo, należy podzielić ten dysponowany zakres odpowiadający czasom impulsu od 1 do 64.
Zobiłem to w Excelu, tworząc następującą tabelkę:
-w kolumnie A liczby od 1 do 5 (numery kroków) - właściwie potrzeba wypełnić tylko N-1 pól, bo ostatnią wartość znasz,
-w kolumnie B ilość taktów zegara - w polu B1 wpisuję wartość dla 1-szego niezerowego kroku, która w tym przypadku wynosiła 1 (nie wiem, jak chcesz mieć dla sytuacji "zagęszczonej"),
w kolumnie C wielkość napięcia w stosunku do wartości maksymalnej odpowiadającej całkowitemu wypełnieniu, czyli po prostu wartość sinusa, wpisując wzór dla pola C1 następujący: =sin(pi()*B1/2/64) (dla wariantu zagęszczonego będzie oczywiście 640),
-w kolumnie D wyliczoną wielkość napięcia dla następnego kroku, w postaci wzoru dla pola D1: =exp(ln(1/C1)/(5-A1))*C1 , czyli logarytm naturalny ze stosunku docelowego względnego napięcia 1 do obecnego (z pola C1) podzielony przez pozostałą ilość kroków, i z tego funkcja eksponencjalna (odwrotność logarytmu) pomnożona przez dotychczasowe napięcie względne C1,
-w kolumnie E przeliczam napięcie na współczynnik wypełnienia i mnożę przez max. ilość kroków, czyli dla pola E1: =asin(D1)*(2/pi())*64 (lub docelowo 640),
-wynik z pola E1 zaokrąglam "po uważaniu" i wpisuję do pola B2, a podświetlone pola od C1 do E1 kopiuję na pola począwszy od C2 - Excel wszystkie adresy modyfikuje automatycznie, i w polu E2 ukazuje mi się następny wynik jako wskazówka dla pola B3
Czynności te powtarzam aż do przedostatniego wiersza, w którym powinno mi wyjść 64 (lub 640), i tak też wyszło. W ostatnim wierszu można skopiować kolumnę C (wpisując do B owe 64 lub 640), bo dla kolumny D wyjdzie dzielenie przez zero.
W arkuszu Open Office pod Linuxem wszystko mi działało tak samo.
Uzyskane wyniki można sobie obejrzeć wstawiając wykres X-Y poszczególnych kolumn w funkcji kolumny A, i dla kolumny C, przedefiniowując skalę osi Y jako logarytmiczną, sprawdzić, na ile dla przyjętych długości impulsów zależność napięcia od nru kroku odbiega od linii prostej.
Dla mniej doświadczonych w Excelu dodam, że wartości występujące w powyższych formułach można sobie sparametryzować, tzn. np. zamiast liczby 64 używać adresu komórki w arkuszu, do której początkowo wpiszemy owe 64, ale później będziemy mogli to jednym ruchem zmienić. Dla zabezpieczenia się przed automatyczną zmianą adresu tej komórki przez Excela przy kopiowaniu formuł podajemy go w następujący sposób (przykładowo): $G$1 (znak dolara przed literą właściwie nie jest tu konieczny, bo przy kopiowaniu formuł nie zmieniamy kolumny, więc i Excel nic nie zmieni).
Pozdrawiam