Методичка к лабам

реклама
Поволжский Государственный Университет Телекоммуникаций и Информатики
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам
по дисциплине «Моделирование систем»
Автор-составитель:
Акчурин Э.А.
Коваленко Т.А.
д.т.н., профессор
ст. преподаватель
Редактор:
Акчурин Э.А.
д.т.н., профессор
Самара
2010
Оглавление
Введение .......................................................................................... 3
1. Моделирование устройства с помощью SimulinkError! Bookmark not
defined.
2. Моделирование системы с помощью Simulink ......................................... 4
3. Инструмент disttool .............................................................................. 9
4. Инструмент randtool ........................................................................... 14
5. Генераторы случайных чисел ............................................................. 18
6. Планирование эксперимента .............................................................. 19
7. Логика ............................................................................................. 21
8. Переключатели ................................................................................. 23
9. Управляемые системы ....................................................................... 26
10. Помехоустойчивое кодирование ........................................................ 32
11. События ........................................... Error! Bookmark not defined.
12. Моделирование системы охраны дома . Error! Bookmark not defined.
2
Введение
Методическая разработка содержит лабораторные работы по моделированию
систем с использованием СКМ MATLAB с расширением Simulink. Она может
использоваться в дисциплине: "Моделирование систем" специальности
230105.
Рекомендуемая литература:
1. Советов Б.Я., Яковлев С.А. Моделирование систем. Учебник для вузов.
М.:Высш. шк., 2001. - 343 с.
2. Гультяев А.К. Имитационное моделирование в среде Windows: Практическое пособие. – СПб.: КОРОНА принт, 2001. – 400 с.
3. Рыжиков Ю.И. Имитационное моделирование. Теория и технологии. – Спб.:
КОРОНА принт; М.: Альтекс-А, 2004. – 384 с.
4. Томашевский В., Жданова Е. Имитационное моделирование в среде GPSS.
– М.: Бестселлер, 2003. – 416 с.
5. Дьяконов В. MATLAB 6.5 SP1/7.0+Simulink 5/6. Основы применения. М.:
СОЛОН-Пресс, 2005.
6. Дьяконов В. MATLAB 6.5 SP1/7.0+Simulink 5/6. Обработка сигналов и проектирование фильтров. М.: СОЛОН-Пресс, 2005.
7. Дьяконов В. MATLAB 6.5 SP1/7.0+Simulink 5/6 в математике и моделировании. М.: СОЛОН-Пресс, 2005.
Содержание отчета по работе:
 Название работы, задание в соответствии с вариантом.
 Программа.
 Результаты выполнения программы на ПК.
1. Моделирование системы с помощью Simulink
Подготовка к работе
По указанной литературе изучить:

правила создания моделей систем в Simulink,

правила моделирования систем в Simulink,

иерархическую библиотеку Simulink.

