- •1.1. Общие сведения о дискретной сар, квантовании и модуляции
- •1.2. Структурные схемы дискретных сар
- •2. Порядок выполнения работы
- •2.1. Моделирование процесса квантования по уровню
- •2.2. Моделирование процесса квантования по времени
- •2.3. Моделирование кодо-импульсной модуляции
- •Контрольные вопросы
- •1.1. Решение разностных уравнений с помощью характеристического полинома.
- •Лабораторная работа №2 Решение и моделирование разностных уравнений
- •1. Краткие теоретические сведения
- •1.2. Решение разностных уравнений с помощью z-преобразования.
- •1.3. Моделирование дискретных систем в matlab и simulink.
- •2. Порядок выполнения работы
- •2.1. Задание и таблица вариантов
- •2.2. Порядок выполнения работы
- •Контрольные вопросы
1.2. Решение разностных уравнений с помощью z-преобразования.
При описании дискретных систем и решении разностных уравнений широко применяется аппарат z-преобразования – это дискретный аналог преобразования Лапласа. Например, умножение изображения F(p) на оператор Лапласа р соответствует дифференцированию непрерывной функции f(t). Умножение изображения F(z) на оператор z соответствует сдвигу функции f(t) (которая может быть непрерывной, дискретной или решетчатой) на один такт.
Таким образом, если операторы р и 1/р – это операторы дифференцирования и интегрирования, то операторы z и z-1 – это операторы сдвига влево и вправо. С инженерной точки зрения оператор z-1 представляет собой элемент задержки.
Существуют также определенные параллели между изображениями функций F(p) и F(z). Например, изображению по Лапласу F(p) = 1 соответствует дельта-функция f(t) = (t), а изображению F(z) = 1, соответствует единичный импульс. В том и другом случае оригиналом является элементарное импульсное воздействие.
Краткая таблица z-преобразований других функций приведена на стр.18 (табл.1.1).
Пусть дано разностное уравнение n-го порядка
(2.3)
с
начальными условиями
.
Алгоритм его решения с помощью z-преобразования следующий:
применим z-преобразование к уравнению (2.3), заменяя f(t) на F(z), y(t) на Y(z); y(t+1) на z(Y(z)-y0) и т.д.;
из полученного алгебраического уравнения выразим Y(z);
выполним разложение Y(z) на простые дроби;
пользуясь табл.1.1 (стр.18), выполним обратное z-преобразование.
Результатом будет искомое решение разностного уравнения.
Пример 4. Требуется решить разностное уравнение второго порядка
с нулевыми начальными значениями y0, y1 и входным сигналом un = 1.
Решение:
применяем к нему z-преобразование
;
выражаем Y(z) и подставляем
:
;
представляем правую часть в виде суммы простых дробей с переменной z в числителе:
,
разложение можно выполнить методом неопределенных коэффициентов или в пакете Matlab с помощью команды [R,P,K]=residue(B,А), где векторы В и А – коэффициенты полиномов числителя и знаменателя в порядке убывания степени z; синтаксис команды residue для Y(z) данного примера следующий: [R,P,K]=residue([1],[1 -6 11 -6]), в результате получим R – коэффициенты числителей суммы простых дробей, P – знаменатели простых дробей, K – свободный член;
с помощью z-преобразований (табл.1.1, стр.18) или команды iztrans тулбокса SYMBOLIC пакета Matlab находим оригиналы каждого из слагаемых и суммируем их:
.
1.3. Моделирование дискретных систем в matlab и simulink.
В Matlab при моделировании линейных систем с дискретным временем используются разностные уравнения, модели в пространстве состояний и дискретные передаточные функции. В ядре Matlab есть команда filter, позволяющая рассчитать выходной сигнал фильтра по известному входному сигналу, заданному массивом своих значений. Ее входными аргументами являются векторы a и b коэффициентов разностного уравнения, а также массив значений сигнала u: y=filter(b,a,u). С помощью четвертого входного аргумента можно задавать начальные условия фильтра.
Дискретная система в пространстве состояний, как и непрерывная система, задается четверкой матриц:
. (2.4)
Здесь
– вектор состояния; uk,
yk
– входной и выходной сигналы, A,
B, C, D
– постоянные матрицы.
Дискретной передаточной функцией линейной системы (2.4) называется отношение z-преобразования выходного сигнала к z-преобразованию входного сигнала при нулевых начальных условиях Q(z) = Y(z)/U(z). Для систем с одним входом и одним выходом она представляет собой отношение двух полиномов
.
Дискретная передаточная функция системы,
заданной описанием в пространстве
состояний (2.4), может быть найдена по
формуле
.
Дискретные модели в Matlab задаются при помощи тех же конструкторов ss, tf и zpk, что и нерперывные с той разницей, что последним параметром задается частота дискретизации ts (sampling time).
Пример 5. Рассмотрим дискретную систему, описываемую уравнениями
,
при шаге дискретизации, равном 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 b= 1 c=0 1 d= 0 0.5 -1 0
и сообщение: Sampling time: 1.0 Discrete-time model.
Аналогично создаются tf и zpk-модели с дискретным временем. Обращение к полям дискретной модели осуществляется так же, как и у непрерывной, например, для вывода матрицы c надо набрать код s1.c . Время дискретизации хранится в поле ts.
Для моделирования дискретных систем используются те же команды (step, impulse, initial, lsim), что и в непрерывном случае. В тулбоксе SYMBOLIC есть команды ztrans и iztrans для выполнения прямого и обратного z-преобразований. Например, набрав в командной строке Matlab код:
>>syms t; ztrans(t^2), получим ans=z*(z+1)/(z–1)^3.
Пример 6. Дискретная система задана уравнениями
.
Найдем двумя способами (символьным и численным) передаточную функцию от входа u до выхода y.
В данном случае имеем следующие матрицы описания в пространстве состояний
.
Символьный способ. Дискретную
передаточную функцию получаем по формуле
:
>>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.
