www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Random vrednost v uC

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4769
Aktiv.: 20.11
Kraj: Kobarid

PrispevekObjavljeno: Pon Jul 26, 2010 8:22 pm    Naslov sporočila:   Odgovori s citatom

Š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 Think

_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.00
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Pon Jul 26, 2010 8:26 pm    Naslov sporočila:   Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Pon Jul 26, 2010 9:29 pm    Naslov sporočila:   Odgovori s citatom

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 Think

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.67
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Jul 26, 2010 9:44 pm    Naslov sporočila:   Odgovori s citatom

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 Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.88
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jul 26, 2010 11:33 pm    Naslov sporočila:   Odgovori s citatom

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 Think


Kot je napisal aly. Recimo primer , ki ga lahko uporabiš praktično za vsak mikrokontroler.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70750.63

PrispevekObjavljeno: Pon Jul 26, 2010 11:52 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3362
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Tor Jul 27, 2010 9:29 am    Naslov sporočila:   Odgovori s citatom

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 Think


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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.00
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Tor Jul 27, 2010 10:10 am    Naslov sporočila:   Odgovori s citatom

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 Think

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.39

PrispevekObjavljeno: Tor Jul 27, 2010 10:37 am    Naslov sporočila:   Odgovori s citatom

Termični šum na uporu bi šlo "merit"?
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.00
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Tor Jul 27, 2010 10:41 am    Naslov sporočila:   Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.65
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Tor Jul 27, 2010 10:48 am    Naslov sporočila:   Odgovori s citatom

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 Think


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 Wink

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70750.63

PrispevekObjavljeno: Tor Jul 27, 2010 11:36 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4769
Aktiv.: 20.11
Kraj: Kobarid

PrispevekObjavljeno: Tor Jul 27, 2010 3:28 pm    Naslov sporočila:   Odgovori s citatom

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 Think


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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Coyote
Član
Član



Pridružen-a: Sob 17 Jan 2009 19:49
Prispevkov: 22
Aktiv.: 0.11
Kraj: Koper

PrispevekObjavljeno: Čet Avg 05, 2010 4:36 pm    Naslov sporočila:   Odgovori s citatom

Imam takšne random generatorje, povej kakšno porazdelitev želiš imeti: uniformno ali gaussovo?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
SimonS
Član
Član



Pridružen-a: Čet 01 Jul 2004 11:18
Prispevkov: 4769
Aktiv.: 20.11
Kraj: Kobarid

PrispevekObjavljeno: Pet Avg 06, 2010 8:52 am    Naslov sporočila:   Odgovori s citatom

Smo rešili. Vseeno hvala za ponudbo
_________________
Lep dan
Simon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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