состав Communication Blockset в Simulink.
Разработать структуру модели системы для варианта задания.
Контрольные вопросы
1. Назначение Simulink.
2. Правила построения моделей систем в Simulink.
3. Правила моделирования систем в Simulink.
4. Структура иерархической библиотеки Simulink.
5. Блоки из папки Sources библиотеки Simulink.
6. Блоки из папки Sinks библиотеки Simulink.
7. Блоки из Communication Blockset для обработки сигналов.
8. Блоки из Communication Blockset для генерации помех.
Задание к работе
Задача 1. Модель системы связи с заданными типами модуляции и помех:
Создать модель. В ней сигнал от источника поступает на модулятор. Выходной
сигнал модулятора передается в канал связи, где на него накладывается аддитивный
шум. Выход канала связи поступает на демодулятор, восстанавливающий модулирующий сигналю. Регистратор с пятью входами позволяет наблюдать сигналы в разных
точках системы.
Провести ее моделирование.
Варианты заданий
№ Тип модуляции
Тип генератора помехи
1. DSB AM Passband –
Rician Noise Generator - Райесовский шум
Двухполосная амплитудная
2. DSBSC AM Passband –
Rayleigh Noise Generator - Релейевский шум
Балансная амплитудная
3. SSB AM Passband –
Uniform Noise Generator - Равномерный шум
Однополосная амплитудная
4. FM Passband –
Gaussian Noise Generator - Гауссовский шум
Частотная
5. PM Passband –
Rician Noise Generator - Райесовский шум
Фазовая
6. DSB AM Passband –
Rayleigh Noise Generator - Релейевский шум
Двухполосная амплитудная
7. DSBSC AM Passband –
Uniform Noise Generator - Равномерный шум
Балансная амплитудная
8. SSB AM Passband –
Gaussian Noise Generator - Гауссовский шум
Однополосная амплитудная
9. FM Passband –
Rician Noise Generator - Райесовский шум
4
Частотная
10. PM Passband –
Rayleigh Noise Generator - Релейевский шум
Фазовая
11. DSB AM Passband –
Uniform Noise Generator - Равномерный шум
Двухполосная амплитудная
12. DSBSC AM Passband –
Gaussian Noise Generator - Гауссовский шум
Балансная амплитудная
13. SSB AM Passband –
Rician Noise Generator - Райесовский шум
Однополосная амплитудная
14. FM Passband –
Rayleigh Noise Generator - Релейевский шум
Частотная
15. PM Passband –
Uniform Noise Generator - Равномерный шум
Фазовая
Методические указания
Модель системы содержит источник сигнала и помехи, функциональные блоки и
средства наблюдения за поведением системы (модулятор, демодулятор, дисплей, численный индикатор и др.). Во всех вариантах задания нужно использовать дисплей с
пятью входами.
Первое действие - запустить MATLAB. При этом возникает стартовое диалоговое
окно, в котором докированы три встроенных окна: Command Window (командное) справа, Launch Pad (Средства запуска) - в левом верхнем углу, Command Hustory (История команд) - в левом нижнем углу. Каждое подокно можно освободить из дока.
Для создания модели нужно выполнить действие File => New => Model. Это приводит к запуску программы Simulink, которая создает пустое окно модели.
Далее нужно вызвать браузер библиотеки компонент, используя меню или кнопку
в панели инструментов Library Brouser. Окно браузера содержит две панели: слева
иерархическое дерево библиотеки, справа - содержимое выбранной в левой панели
папки с блоками. В папке могут быть подбиблиотеки и блоки. Каждый блок и подбиблиотека имеют визуальный семантический образ и надпись.
Разместите окна браузера и модели таким образом, чтобы они не перекрывали
друг друга. Теперь можно формировать модель визуальным методом.
Скопируйте мышью из браузера в окно модели нужные блоки и удобно разместите их. При переносе блока в модель там создается экземпляр блока с именем, совпадающим с надписью под блоком (при необходимости, когда однотипных блоков в модели несколько, в имя блока добавляется номер).
Соедините блоки коннекторами. Для этого нужно протаскивать мышь от одной соединяемой точки к другой. При отпускании кнопки мыши в модели отображается коннектор со стрелкой.
Установите для каждого блока свойства. Для этого нужно на блоке сделать двойной щелчок мышью, что приведет к появлению окна со свойствами блока. Установите
нужные свойства в полях окна.
Пример выполнения
Задание. Создать модель аналоговой системы передачи с амплитудной модуляцией по
каналу связи с гауссовым шумом.
Решение
Создать на экране дисплея пустое окно модели и вызвать браузер библиотеки
блоков.
Открыть в браузере папку с блоками источников, используя кнопку подбиблиотеки
Sources (Источники). Из подбиблиотеки Sources левой кнопкой мыши перетащить в окно
модели блок Sine Wave (генератор синусоиды) и там отпустить в удобном месте.
Двойным щелчком по блоку Sine Wave в модели вызвать окно со свойствами блока. В его полях выбрать параметры. В данном случае установить амплитуду и частоту
(фазу и время отсчета можно не менять).
Выбрать в браузере папку Communications Blockset (Коммуникационные блоки). В
нем открыть папку Modulation (Модуляция), а в ней папку Analog Passband Modulation
(Аналоговая полосовая модуляция). Из подбиблиотеки Analog Passband Modulation
левой кнопкой мыши перетащить в окно модели блок DSB AM Modulator Passband (Модулятор двухполосной АМ с полосовым фильтром) и там отпустить в удобном месте.
Аналогично скопировать в окно модели блок DSB AM Demodulator Passband (Демодулятор двухполосной АМ с полосовым фильтром).
Двойным щелчком по блоку Saturation в модели вызвать окно со свойствами блока. В нем установить верхний и нижний пределы ограничения. Выбрать в браузере
папку Communications Blockset. В нем открыть папку Comm Sources (Коммуникационные
источники). Из подбиблиотеки Comm Sources левой кнопкой мыши перетащить в окно
модели блок Gaussian Noise Generator (Генератор гауссового шума) и там отпустить в
удобном месте.
Выбрать в браузере папку Simulink. В ней открыть папку Functions & Tables (Функции и тиаблицы). Из подбиблиотеки Functions & Tables левой кнопкой мыши перетащить
в окно модели блок Fcn (Функция) и там отпустить в удобном месте. Этот блок введет
функцию преобразования u(1) векторного выхода блока Gaussian Noise Generator в
скаляр. Для задания функции вызовите окно свойств блока двойным щелчком по нему и
введите u(1) в поле функции.
Выбрать в браузере папку Simulink. В ней открыть папку Math (Математика). Из
подбиблиотеки Math левой кнопкой мыши перетащить в окно модели блок Gain (Усиление) и там отпустить в удобном месте. Этот блок будет использован для задания уровня
шума в канале связи. Из подбиблиотеки Math левой кнопкой мыши перетащить в окно
модели блокSum (Сумматор) и там отпустить в удобном месте. Этот блок будет использован для сложение сигналов в канале связи.
Выбрать в браузере папку Simulink. В ней открыть папку регистраторов Sinks (Регистраторы). Из подбиблиотеки Sinks левой кнопкой мыши перетащить в окно модели
блок Scope и там отпустить в удобном месте. Двойным щелчком по блоку Scope в модели вызвать его демонстрационное окно. Разместить это окно на экране в удобном
месте, перемещая его за заголовок левой кнопкой мыши. Кнопкой Properties (Свойства)
окна Scope вызвать окно свойств, в котором установить число осей 5 (для модулирующего сигнала, модулированного сигнала, сигнала шума, сигнала на выходе канала связи, выходного сигнала демодулятора).
Левой (или правой) кнопкой мыши соединить блоки. При нажатой левой кнопке
курсор имеет форму крестика, который надо позиционировать по помеченным входам и
выходам блоков. Начать надо с помеченного выхода одного блока и отпустить кнопку на
6
помеченном входе другого. Входы регистратора соединять с узлами модели, в которых
действуют сигналы, указанные выше и в том же порядке.
Результат - модель устройства и пустое окно регистратора.
Включить симулирование (моделирование) командой Simulation => Start (или
кнопкой на панели инструментов модели). В окне Scope отображаются графики сигналов.
Осуществить моделирование для двух случаев

Помех нет. Для этого установить усиление блока Gain, равным нулю.

