Kedves Lista!
On 19 Apr 2002 at 4:03, HIX CODER wrote:
> Felado : [Hungary]
> Temakor: Re: assembly random generator ( 11 sor )
> Idopont: Wed Apr 17 15:53:09 CEST 2002 CODER #1495
> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> írta:
>
> > Másik kérdésem egy assembly-s téma.
> > Szeretnék egy random függvényt írni assemblyben, de nem ismerem a
> > véletlenszám generálás alaplépéseit. Szívesen venném, ha küldenétek egy
> > leírást ezzel kapcsolatban, egy kész rutinnak még jobban örülnék, de ha
> > nincs beérem az elmélettel is :-)))
>
> A valasz: Is-is. En irtam assemblyben egy random generator DLL-t, de
> tudok a veletlenszamokkal foglalkozo cikket is. Megy maganban.
Ha jol emlexem, akkor van olyan Intel chipset, amiben van olyan termo elem,
amelyik direkt veletlenszam generalashoz lett tervezve. A Linux-ban lattam
erre megoldast...
...meg is talaltam. A Linux kerlen source alatt a Documentation alatt
talaltam egy i810_rnd.txt file-t. Abben ezt irja:
About the Intel RNG hardware, from the firmware hub datasheet:
The Firmware Hub integrates a Random Number Generator (RNG)
using thermal noise generated from inherently random quantum
mechanical properties of silicon. When not generating new random
bits the RNG circuitry will enter a low power state. Intel will
provide a binary software driver to give third party software
access to our RNG for use as a security feature. At this time,
the RNG is only to be used with a system in an OS-present state.
Bovebb info: http://lxr.linux.no/source/Documentation/i810_rng.txt
Ha megnezed a kodot, akkor asm-be is atirhatod...
Udv From:, a kodember
|
> Mivel nem jott semmi valasz, batortalanul megismetlem az en bajom:
>
> Talaltam egy Walsh-Hadamard rekurziv megoldast Fourier-analizisre, ami az
> FFT-nel gyorsabb megoldast biztosit, mivel az eljaras lenyege, hogy szinusz
> helyett haromszogek szuperpoziciojakent tekinti a vizsgalt jelet.
> JPG-et kellene csinalnom, meg is van a leirasom, csak eleg "gyengeden
> allok a matekhoz", pedig itt a Fourier-analizis melyen benne van a dologban.
> A kerdesem az, hogy van-e olyan jotet lelek, aki segitene algoritmussa
> ertelmezni a dolgot. A Walsh-Hadamard rekurziv reszleteit majd maganban.
> Rx
A Walsh-Hadamard transzformacio nem haromszogekkel, hanem
negyszogjelekkel dolgozik, ettol nagyon gyors, mert az egyutthatok
mind vagy +1 vagy -1 ertekuek. A JPEG a diszkret koszinusz
transzformacion (DCT) alapul, ami nagyon hasonlit a Fourierhez, de
azzal nem teljesen azonos. Mindazonaltal, a WHT es a DCT egymassal nem
felcserelheto. Az igaz, hogy mind a ketto egy frekvenciaspektrumot
ad ki de mivel a bazisfuggveny kulonbozo, a transzformalt ertekek
teljesen masok lesznek. Ha (most 1 dimenzioban) van egy negyszoged,
aminek a periodusa a transzformacios hossz, akkor a WHT minden
komponense 0 lesz kiveve egyet, mig a DCT-nek minden komponense
valamilyen nem 0 ertek lesz.
Ezenfelul a JPEG kepeknel a DCT ertekeket nem siman letaroljak,
hanem kihasznalva azt a tenyt, hogy termeszetes eredetu kepeknel az
energia nagyobb resze a kisebb frekvenciakon jelenik meg, az
ertekek tarolasi pontossagat valtoztatjak (innet az informacio
veszteseg), azaz kvantaljak majd az egeszet meg kulon tomoritik
azzal, hogy a kvantalt DCT ertekeket egy vesztesegmentes modon
bekodoljak, kihasznalva a tenyt, hogy igen sok ertek (a kvantalas
utan) nulla lesz.
Magyaran, ha JPEG-et akarsz kodolni, akkor a DCT-t *kell* hasznald,
mert egyebkent a kepedet senki nem tudja dekodolni. Ugyanigy, ha
JPEG-et dekodolsz, akkor inverz DCT-t kell csinalnod, mert csak az
fogja az egyutthatoidbol a kepet viszaallitani. Ha magadnak akarsz
tomoriteni, akkor persze hasznalhatod a WHT-t. Az egyik helyen,
ahol dolgoztam, kiprobaltak es az eredmeny nem olyan jo, mint a
DCT-vel elerheto, tehat a sebessegnovekedesert minoseggel fizetsz.
Zoltan
|