Современный мир сложно представить без компьютеров. Любой процессор состоит из логических элементов, понимающий только двоичные числа, и для выполнения той или иной задачи ему нужно передать определенную команду. В самом начале развития программирования команды напрямую вносились в память устройства. Это был довольно долгий процесс, и на смену пришел ассемблер — язык более высокого уровня, который позволяет управлять расположением команд в памяти. Программы, написанные на языке ассемблера, являются машиннозависимыми. Поэтому с развитием технологий появились языки высокого уровня, такие как: С, С++, С#, Python и другие. Стандартизация языков подразумевала использование программ независимо от типа компьютера.
В обработке радиолокационных сигналов широко используется программирование: реализация цифровых фильтров, построение траекторий, принятие сигнала, моделирование различных систем РЛС и т. д.
Возьмем интегральную среду разработки Visual studio для написания кода на языке С и сгенерируем шум, получаемый на вход приемника вместе с сигналом, и рассмотрим его параметры. Шум — случайная величина, распределенная по закону Реллея. Для этого нам понадобится массив данных со случайными величинами. Команда «rand ()» выдает значения Х, распределенные по равномерному закону, для преобразования их воспользуемся формулой
где А величина, распределенная по закону Реллея.
Функция генерации СВ:
Значение А вызывает функцию Memory, которая выделяет динамическую память для нашей матрицы данных, в которой T — это количество экспериментов, а N — размер выборки. Это позволяет делать массивы переменной длины.
Функция выделения памяти для матрицы:
Затем обработаем полученные значения для формирования гистограммы. Создадим функцию Histogram. Она считает количество попадания данных в заданный интервал Еps при разбиении максимально допустимой величины Max на Step шагов. И записывает их в массив В, в котором после происходит вычисление вероятности. Для массива тоже выделим память при помощи функции Mass.