Помеха есть. Для этого установить усиление блока Gain, не равное нулю. Регулируя это значение можно проследить за поведение системы в разных условиях.
Ниже приведены состояния регистратора без помех (слева) и с помехами (справа).
На приведенных графиках выходной сигнал демодулятора содержит остаточную
высокочастотную компоненту. Это связано с использованием в демодуляторе не очень
качественного фильтра.
8
2. Инструмент disttool
Предмет исследования
Случайные процессы описываются различными законами распределения. Для
их изучения можно использовать определенный в MATLAB инструмент disttool.
Его можно вызвать из командной строки командой disttool.
В инструменте определены 20 теоретических законов распределения. Для
каждого закона можно наблюдать две функции:
 P(x) - плотность распределения вероятностей. Это вероятность P появления значения x В инструменте тип обозначен как PDF – probability distribution function.
 F(x) - интегральная функция распределения. Это вероятность того, что
появляющееся значение меньше x. В инструменте тип обозначен как CDF
- cumulative distribution function.
В инструменте функция распределения выбирается из списка в поле
Distribution (распределение), а тип функции (PDF или CDF) из списка в поле
Function type.
В дополнительных полях под графиком отображаются средства изменения
количественных параметров данного закона распределения. Содержание этих
полей для каждого закона свое.
Для иллюстрации рассмотрим распределение с нормальным законом. Для
нормального закона распределения
 ( x  Mu ) 2
p( x) 
2
1
 e 2Sigma
Sigma  2
В инструменте можно изменять Mu (среднее значение) и Sigma (стандартное
отклонение).
Сначала плотность распределения.
В поле x под графиком отображается значение x, задаваемое вертикальным
визиром. Положение визира меняется мышью. В поле Density отображается
значение P при выбранном x.
При изменении Mu график P(x) смещается горизонтально.
10
Теперь интегральная функция распределения.
В поле x под графиком отображается значение x, задаваемое вертикальным
визиром. В поле Probability отображается значение F при выбранном x, его
также можно менять горизонтальным визиром. Положения визиров меняются
мышью.
При изменении Sigma график P(x) сужается или расширяется.
12
Контрольные вопросы
1. Что такое плотность распределения вероятностей P(x).
2. Что такое интегральная вероятность F(x).
3. Нормальный закон распределения вероятностей.
4. Закон распределения вероятностей Пуассона.
5. Закон распределения вероятностей Релея.
Задание к работе
Анализ закона распределения вероятностей в соответствии с заданием.
Варианты заданий
№
1.
2.
3.
4.
5.
6.
7.
8.
Закон
Normal
Uniform
Exponential
Gamma
Geometric
Weibull
T
Poisson
Параметр 1
Mu=-5…5
Min=0…0,4
Mu=0.6…1,9
A=2…5
Prob=0.25…0.9
A=2…5
df=2…10
Lambda=2…10
Параметр 2
Sigma=0.6…1,9
Max=1…2
B=2…5
B=2…5
Параметр 3
3. Инструмент randtool
Предмет исследования
При моделировании случайных процессов применяются различные генераторы случайных чисел. Для их изучения можно использовать определенный в
MATLAB инструмент randtool. Его можно вызвать из командной строки командой randtool.
В инструменте используются 20 теоретических законов распределения генерируемых чисел. Для каждого закона можно задавать объем выборки Samples
(число отсчетов) и получить гистограмму (число отсчетов для каждого генерируемого в выборке значения).
В инструменте функция распределения выбирается из списка в поле
Distribution (распределение), а объем выборки в поле Samples.
В дополнительных полях под гистограммой отображаются средства изменения
количественных параметров выбранного закона распределения. Содержание
этих полей для каждого закона свое.
Для иллюстрации рассмотрим распределение с нормальным законом. Для
нормального закона распределения
 ( x  Mu ) 2
p( x) 
2
1
 e 2Sigma
Sigma  2
В инструменте можно изменять Mu (среднее значение) и Sigma (стандартное
отклонение).
Гистограммы для Samples=200 и Samples=1000.
14
Теперь интегральная функция распределения.
Контрольные вопросы
1.
Что такое генератор случайных чисел.
2.
Что такое плотность распределения вероятностей P(x).
3.
Что такое интегральная вероятность F(x).
4.
Нормальный закон распределения вероятностей.
5.
Закон распределения вероятностей Пуассона.
6.
Закон распределения вероятностей Релея.
16
Задание к работе
Анализ закона распределения вероятностей в соответствии с заданием.
Варианты заданий
№
9.
10.
11.
12.
13.
14.
15.
16.
Закон
Normal
Uniform
Exponential
Gamma
Geometric
Weibull
T
Poisson
Параметр 1
Mu=-5…5
Min=0…0,4
Mu=0.6…1,9
A=2…5
Prob=0.25…0.9
A=2…5
df=2…10
Lambda=2…10
Параметр 2
Sigma=0.6…1,9
Max=1…2
B=2…5
B=2…5
Параметр 3
Samples
4. Генераторы случайных чисел
Предмет исследования
Функция для генерации случайных чисел возвращают такие числа с заданным
законом распределения. Имя функции образовано путем слияния первых букв
названия закона и окончание rnd.
Команда exprnd(1), обеспечивает генерацию одного случайного числа, подчиняющегося закону распределение параметров MU=1. Генерация случайных
чисел, образующих матрицу например с 3 строками и 4 столбцами записывается exprnd(1,[3 4]).
Функции expstat вычисления среднего и дисперсии возвращают математическое ожидание и дисперсию указанного распределения в зависимости от его
заданных параметров. Например, чтобы найти математическое ожидание и
дисперсию закона распределения для четырех значений его параметра 1, 10,
100 и 1000 записывается: [m,v]=expstat([1 10 100 1000]).
Функция для оценки параметров распределения по экспериментальным данным выглядит так expfit. К примеру, оценивание параметра экспериментального закона производится следующим образом:
x=exprnd(1,100,1); % Генерация 100 элементов выборки
expfit(х) %Нахождение оценки параметра (точное значение 1).
Контрольные вопросы
17. Что называется генерацией случайных чисел?
18. Дайте определение закону распределения параметров MU.
19. Что такое математическое ожидание?
20. Дайте определение дисперсии закона распределения.
21. Дайте определение функции оценки параметров распределения.
22. Дайте определение функции генерации случайных чисел.
Задание к работе
Проделайте генерацию случайных чисел, вычислите математическое ожидание и дисперсию, найдите оценку параметра.
Варианты заданий
№ exprnd
1. 4 строки 2 столбца
2. 3 строки 3 столбца
3. 4 строки 3 столбца
4. 2 строки 2 столбца
5. 3 строки 2 столбца
6. 5 строк 2 столбца
7. 2 столбца 5 строк
18
m, v
2 20 200
5 50 100 200
3 100 200
4 100 400 1000
1 30 50 100
4 150 250 450
5 100 200 500
exprnd
50 элементов (точное значение 2)
150 элементов (точное значение 5)
200 элементов (точное значение 1)
40 элементов (точное значение 2)
70 элементов (точное значение 1)
25 элементов (точное значение 3)
90 элементов (точное значение 1)
5. Планирование эксперимента
Предмет исследования
Планирования эксперимента (ПЭ) состоит в разработке путей предельно возможной экономии затрат на проведение исследований с помощью созданной
математической модели, в которой максимально сокращается число проводимых испытаний. Результат ПЭ – оптимальный план.
В моделируемой системе различают факторы (независимые переменные) и
отклики (зависимые переменные.). Фактор = это воздействие, отклик – результат.
Различают однофакторные и многофакторные эксперименты. При однофакторных экспериментах изменяется один фактор, а остальные факторы фиксируются на постоянных уровнях. Однофакторные эксперименты часто называют
пассивными.
При проведении многофакторных экспериментов активных экспериментов по
специальному плану одновременно изменяют все независимые переменные
(факторы). Многофакторные эксперименты называют активными.
Уменьшение числа опытов, а следовательно, и затрат времени на проведение
измерений при использовании ПЭ оказывается тем значительней, чем более
многомерным является пространство факторов.
Зачастую можно обеспечить существенную экономию временных и финансовых затрат, организуя активный изучающий эксперимент на объекте, заранее
планируя его некоторым оптимальным образом. Для быстрого нахождения
такого плана предназначены следующие функции ff2n, fullfact, hadamard,
rowexch, settings.
ff2n – формирует план полного факторного эксперимента при факторах, каждый из которых задан на отрезке, ff2n(3) – для трех факторов.
fullfact – формирует план полного факторного эксперимента при произвольном
(задаваемом) числе уровней факторов. d= fullfact([3 3]) – два входных фактора,
каждый из которых имеет по три уровня. В результате возвращается матрица
плана d, каждая строка которой соответствует одному из опытов плана, а
столбцы – факторам.
hadamard – данная функция возвращает матрицу Адамара, которая соответствует плану дробного факторного эксперимента в случае факторов, каждый из
которых задан на отрезке [-1, 1] и построения линейной регрессионной модели.
Записывается следующим образом Х= hadamard(8)
rowexch – функция нахождения точного D – оптимального плана эксперимента.
Запись: settings = rowexch(nfactors,nruns); [settings,X] = rowexch(nfactors,nruns);
[settings,X] = rowexch(nfactors,nruns, ‘model’)
Аргументы: nfactors – число факторов, nruns – число опытов (число строк матрицы плана эксперимента), ‘model’ – строковая переменная, задающая тип
регрессионной модели и принимающая одно из следующих возможных значений ‘interaction’ ‘quadratic’ ‘purequadratic’
Контрольные вопросы
1. Что такое фактор?
2. Что такое отклик?
3. Каковы достоинства планируемого эксперимента?
4. Чем отличаются активные и пассивные эксперименты?
5. Как с помощью планируемого эксперимента упростить сложную модель?
6. Какой план называется насыщенным?
7. Какой план называется ротатабельным?
8. Какие планы называются полными факторными планами?
9. Что называется репликой (дробным факторным планом)?
10. Что называют симплекс-планами?
11. Какие критерии оптимальности планов Вы знаете?
12. В каких диапазонах функция hadamard не работает?
13. Чем отличаются результаты, полученные при исследовании функции settings с разными моделями?
Задание к работе
Анализ функций с помощью которых организуется активный изучающий эксперимент.
Варианты заданий
№
ff2n
fuullfact
hadamard
1.
2.
3.
4.
5.
6.
7.
8.
4
2
5
3
4
5
2
3
[3 4]
[4 3]
[2 3]
[2 3 2]
[2 2 3 2]
[3 4 2 3]
[4 3 2 2 4]
[2 2 3 3]
2
4
8
12
16
20
24
28
20
settings
nfactors
3
2
4
4
3
5
2
4
nruns
5
4
2
3
2
2
5
4
model
все три
все три
все три
все три
все три
все три
все три
все три
6. Логика
Предмет исследования
Блок логических операций Logical Operation. Этот блок позволяет задать любую из известных базовых логических операций. Пример выполнения операции AND представлен на рисунке 1. Пример формирует таблицу истинности
для этой операции. На рисунке представлено окно установки параметров логического блока. Параметрами является тип блока (выбирается из списка) и число выходов. Могут быть заданы следующие логические операции:
 AND – логическое умножение (операция и)
 OR – логическое сложение (операция или)
 NAND – операция НЕ-И
 NOR – операция НЕ - ИЛИ
 XOR – операция сложение по модулю 2 (исключающее или)
 NOT – операция логического отрицания (НЕ)
