Генератор случайных чисел. Ознакомление с одним из приложений процессоров цифровой обработки сигналов, страница 2

6.5. Результаты работы программы (таблица генерируемой последовательности случайных чисел).

7. Контрольные вопросы

7.1. Расскажите о блоке таймера, его функциональном назначении и внутренней структуре.

7.2. Опишите принцип работы таймера и роль таймера в работе программы.

7.3. Каковы особенности проверки программы в пошаговом режиме, если в ней используются прерывания?

7.4. Какие инструкции программы и как влияют на частоту следования случайных чисел?

7.5. Как определить период прерываний от таймера при выполнении программы в имитаторе, если выражать его в циклах процессора?

7.6. Опишите последовательность выполнения инструкций в программе, использующей прерывания.

7.7. Каковы роль и особенности выполнения и использования инструкции IDLE?

7.8. Изобразите укрупнённый графический алгоритм программы, использующей прерывание.  Расскажите о её работе.

7.9. Как обеспечить генерацию в ЦСП случайных чисел с частотой 8 кГц? Укажите конкретные параметры программы.

7.10. Выпишите строки, которые нужно включить в программу, чтобы вывести случайные числа в отсутствующий пока массив array_random[20].

7.11. Изобразите алгоритм и поясните принцип формирования равномерно распределённых случайных чисел.

7.12. Изобразите функцию распределения случайных чисел, генерируемых предложенной программой. Опишите операцию, введённую Вами в программу для приведения результатов к дробному формату.

7.13. Как можно убедиться, что генерируемые случайные числа имеют равномерное  распределение.

7.14. От чего зависит и чему равна длина неповторяющейся последовательности случайных чисел.

7.15. Изобразите алгоритм формирования случайных чисел с треугольным распределением путём сложения двух чисел с равномерным распределением.

ПРИЛОЖЕНИЕ

Программы к ЛР № 7

/* ADSP-2181 Random Subroutine                                                               файл Random.asm

Эта подпрограмма вычисляет случайные числа с равномерным распределением, используя метод линейного согласования по уравнению

х(n+1) = (a× x(n)c) mod m, где mod – операция получения остатка от целочисленного деления слова двойной длины на = 232.  Умножение целых чисел ведётся без использования ENA M_MODE.

Вызываемые параметры:

SR1 = старшее слово начального значения

SR0 = младшее слово начального значения

Возвращаемые значения:

AR  = случайное число

SR1 = старшее слово нового начального значения

SR0 = младшее слово нового начального значения

Используемые регистры  MY0, MY1, MR, SI, SR, AR

Время выполнения  10*N + 4 циклов

*/

.section/pm  program;

.GLOBAL  urand;                                           // Объявление функции urand

urand:                                                              // Метка входа в подпрограмму

MY1=25;                                            // Старшая часть  числа a(hi)

MY0=26125;                                          // Младшая часть числа a(lo)

AR=SR1, MR=SR0*MY1(UU);            // a(hi) * x(lo) * 2 }