MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\Signal Processing Toolbox

Список функций Signal Processing Toolbox: Функции синтеза фильтров

В оглавление \ К следующему разделу \ К предыдущему разделу

SS2ZP
Преобразование параметров пространства состояний в нули и полюсы функции передачи

Синтаксис

[z,p,k] = ss2zp(A,B,C,D,i)

Описание

Функция ss2zp преобразует параметры пространства состояний заданной системы в эквивалентное представление в виде наборов нулей, полюсов и коэффициента усиления (то есть в виде факторизованной функции передачи).

[z,p,k] = ss2zp(A,B,C,D,i)

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

системы непрерывного времени, описание которой задано в пространстве состояний в виде

В случае системы с несколькими входами номер рассматриваемого входа задается параметром i (то есть при расчетах используются i-е столбцы матриц B и D).

Возвращаемый вектор-столбец p содержит значения полюсов, то есть корней полинома знаменателя функции передачи. Возвращаемая матрица z содержит столбцы значений нулей, то есть корней полинома числителей функций передачи, соответствующих различным выходам системы. Таким образом, число столбцов матрицы z равно числу выходов системы (то есть размеру вектора y и числу строк во входной матрице C). Возвращаемый вектор-столбец k содержит коэффициенты усиления для всех выходов системы.

Функция ss2zp также может работать и с системами дискретного времени, при этом возвращаются нули и полюсы функции передачи, заданной в z-области. Исходная система в данном случае должна быть вещественной.

Функция ss2zp входит в состав базовой библиотеки MATLAB (раздел операций с полиномами - polyfun).

Примеры

Ниже приводятся два способа нахождения нулей, полюсов и коэффициента усиления для дискретной системы, заданной в виде коэффициентов полиномов числителя и знаменателя функции передачи:

% Задаем исходные данные
b = [2 3]; 
a = [1 0.4 1];
[b,a] = eqtflength(b,a);
% Прямое преобразование функции передачи в нули и полюсы
[z,p,k] = tf2zp(b,a)
z =
    0.0000
   -1.5000
p =
    -0.2000 + 0.9798i
    -0.2000 - 0.9798i
k =
    2
% Двухступенчатое преобразование: 
% 1. Функция передачи -> параметры пространства состояний 
% 2. Параметры пространства состояний -> нули и полюсы
[A,B,C,D] = tf2ss(b,a);
[z,p,k] = ss2zp(A,B,C,D,1)
z =
    0.0000
   -1.5000
p =
    -0.2000 + 0.9798i
    -0.2000 - 0.9798i
k =
    2

Алгоритм

Функция ss2zp находит полюсы функции передачи системы как собственные числа матрицы A. Нули функции передачи являются конечными решениями обобщенной задачи нахождения собственных чисел:

z = eig([A B;C D], diag([ones(1,n) 0]);

Во многих ситуациях данный алгоритм выдает спонтанные нули, имеющие большие, но конечные абсолютные значения. Функция ss2zp трактует такие нули как равные бесконечности.

Коэффициент усиления определяется путем нахождения первого ненулевого марковского параметра.

Сопутствующие функции: pzmap, sos2zp, ss2sos, ss2tf, tf2zp, tf2zpk, zp2ss.

Литература

  1. Laub, A. J., and B. C. Moore, "Calculation of Transmission Zeros Using QZ Techniques," Automatica 14 (1978), p. 557.

В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика