Исследование цифровых фильтров
Лабораторная работа №3 по курсу "Компьютерное моделирование технических систем автоматического управления"
Цель работы
- Освоить первоначальный набор навыков работы в SimInTech для моделирования дискретных процессов управления техническими объектами
- Приобрести навык перехода от конечно-разностного уравнения к передаточной функции и обратно
Задачи работы
- Освоить отдельные понятия и вопросы теории автоматического управления импульсными и дискретными системами (квантование по времени и по уровню, период и частота квантования, фиксатор нулевого порядка, экстраполятор, дискретный закон управления, цифровой фильтр)
- Закрепить навыки формирования структурной схемы модели, выбора метода и параметров интегрирования, ввода свойств блоков, вывода данных расчета
- Приобрести первичные навыки использования скриптов
- С помощью компьютерного эксперимента исследовать эффекты квантования
- Исследовать законы обработки сигналов "скользящее среднее" и "авторегрессия со скользящим средним"
- Исследовать оператор запаздывания
- Оформить отчет о результатах исследования
Объект исследования
Как известно, квантование по времени – это получение выборки значений аналогового сигнала в фиксированные моменты времени с некоторым периодом Т. Например, квантование синусоидального сигнала
с периодом T состоит в том, что из него выбираются значения
при целых значениях k. Дискретная последовательность значений
представляет собой оцифрованный сигнал.
Информация о значениях сигнала между моментами квантования в дискретной последовательности отсутствует. Однако согласно теореме Котельникова-Шеннона сигнал можно точно восстановить, если частота квантования ω по крайней мере в 2 раза превышает максимальную частоту в спектре сигнала:

Например, линейный фильтр второго порядка вычисляет очередное значение сигнала выхода u[k] по формуле
Здесь a2, a1, a0, b1 и b0 – коэффициенты фильтра; x[k] – текущее (только что полученное) значение входного сигнала; x[k–1] и x[k–2] – два предыдущих значения входного сигнала, полученные соответственно в моменты k–1 и k–2; u[k–1] и u[k–2] – два предыдущих значения выходного сигнала.
Уравнение можно использовать, чтобы вычислить реакцию такого фильтра на единичный ступенчатый входной сигнал x[k], который равен 0 при всех k < 0 и равен 1 при всех k3 0:
Подставляя эти значения в формулу, получаем
Так последовательно можно найти значения u[k] при всех k.
В общем случае фильтр может быть представлен более сложным разностным уравнением или алгоритмическим блоком (АБ).
У дискретных систем переходный процесс может заканчиваться за конечное число шагов. Фильтры с конечной импульсной характеристикой (КИХ-фильтры) описываются моделью типа "скользящее среднее".
Фильтры с бесконечной импульсной характеристикой (БИХ-фильтры) описываются так называемой авторегрессионной моделью со скользящим средним:
С использованием оператора запаздывания , такого что
уравнение можно записать в операторном виде:
откуда
Умножая числитель и знаменатель на получим
Функция
называется передаточной функцией цифрового фильтра второго порядка. Для фильтра с конечной импульсной характеристикой (КИХ-фильтра) знаменатель передаточной функции имеет вид zN, т.е. b1 = b2 = … = bN = 0; например, при N = 2
Напомним, что установившееся значение на выходе фильтра при единичном ступенчатом входе можно найти, подставив в передаточную функцию C(z) вместо z единицу:
Дискретный сигнал на выходе фильтра подвергается преобразованию в аналоговый. В простейшем случае восстановление непрерывного сигнала по дискретным значениям – это удержание очередного полученного значения в течение всего следующего интервала квантования. Соответствующий элемент называется фиксатором нулевого порядка. В более общем случае восстанавливающий элемент структурной схемы системы называется экстраполятором.
Задание 1. Квантование и восстановление сигналов
С помощью структурной схемы, составленной по образцу, промоделировать преобразование гармонического сигнала и исследовать влияние периода квантования Т на точность представления непрерывного гармонического сигнала x(t) = Asin(ωt+φ) его импульсным приближением.
- Сформировать и оформить структурную схему модели по аналогии с рисунком (Рис. 2). При сборке нужно учесть, что блок Синусоида находится на вкладке Источники, блок Ключ перекидной на вкладке Ключи, блок Экстраполятор на вкладке Дискретные. Полученную схему сохранить в отчет
- Настроить блоки структурной схемы: блок Синусоида – с учетом данных из
таблицы (Табл. 1), блок с
подписью "Фиксатор 0-го порядка" – с учетом соображения, вытекающего из условия,
т.е. что частота квантования должна быть по крайней мере вдвое больше частоты задающего
гармонического сигнала.

Рис. 2. Схема для изучения квантования аналогового сигнала и его восстановления фиксатором нулевого порядка. - Задать параметры расчета, назначая, в частности, конечное время моделирования
примерно в 3-4 раза больше периода гармонического сигнала. Провести моделирование
трижды, задавая значение периода квантования Т с учетом условия. Полученные
графики поместить в отчет и сделать вывод о влиянии периода квантования на точность
представления аналогового синусоидального сигнала импульсным.
Табл. 1. Параметры структурных схем для моделирования. Вариант Амплитуда А Угловая частота ω, рад/с Фаза φ, рад a1 a0 b0 1 3 2.0 0.2 2.0 -3.8 -0.1 2 7 5.0 0.4 2.2 -3.6 -0.2 3 5 10.0 0.6 1.2 -1.7 -0.3 4 9 20.0 0.8 1.3 -1.5 -0.4 5 15 30.0 1.0 2.8 -3.1 -0.5 6 3 40.0 1.2 3 -2.8 -0.6 7 7 50.0 1.4 1.6 -1.3 -0.7 8 5 60.0 1.6 1.7 -1.2 -0.8 9 9 1.6 1.8 3.6 -2.2 -0.9 10 15 1.2 2.0 3.8 -2.1 -0.3
Задание 2. Исследование простых цифровых фильтров
С помощью структурной схемы, составленной по рисунку (Рис. 2), исследовать переходные характеристики простых цифровых фильтров первого порядка, заданных разностными уравнениями или передаточными функциями.
- Построить передаточную функцию для программы обработки данных, которая
соответствует разностному уравнению
Значения коэффициентов a0, a1 и b0 в таблице (Табл. 1) для вашего варианта - Добавить в структурную схему блок Дискретная передаточная функция общего
вида из вкладки Дискретные и установить связи (Рис. 3). Задать для этого
блока обработки сигнала подпись "АБ" (Алгоритмический блок). Подключить блок
Ключ перекидной к выходу блока Ступенька. Вставить полученную схему
в отчет.

