Читаем ещё раз код по слогам: максимально возможный номер элемента в массиве stuff, в который будет запись равен idx.
Т.к. вы пишете через stuff[count], а при count >= idx+1 в ветку записи выполнение не заходит.
А при чтении вы используете FOR t:=0 TO (idx+1) DO.
Т.е. t может принимать значение idx+1, и вы в итоге пытаетесь прочитать значение stuff[idx+1], а это значение не инициализировано.
Давайте вы всё-таки поправите эту ошибку любым удобным вам образом (массив побольше, или убрать idx+1 из границы FOR цикла), и сделаете эксперимент ещё раз?
Ошибка есть? Есть.
Давайте править, а потом уже обсуждать "как такое может быть"?
Вы же код больше любите, чем теорию.
И, да. Конкретно для теста frequency сам массив не нужен.
Можно просто прибавлять новое значение к sum (+1 или -1) и считать количество (ну, чтобы потом на корень из n поделить). Таким образом можно и 100'000 и больше бит тестировать.
Давайте всё-таки сначала исправим сам код, а потом уже будем делать выводы?
На всякий случай: эту вашу позицию я услышал, и сразу соглашусь с ней/признаю что был неправ и всё такое, если появятся реальные подтверждения, что ГСЧ на ПЛК работает не так как на ПК (ну, T_PLS_MS не считается -- тут само собой понятно, что на ПК и ПЛК будут отличия).
Да, у вас была неплохая заявка на доказательство, но, к сожалению в коде ошибка.