Рисунок 1
Контрольные вопросы
1. Что называется алгеброй логики?
2. Что называется функцией алгебры логики?
3. Как обозначается операция И?
4. Как обозначается операция ИЛИ?
5. Как технически можно реализовать функцию алгебры логики?
Задание к работе
1. Построить схему показанную на рисунке 1, со своими числами.
2. Построить схему соединения двух генераторов применив блок логики согласно варианту.
1
Два Pulse Generator соединить логическим элементом И и подключить к Scope
2
Pulse Generator и Sane Wave соединить логическим элементом
ИЛИ и подключить к Scope
3
Два Pulse Generator соединить логическим элементом ИЛИ и
подключить к Scope
4
Pulse Generator и Sane Wave соединить логическим элементом
И и подключить к Scope
5
Step и Sane Wave соединить логическим элементом И и подключить к Scope
6
Step и Sane Wave соединить логическим элементом ИЛИ и подключить к Scope
22
7. Переключатели
Предмет исследования
Переключатели, виды переключателей и их работа.
Управляемый переключатель Switch – это переключающее устройство с тремя
входами: двумя крайними для сигналов данных и одним (средним) для сигналов управления. Если уровень сигнала управления превышает заданное значение, то на выход поступает сигнал с верхнего (первого) входа, иначе с нижнего (второго) входа. Единственным параметром ключа является порог управляющего сигнала Threshold (по умолчанию 0). Периодичность срабатывания
ключа определяется эталонным временем. Ключ рассматривается как идеальное устройство, не имеющее остаточных параметров.
Контрольные вопросы:
1. Что такое переключатели?
2. Для чего нужны переключатели?
3. Что произойдет, если уровень сигнала превысит заданное значение?
4. Как работает ключ Manual Switch.
5. Как работает ключ Switch.
6. Различия работы ключей Manual Switch и Switch.
7. Каковы достоинства ключа Switch.
8. Чем характеризуется периодичность срабатывания ключа.
9. Назовите параметры ключа Switch
Задание на выполнение
Создать модель в которой происходит перерасчет стоимости аппаратуры, заданной в рублях на эквивалент $ (USA) € (Euro). Провести моделирование
системы с выводом заданных и расчетных значений. В модели предусмотреть
блоки вывода самого дорогого и самого дешевого оборудования.
Варианты оборудования заданы в таблице Курсы эквивалентов соответствующих валют на день выполнения работы.
Таблица
№
Процессор
Монитор
Принтер
Винчестер
1
7 900 руб.
5 900 руб.
3 400 руб.
1 700 руб.
2
6 800 руб.
6 200 руб.
4 500 руб.
1 500 руб.
3
8 700 руб.
6 100 руб.
4 200 руб.
2 100 руб.
4
7 200 руб.
6 800 руб.
3 900 руб.
1 900 руб.
5
5 900 руб.
4 200 руб.
4 800 руб.
1 400 руб.
Пример выполнения
В таблице указаны названия блоков, папки в которых находятся нужные блоки
для моделирования задачи и параметры блоков, установленные по умолчанию, которые нужно изменить.
Название и
Место размещения в
Параметры блоков
назначение блоков
браузере
Источник входных Simulink/Sources
Constant
value
[900 600 300 120]
данных Constant
//значения из табл 2
Constant 1,2
Simulink/Sources
Constant value[ ] курс $ и €
Переключатель
Simulink/Signal Routing Выполняет
переключение
между двумя входвойным щелчком мыши
дами Manual Switch
Математический
Simulink/Math Opera- По умолчанию
блок деления Divide tion
Математический
Simulink/ Math Opera- Function round
блок
округления tion
Rounding Function
Математический
Simulink/ Math Opera- Function min/max
24
блок Min/Max
tion
Регистраторы Dis- Simulink/Sources
По умолчанию
play, Display 1, Display 2
На рисунке приведен вариант модели перерасчета стоимости оборудования на
валютные эквиваленты.
Чтобы создать надписи к блокам достаточно два раза щелкнуть мышью в
определенных местах модели и ввести с клавиатуры латинские символы.
8. Управляемые системы
Предмет исследования
У управляемых подсистем поведение задается внешним воздействием. Определены три управляемые подсистемы:
 Е-подсистема. Эта подсистема управляется введенным в нее блоком
Enable (Разрешение). Этот блок воспринимает управляющий сигнал на
входе Enable и разрешает или запрещает работу подсистемы.
 Т-подсистема. Эта подсистема управляется введенным в нее блоком
Trigger (Переключение). Этот блок разрешает работу подсистемы только
во время заданного события на управляющем входе Trigger.
 ЕТ-подсистема. Эта подсистема управляется введенными в нее блоками