Рис. 3. Схема модели с алгоритмическим блоком. - Настроить блок с подписью "АБ" в соответствии с передаточной функцией,
найденной на шаге 1. Чтобы задать коэффициенты числителя и знаменателя передаточной
функции (двойное нажатие левой кнопкой мыши по блоку "АБ"), можно, как и ранее,
вписать значения коэффициентов в виде констант в окне Свойства. Однако, при
выполнении данного задания удобнее использовать имена переменных (Рис. 4), вписав нужные значения
переменных в скрипт страницы (Рис. 5), открывающийся по нажатию кнопки Скрипт в меню окна
проекта.

Рис. 4. Окно "Свойства" блока "Дискретная передаточная функция общего вида". 
Рис. 5. Окно "Скрипт страницы". - Задать параметры расчета (метод, минимальный и максимальный шаг и конечное время интегрирования) и провести моделирование. Полученный график переходного процесса поместить в отчет
- Используя уравнение с коэффициентами вашего варианта, вычислить значения u[0], u[1], u[2] и u[3] для единичного скачка на входе. По аналогии с уравнением вычислить установившееся значение выходного сигнала . Сравнить значения, найденные теоретически, с результатами моделирования. Сделать выводы и поместить их в отчет
- Задать в скрипте страницы значение переменной "b0" равным "0". Провести моделирование и поместить график в отчет. Написать разностное уравнение, которое в данном случае реализует блок с подписью "АБ" и с его помощью вычислить значения u[0], u[1], u[2] и u[3] для единичного скачка на входе. Вычислить установившееся значение выходного сигнала . Сравнить значения, найденные теоретически, с результатами моделирования. Сделать выводы и поместить их в отчет
- Задать в скрипте страницы значение переменной "b0" равным "1". Провести моделирование и поместить график в отчет. Написать разностное уравнение, которое в данном случае реализует блок с подписью "АБ" и с его помощью необходимо вычислить значения u[0], u[1], u[2] и u[3] для единичного скачка на входе. Вычислить установившееся значение выходного сигнала . Сравнить значения, найденные теоретически, с результатами моделирования. Сделать выводы и поместите их в отчет
- Задать в скрипте страницы значение переменной "b0" равным "1.1". Провести моделирование и поместить график в отчет. Написать разностное уравнение, которое в данном случае реализует блок с подписью "АБ" и с его помощью вычислить значения u[0], u[1], u[2] и u[3] для единичного скачка на входе. Вычислить установившееся значение выходного сигнала . Сравнить значения, найденные теоретически, с результатами моделирования. Сделать выводы и поместить их в отчет
- Восстановить в модели параметры передаточной функции блока обработки данных (Табл. 1)
- Добавить в схему блок Запаздывание на период квантования из вкладки
Дискретные и установить связи как на рисунке
(Рис. 6).

Рис. 6. Схема модели с блоком "Запаздывания на период квантования". - Установить у блока запаздывания период квантования, равный, меньше и больше периода квантования в блоке с подписью "АБ", и провести моделирование. Поместить графики в отчет. Сделать вывод о влиянии блока запаздывания на характер переходного процесса
Контрольные вопросы
- Что такое цифровой фильтр?
- Каков характер входного и выходного сигнала цифрового фильтра: дискретный, аналоговый или импульсный?
- Что такое КИХ-фильтр? В чем его отличие от БИХ-фильтра?
- Что такое фиксатор нулевого порядка? Что такое экстраполятор?
- Каков характер входного и выходного сигнала экстраполятора: дискретный, аналоговый или импульсный?
- Как выбрать время моделирования при исследовании гармонического сигнала?
- Как меняется квантованный и восстановленный сигнал при увеличении периода квантования?
- Из каких соображений следует выбирать период квантования гармонического сигнала?
- Как построить передаточную функцию, соответствующую разностному уравнению?
- Как вычислить значения выхода в разные моменты времени при заданном входном сигнале и известном разностном уравнении обработки?
- Как вычислить установившееся значение выхода при заданном входном сигнале и известном разностном уравнении обработки?
- Может ли случиться так, что установившегося значения не существует? Если да, в каком случае?
- Может ли установившееся значение выхода быть бесконечным? Если да, в каком случае?
- Как изменить цвет линии на графике?
- Как посмотреть расчетное значение сигнала, отображенного на графике?
- Как запустить редактор скриптов?
- Как изменять переменные при запуске модели?
- Как отобразить два графика в одном окне?
- Чем принципиально отличаются реакции на единичный скачок в системе с законом обработки "скользящее среднее" от аналогичной системы с законом "авторегрессия со скользящим средним"?
- Как изменится выходной сигнал, если на выходе установить еще один блок запаздывания?