Jak podnieść jakąś zmienną do dowolnej potęgi?
- posted
19 years ago
Jak podnieść jakąś zmienną do dowolnej potęgi?
No to jeszcze zdefiniuj czy dowolna oznacza:
to znaczy dowolna przez dowolna :D
Żeby było precyzyjnie podam przykład zmienna jest np 20 i chcę ją podnieść do potęgi 0,16.
Jeśli się nie da to jest na to rozwiązanie - stworzyć tabelę z obliczonymi wartościami dla poszczególnych zmiennych. Ale jest tego trochę więc wolałbym jednak to jakoś policzyć na uP.
Przez logarytmy juz tylko.
J.
No jest to jakaś metoda. Potem dokładnie to przeliczę i sprawdzę czy nie zapłacę w ten sposób ceną skomplikowanego programu. Realizuje dość skomplikowane równanie.
Ale czy biorac metode stosowana w Cordicu za wzor nie wymyslimy jeszcze prostszego sposobu ?
A wiesz co najsmieszniejsze jest - on jest z roku 1959. Czemu tak malo popularny ze trzeba go odkrywac ?..
J.
A propos .. wpisales to w koncu w fpga ?
Gdyby podejsc do tego czysto kombinacyjnie [tzn szereg blokow z sumatorami] .. to ciekaw jestem co oscyloskop na wyjsciu pokaze przez okres ustalania wyniku. To sie juz chyba powinno dac zobaczyc :-)
J.
Nie wiem. :-) Tzn. napisalem w VHDL i sie poprawnie kompiluje (dziala do fmax=213MHz, a ja potrzebuje tylko 130MHz, wiec jest duzo rezerwy; uklad zajmuje 1215 LE), ale jeszcze nie mialem okazji przesymulowac, bo symulator udostepniany z darmowa wersja Quartusa nie potrafi wczytywac i zapisywac danych z/do pliku tekstowego, a z samego patrzenia na przebiegi nikt nie wydedukuje, czy to jest dobrze -- tu Matlaba/Octave trzeba. :-)
Wlasnie cos takiego zastosowalem -- szereg 15 blokow po 3 sumatory 24-bitowe kazdy. Tylko pomiedzy bloki wstawilem latche, by uklad nie byl czysto kombinacyjny, tj. zrobilem pelny pipelining.
Hm, ale po co?
Pozdrawiam Piotr Wyderski
Jak "jeszcze prostszego"? Przeciez sinus i kosinus hiperboliczny Cordic obliczy rownolegle w jednym przebiegu, a koszt dodawania dwoch liczb wynikowych to chyba nie jest jakies szczegolne obciazenie... Ja bym sie raczej shiftow obawial -- male procesorki zazwyczaj nie maja barrel shifterow i przesuniecia o k bitow trzeba skladac z k przesuniec o bit... :-(
Nie wiem, ale np. koprocesor matematyczny 8087 korzystal z tego wlasnie algorytmu do obliczania wielu funkcji.
Pozdrawiam Piotr Wyderski
Hm, zasadniczo powinny byc D-rejestry a nie latche
A tak z ciekawosci - zeby zobaczyc jak bramki pracuja :-)
J.
Ale na podobnej zasadzie chyba mozna liczyc bezposrednio exp.
Ale jakos nigdy wczesniej na niego nie trafilem. Tzn tak zeby byl wymieniony jako najlepszy i ladnie opisany. Fakt ze nie siedzialem az tak w temacie, ale chocby przypadkiem powinienem trafic.
J.
A jaka jest miedzy nimi roznica? Zasze nazywalem latchem wektor przerzutnikow D wyzwalanych zboczem. :-) W koncu zatrzask...
Ale w takim ukladzie kombinacyjnym stan nieustalony bedzie trwal na tyle dlugo, ze na wyjsciu ukladu bedzie mozna zaobserwowac rozne bardzo dziwne przejscia, niekoniecznie zwiazane z algorytmem, a bardziej ze struktura fizyczna ukladu. :-)
Pozdrawiam Piotr Wyderski
A to fakt, w zadnej ksiazce do informatyki tez nie znalazlem o nim wzmianki. Ale za to w podrecznikach do DSP to juz calkiem sporo.
Pozdrawiam Piotr Wyderski
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.