русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ


Дата добавления: 2015-06-12; просмотров: 2792; Нарушение авторских прав


 

Линейное однородное разностное уравнение второго порядка с постоянными коэффициентами имеет вид:

. (1)

 

Чтобы подчеркнуть дискретный характер изменения времени, это уравнение часто записывают в форме

.

 

Разностные уравнения третьего и более высоких порядков записываются аналогично.

Известны два основных метода решения линейных разностных уравнений – с помощью характеристического полинома и с использованием z-преобразования, аналогичного преобразованию Лапласа.

 

1.1. Решение разностных уравнений с помощью характеристического полинома

Будем искать решение однородного разностного уравнения в виде x(t)=zt, где z – некоторое число. Подставляя x(t) в разностное уравнение (1) при f(t)=0 и сокращая на zt, получаем характеристическое уравнение

 

Если его корни z1, z2 вещественные и различные, то общее решение имеет вид:

 

.

 

Если z1=z2,,то в решении появляется линейный множитель

 

 

В случае пары комплексно-сопряженных корней z1,2=a±ib решение может быть записано в вещественной форме

 

, .

 

Здесь r – модуль комплексного числа z1, а j – его аргумент.

Формулы для уравнений более высоких порядков выглядят так же, просто увеличивается число слагаемых в решении.

Пример 1. Решим разностное уравнение x(t+2) –5x(t+1) + 6x(t) = 0.

Характеристическое уравнение имеет вид z2 –5z + 6 = 0.

Его корни вещественные и различные: z1 = 3, z2 = 2.

Общее решение: x(t) = c1 3t + c2 2t.

Пример 2. Решим разностное уравнение x(t+2) + 2x(t+1) + 4x(t) = 0.

Характеристическое уравнение: z2 + 2z + 4 = 0. У него комплексные корни: . Их положение на комплексной плоскости z = α +ib показано на рис. 1.

Модуль и аргумент корней можно найти непосредственно на рис.1: .

Общее решение:



Произвольные постоянные ci находят, задавая начальные условия. Пусть, например, в примере 2 заданы начальные условия x(0)=2; x(1)= –4. Записываем общее решение для t=0 и t=1:

Отсюда находим с1=2, с2=0. Следовательно, решение имеет вид

Общее решение неоднородного разностного уравнения представляет со­бой сумму общего решения соответствующего однородного уравнения и любого частного решения неоднородного уравнения. Частное решение ищут в том же виде, что и правая часть, т.е. функция f(t) в уравнении (1):

– если f(t) – постоянная, то в виде константы;

– если f(t) – экспонента, то в виде экспоненты с тем же показателем;

– если f(t) =sin kt или cos kt, то в виде c1sinkt+c2coskt.

Коэффициенты с1 и с2 находят, подставляя частные решения в разностное уравнение и приравнивая одноименные функции справа и слева.

Пример 3. Дано неоднородное разностное уравнение второго порядка

 

 

Находим корни характеристического полинома

 

Частное решение ищем в виде xчаст=c. Подставляя его в исходное уравнение, находим, что xчаст=2.

Общее решение неоднородного уравнения получаем как сумму частного решения и общего решения соответствующего однородного уравнения

 

 

Коэффициенты с1, с2 находим из уравнений , откуда .

 

1.2. Решение разностных уравнений с помощью z-преобразования

При описании дискретных систем и решении разностных уравнений широко применяется аппарат z-преобразования – это дискретный аналог преобразования Лапласа. Например, умножение изображения F(p) на оператор Лапласа p соответствует дифференцированию непрерывной функции f(t). Умножение изображения F(z) на оператор z соответствует сдвигу функции f(t) (которая может быть непрерывной, дискретной или решетчатой) на один такт.

Таким образом, если операторы р и 1/р – это операторы дифференцирования и интегрирования, то операторы z и z-1 – это операторы сдвига влево и вправо. С инженерной точки зрения оператор z-1 представляет собой элемент задержки.

Существуют также определенные параллели между изображениями функций F(p) и F(z). Например, изображению по Лапласу F(p) = 1 соответствует дельта-функция f(t) = d(t), а изображению F(z) = 1, соответствует единичный импульс. В том и другом случае оригиналом является элементарное импульсное воздействие.

Краткая таблица z-преобразований других функций приведена в Приложении.

Пусть дано разностное уравнение n-го порядка

 

y(t+n)+an-1y(t+n–1)+ ... +a0y(t)=f(t) (2)

 

с начальными условиями y(0)=y0; y(1)=y1; ...; y(n–1)=yn-1.

Алгоритм его решения с помощьюz-преобразования содержит 4 шага.

Шаг 1. Применить z-преобразование к уравнению (2), заменяя f(t) на F(z), y(t) на Y(z); y(t+1) на z(Y(z)–y0) и т.д.

Шаг 2. Из полученного алгебраического уравнения выразить Y(z).

Шаг 3. Выполнить разложение Y(z) на простые дроби.

Шаг 4. Пользуясь таблицей, выполнить обратное z-преобразование.

Результатом будет искомое решение разностного уравнения.

Пример 4. Требуется решить разностное уравнение второго порядка

 

yn+2 –5 yn+1+6yn = un

 

с нулевыми начальными значениями y0, y1и входным сигналом un=1.

Шаг 1. Применяем к нему z-преобразование

 

Шаг 2. Выражаем Y(z) и подставляем :

 

Шаг 3. Представляем правую часть в виде суммы простых дробей с переменной z в числителе:

.

 

В отчете разложение делается методом неопределенных коэффициентов. В пакете MATLAB это можно сделать с помощью команды residue.

Шаг 4. С помощью таблицы z-преобразований или команды iztrans тулбокса SYMBOLIC пакета MATLAB находим оригиналы каждого из слагаемых и складываем их:

