Исследование цифровых фильтров

Лабораторная работа №3 по курсу "Компьютерное моделирование технических систем автоматического управления"

Цель работы

  • Освоить первоначальный набор навыков работы в SimInTech для моделирования дискретных процессов управления техническими объектами
  • Приобрести навык перехода от конечно-разностного уравнения к передаточной функции и обратно

Задачи работы

  • Освоить отдельные понятия и вопросы теории автоматического управления импульсными и дискретными системами (квантование по времени и по уровню, период и частота квантования, фиксатор нулевого порядка, экстраполятор, дискретный закон управления, цифровой фильтр)
  • Закрепить навыки формирования структурной схемы модели, выбора метода и параметров интегрирования, ввода свойств блоков, вывода данных расчета
  • Приобрести первичные навыки использования скриптов
  • С помощью компьютерного эксперимента исследовать эффекты квантования
  • Исследовать законы обработки сигналов "скользящее среднее" и "авторегрессия со скользящим средним"
  • Исследовать оператор запаздывания
  • Оформить отчет о результатах исследования

Объект исследования

Как известно, квантование по времени – это получение выборки значений аналогового сигнала в фиксированные моменты времени с некоторым периодом Т. Например, квантование синусоидального сигнала

с периодом T состоит в том, что из него выбираются значения

при целых значениях k. Дискретная последовательность значений

представляет собой оцифрованный сигнал.

Информация о значениях сигнала между моментами квантования в дискретной последовательности отсутствует. Однако согласно теореме Котельникова-Шеннона сигнал можно точно восстановить, если частота квантования ω по крайней мере в 2 раза превышает максимальную частоту в спектре сигнала:

Объектом исследования в данной работе является цифровой фильтр. Цифровой фильтр – это программа обработки оцифрованного сигнала. Цифровой фильтр реализуется контроллером или процессором управляющего компьютера и из входной последовательности значений – дискретного сигнала {x[k]} строит на выходе новую последовательность – дискретный сигнал {u[k]}:


Рис. 1. Схематическое изображение фильтра.

Например, линейный фильтр второго порядка вычисляет очередное значение сигнала выхода 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+φ) его импульсным приближением.

Для выполнения задания необходимо выполнить следующие шаги:
  1. Сформировать и оформить структурную схему модели по аналогии с рисунком (Рис. 2). При сборке нужно учесть, что блок Синусоида находится на вкладке Источники, блок Ключ перекидной на вкладке Ключи, блок Экстраполятор на вкладке Дискретные. Полученную схему сохранить в отчет
  2. Настроить блоки структурной схемы: блок Синусоида – с учетом данных из таблицы (Табл. 1), блок с подписью "Фиксатор 0-го порядка" – с учетом соображения, вытекающего из условия, т.е. что частота квантования должна быть по крайней мере вдвое больше частоты задающего гармонического сигнала.


    Рис. 2. Схема для изучения квантования аналогового сигнала и его восстановления фиксатором нулевого порядка.
  3. Задать параметры расчета, назначая, в частности, конечное время моделирования примерно в 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), исследовать переходные характеристики простых цифровых фильтров первого порядка, заданных разностными уравнениями или передаточными функциями.

Для выполнения задания необходимо выполнить следующие шаги:
  1. Построить передаточную функцию для программы обработки данных, которая соответствует разностному уравнению

    Значения коэффициентов a0, a1 и b0 в таблице (Табл. 1) для вашего варианта
  2. Добавить в структурную схему блок Дискретная передаточная функция общего вида из вкладки Дискретные и установить связи (Рис. 3). Задать для этого блока обработки сигнала подпись "АБ" (Алгоритмический блок). Подключить блок Ключ перекидной к выходу блока Ступенька. Вставить полученную схему в отчет.


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


    Рис. 4. Окно "Свойства" блока "Дискретная передаточная функция общего вида".


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


    Рис. 6. Схема модели с блоком "Запаздывания на период квантования".
  11. Установить у блока запаздывания период квантования, равный, меньше и больше периода квантования в блоке с подписью "АБ", и провести моделирование. Поместить графики в отчет. Сделать вывод о влиянии блока запаздывания на характер переходного процесса

Контрольные вопросы

  1. Что такое цифровой фильтр?
  2. Каков характер входного и выходного сигнала цифрового фильтра: дискретный, аналоговый или импульсный?
  3. Что такое КИХ-фильтр? В чем его отличие от БИХ-фильтра?
  4. Что такое фиксатор нулевого порядка? Что такое экстраполятор?
  5. Каков характер входного и выходного сигнала экстраполятора: дискретный, аналоговый или импульсный?
  6. Как выбрать время моделирования при исследовании гармонического сигнала?
  7. Как меняется квантованный и восстановленный сигнал при увеличении периода квантования?
  8. Из каких соображений следует выбирать период квантования гармонического сигнала?
  9. Как построить передаточную функцию, соответствующую разностному уравнению?
  10. Как вычислить значения выхода в разные моменты времени при заданном входном сигнале и известном разностном уравнении обработки?
  11. Как вычислить установившееся значение выхода при заданном входном сигнале и известном разностном уравнении обработки?
  12. Может ли случиться так, что установившегося значения не существует? Если да, в каком случае?
  13. Может ли установившееся значение выхода быть бесконечным? Если да, в каком случае?
  14. Как изменить цвет линии на графике?
  15. Как посмотреть расчетное значение сигнала, отображенного на графике?
  16. Как запустить редактор скриптов?
  17. Как изменять переменные при запуске модели?
  18. Как отобразить два графика в одном окне?
  19. Чем принципиально отличаются реакции на единичный скачок в системе с законом обработки "скользящее среднее" от аналогичной системы с законом "авторегрессия со скользящим средним"?
  20. Как изменится выходной сигнал, если на выходе установить еще один блок запаздывания?