- •Лабораторная работа №4
- •Общие сведения
- •Функции matlab для расчета линейных систем (цепей).
- •Функции преобразования способов описания систем.
- •Функция residue
- •Порядок выполнения лабораторной работы
- •Индивидуальные задания к лабораторной работе
- •4.1. Варианты индивидуальных заданий
- •Контрольные вопросы
- •Литература
Функции matlab для расчета линейных систем (цепей).
Пакет Signal Processing содержит функции позволяющие выполнять расчет линейных систем. В частности они позволяют выполнить расчет комплексного коэффициента передачи, амплитудно-частотную и фазо-частотную характеристики системы, а также осуществить преобразование способов описания линейных систем.
Для расчета комплексного коэффициента передачи в функцию передачи необходимо подставить мнимый аргумент׃
S = Jω.
Соответствующие расчеты выполняются с помощью функции freqs. Простейший вид синтаксиса: freqs (b,a);
Здесь b и a – векторы коэффициентов полиномов соответственно числителя и знаменателя функции передачи. Коэффициенты следуют в порядке убывания степеней, заканчивая постоянным слагаемым.
Для расчета характеристик по умолчанию выбирается 200 частот, логарифмически равномерно распределенных в диапазоне от 0,1 до 10.
При отсутствии выходных параметров функция freqs строит графики АЧХ и ФЧХ.
АЧХ выводится в логарифмическом масштабе (без пересчета в децибелы), ФЧХ – в градусах.
Пример
» b = [1 3 3 1] ;
» a = [1 -3 4 -2 1] ;
» freqs (b, a)
Если вместо графика нужно получить вектор рассчитанных значений комплексного коэффициента передачи, нужно присвоить результат, возвращаемый функцией freqs, какой либо переменной:
h = freqs (b,a);
Если использовать второй выходной параметр, то в нем функция возвращает вектор частот, для которых рассчитаны значения импульсной характеристики׃
[h, w] = freqs (b,a);
Можно построить вектор значений частотной характеристики АЧХ в линейном , а не в логарифмическом масштабе:
» [h, w] = freqs (b, a)
» plot (w, abs (h))
»grid on
Частотный диапазон можно задать принудительно также с помощью третьего входного параметра, которым является вектор круговых частот w׃
h = freqs (b, a, w);
Функция unwrap позволяет избавиться лишних разрывов ФЧХ. Она ищет в переданном ей векторе скачки между соседними элементами, превышающими заданную пороговую величину (по умолчанию π) и сдвигает соответствующие фрагменты вектора на ±2π нужное число раз
» [h, w] = freqs (b, a); % - ФЧХ
» phi = angle (h)
» phi = unwrap (phi) % - устранение скачков
» plot (w, phi * 180/ pi) % отображается в градусах
» grig on
Функции преобразования способов описания систем.
В пакете Signal Processing системы MATLAB имеется ряд функций, предназначенных для преобразования описаний из одной формы в другую.
Имена функций имеют вид XX2YY, где XX – обозначение исходной формы описания, а YY – обозначение целевой формы описания системы.
Формы описания цепей в именах функций׃
- tf – (transfer function) – коэффициенты полинома числителя и знаменателя функции передачи H (s);
- zp – нули и полюсы (zeros and poles);
- ss – описание в пространстве состояний (state-space).
Необходимость в преобразовании описаний часто возникает из-за того, что функции, например фильтров, дают результат расчета в одной форме, а функция построения, например частотной характеристики, в другой форме.
Для входных и выходных параметров используются следующие обозначения:
а) функция передачи – в – вектор-строке коэффициентов (в порядке убывания степеней) числителя функции передачи;
а – вектор-строке коэффициентов (в порядке степеней) знаменателя функции передачи;
б) нули и полюсы׃
z – вектор нулей (столбец);
p – вектор полюсов (столбец);
K - коэффициент усиления (скаляр).
в) Пространство состояний׃
A- квадратная матрица связи вектора состояний и его производной;
B - вектор-столбец связи входных сигналов и производный вектора состояний;
C - вектор-строка связи выходных сигналов и вектора состояний;
D - скалярный коэффициент связи выходных и входных сигналов.
Дадим пояснения функций преобразования.
Функция tf2zp преобразует наборы коэффициентов полиномов числителя, знаменателя функции передачи в векторы нулей и полюсов, рассчитывая также значения общего коэффициента усиления
[z, p, K] = tf2zp (b, a);
Коэффициент усиления рассчитывается из соотношения
Функция zp2tf является обратной по отношению к функции tf2zp׃ она осуществляет преобразование коэффициента усиления, векторов нулей и полюсов функций передачи в коэффициенты полиномов её числителя и знаменателя׃
[b, a] = zp2tf (z, p, K);
Функция tf2ss преобразует наборы коэффициентов полиномов числителя и знаменателя функции передачи в параметры представления системы в пространстве состояний׃
[A, B, C, D] = tf2ss (b, a);
Функция ss2tf является обратной по отношению к функции tf2ss׃ она преобразует параметры пространства состояний в коэффициенты полиномов функции передачи системы׃
[b, a] = ss2tf (A, B, C, D);
Функция zp2ss преобразует нули, полюсы и коэффициенты усиления в ее параметры пространства состояний׃
[A, B, C, D] = zp2ss;
Функция ss2zp является обратной по отношению к предыдущей, т.е. она преобразует параметры пространства состояний в нули, полюсы и коэффициенты усиления׃
[z, p,K] = ss2zp (A, B, C, D)