yn=0,5–2n +0,5×3 n.

1.3. Система линейных разностных уравнений

Матричная запись системы линейных однородных разностных уравнений имеет вид

 

X(t+1)=AX(t), X(0)=X0, (3)

 

где – вектор переменных, А – квадратная матрица постоянных коэффициентов,
X0 – вектор начальных условий.

Решение этой системы может быть записано в компактной степенной форме

X(t)=At X0. (4)

При работе в пакете MATLAB этот способ удобнее всего.

Пример 5. Найдем решение системы разностных уравнений второго порядка

 

x(t+1) = 2x(t),

y(t+1) = –2x(t) +2y(t),

если .

Матричное описание задачи имеет вид

X(t+1)=AX(t), , .

 

Для получения решения воспользуемся степенной формулой. Последовательно возводя матрицу А в степени 2, 3, ..., n (проделайте это!), находим

 

An = 2n , X(t)=At X0=

 

Переходя к скалярной форме записи, получаем окончательный ответ x = 2 t, y = (20–t) 2 t.

Другой путь решения этой задачи связан с переходом от системы двух разностных уравнений первого порядка к одному уравнению второго порядка относительно y:

y(t+2) – 4y(t+1) + 4y(t) = 0.

 

Оно получается, если выразить из второго уравнения x(t), x(t+1) и подставить в первое.

 

1.4. Моделирование дискретных систем в MATLAB и SIMULINK

В MATLAB при моделировании линейных системы с дискретным временем используются разностные уравнения, модели в пространстве состояний и дискретные передаточные функции. В ядре MATLAB имеется команда filter,позволяющая рассчитать выходной сигнал фильтра по известному входному сигналу, заданному массивом своих значений. Ее входными аргументами являются векторы а и b коэффициентов разностного уравнения, а также массив значений сигнала и: y=filter(b,a,u). С помощью четвертого входного аргумента можно задавать начальные условия фильтра.

Дискретная система в пространстве состояний, как и непрерывная система, задается четверкой матриц:

 

(5)

 

Здесь – вектор состояния; uk, yk – входной и выходной сигналы, A, B, C, D – постоянные матрицы.

Дискретной передаточной функцией линейной системы (5) называется отношение z-преобразования выходного сигнала к z-преобразованию входного сигнала при нулевых начальных условиях Q(z) = Y(z)/U(z). Для систем с одним входом и одним выходом она представляет собой отношение двух полиномов

 

 

Дискретная передаточная функция системы, заданной описанием в пространстве состояний (5), может быть найдена по формуле Q(z)=C(zE-A)–1B+D.

Дискретные модели в MATLAB задаются при помощи тех же конструкторов ss, tfи zpk, что и непрерывные с той разницей, что последним параметром задается частота дискретизации ts(sampling time).

Пример 6.Рассмотрим дискретную систему, описываемую уравнениями

 

при шаге дискретизации, равном 1.

Создадим соответствующую ss-модель с дискретным временем:

 

>> a=[-1 -1/2 ;1/2 -1]; b=[1;0]; c=[0 1]; d=0; ts=1.0; s1=ss(a,b,c,d, ts).

 

На дисплей будут выведены матрицы:

 

a = -1 -0.5 0.5 -1 b = 1 c = 0 1   d = 0  

 

и сообщение: Sampling time: 1.0 Discrete-time model.

 

Аналогично создаются tf и zpk-модели с дискретным временем. Обращение к полям дискретной модели осуществляется так же, как и у непрерывной, например для вывода матрицы c надо набрать код s1.c . Время дискретизации хранится в поле ts.

Для моделирования дискретных систем используются те же команды (step, impulse, initial, lsim), что и в непрерывном случае. При получении весовой функции дискретных систем вместо реакции на дельта-функцию рассматривают реакцию на единичный импульс вида . Для этого используется та же команда impulse. Реакцию на единичный скачок (переходную функцию) получают при помощи команды step.

В тулбоксе SYMBOLIC имеются команды ztrans и iztrans для выполнения прямого и обратного z–преобразований.

Пример.Дискретная система задана уравнениями

 

 

Найдем двумя способами (символьным и численным) передаточную функцию от входа u до выхода у.

В данном случае имеем следующие матрицы описания в пространстве состояний

 

 

Символьный способ. Дискретную передаточную функцию получаем по формуле Q=C(zE-A)–1B:

>>syms z;

>>А=[0 1;-6 5];В=[0; 7];С=[0 1]; %ввод матриц

>>Q=С*inv(z*eye(2)-А))*В %передаточная функция

Q=7*z/(z^2-5*z+6), %результат

 

Численный способ. Используем команды тулбокса CONTROL:

>> A=[0 1;-6 5];B=[0; 7];C=[0 1];

>>sd=ss(A,B,C,0,1); % Discrete-time model Sampling time: 1, .

>> s=tf(sd)

  Transfer function: 7 z ------------- z^2 - 5 z + 6

В обоих случаях получаем одинаковый результат: .

Моделирование дискретных систем в SIMULINK производится так же, как и непрерывных. На рисунке приведены основные блоки из библиотеки Discrete.

 

Блок задержки Unit delay позволяет строить схемы моделирования методом Кельвина. Блоки Discrete Transfer Fcn (дискретная передаточная функция) и Discrete Filter (дискретный фильтр) определяют рациональную функцию отношения полиномов от оператора z и обратного оператора соответственно.

 



<== предыдущая лекция | следующая лекция ==>
АНАЛИЗ СИСТЕМЫ УПРАВЛЕНИЯ | ЗАДАНИЕ ПО РАБОТЕ И СОДЕРЖАНИЕ ОТЧЕТА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.063 сек.