Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Чем больше передавать за одну посылку, тем чаще будут невалидные посылки (при той же вероятности единичного сбоя) - очевидно же
|
17 May 2013 13:12 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Совершенно нет... может быть ни одной. Это же вероятность, а не обязательство.
_________________ iLavr
|
17 May 2013 14:36 |
|
|
He3HauKo
Senior
Joined: 09 Aug 2012 11:20 Posts: 176 Location: 95.135.174.189
|
Товарищи физики-теоретики, таким темпом мы скоро к квантовой механике дойдем
Я всего то предложил поднять на несколько байт во благо определения параметров железки!!!!
1 байт - на тип устройства
2 байта - на количество портов
3 байта - на количество памяти
Чтобы не ужимать прям до бит, и не делить память по параграфам или чем то еще(секторам).
К то муже простенькая проверка на ошибки все исправит!
_________________Хочу стать всезнайкой
|
17 May 2013 15:06 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Если мы будем много раз пробовать, то количество будет приближаться к соотношеню, определяемому вероятностью - чему вас там в ваших академях учут?
P.S. Я не просто так делю память по страницам кратным степеням двойки - так декодеры адресов будут проще...
|
17 May 2013 15:13 |
|
|
He3HauKo
Senior
Joined: 09 Aug 2012 11:20 Posts: 176 Location: 95.135.174.189
|
Тут то я согласен!!!!
А в остальном....
_________________Хочу стать всезнайкой
|
17 May 2013 16:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да вот тому, что тебе совершенно верно He3HauKo с самого начала заметил...
_________________ iLavr
|
17 May 2013 16:30 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Для особо непонятливых - программка:
| | | | Code: #include <stdio.h> #include <time.h> int main(int argc,char **argv) { int i,j,k,c,ok; int number_of_packets = 100; int bits_per_packet = 10; int total_bits = 0; int error_bits = 0; int error_packets = 0; srand(time(NULL)); if(argc>1) number_of_packets = atoi(argv[1]); if(argc>2) bits_per_packet = atoi(argv[2]); printf("\n"); for(j=0;j<number_of_packets;j++) { ok = 1; for(i=0;i<bits_per_packet;i++) { k = rand()%100; if(k==99) c='*'; /* one percent of errors */ else if(k>=50) c='1'; else c='0'; printf("%c",c); if(c=='*') { ok=0; error_bits++; } total_bits++; } if(ok) printf(" - GOOD\n"); else { printf(" - BAD\n"); error_packets++; } } printf("\n"); printf("Bits per packet - %i\n",bits_per_packet); printf("Total bits - %i\n",total_bits); printf("Error bits - %i (%2.2f%%)\n",error_bits,(error_bits*100.0/total_bits)); printf("Total packets - %i\n",number_of_packets); printf("Failed packets - %i (%2.2f%%)\n",error_packets,(error_packets*100.0/number_of_packets)); printf("\n"); return 0; }
| | | | |
Программка принимает из командной строки 2 аргумента - количество посылок (пакетов) и количество бит в посылке. Исходя из предположения, что 1% передаваемых бит передаётся с ошибкой, программа симулирует передачу и подсчитывает кол-во плохих пакетов. Вот запуски с одинаковой вероятностью ошибки 1% и с одинаковым количеством пакетов, но с разной их длиной (10,20 и 30):
Ещё вопросы есть?...
|
17 May 2013 19:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Исходя из взятого с потолка " предположения, что 1% передаваемых бит передаётся с ошибкой",
никаких вопросов к автору нет.
Только вероятность не имеет ничего общего с этим предположением.
Это больше похоже на внесение некой систематической погрешности...
А для "этажерки", где платы фактически рядом, 1% передаваемых по SPI бит с ошибкой -
это не очень хорошая реализация SPI - не более того.
_________________ iLavr
|
18 May 2013 03:11 |
|
|
He3HauKo
Senior
Joined: 09 Aug 2012 11:20 Posts: 176 Location: 95.135.174.189
|
Вероятность появления ошибки при передачи 100 байт больше, чем при передачи 1 байта. Но вероятность самого появления ошибки в том или другом варианте одинакова!
_________________Хочу стать всезнайкой
|
18 May 2013 04:03 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Угу - вот только единичная ошибка в пакете делает ВЕСЬ пакет невалидным...
|
18 May 2013 06:27 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
| | | | Lavr wrote: Исходя из взятого с потолка " предположения, что 1% передаваемых бит передаётся с ошибкой", никаких вопросов к автору нет. Только вероятность не имеет ничего общего с этим предположением. Это больше похоже на внесение некой систематической погрешности... А для "этажерки", где платы фактически рядом, 1% передаваемых по SPI бит с ошибкой - это не очень хорошая реализация SPI - не более того. | | | | |
Я могу тоже самое пересчитать для 0.1% - суть презентации была показать, что процент отбраковки пакетов сильно зависит от их длины при прочих равных...
|
18 May 2013 06:30 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А зачем? Это никак с вероятностью не связано...
Если бы процесс был вероятностный - то в твоих тестах не было бы такого количества ошибок,
как и такого регулярного их появления.
Лучше собирай свой железный SPI, и ты увидишь, что взятые тобой с потолка проценты не имеют
к нему никакого отношения, как на взятой тобой длине посылок, так и на той, о которой He3HauKo
говорил... "Прочих равных" - тут как раз и нет.
И его предложение " не ужимать прям до бит" - на мой взгляд, вполне верно, в рамках вышесказанного.
PS. Я поясню, чтоб не было впечатления о придирках: понятие вероятность вводится для случайного процесса. С этой точки зрения для выбранной тобой длины пакета и предложенной He3HauKoй - никакой практической разницы нет. Поскольку длины пакетов слишком малы, чтобы проявилась статистика случайного процесса. Если у тебя есть регулярный источник помех, что ты демонстрируешь своими выборками, то твои выкладки совершенно вернЫ, но только процесс этот не случайный, и говорить о вероятности - бессмысленно.
_________________ iLavr
|
18 May 2013 06:47 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Процесс будет иметь случайную составляющую, если у нас есть рейсы на пределе частоты работы или на порогах срабатывания логики и т.д.
|
18 May 2013 07:30 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну так я и говорил - лучше делать надежный интерфейс, нежели возиться с его статистикой!
_________________ iLavr
|
18 May 2013 07:32 |
|
|