Färdigprogramerade PIC'ar

Berätta om dina pågående projekt.
Användarvisningsbild
GrodanB
Inlägg: 245
Blev medlem: 11 februari 2006, 16:46:25
Ort: Göteborg
Kontakt:

Inlägg av GrodanB »

Kul...

Man kanske skall koppla den till en annan PIC som räknar och loggar utfallet...

Så kan man ju se lite statistik som kan ge lite mer info om du verkligen lyckas göra den bättre.

Det är inte helt lätt att VETA att man har en slump med jämn fördelning...

Bästa är ju att matematiskt visa att man ha en jämn fördelning (rektangelfördelning tror jag det heter som vi är ute efter här) och att talserien inte upprepar sig för snabbt...

Men det är inte lätt och man får då ta till lite enklare metoder och testa den och se på resultatet...

Tex. så sätts bit 0 dubbelt så ofta som bit 1 som sätts dubbels så ofta som bit 2 osv. Detta mönster som en räknare/klocka har, som räknar, får inte "smitta" ner till pinnarna... Utan de sätts utan tydligt mönster.

Det är därför jag skrev JOXA och inte ett exakt exempel eftersom jag inte har funderat igenom vad som är lämpligt... Sen tror jag att eftesom man slår i en tabell så smittar inte detta mönster tydligt ner till pinnarna. Men det var bara ett exempel...

Skall bli skoj att höra vad du kommer fram till
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

GrodanB: Bra idé! Jag tänker genast gå och bygga en sån som räknar resultaten :D

"Tex. så sätts bit 0 dubbelt så ofta som bit 1 som sätts dubbels så ofta som bit 2 osv. Detta mönster som en räknare/klocka har, som räknar, får inte "smitta" ner till pinnarna... Utan de sätts utan tydligt mönster."
Det hängde jag inte riktigt med på vad du menade :S

Mvh..
Användarvisningsbild
GrodanB
Inlägg: 245
Blev medlem: 11 februari 2006, 16:46:25
Ort: Göteborg
Kontakt:

Inlägg av GrodanB »

Jo att om du tittar på en räknare. Så altinerar ju LSB mellan 0 och 1 varje klockcykel. Bit 1 gör det varannan och bit var fjärde osv. Om man då tog en rutin som "smittade" ner utångarna så att utgång 1 tändes dubbelt så ofta som utgång 2 som i sin tur tändes dubbelt så ofta som utgång 3 osv.

Dvs. det finns risker att man råkar välja en implementation som ger fel fördelning.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Okej, vet du om det finns något kappitel i databladet där det står om detta eller liknande?? :)

Jag håller på att bygga en krets som ska räkna resultaten (självklart kommer den upp i en projekttråd sen) :)

Mvh. Daniel Andersson
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Nu har jag byggt klart min lila krets (baserad på en PIC) och den har suttit i någon timme och räknat ressultatet. Utgång "A" har tänds 208ggr, utgång "B" 162ggr, utgång "C" 174ggr och utgång "D" 188ggr. Detta är då när kretsen själv triggar den, så jag blev lite förvånad över att det överhuvudtaget fungerar.. Men vad tror ni om det? Är det för stor skillnad?? Jag ska testa att trigga den några gånger för hand.

Mvh.. Daniel Andersson
Användarvisningsbild
GrodanB
Inlägg: 245
Blev medlem: 11 februari 2006, 16:46:25
Ort: Göteborg
Kontakt:

Inlägg av GrodanB »

Med nästan 1000 "slump" omgångar borde ju ev. mönster synas...

Man tycker ju att de borde ha stabiliserat sig runt 1/4 per utgång av utfallen vid det här laget om du hade rektangelfördelning.

Så jag misstänker att A är populärast... vilket inte är bra... 183 borde det vara men blev 208... 25 ggr hög över snittet... än snittet... och 46 ggr hög än B som fick minst...

Testa ett par gånger till och se om du får samma eller liknade resultat...

Orkar du så testa också lite alternativ på implementering...
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31388
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Men nu räknar den ju inte binärt, utan väljer endast en av fyra bitar. Sen bestäms vilken genom en människas finger, och det vet vi ju alla att det inte är särskilt exakt. Hur ska då ett särskilt resultat kunna få en högre frekvens än andra?
Användarvisningsbild
JimmyAndersson
Inlägg: 26511
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Det finns ett mönster i de siffrorna.
A: 28% = 3
B: 22% = -3
C: 24% = -1
D: 26% = 1
Sista siffran anger hur många procentenheter det skiljer mot 25%.

Redan vid 18st slumptal blir det såhär:
A: 5,1 träffar
B: 3,9 träffar
C: 4,2 träffar
D: 4,7 träffar

