Gerando números aleatórios com ARM

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Gerando números aleatórios com ARM

Mensagempor gibim » 28 Dez 2006 22:40

Amigos, em um determinado projeto de sorteio, estava com dificuldades em gerar números realmente aleatórios, e não apenas ficar usando a função rand(), que é algo pseudo-aleatório. E com isso encontrei grandes dificuldades que espero ter superado. Só preciso achar outras formas de testar.

Alguém conhece algum algorítmo de descorelação de bits, ou que cause entropia nos bits? Estranho neh! E pode ter certeza que é realmente complicado gerar números genuínamente aleatórios. No meu projeto eu criei um gerador de ruído, (ver links), leio o sinal da porta a cada 2us, faço um clareamente dos bits (elimino excesso de repetições) usando o método de Von Neumann e depois tiro o hash com Sha1, Ufffa!, só que é meio demorado, tendo em vista minha demanda de números aleatórios.


referências:

http://www.araneus.fi/products-alea-eng.html (produto comercial que se conecta na USB)

http://www.ciphersbyritter.com/RES/RNGMACH.HTM (Discussões de "randomness")

http://rfc.net/rfc1750.html (Definições do que é ser randômico)

http://www.ciphersbyritter.com/NOISE/NOISRC.HTM (meu esquema elétrico)

http://en.wikipedia.org/wiki/Random_number_generator (+ coisas pra ler)

http://www.google.com/codesearch?hl=pt- ... erand.c#a0 (Programa de hash em SHA1)
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

RAND

Mensagempor tcpipchip » 31 Dez 2006 16:17

Oi.
Em um dos livros arm que tenho aqui eu achei um capitulo especial sobre o assunto e fiz uma copia digital para ti.
Pegue aqui...
So tem 1 pagina mesmo.
ImagemAbraços
TCPIPCHIP
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor xultz » 04 Jan 2007 23:32

Pros mais curiosos, o livro em questão é o ARM System Developers Guide, que estou lendo, e o livro é espetacular.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor microeletronica » 05 Jan 2007 21:16

Oi Xultz, conhece o Addison Wesley - Steve Furber - Arm System-On-Chip Architecture (2nd Edition) ?

Posso te mandar.
Emule total.

[]s
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor xultz » 06 Jan 2007 09:10

Eu já imprimi :)
Mas ainda não tive o maldito tempo de ler...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor jeanfernandes » 06 Jan 2007 10:49

ces precisam usar eh um adobe que fala
ai poe o head phone e vai dormir

de umas 100 paginas acho que umas 10 fica na memoria

kkkkkkkkkkkkkkkkkk em 10 dias voce le o livro todim e fica sabendo tudo de ARM.

kkkkkkkkkkkkkkkkkkk
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor xultz » 06 Jan 2007 13:28

Eu consigo essa proporção de 10 páginas a cada 100 lendo o livro com atenção...
Ficar velho sux...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor gibim » 09 Jan 2007 21:03

Amigos... Dei uma sossegada por esses dias e voltei aos trabalhos, e sobre o gerador, consegui resultados 99% coerentes com a função rand() do linux. Veja os resultados: Um arquivo lido, via serial, de 50Mb

Qualquer coisa posso auxiliar os demais, caso precisem.