Enable и Trigger. Она является комбинацией двух первых управляемых
подсистем.
При создании Е-подсистемы в пустую подсистему заносится блок Enable,
структура Е-подсистемы показана на Рис. В нее помещен блок Enable, который
ни с чем не соединяется, так как он только разрешает или запрещает работу
внутренних блоков подсистемы. Визуально Е-подсистема отображается специальным значком. Е-подсистема может быть и без иных внутренних блоков,
тогда она работает, как управляемый переключатель. Поведение Еподсистемы можно изменить в окне параметров блока Enable, которое показано на Рисунок 2 В нем определена реакция подсистемы на управляющий сигнал:
 held (сохранение)– использовать предыдущее состояние (разрешить работу),
 reset (сброс) – использовать начальное состояние (не работать).
Рисунок 1. Е-подсистема
26
Рисунок 2. Параметры блока Enable Е-подсистемы
При создании Т-подсистемы в пустую подсистему заносится блок Trigger,
структура T-подсистемы показана на Рисунок 3. В нее помещен блок Trigger,
который ни с чем не соединяется, так как он только разрешает работу внутренних блоков подсистемы при перепаде сигнала на управляющем входе. Поведение Т-подсистемы можно изменить в окне параметров блока Trigger, которое
показано на Рисунок 4 В нем определена реакция подсистемы на управляющий сигнал:
 rising (рост)– разрешить работу при перепаде вверх,
 falling (спад) – разрешить работу при перепаде вниз,
 either (оба) разрешить работу при любом перепаде,
 function-call (вызов функции) - разрешить работу по логике функции.
Визуально Т-подсистема отображается специальным значком, который подсказывает правило срабатывания подсистемы. В средней строке Рисунка 1
слева направо показаны Т-подсистемы, в которых работа разрешается при
перепаде вверх, перепаде вниз и при любом перепаде. Т-подсистема может
быть и без иных внутренних блоков, тогда она работает, как управляемый переключатель.
Рисунок 3. Т-подсистема
Рисунок 4 Параметры блока Trigger Т-подсистемы
При создании ЕТ-подсистемы в пустую подсистему заносятся блоки Enable и
Trigger, структура ЕT-подсистемы показана на Error! Reference source not
found.. В нее помещены блоки Enable и Trigger. Приоритетным является вход
Enable. С блоками Enable и Trigger ЕТ-подсистемы можно работать независимо
друг от друга.
28
Рисунок 5. ЕТ-подсистема
Пример построения схемы с применением управляемого блока
Контрольные вопросы:
1. Что называется управляющими системами?
2. На основании каких блоков создается управляющая система?
3. Что содержит система цифрового линейного тракта?
4. Что называется Е-подсистемой?
5. Что называется Т-подсистемой?
6. Что называется ЕТ-подсистема?
Задание к работе
Постройте модель с управляющей системой.
Осуществите моделирование ЦЛТ для двух случаев:

Помех нет. Для этого установить переключатель Manual Switch в
верхнее положение;
Помеха есть (переключатель двойным щелчком мыши переводится
в нижнее положение). Регулируя положением переключателя можно
проследить за поведение системы в разных условиях.

Источник цифрового сигнала
1
Walsh Code Generator
7
Walsh Code Generator
2
PN Sequence Generator
8
PN Sequence Generator
3
Bernoulli Binary Generator
9
Bernoulli Binary Generator
4
Kasami Sequence Generator
10
Kasami Sequence Generator
5
OVSF Code Generator
11
OVSF Code Generator
6
Barker Code Generator
12
Barker Code Generator
Модель системы цифрового линейного тракта (ЦЛТ) содержит источник цифрового сигнала, источник помехи, функциональные блоки
формирования цифрового сигнала и средства наблюдения за поведением системы (осциллограф). Во всех вариантах задания нужно использовать дисплей с пятью входами.
В таблице указаны названия блоков, папки в которых находятся
нужные блоки для моделирования задачи и параметры блоков, установленные по умолчанию, которые нужно изменить по вариантам.
N
Источник цифрового сигнала N
Название блоков
Генераторы цифрового сигнала:
Walsh Code Generator,
PN Sequence Generator,
Kasami Sequence Generator,
OVSF Code Generator,
Barker Code Generator
Генератор двоичного сигнала:
Bernoulli Binary Generator
Математический блок вычисления суммы (++)
Усилитель Gain
Переключатель
двумя входами
Switch
30
между
Manual
Место размещения в
браузере
Communication
Blockset/ Comm
Sources/Sequence Generator
Параметры блоков
Communication Blockset
/ Comm Sources/ Random Date Sources
Simulink/ Math Operations
Simulink/ Math Operations
Simulink/ Signal Routing
По умолчанию
По умолчанию
По умолчанию
Gain=4 (или 3 или 5)
Выполняет
переключение двойным
щелчком мыши
Ограничитель
Saturation
амплитуд
Численное дифференцирование Derivative
Scope
Управляемая подсистема
Triggered Subsystem
Simulink/ Discontinuous
Пределы изменения:
Upper Limit = 1
Lower Limit = -1
Simulink/ Continuous
Simulink/Sinks
Simulink/ Ports & Subsystems
Number of axes=5
Trigger Type = either
Пример выполнения
После построения модели проанализируйте полученные результаты.
9. Помехоустойчивое кодирование
Предмет исследования
При обработке, передаче и приеме цифровой информации важное значение
имеет определение (детектирование) ошибок и их коррекция.
При выборе способа кодирования нужно одновременно стремиться к достижению нескольких целей:
 минимизировать ширину спектра сигнала, полученного в результате кодирования;
 обеспечивать синхронизацию между передатчиком и приемником;
 обеспечивать устойчивость к шумам;
 обнаруживать и по возможности исправлять битовые ошибки;
 минимизировать мощность передатчика.
Контрольные вопросы
1. Правила задания параметров блоков модели.
2. Выбор режимов моделирования.
3. Правила просмотра результатов моделирования.
4. Назначение помехоустойчивых кодов.
5. Коды с контролем четности.
6. Блоковые коды.
7. Коды Хэмминга.
8. Коды БХВ.
9. Сверточное кодирование.
Задания к работе
1. Моделирование кодека Хэмминга.
2. Моделирование кодека BCH
3. Моделирование кодека Рида-Соломона.
4. Моделирование сверточного кодека.
№ Тип кодека
Данные
K N Кратность ошибок T
1. Хэмминга
Двоичные
5 15 0, 5, 8
2. БХВ
Двоичные
5 15 0, 5, 8
3. Рида-Соломона Целые числа
4. Сверточный
Двоичные
Примеры выполнения
Задание 1. Выполнить моделирование кодека Хэмминга (11,15) без ошибок и с
ошибками с кратностью T1=4, T2=5.
32
Рисунок 1. Имитационная модель кодека Хэмминга
Место размещения элементов модели
Название блока
Место размещения
Random Integer Generator Communications Blockset/Random Data Sources
Integer-Input RS Encoder
Communications Blockset/Block
Gain
Simulink/Commonly Used Blocks
Sum
Simulink/Math Operation
Unbuffer
Signal Processing Blockset/Buffers
Scope
Simulink/Sinks
В модель включаем:
 Источник данных, генератор случайных двоичных чисел – Bernoulli BinaryInteger, вырабатывающий случайные биты. Выход генератора нужно сделать в виде кадра из K=11 отсчетов. В окне параметров блока (Рисунок )
зададим и вероятность нулей, равную 0,9.
Рисунок 2. Параметры блока источника
 Кодер Хэмминга – Hamming encoder. Он по сообщению K формирует передаваемый код V. В окне параметров блока (Рисунок Error! Reference
source not found.) задаем N=15.
Рисунок 3. Параметры блока кодер Хэмминга
 Умножитель Gain. Он умножает выход кодера на вектор ошибки E из 0 и
1, имитирующий ошибки в канале связи (ошибка может получиться при
компоненте E, равном 0). Вектор E должен содержать N компонент, которые вычислим функцией rot90(randerr(N,1,N-ER)). Получим вектор-строку
из N равновероятных нулей и единиц, из которых N-ER равны 1.
34
Рисунок 9-1. Параметры блока Gain
 Декодер Хэмминга – Hamming decoder. Для него нужно задать параметры, аналогичные кодеру.
 Блоки Unbuffer преобразуют кадры в линейные последовательности,
направляемые к виртуальному 4-входовому наблюдателю Scope.
 Наблюдатель Scope позволяет в общем масштабе времени наблюдать
сигналы от блоков Buffer. Чтобы в графиках наблюдателя были заголовки, сделаем входам имена. Для этого двойным щелчком по линии входа
вызовем окно ввода имени, в которое занесем имя. зададим имена: для
передаваемого сообщения – Message_T, для передаваемого кода
Code_T, для принятого кода – Code_R, для декодированного сообщения
Message_R.
При моделировании с разными кратностями ошибок получим:
Ошибок нет, ER=0
Ошибка кратности T1=ER=4.
Все ошибки исправлены.
Ошибка кратности T2=ER=5.
Часть ошибок осталась.
Задание 2. Выполнить моделирование кодека BCH (5,15) без ошибок и с ошибками с кратностью T1=4, T2=5.
Рисунок 9. Имитационная модель кодека BCH
36
В модель включаем:
 Источник данных, генератор случайных двоичных чисел – Bernoulli BinaryInteger, вырабатывающий случайные биты. Выход генератора нужно сделать в виде кадра из K=5 отсчетов.
 Кодер BCH – DCY encoder. Он по сообщению K формирует передаваемый код V. В окне параметров блока (Рисунок ) задаем N=15, K=5.
Рисунок 5. Параметры блока кодер BCH
 Умножитель Gain. Он умножает выход кодера на вектор ошибки E из 0 и
1, имитирующий ошибки в канале связи (ошибка может получиться при
компоненте E, равном 0). Вектор E должен содержать N компонент, которые вычислим функцией rot90(randerr(N,1,N-ER)). Получим вектор-строку
из N равновероятных нулей и единиц, из которых N-ER равны 1.
Рисунок 6. Параметры блока Gain
 Декодер BCH – BCH decoder. Для него нужно задать параметры, аналогичные кодеру. Декодер имеет два выхода: верхний декодированное сообщение, нижний – кратность исправленных ошибок.
 Блок Sum, в котором путем вычитания сравниваются исходное и декодированное сообщение. В окне параметров блока нужно задать знаки операндов минус и плюс.
 Блоки Unbuffer преобразуют кадры в линейные последовательности,
направляемые к виртуальному 2-входовому наблюдателю Scope.
 Наблюдатель Scope позволяет в общем масштабе времени наблюдать
сигналы от блоков Buffer. Чтобы в графиках наблюдателя были заголовки, сделаем входам имена. Для этого двойным щелчком по линии входа
вызовем окно ввода имени, в которое занесем имя. зададим имена: для
сигнала сравнения – Compare, для передаваемого кода Code_T, для
кратности исправленных ошибок – Error_T.
При моделировании с разными кратностями ошибок получим:
Ошибок нет, ER=0
Ошибка кратности T1=ER=4.
Все ошибки исправлены.
38
Ошибка кратности T2=ER=5.
Часть ошибок осталась.
Задание 3. Выполнить моделирование кодека Рида-Соломона RS(5,15) без
ошибок и с ошибками с кратностью T1, T2.
Создаем модель в среде Simulink (Рисунок Error! Reference source not
found.). В модель включаем:
 Источник данных, генератор случайных целых чисел – Random-Integer,
