- •Оглавление
- •Цифровые системы управления
- •Введение
- •1. Лабораторная работа № 1 реализация релейного закона управления на эвм
- •1.1. Плата ввода-вывода l-154
- •1.2. Программное обеспечение платы
- •1.3. Подключение объектов управления
- •1.4. Задание
- •1.5. Порядок выполнения работы
- •1.6. Контрольные вопросы
- •1.7. Литература
- •2. Лабораторная работа № 2 реализация пропорционального закона управления на эвм
- •2.1. Подключение объектов управления
- •2.2. Задание
- •2.3. Порядок выполнения работы
- •2.4. Контрольные вопросы
- •2.5. Литература
- •3. Лабораторная работа № 3 пропорциональный регулятор с исполнительным механизмом постоянной скорости на базе эвм
- •3.1. Подключение объекта управления
- •3.2. Задание
- •3.3. Порядок выполнения работы
- •3.4. Контрольные вопросы
- •3.5. Литература
- •4. Лабораторная работа №4 цифровой осциллограф
- •4.1. Программа oscil.Exe
- •4.1.1. Общие сведения
- •4.1.2. Основной экран программы “oscil.Exe”
- •4.1.2.1. Всплывающие меню
- •4.1.2.2. Область для графических окон (2)
- •4.1.2.3. Управляющая панель.
- •4.1.3. Меню Файл.
- •4.1.4. Меню Установки
- •4.1.5. Меню «Графики»
- •4.1.6. Лупа
- •4.1.7. Спектральное окно
- •4.2. Задание
- •4.3. Порядок выполнения работы
- •4.4. Контрольные вопросы
- •4.5. Литература
- •5. Лабораторная работа №5 преобразование аналогового сигнала в цифровых системах
- •Преобразование аналогового сигнала в цифровых системах
- •5.2. Задание
- •5.3. Порядок выполнения работы
- •5.4. Контрольные вопросы
- •5.5. Литература
- •6. Лабораторная работа №6 дискретное преобразование фурье
- •6.1. Общие положения
- •6.2. Задание
- •6.3. Порядок выполнения работы
- •Моделирование системы цифрового управления аналоговым объектом
- •Операции ввода-вывода в реальном масштабе времени
- •8.2. Процедуры и функции для работы с платой
- •8.3. Задание
- •8.4. Порядок выполнения работы
- •Цифровая система управления аналоговым объектом
- •9.2. Задание
- •9.3. Порядок выполнения работы
- •Цифровой фильтр
- •10.2. Задание
- •10.3. Порядок выполнения работы
- •10.4. Контрольные вопросы
- •10.5. Литература
- •11. Лабораторная работа № 11 цифровой апериодический регулятор
- •11.1. Общие положения
- •11.2. Задание
- •11.3. Порядок выполнения работы
- •11.4. Контрольные вопросы
- •11.5. Литература
5.2. Задание
Сформировать вектор отсчетов (цифровое представление), для заданного преподавателем аналогового сигнала.
Исследовать зависимость погрешности цифрового представления от шага квантования и частоты дискретизации.
5.3. Порядок выполнения работы
Определить шаг квантования по уровню в абсолютных и относительных единицах в зависимости от разрядности (7-15двоичных разряда) для АЦП с максимальным входным сигналом равным 5.12в.
Получите у преподавателя исследуемую входную функцию и определите необходимый шаг квантования.
Войдите в среду Mathlab, дважды щелкнув на иконке в виде выпуклой поверхности расположенной на рабочем столе машины. При этом откроются два окна: окно переменных, в котором будут отображаться вводимые пользователем переменные и их размерности и рабочее окно, в которое пользователем вводятся команды, выполняемые при нажатии клавиши Enter.
Войдите в окно редактирования. Оно имеет нумерацию строк. Окно редактирования, предназначенное для написания, редактирования и записи программ на диск, вызывается из меню File – New – M-file. Перенос команд из окна редактирования в рабочее окно выполняется копированием.
Сформировать в среде Mathlab вектор отсчетов времени, задав шаг квантования по времени. Составлять программу лучше в окне редактирования и затем копировать ее фрагменты в рабочее окно для выполнения. Для ввода массива данных, изменяющихся с постоянным шагом, нужно напечатать в командном окне команду следующего формата: t=t0:dt:et;, где t0 – начальное значение элементов вектора, dt – шаг изменения элементов вектора, et – значение конечного элемента. Для вывода любой переменной на рабочее поле используется команда disp(x); , где x – выводимая переменная. Проконтролировать правильность формирования вектора можно командой вывода вектора на экран: disp(t).
Например, ввести вектор из 100 элементов с шагом 0.01 и первым элементом равным 0: t=0:0.01:9.99; disp(t);. Убрать переменную можно командой Clear x; ,где x –убираемая переменная. Просмотреть список переменных можно командой Who;.
Эмулируя работу АЦП построить в пакете Mathlab массив данных y содержащий значения отсчетов сигнала. Для этого, используя оператор цикла FOR, сформировать элементы массива. Формат необходимых команд виден из приведенного ниже примера.
for i=1:100 %Заголовок цикла на 100 отсчетов
y(i)=sin(2*pi*0.1*t(i)); %Ввод дискретизированной по времени функции sin(2**0.1*X) %
end; % Конец цикла.
Информация, записанная после символа «%» рассматривается как комментарий. Точка с запятой запрещает вывод полученных данных на дисплей.
Вывести график функции. Для вывода графика функции используется функция plot(x,y,’r’); , где x- вектор аргументов, y – вектор соответствующих значений, r – первая буква цвета графика. Если аргумент не указан (опущен), то в качестве аргумента используется номер отсчета. Для вывода нескольких графиков на одном рисунке используют команду hold on; без аргументов. Массивы данных и аргументов должны иметь одинаковую размерность. Для ввода осей графика используется функция axis([a,b,c,d]); . Аргументы функции axis равны соответственно нижней и верхней границе аргумента выводимой функции, нижнему и верхнему значению самой функции. Если вектор аргументов не указан, то по умолчанию используется вектор номеров отсчетов. Для задания цвета выводимого графика он указывается первой буквой названия цвета, взятой в апострофы. Пример: plot(t,y,’r’);.
Представить на графике массив отсчетов, т.е. дискретизированный по времени сигнал. Для этого используют функцию stem, которая имеет формат аналогичный команде plot. Например: stem(t,y); .
Установить параметры квантователя (по уровню) q командой q=quantizer([n1,n2]);. Параметрами команды являются соответственно – количество двоичных разрядов, отводимых под данные, и количество двоичных разрядов, отводимых под дробную часть числа. Функция range(q) возвращает параметры квантователя. Для просмотра параметров квантователя использовать disp(range(q));.
Провести квантование по уровню полученного ранее вектора отсчетов, записав результат в новый вектор. Для этого используют функцию квантования yy=quantize(q,y1);. Первый аргумент – имя квантователя, второй – имя исходного вектора отсчетов.
Вывести на график квантованные сигналы командой stem и сравнить с сигналами не квантованными по уровню. Для вывода нескольких функций на одном графике используется команда hold on; , после исполнения которой все выводимые позже данные будут размещаться на одном графике. Команда действует только на текущее графическое окно.
Изменяя параметры квантователя и выполняя п. 6-8, получить векторы квантованных сигналов при различных параметрах квантователя. Провести сравнение. Объяснить полученные результаты.
r
Только для чтения
w
Только для записи
r+ r+
Чтение и запись
b
Бинарный файл
t
Текстовый файл
a
Добавление в конец файла
Вычислив среднеквадратичное значение приращения функции на шаге квантования определить требуемый период дискретизации для заданных преподавателем функции и параметров квантователя.
Записать несколько файлов одной функции с разными частотами дискретизации и различными значениями шага квантования по уровню.
Прочитать файлы данных в пакете Mathlab и получить графики полученных функций.
Отчет должен содержать название работы, цель работы, программу, графики исходного и дискретизированного сигналов. Файлы данных представляются на диске или дискете.