
- •Моделирование и проектирование в инфокоммуникационных технологиях
- •Оглавление
- •Глава 1. Основные понятия, определения, классификация 9
- •Глава 2. Классификация методов моделирования 37
- •Глава 7. Программирование в среде «mathcad» 159
- •Глава 8. Оценка искажений сигналов при прохождении через нелинейные устройства 178
- •Глава 9. Цифровая фильтрация 186
- •Глава 10. Синтез линейных антенных систем 286
- •Глава 11. О моделировании канала связи 314
- •Введение
- •Глава 1. Основные понятия, определения, классификация
- •1.1 Понятия системы, модели и моделирования
- •1.2 Классификация радиотехнических устройств
- •Отличительные признаки устройств согласно данной классификации
- •Устройства пассивного и активного типа
- •Устройства автономного и неавтономного типа
- •Устройство с элементами сосредоточенного и распределенного типа
- •1.3 Основные типы задач в радиотехнике
- •1.4 Развитие понятия модели
- •1.4.1 Модель как философская категория
- •1.4.2 Моделирование – важнейший этап целенаправленной деятельности
- •1.4.3 Познавательные и прагматические модели
- •1.4.4 Статические и динамические модели
- •1.5 Способы воплощения моделей
- •1.5.1 Абстрактные модели и роль языков
- •1.5.2 Материальные модели и виды подобия
- •1.5.3 Условия реализации свойств моделей
- •1.6 Соответствие между моделью и действительностью в аспекте различия
- •1.6.1 Конечность моделей
- •1.6.2 Упрощенность моделей
- •1.6.3 Приближенность моделей
- •1.6.4 Адекватность моделей
- •1.7 Соответствие между моделью и действительностью в аспекте сходство
- •1.7.1 Истинность моделей
- •1.7.2 О сочетании истинного и ложного в модели
- •1.7.3 Сложности алгоритмизации моделирования
- •1.8 Основные типы моделей
- •1.8.1 Понятие проблемной ситуации при создании системы
- •1.8.2 Основные типы формальных моделей
- •1.8.3 Математическое представление модели «черного ящика»
- •1.9 Взаимосвязи моделирования и проектирования
- •1.10 Точность моделирования
- •Глава 2. Классификация методов моделирования
- •2.1 Реальное моделирование
- •2.2 Мысленное моделирование
- •Глава 3. Математическое моделирование
- •3.1 Этапы создания математических моделей
- •З.2 Компонентные и топологические уравнения моделируемого объекта
- •3.3 Компонентные и топологические уравнения электрической цепи
- •Глава 4. Особенности компьютерных моделей
- •4.1 Компьютерное моделирование и вычислительный эксперимент
- •4.2 Программные средства компьютерного моделирования
- •Глава 5. Особенности радиосистемы как объекта изучения методами моделирования на эвм
- •5.1 Классы радиосистем
- •5.2 Формальное описание радиосистем
- •Глава 6. Применение пакета прикладных программmathcadдля моделирования телекоммуникационных устройств
- •6.1 Основные сведения об универсальном математическом пакете программMathCad
- •6.2 Основы языкаMathCad
- •3.246Е – 3 – это число 0.003246;
- •6.2.1 Тип входного языкаMathCad
- •6.2.2 Описание текстового окнаMathCad
- •6.2.3 Курсор ввода
- •6.2.4 Содержание командных меню (2-ая строка)
- •6.2.5 Управление элементами интерфейса
- •6.2.6 Выделение областей
- •6.2.7 Изменение масштаба документа
- •6.2.8 Обновление экрана
- •6.2.9 Содержание инструментальных панелей подменю «математика»
- •6.3 Основные правила работы в среде «MathCad»
- •6.3.1 Удаление математических выражений
- •6.3.2 Копирование математических выражений
- •6.3.3 Перенос математических выражений
- •6.3.4 Вписывание в программу текстовых комментариев
- •6.4 Построение графиков
- •6.4.1 Построение графиков в декартовой системе координат
- •6.4.2 Построение графиков в полярной системе координат
- •6.4.3 Изменение формата графиков
- •6.4.4 Правила трассировки графиков
- •6.4.5 Правила просмотра участков двумерных графиков
- •6.5 Правила вычислений в среде «MathCad»
- •6.6 Анализ линейных устройств
- •6.6.1 Передаточная функция, коэффициент передачи, временные и частотные характеристики
- •6.6.2 Коэффициент передачиK(jω)
- •6.6.3 Амплитудно-частотная характеристика (ачх)
- •6.6.4 Определение переходной и импульсной характеристик
- •6.7 Методы решения в среде «MathCad» алгебраических и трансцендентных уравнений и организация вычислений по циклу
- •6.7.1 Определение корней алгеброических уравнений
- •6.7.2 Определение корней трансцендентных уравнений
- •6.7.3 Вычисления по циклу
- •6.8 Обработка данных
- •6.8.1 Кусочно-линейная интерполяция
- •6.8.2 Сплайн-интерполяция
- •6.8.3 Экстраполяция
- •6.9 Символьные вычисления
- •6.10 Оптимизация в расчетах рэа
- •6.10.1 Стратегии одномерной оптимизации
- •6.10.2 Локальные и глобальные экстремумы
- •6.10.3 Методы включения интервалов неопределенности
- •6.10.4 Критерии оптимизации
- •6.10.5 Методы поиска экстремума функции цели
- •6.10.6 Пример записи целевой функции при синтезе фильтров
- •6.11 Анимация графического материала в средеMathCad
- •6.11.1 Подготовка к анимации
- •6.11.2 Пример анимации графика
- •6.11.3 Вызов проигрывателя анимации графиков и видео файлов
- •6.12 Установка связиMathCaDс другими программными средами
- •Глава 7. Программирование в среде «mathcad»
- •7.1 Обзор инструкций
- •7.1.1 Инструкция Add line
- •7.1.2 Оператор внутреннего присваивания
- •7.1.3 Условная инструкция «if»
- •7.2.1 Особенность присвоения значения функции
- •7.2.2 Общие принципы задания операторов
- •7.3 Примеры составления программ
- •7.3.1 Пример задания комплекса условий
- •7.3.2 Пример расчета с заданной точностью
- •7.3.3 Пример расчета различных параметров одной и той же программой
- •7.4 Создание новых функций с помощью программирования
- •7.5 Поиск ошибок в программах
- •Глава 8. Оценка искажений сигналов при прохождении через нелинейные устройства
- •8.1 Оценка нелинейных искажений при компресии и ограничении аудиосигналов на входе цифровых трактов
- •Глава 9. Цифровая фильтрация
- •9.1 Рекурсивные цифровые фильтры
- •9.2 Формы реализации рекурсивных фильтров
- •9.3 Методика синтеза рф по аналоговому прототипу
- •9.3.1 Синтез аналогового фильтра прототипа
- •9.3.2 Расчет числа звеньев и определение полюсов и нулей низкочастотного фильтра прототипа
- •9.3.3 Переход от аналогового фильтра прототипа к цифровому фильтру
- •9.3.4 Порядок и пример синтеза цифрового рекурсивного фильтра
- •9.4 Синтез нерекурсивных фильтров
- •9.4.1 Синтез нерекурсивных фильтров методом весовых функций
- •9.4.2 Основные параметры весовых функций
- •9.4.3 Импульсные характеристики идеальных цф различного типа
- •9.4.4 Методика синтеза нф методом весовых функций и пример синтеза полосового цифрового фильтра
- •9.5 Синтез нерекурсивного фильтра методом частотной выборки
- •9.5.1 Методика синтеза нф методом частотной выборки
- •9.6 АктивныйRc-фильтры
- •9.7 Передаточные функции фильтров
- •9.8 Преобразование частот
- •9.9 Реализация звеньев первого порядка
- •9.10 Реализация звеньев второго порядка
- •Глава 10. Синтез линейных антенных систем
- •10.1 Общая постановка задачи
- •10.2 Характеристика направленности как целевая функция
- •10.3 Синтез линейного излучателя методом парциальных диаграмм направленности
- •10.4 Синтез излучателей методом интеграла Фурье
- •10.5 Описание программ синтеза линейного излучателя в средеMathcad
- •Определяем число отсчетов (выборок по u)! и определяем значение парциалов (коэффициентов Котельникова) в этих точках! Построение фукция распределения возбуждения рядом Фурье!
- •Программа расчета х.Н. Линейного излучателя методом Фурье! Определяем расчетную частоту и размеры антенны! Формируем дн антенны!
- •10.6 Синфазные антенные решетки с оптимальной диаграммой направленности
- •10.7 Расчет амплитудного распределения возбуждения в линейных антенных решетках
- •10.8 Программа синтез антенной решетки по заданному уровню боковых лепестков
- •Расчет дн антенны по найденному распределению питающих токов.
- •11.2 Определение погрешностей моделирования (оценки средней вероятности ошибки) методом малых отклонений
- •11.3 Погрешности моделирования канала при исследованиях двоичных систем связи
- •11.3.1 Когерентный прием при моделировании релеевских замираний
- •11.3.2 Прием сигналов относительной фазовой телеграфии при моделировании релеевских замираний
- •Литература
7.3.2 Пример расчета с заданной точностью
Рассмотрим программу подсчета суммы сходящегося ряда с заданной точностью, которая имеет ряд важных технических особенностей.
Проверку можно сделать с помощью оператора суммирования:
Разберем создание программы по пунктам.
1) Сначала вводим имя программы и блок из нескольких маркеров.
2) Задаем условный цикл «While» (пока). В качестве условия остановки в его правом маркере определим, что число операций суммирования не должно превышать 100000.
Это необходимо в связи с тем, что если ряд не сходится или сходится очень медленно, то подсчет может вестись неограниченно долго.
3) Затем задаем вид общего члена ряда:
Он определится как элемент вектора: это нужно для того, что бы затем была возможность подсчитать максимально просто сумму всех членов ряда.
4) Далее определяется условие остановки цикла. Делается это при помощи условного оператора «if». В качестве условия задано, что два соседних члена ряда должны отличаться по абсолютной величине не более, чем на 10-14 (такой подход возможен только в случае равномерной сходимости).
5 Определяется первый элемент вектора t0 как 0:
Иначе возникает проблема: с чем будет сравниваться первый член ряда.
6) В левом маркере условного оператора цикла (на самом деле он выводится ниже оператора) задаются те операции, которые должны быть произведены при выполнении условия точности.
Так как их несколько, то вводим дополнительный программный блок.
Во-первых, требуется произвести суммирование рассчитанных членов ряда. Так как они были сохранены в форме вектора, то операцию суммирования следует выполнить при помощи специального оператора суммы элементов вектора (Vector Sum) панели «матрица»:
Во-вторых, интересно узнать, сколько просуммировано элементов. А так как в качестве результата работы программы может быть выведен только один объект, то интересующие величины следует объединить в один вектор:
Для объединения операций в данном случае пришлось использовать оператор исключающего «или». При использовании логического «ИЛИ» ответ был бы выведен неполным: в нем бы присутствовало только значение суммы, и не было бы числа членов ряда.
Проще можно было бы объединение в один вектор произвести его непосредственным определением:
Так как задача программы выполнена, цикл должен быть остановлен. Делается это с помощью специального оператора остановки «Break». Он почти всегда используется с оператором «if».
7) В том случае, если условие точности выполнено не было, цикл должен продолжить свою работу. Однако на следующем круге должен быть рассмотрен уже следующий член ряда. Для этого следует увеличить значение переменной на 1:
Подобное переопределение переменной (или функции) через саму себя называется реккурентным.
Несмотря на то, что с точки зрения математики реккурентные выражения выглядят алогично, они являются одним из наиболее мощных и широко используемых средств компьютерной математики.
Первое значение переменной i (индекса) должно быть задано выше цикла как 1.
8) В конце первой программной линии вводим имя той величины, которая должна быть выдана в качестве ответа. В нашем случае это вектор «Sum».
Необходимо помнить, что в качестве результата работы программы выводится значение того выражения, которое находится в последнем маркере главного программного блока.
Ошибившись с его определением (или забыв задать его вовсе), можно получить совсем не тот ответ, который соответствует решению данной задачи.