Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Основные функции > Сигнальная обработка > bloc2ss

bloc2ss

преобразование блок-схемы в пространство состояний

Последовательность вызова

[sl]=bloc2ss(blocd)

Аргументы

blocd

список

sl

список

Описание

Заданную линейную систему в виде блок-схемы bloc2ss преобразует в линейную систему пространство состояний. Первый элемент списка blocd должен быть строкой 'blocd'. Остальные элементы этого списка должны сами по себе быть списками одного из следующего типа:

list('transfer','name_of_linear_system')
list('link','name_of_link',
             [number_of_upstream_box,upstream_box_port],
             [downstream_box_1,downstream_box_1_portnumber],
             [downstream_box_2,downstream_box_2_portnumber],
             ...)

Строки 'transfer' и 'link' являются ключевыми словами, которые указывают тип элемента в блок-схеме.

Случай 1: второй параметр списка является символьной строкой, которая может ссылаться (для возможного дальнейшего вычисления) на Scilab-имя линейной системы, заданной в виде пространства состояний (список syslin) или в передаточной форме (матрица или рациональные дроби).

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

Случай 2: второй вид элемента в представлении блок-схемы - это связь (link). Связь связывает один выход блока, представленного парой [number_of_upstream_box,upstream_box_port] (то есть [номер_предшествующего_блока,порт_предшествующего_блока]), с различными входами других блоков. Каждый такой вход предсталяется парой [downstream_box_i,downstream_box_i_portnumber] (то есть [последующий_блок_i,номер_порта_последующего_блока_i]).

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

Например

[1] S1*S2 с обратной связью блока.

Есть три передаточных звена S1 (число n_s1=2) , S2 (число n_s2=3) и сумматор (число n_add=4) с символической передаточной функцией ['1','1'].

Есть 4 связи. Первая (с именем 'U') связывает вход (порт 0 условного блока -1 не рассматривается) с портом 1 сумматора. Вторая и третья связи соответственно (выходной) порт 1 сумматора с (входным) портом 1 системы S1, а (выходной) порт 1 S1 с (входным) портом 1 S2. Четвёртая связь (названная 'Y') связывает (выходной) порт 1 S2 с выходом (порт 0 условного блока -1 не рассматривается) и с (входным) портом 2 сумматора.

Examples

//Инициализация
syst=list('blocd'); l=1;
 
//Системы
l=l+1;n_s1=l;syst(l)=list('transfer','S1');  //Система 1
l=l+1;n_s2=l;syst(l)=list('transfer','S2');  //Система 2
l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']);  //сумматор
 
//Связи
// Выходы  -1 --> выход 1
l=l+1;syst(l)=list('link','U1',[-1],[n_adder,1]);
 
// Внутренние 
l=l+1;syst(l)=list('link',' ',[n_adder,1],[n_s1,1]);
l=l+1;syst(l)=list('link',' ',[n_s1,1],[n_s2,1]);
 
// Выходы // -1 -> output 1
l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]);

Для s=poly(0,'s');S1=1/(s+1);S2=1/s; результатом вызова исполнения sl=bloc2ss(syst); является представление в пространстве состояний для 1/(s^2+s-1).

[2] Пример LFT

// Инициализация
syst=list('blocd'); l=1;
 
// Система (установка блоков 2x2)
l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']); 
 
// Контроллер
l=l+1;n_k=l;syst(l)=list('transfer','k');
 
// Связи
l=l+1;syst(l)=list('link','w',[-1],[n_s,1]);
l=l+1;syst(l)=list('link','z',[n_s,1],[-1]);
l=l+1;syst(l)=list('link','u',[n_k,1],[n_s,2]);
l=l+1;syst(l)=list('link','y',[n_s,2],[n_k,1]);

С

A=[0,1;0,0];
B=[1;1];
C=[1,1];
D=poly(0,'s');
P=syslin('c',A,B,C,D);

bloc2exp(syst) возвращает lft P и K.

Смотрите также

  • bloc2exp — преобразование блок-схемы в символьное выражение
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:04 CEST 2014