Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) ( 18 ) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (18)

HriNi ИПЫа + nNi sin 1 + HON, HUN-j X sin <

II для 0 = PNi, n/10 = PN2, 0,I=PN3 получим л;(0 =0,041117216; 0,099697863; 0,17024185; 0,24453219; 0,31286892; ...

9. Сигнал с угловой (частотной или фазовой) модуляцией

.v(0 = sin((2nie/T) + Ф sin(2nie/r„)), 1 ue Г и Гм - периоды соответственно несущей и модулирующего сигнала, при 2.40/r = PN2. 7"/Г,м = РЫз, Ф = PN4 моделируется фрагментом

HnNi ИПЫз + ПХз ИПХз X sin UWSt X HONi

-f- sin

Для 0 = PN, л/10 = РМ2, 0,1=РМз, 0,5 = PN4 получи.\1 xfi) =0,32,391496; 0,61289077; 0,83576911; 0,96854207; ...

10. Сигнал с линейной частотной модуляцией (ЛЧМ), когда io(()=a)o + i, x(i) = sin((2n(0/r)

при \/k 2 = PNj, 2я9/Г \k:2 = PN, генерируется фрагментом HON, HONa t nN, t HONj -f X sin ...

Для A=8, 0=PN. 2 = PN2, 0,1=РЫз получим л;(0 =-0,87157584; -0,63810691; -0,89080387; 0,92208907; 0,45202783; ...

11. Радиоимпульс длительностью т = А9 с периодом 7"=(т--)6 с высокочастотным заполнением sin(2niO/7B) при m = PNi, 2я9/Гв = РМ2 моделируется, например, фрагментом

HnNi I -\- nNi т - х<0 И Сх БП 19 k - хО 03 UnNiHnN., X cos (или sin) ...

Для 6 = PN,, m = 9, /? = 9,2яе/Гв = я/5 = РЫ2 получим x{i)=0; 0; 0,80901704; "l; 0,80901704; 0,30901703; -0,30901703; -0.80901704; -1; -0,80901704; -0.30901703; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0,80901704;...

Приведенные примеры могут служить основой и для моделирования детерминированных сигналов другой формы.

12. Случайные сигналы х (i) с известным распределением.

Работа ЭВМ по заданной программе является детерминированным процессом, с помощью которого, строго говоря, невозможно получить случайные результаты. Поэтому случайные процессы моделируют на ЭВМ последовательностями некоррелированных чисел с требуемым распределением, называемых квазислучайными или псевдослучайными числами. Общий способ получения таких последовательностей заключается в вычислении для очередного элемента последовательности Xi функции f{Xi)>Xi с последующим отбрасыванием содержимого нескольких старших разрядов значения f{Xi). .Зрачение содержимого оставшихся разрядов и принимается в качестве следующего эл1>мента л;(+1.

Для генерирования последовательности целых квазислучайных чисел с равномерным распределением в интервале (0; а) обычно используют фор.мулу вычетов

Zibzj-i-aE(bZi-\ja),



где а и b - целые числа (а>6), а £()-символ целой части содержимого скобок.

Период (число неповторяющихся элементов) последовательности г, зависит от выбора коэффициентов а и Ь. Хорощие результаты дает метод Коробова, согласно которому а выбирают из множества больших простых чисел 2027, 5087,

10079..... а й = а-3«а/2, где с - положительное целое число. Начальное

значение го выбирают из множества целых чисел интервала (0; а). Фрагмент формирования представляет самостоятельный интерес, поэтому представим его в виде отдельной программы.

Программа 44. Генерирование целых неповторяющихся чисел Zi с равио-.мерным распределением в интервале (0; а)

ИП9 ИПВ X П8 ИПА 1 + ПЗ КИПЗ ИП8 ИПЗ ИПА X - П9 С/П БП 00

Инструкция. (о = РА, 6=РВ) 2o = P9 В/О С/П PX=2i С/П РХ=22 С/П РХ = 2з...(/ж7 с).

Длину этой программы можно сократить иа один щаг, если ее основная часть ие используется в качестве начального фрагмента более сложной программы. Для этого следует исключить оператор П9 перед оператором С/П, а начальный оператор ИП9 заменить оператором П9. В этом случае формулу 2o = P9 в инструкции следует заменить на 2о = РХ и ие изменять содержимое РХ перед следующим пуском программы нажатием клавиш С/П илн В/О и С/П.

Пример. При а=2027, й=1298, 2о=100 получим 2, = 72; 214; 73; 1512; 440; 1533; 1347; 1132; 1788; 1936; ...

Выбор коэффициентов а и 6 по методу Коробова обеспечивает максимальный период генерируемых последовательностей 2,-, равный а, но каждая такая последовательность определяется выбором начального значения 2o. Обычно ква-зислучайные числа с равномерным распределением генерируют в стандартном интервале (0; 1) с последующим его преобразованием по мере необходимости. Для генерирования таких квазилинейных чисел Xi достаточно дополнить программу 44 фрагментом ИПА -4- перед оператором С/П. В этом случае, например, при 20=100 получим л;< = 0,035520437; 0,10557474; 0,036013813; 0,74592994; 0,21706956; ...

Если не требуется большого периода генерируемой последовательности квазилинейных чисел с равномерным распределением в интервале (0; 1), то, выбрав

простейшую функцию f{Xi)>xi, обеспечивающую достаточно большой период, можно упростить программу и уменьшить время ее выполнения.

Программа 45. Генерирование квазнслучайных чисел Xi с равномерным распределением в интервале (0; 1)

ИП9 я + е" П9 КИП9 ИП9 - П9 С/П БП 00

Инструкция. л;о = Р9 В/О С/П PX = x:i С/П РХ=х:2 С/П РХ = х:з ... {t5 с).

Пример. Для л;о=0,5 получим л;,-=0,152545; 0,954155; 0,084227; 0,174197; 0,544131; .



Эту программу (если ее основная часть не используется в качестве фрагмента более сложной программы) также можно сократить иа один шаг, исключив оператор П9 перед оператором С/П и заменив начальный оператор ИП9 на оператор П9. В этом случае перед первым пуском программы значение Хо следусг набрать в регистре РХ и не изменять его содержимого перед каждым следую щим пуском программы.

Последовательности квазислучайиых чисел с распределениями, отличающимися от равномерного, обычно формируют путем аналитических преобразований квазислучайных чисел Xi с равномерным распределением в интервале (0; 1). Например, для получения последовательности квазислучайных чисел г,- с распределением Рэлея достаточно каждый очередной элемент Xi генерируемой последовательности квазислучайных чисел с равномерным распределением в интервале (0; 1) преобразовать по формуле г,-=У2о1п (1/л:,), реализуемой фрагментом

1/х 1п ИПД X 2 X > прн л;,=РХ, 2а2 = РД.

Для генерирования квазислучайных чисел у, с нормальным распределение удобно использовать аналитическое преобразование i/,-=r(sin(2nJCi i) предварительно формируемых квазислучайных чисел г, с распределением Рэлея и Xi с равномерным распределением в интервале (0; 1).

Программа 46. Генерирование квазислучайных чисел xi с равномерным распределением в интервале (0; 1), г, с распределением Рэлея и у, с нормальным распределением, дисперсией и математическим ожиданием а

ИП9 П6 я П9 КИП9 ИП9 -

П9 1/х 1п ИПД X 2 X V- П8 ИПб

2 X я X sin X ИПА 4 С/П БП

Инструкция. Установить переключатель Р-ГРД-Г в положение Р; (а=РА, а2 = РД) л;о = Р9 В/О С/П PX=i/,, Р8 = Г, Р9 = х:, С/П PX=i/2, Р8 = Г2, , Р9 = л;2 С/П РХ = 1/з, Р8=г,, Р9 = л;з ... («11 с).

Пример. При а2=2, а=2, Xo=0,5 получим у,=2; 2,354544; 1,1062826; 3,3347921; 3,3865675; ...; г,-=2,7424774; 0,4332625; 3,1459434; 2,6439125; 1,5602118; ...; л;, = 0,152445; 0,954155; 0,084227; 0,174197; 0,544131; ...

Может оказаться целесообразным и составление отдельной программы для квазислучайных чисел п с распределением Рэлея, характерным, например, для распределения помех иа выходе амплитудного детектора

Wr) =ге-/2°/а2, г>0.

При надлежащем выборе нелинейного преобразования равномерно распределенных квазислучайных чисел можио моделировать случайные числа и с другими распределениями.

Генерирование квазислучайных чисел упрощается при использовании ПМК, с входным языком ЯМК52. Так, при использовании оператора [х] для выделения целой части числа длина программы 44 значительно уменьшается.

Программа 47/52. Генерирование целых неповторяющихся чисел Zt из интервала (0; а)



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) ( 18 ) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100)