Jag skulle inte vilja ha satsat på B. :D
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Jag testade med en annan implementering nu, och då fick jag följande ressultat:
A: 223
B: 211
C: 215
D: 221


Men när jag funderar mera på det så kanske de här värdena inte är till någon användning över huvudtaget eftersom detta bara visar att klockan på test PIC'en liger i lite otackt med slumpgeneratorns, vilket gör att det blir ett specielt mönster :?:

Jag tänkte testa trigga den själv några gånger, men då kan man ju inte begära att det ska bli en helt gämn fördelning, för att det beror ju just på slumpen när jag trycker.. Men någorlunda lika får det ju vara :)

Edit: Rättade "förselning" till "fördelning"..

Mvh..
Användarvisningsbild
JimmyAndersson
Inlägg: 26511
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Nu ser det mycket bättre ut. Då blir det:

A: 26% = 1
B: 24% = -1
C: 25% = 0
D: 25% = 0

Vid fyra slumptal får man då:

A: 1,025
B: 0,970
C: 0,988
D: 1,016
vilket ändå ger rätt fördelning vid avrundning till heltal.

Jag fick köra 71st slumptal för att det skulle bli "orättvist":

A: 18,198
B: 17,219
C: 17,545
D: 18,035


Det är kul att räkna på slumptal och statistik. :)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Jepp, det lät rätt bra! :)

Men, nu har jag suttit och tråkat ut mig med att trycka på en knapp i ca. en halvtimme :), (Vilket jobb!) och resultaten blev inte jätte bra..
A: 61
B: 45
C: 34
D: 55

Vilket ger:
31%
23%
17%
28%
(Avrundat till närmsta procent).

Efter att ha kollat igenom koden så kan jag förstå om "A" skulle bli större än de andra, dock kan jag inte förstå varför "C" skulle bli mindre.. Jag tvivlar på att det beror på slumpen när det blir så stor skillnad.. :/

Det blir väll att koda om så att den blir lite bättre innan man skickar ut de första utverderingsexemplaren :)

Mvh..
Användarvisningsbild
GrodanB
Inlägg: 245
Blev medlem: 11 februari 2006, 16:46:25
Ort: Göteborg
Kontakt:

Inlägg av GrodanB »

squiz3r skrev: Jag tänkte testa trigga den själv några gånger, men då kan man ju inte begära att det ska bli en helt gämn fördelning, för att det beror ju just på slumpen när jag trycker.. Men någorlunda lika får det ju vara :)
Mvh..
Men det är ju PRECIS det man kan begära OM du är slumpmässig alltså...

Är du slumpmässig men inte din krets då är det så att ett nummer kommer "favoritiseras". Är ni båda icke slumpmässiga kan ni ta ut varandra men sannorlikt kommer ett mönster upp då med...

Lycka till hoppas jag inte gjort dig upprörd :)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

"Men det är ju PRECIS det man kan begära OM du är slumpmässig alltså... "
Det håller jag inte med om! :D Berroende på när jag trycker kan den ju inte bli samma exakt samma varje gång! Då är det ju ingen slumpgenerator, en slumpgenerator ska ju ge lite olika tal, och det finns inget som garanterar att det blir exakt samma varje gång :) (??)

Skulle möjligen vara om man la in så att det är störrre chans att det blir en av dem som det inte har blivit så många ggr :)

Och dessutom, om det ska bli olika värden olika ggr, men ge exakt samma resultat i slutändan måste det ju vara efter ett X antal ggr, för att efter X + 1gång blir det ju ojämnt igen :)

-------------------

Jag har programmerat om den nu, och i början verkade det inte fungera alls, det började med att "D" tändes 3ggr på rad, sen kom 1 på "B" och sen två till på "D", sen 1 på "C" och en till på "D". Och sen blev det mer normalt, men "A" släpade efter välldigt mycket, men efter ett tag hade den kommit iffat och det stog:
A: 11
B: 11
C: 12
D: 12

Men detta är lite för få för att dra en slutsatts, så nu ska jag gå och fortsätta med mitt IQ krävande jobb att trycka på en knapp om och om igen :D

Mvh..
Användarvisningsbild
JimmyAndersson
Inlägg: 26511
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Det går att ordna så att knappen trycks automatiskt vid slumpmässigt utvalda tider. Ett enkelt sätt att ordna detta är att förstärka signalen från t.ex TV'n eller radion (källan bör innehålla mest prat, helst inte musik). Anslut en schmitt-trigger och en 555'a som ser till att pulsen blir lika kort varje gång. Klart. :)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Smart! Man skulle ju kunna testa att ta en OP_AMP och "överförstärka" också, men det bruset kanske är "symetriskt"?? :)

Får bli något sånt när jag hinner :D
Skriv svar