Value Char Occurrences Fraction
0 209820 0.003898
1 209928 0.003900
2 210543 0.003912
3 210160 0.003904
4 210577 0.003912
5 210559 0.003912
6 211130 0.003922
7 209988 0.003901
8 210488 0.003910
9 209952 0.003901
10 210239 0.003906
11 209497 0.003892
12 210813 0.003917
13 209729 0.003896
14 210408 0.003909
15 210421 0.003909
16 209462 0.003891
17 210287 0.003907
18 210952 0.003919
19 210544 0.003912
20 210864 0.003917
21 209660 0.003895
22 210391 0.003909
23 210497 0.003911
24 212263 0.003943
25 210022 0.003902
26 210000 0.003901
27 210012 0.003902
28 209978 0.003901
29 210870 0.003918
30 210284 0.003907
31 210497 0.003911
32 210609 0.003913
33 ! 209672 0.003895
34 " 211262 0.003925
35 # 210556 0.003912
36 $ 209803 0.003898
37 % 211351 0.003927
38 & 210564 0.003912
39 ' 209795 0.003898
40 ( 210056 0.003902
41 ) 210118 0.003904
42 * 210474 0.003910
43 + 211128 0.003922
44 , 210945 0.003919
45 - 209933 0.003900
46 . 210497 0.003911
47 / 209355 0.003889
48 0 210323 0.003907
49 1 210012 0.003902
50 2 211136 0.003923
51 3 210036 0.003902
52 4 209925 0.003900
53 5 210617 0.003913
54 6 209877 0.003899
55 7 210048 0.003902
56 8 210381 0.003908
57 9 211191 0.003924
58 : 209745 0.003897
59 ; 210170 0.003905
60 < 210660 0.003914
61 = 210200 0.003905
62 > 209955 0.003901
63 ? 210303 0.003907
64 @ 210087 0.003903
65 A 210421 0.003909
66 B 209456 0.003891
67 C 210515 0.003911
68 D 210551 0.003912
69 E 210060 0.003903
70 F 211090 0.003922
71 G 210023 0.003902
72 H 210228 0.003906
73 I 209881 0.003899
74 J 210574 0.003912
75 K 210061 0.003903
76 L 211164 0.003923
77 M 209032 0.003883
78 N 210268 0.003906
79 O 210762 0.003916
80 P 210672 0.003914
81 Q 210110 0.003903
82 R 211013 0.003920
83 S 210730 0.003915
84 T 210024 0.003902
85 U 209793 0.003898
86 V 209984 0.003901
87 W 210529 0.003911
88 X 210164 0.003904
89 Y 210143 0.003904
90 Z 210888 0.003918
91 [ 210641 0.003913
92 \ 210017 0.003902
93 ] 210446 0.003910
94 ^ 209811 0.003898
95 _ 210154 0.003904
96 ` 210306 0.003907
97 a 209844 0.003899
98 b 210665 0.003914
99 c 210339 0.003908
100 d 210486 0.003910
101 e 210953 0.003919
102 f 209996 0.003901
103 g 209318 0.003889
104 h 209606 0.003894
105 i 210576 0.003912
106 j 210222 0.003906
107 k 209872 0.003899
108 l 209659 0.003895
109 m 210106 0.003903
110 n 209335 0.003889
111 o 210079 0.003903
112 p 210034 0.003902
113 q 210318 0.003907
114 r 209703 0.003896
115 s 209290 0.003888
116 t 210593 0.003912
117 u 210229 0.003906
118 v 210051 0.003902
119 w 211147 0.003923
120 x 210045 0.003902
121 y 209846 0.003899
122 z 211234 0.003924
123 { 210623 0.003913
124 | 210463 0.003910
125 } 209824 0.003898
126 ~ 210067 0.003903
127 209926 0.003900
128 210561 0.003912
129 210296 0.003907
130 209482 0.003892
131 210014 0.003902
132 209953 0.003901
133 210667 0.003914
134 210290 0.003907
135 211151 0.003923
136 210927 0.003919
137 210317 0.003907
138 209437 0.003891
139 209845 0.003899
140 209585 0.003894
141 210206 0.003905
142 210821 0.003917
143 210724 0.003915
144 209267 0.003888
145 210606 0.003913
146 210062 0.003903
147 209102 0.003885
148 210284 0.003907
149 210488 0.003910
150 210737 0.003915
151 209574 0.003893
152 210864 0.003917
153 210018 0.003902
154 210806 0.003916
155 211100 0.003922
156 209973 0.003901
157 209307 0.003889
158 210208 0.003905
159 210652 0.003914
160 210650 0.003913
161 ¡ 209809 0.003898
162 ¢ 210697 0.003914
163 £ 211371 0.003927
164 ¤ 209846 0.003899
165 ¥ 210236 0.003906
166 ¦ 210058 0.003902
167 § 209789 0.003897
168 ¨ 210375 0.003908
169 © 209283 0.003888
170 ª 210913 0.003918
171 « 211117 0.003922
172 ¬ 209999 0.003901
173 ­ 211218 0.003924
174 ® 210967 0.003919
175 ¯ 210051 0.003902
176 ° 210248 0.003906
177 ± 211215 0.003924
178 ² 209709 0.003896
179 ³ 210488 0.003910
180 ´ 209901 0.003900
181 µ 210390 0.003909
182 ¶ 209932 0.003900
183 · 210408 0.003909
184 ¸ 210291 0.003907
185 ¹ 210378 0.003908
186 º 210910 0.003918
187 » 210165 0.003904
188 ¼ 210293 0.003907
189 ½ 209790 0.003898
190 ¾ 210310 0.003907
191 ¿ 210870 0.003918
192 À 210987 0.003920
193 Á 210429 0.003909
194 Â 210230 0.003906
195 Ã 209852 0.003899
196 Ä 210624 0.003913
197 Å 210339 0.003908
198 Æ 210793 0.003916
199 Ç 210454 0.003910
200 È 209609 0.003894
201 É 210165 0.003904
202 Ê 209940 0.003900
203 Ë 209923 0.003900
204 Ì 209896 0.003899
205 Í 210323 0.003907
206 Î 210100 0.003903
207 Ï 210186 0.003905
208 Ð 210129 0.003904
209 Ñ 209890 0.003899
210 Ò 210036 0.003902
211 Ó 209844 0.003899
212 Ô 209713 0.003896
213 Õ 210146 0.003904
214 Ö 210257 0.003906
215 × 209549 0.003893
216 Ø 210098 0.003903
217 Ù 210152 0.003904
218 Ú 210529 0.003911
219 Û 209982 0.003901
220 Ü 210558 0.003912
221 Ý 210442 0.003910
222 Þ 209172 0.003886
223 ß 210606 0.003913
224 à 209453 0.003891
225 á 209866 0.003899
226 â 210964 0.003919
227 ã 209957 0.003901
228 ä 210188 0.003905
229 å 210445 0.003910
230 æ 210148 0.003904
231 ç 209853 0.003899
232 è 209839 0.003898
233 é 209917 0.003900
234 ê 210646 0.003913
235 ë 211048 0.003921
236 ì 210405 0.003909
237 í 210019 0.003902
238 î 210745 0.003915
239 ï 210486 0.003910
240 ð 209769 0.003897
241 ñ 210247 0.003906
242 ò 209903 0.003900
243 ó 210564 0.003912
244 ô 210337 0.003908
245 õ 210594 0.003912
246 ö 209778 0.003897
247 ÷ 210480 0.003910
248 ø 210141 0.003904
249 ù 209620 0.003894
250 ú 210256 0.003906
251 û 210791 0.003916
252 ü 210452 0.003910
253 ý 210079 0.003903
254 þ 210110 0.003903
255 ÿ 210031 0.003902

Total: 53826664 1.000000

Entropy = 7.999996 bits per byte.

Optimum compression would reduce the size
of this 53826664 byte file by 0 percent.

Chi square distribution for 53826664 samples is 286.30, and randomly
would exceed this value 10.00 percent of the times.

Arithmetic mean value of data bytes is 127.4865 (127.5 = random).
Monte Carlo value for Pi is 3.141055678 (error 0.02 percent).
Serial correlation coefficient is 0.004073 (totally uncorrelated = 0.0).

Chi square distribution for 430613312 samples is 0.71, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bits is 0.5000 (0.5 = random).
Monte Carlo value for Pi is 3.141055678 (error 0.02 percent).
Serial correlation coefficient is -0.000041 (totally uncorrelated = 0.0).
Value Char Occurrences Fraction
0 215315428 0.500020
1 215297884 0.499980

Total: 430613312 1.000000

Entropy = 1.000000 bits per bit.
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor tcpipchip » 11 Jan 2007 20:57

xultz

Tambem estou nas paginas finais do livro.
Um excelente livro e muito bem escrito...

Pena que ele nao deu muita enfase no BARREL SHIFTER ;(

TCPIPCHIP
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor kubiak » 14 Ago 2007 21:10

Xults,

Voce podeira por favor, Falar o LINK de onde se baixa o Livro:

ARM System Developers Guide... (PDF)

Eu tentei no Emule mas não tem!!!
No google também não....

Obrigado...
kubiak
Bit
 
Mensagens: 37
Registrado em: 11 Out 2006 19:28
Localização: São Paulo - Brasil


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x