вырабатывающий числа в интервале от 0 до N-1. Выход генератора нужно сделать в виде кадра из K чисел.
 Кодер Рида-Соломона – RS encoder. Он по сообщению K формирует передаваемый код из N символов.
 Умножитель Gain. Он умножает выход кодера на вектор ошибки E из 0 и
1, имитирующий ошибки в канале связи (ошибка может получиться при
компоненте E, равном 0). Вектор E должен содержать N компонент, которые вычислим функцией rot90(randerr(N,1,N-ER)). Получим вектор-строку
из N равновероятных нулей и единиц, из которых N-ER равны 1.
 Декодер Рида-Соломона – RS decoder, имеющий два выхода. На верхнем
выходе из принятого кода R формируется декодированное сообщение, на
нижний выход выводится кратность исправленных ошибок.
 Сумматор Sum. В нем из декодированного сообщения вычитается исходное сообщение.
 Блоки Unbuffer преобразуют кадры в линейные последовательности,
направляемые к виртуальному двухвходовому наблюдателю Scope.
 Наблюдатель Scope позволяет в общем масштабе времени наблюдать
сигналы от блоков Buffer.
Рисунок 7. Имитационная модель RS кодека
После размещения блоков в модели их нужно соединить. Для этого просто
рисуем соединительную линию от выхода одного блока к входу другого.
Далее нужно задать свойства блоков. Для каждого блока при двойном щелчке
по нему вызывается окно параметров, в котором нужно разместить нужные
значения. Некоторые параметры установлены по умолчанию. Окна параметров
блоков показаны ниже:
 Рисунок для Random-Integer. Выбираем M=15 и число отсчетов в кадре
F=5.
Рисунок 8. Параметры блока Random-Integer
40
 Рисунок для RS encoder и RS decoder. В нем задаем длины сообщения
K=5 и кодового слова N=15. Соглашаемся с выбранным по умолчанию
примитивным полиномом g(x)=1011, из которого автоматически вычисляется порождающий полином. Аналогично задаем те же параметры
для блока RS decoder.
Рисунок 9. Параметры блока RS encoder
 Рисунок для блока Gain. В поле Gain задаем для Gain формулу
rot90(randerr(N,1,N-ER)). Функция randerr(N,1,N-ER) создает строку значений, а функция rot90 превращает ее в столбец.
Рисунок 10. Параметры блока Gain
 Рисунок для блока Sum. Для него выбираем отображение блока в виде
прямоугольника и число входов суммирования, задав в списке знаков
суммирования минус и плюс.
Рисунок 11. Параметры блока Sum
 Чтобы в графиках наблюдателя были заголовки, сделаем входам имена.
Для этого двойным щелчком по линии входа вызовем окно ввода имени,
в которое занесем имя. Для входа сигнала сравнения примем имя
Compare, для входа кратности исправленной ошибки Error T.
42
После моделирования можно двойным щелчком по блоку Scope посмотреть
результаты:
Ошибок в канале нет. При этом
Gain=rot90(randerr(15,1,15)).
В
результате нет ни ошибок, ни
исправлений.
Ошибки в канале есть, их кратность T1 не превышает исправляющей способности кода. При
этом Gain=rot90(randerr(15,1,10))
В результате ошибок нет, а кратность исправленных ошибок меняется до 5.
Ошибки в канале есть, их кратность T2 может превысить исправляющую способность кода.
При
этом
Gain=rot90(randerr(15,1,9)) В результате ошибки есть, разница
между исходным и декодированным сообщением достигает 5.
Часть ошибок исправлена, их
кратность меняется до 5.
Задание 4. Выполнить моделирование сверточного кодека 2/3 без ошибок и с
ошибками с кратностью T1, T2.
Создаем модель в среде Simulink (Рисунок Error! Reference source not
found.).
Рисунок 12. Имитационная модель сверточного кодека
В модель включаем:
 Источник данных, генератор случайных двоичных чисел – Bernoulli BinaryInteger, вырабатывающий случайные биты. Выход генератора нужно сделать в виде кадра из K=2 отсчетов.
 Сверточный кодер – Convolution encoder. Он по сообщению из K=2 символов формирует передаваемый код V из N=3 символов. В окне параметров кодера (Рисунок Error! Reference source not found.) нужно задать
функцию генерации решетки poly2trellis([4 3],[4 5 17; 7 4 2]).
Рисунок 13. Параметры блока Convolution encoder
 Сверточный декодер – Convolution decoder. Он декодирует сообщение,
используя алгоритм Витерби. В окне параметров блока
(
44
Рисунок ) нужно повторить решетку, выбрать декодирование с жестким
решением (Hard Decision) и глубину отслеживания назад примерно
3·(K+N).
Рисунок 14. Параметры блока Convolution decoder
 Блоки Unbuffer преобразуют кадры в линейные последовательности,
направляемые к виртуальному 3-входовому наблюдателю Scope.
 Наблюдатель Scope позволяет в общем масштабе времени наблюдать
сигналы от блоков Buffer. Чтобы в графиках наблюдателя были заголовки, сделаем входам имена. Для этого двойным щелчком по линии входа
вызовем окно ввода имени, в которое занесем имя. зададим имена: для
передаваемого сообщения – Message_T, для передаваемого кода
V_Code, для декодированного сообщения Message_R.
46
После моделирования можно двойным щелчком по блоку Scope посмотреть
результаты:
Декодированное сообщение совпадает с исходным. Есть сдвиг во времени.
Скачать