 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.11 Kraj: Kobarid
|
Objavljeno: Pon Jul 26, 2010 8:22 pm Naslov sporočila: |
|
|
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 60.00 Kraj: Divača (Kačiče)
|
Objavljeno: Pon Jul 26, 2010 8:26 pm Naslov sporočila: |
|
|
Dodaj eno Z diodo, en opamp in si rešil problem. _________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Pon Jul 26, 2010 9:29 pm Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
Nekaj se najde naprimer tukaj in tukaj . Drugače pa kakšno množenje brez upoštevanja prelivov, deluje nekoliko naključno.
Odvisno kako zelo naključno mora biti. |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.67 Kraj: Kranj - struževo
|
Objavljeno: Pon Jul 26, 2010 9:44 pm Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100. |
PRBS:
V osnovi je en shift register ter ena XOR operacija, ki vzame izbrane bite iz registra in da naslednji bit na vhodu shifta.
Katere bite izbrati za vhod v XOR ti določa, kakšna koda se bo vrtela. Le nekaj kombinacij ti da kodo polnega obsega (2^n). Veliko kombinacij ima za rezultat več manjših neodvisnih "zank". Tak tip se ne zna sam pobrati iz vrednosti 0000..000 na vhodu in rabi inicializacijo z neničelno vrednostjo.
Za inicializacijo lahko uporabiš: en notranji števec, ki šteje s polno hitrostjo procesorja in njegovo vrednost uporabiš ob nekem naključnem zunanjem dogodku (tipka,...).
http://www.agner.org/random/
http://en.wikipedia.org/wiki/Pseudorandom_number_generator
http://en.wikipedia.org/wiki/Pseudorandom_binary_sequence
http://en.wikipedia.org/wiki/Gold_code _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.88 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jul 26, 2010 11:33 pm Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
Kot je napisal aly. Recimo primer , ki ga lahko uporabiš praktično za vsak mikrokontroler. _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70750.63
|
Objavljeno: Pon Jul 26, 2010 11:52 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3362 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Tor Jul 27, 2010 9:29 am Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
Za pravo generiranje naklkjučnega števila je potreben nek vhod, ki je naključno krmiljen, sicer pa imajo prevajalniki že funkcije za generiranje.
V Bascomu bi to bilo na primer:
x = rnd(100)
V večini primerov to zadostuje.
Je pa res, da brez naključnega vhoda, boš imel vedno isto zaporedje 'naključnih' števil. Naključni vhod je lahko tudi tipka, ki jo pritisneš. V zanki kar naprej računaš
x = rnd(100)
Toda pravi x je recimo takrat, ko pritisneš tipko. Takrat prekineš zanko in daš rezultat in se spet vrneš v zanko... |
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 60.00 Kraj: Divača (Kačiče)
|
Objavljeno: Tor Jul 27, 2010 10:10 am Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
VolkD je napisal/a: |
Dodaj eno Z diodo, en opamp in si rešil problem. |
vilko je napisal/a: |
Za pravo generiranje naklkjučnega števila je potreben nek vhod, ki je naključno krmiljen, ...... |
S pomočjo Z-diode lahko generiraš šum, ki je zelo dobra naključna funkcija. Operacijski ojačevalnik ta šum ojači in ga limitira na vrednosti, ki so za mikrokontroler sprejemljive. Namesto Z diode lahko uporabiš tudi PN spoj baza emitor kakega tranzistorja. Boljšega generatorja naključnih števil realiziranega z manj elementi še nisem našel. _________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.39
|
Objavljeno: Tor Jul 27, 2010 10:37 am Naslov sporočila: |
|
|
Termični šum na uporu bi šlo "merit"? _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 60.00 Kraj: Divača (Kačiče)
|
Objavljeno: Tor Jul 27, 2010 10:41 am Naslov sporočila: |
|
|
gumby je napisal/a: |
Termični šum na uporu bi šlo "merit"? |
Seveda bi se dalo, le da je tega šuma mnogo manj kot pri Z diodi. To pa seveda zakomplicira vezje. _________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.65 Kraj: Zagorje ob Savi
|
Objavljeno: Tor Jul 27, 2010 10:48 am Naslov sporočila: |
|
|
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
Jaz sem večkrat uporabil LFSR, ki je sicer čisto programska rešitev, kar pomeni, da je zaporedje generiranih števil zmeraj enako. Algoritem je preprost za računat, tudi v FPGAju.
Lahko pa algoritem na začetku 'poseješ' z branjem AD-vhoda, z branjem RTC-ja ali pa, kot so že napisali, uporabiš čisto hardversko rešitev. Samo včasih je bolje uporabiti rešitev, ki je predvidljiva - je lažje razhroščevati
LP! |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70750.63
|
Objavljeno: Tor Jul 27, 2010 11:36 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.11 Kraj: Kobarid
|
Objavljeno: Tor Jul 27, 2010 3:28 pm Naslov sporočila: |
|
|
Tudi C pozna funkcijo rand
Ampak se mi je zahotelo napraviti nekaj svojega. Poizkusil sem z poliemi in dobim res naključne vrednosti. Ampak moti me (kot pri večini drugih SW primerov), da moram vpisati prvo eno fiksno vednost.
Opcija z AD in šumom, pa je naravnost odlična !
vilko je napisal/a: |
SimonS je napisal/a: |
Študiram, tuhtam, blodim, kako bi napisal progranček za uC, ki bi naključno generiral številko od 1-100.
Vraga, sploh ni enostavno, kot se sliši  |
Za pravo generiranje naklkjučnega števila je potreben nek vhod, ki je naključno krmiljen, sicer pa imajo prevajalniki že funkcije za generiranje.
V Bascomu bi to bilo na primer:
x = rnd(100)
V večini primerov to zadostuje.
Je pa res, da brez naključnega vhoda, boš imel vedno isto zaporedje 'naključnih' števil. Naključni vhod je lahko tudi tipka, ki jo pritisneš. V zanki kar naprej računaš
x = rnd(100)
Toda pravi x je recimo takrat, ko pritisneš tipko. Takrat prekineš zanko in daš rezultat in se spet vrneš v zanko... |
_________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
Coyote Član

Pridružen-a: Sob 17 Jan 2009 19:49 Prispevkov: 22 Aktiv.: 0.11 Kraj: Koper
|
Objavljeno: Čet Avg 05, 2010 4:36 pm Naslov sporočila: |
|
|
Imam takšne random generatorje, povej kakšno porazdelitev želiš imeti: uniformno ali gaussovo? |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.11 Kraj: Kobarid
|
Objavljeno: Pet Avg 06, 2010 8:52 am Naslov sporočila: |
|
|
Smo rešili. Vseeno hvala za ponudbo _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 500 dni
Powered by phpBB © 2001, 2005 phpBB Group
|