bloc2ss
conversão de diagrama de blocos para espaço de estados
Seqüência de Chamamento
sl = bloc2ss(blocd)
Parâmetros
- blocd
lista
- sl
lista
Descrição
Dada uma representação em diagrama de blocos de um sistema linear,
bloc2ss
converte esta representação em um sistema
linear de espaço de estados. O primeiro elemento da lista
blocd
deve ser o string (cadeia de caracteres)
'blocd'
. Cada outro elemento desta lista é, por si
mesmo, uma lista de um dos seguintes tipos :
list('transfer','nome_do_sistema_linear')
list('link','nome_do_link', [número_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior], [caixa_de_fluxo_inferior_1,número_de_porta_da_caixa_inferior_1], [caixa_de_fluxo_inferior_2,número_de_porta_da_caixa_inferior_2], ...)
Os strings 'transfer'
e
'link'
são palavras-chaves as quais indicam o tipo de
elemento no diagrama de blocos ("transfer"=transferência, "link"=
ligação).
Caso 1: o segundo parâmetro da lista é um string que pode se referir
(para uma possível avaliação posterior) ao nome Scilab de um sistema
linear dado em representação de espaço de estados (lista
syslin
) ou em forma de trasnferência (matriz de razões
de polinômios).
A cada bloco de transferência é associado um inteiro. A cada entrada e saida de um bloco de transferência, também é associado seu número, um inteiro (ver exemplos).
Caso 2: O segundo tipo de elemento em uma representação de diagrama
de blocos é um link. Um link liga uma saída de um bloco representado pelo
par [
número_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior]
,
a diferentes entradas de outros blocos. Cada tal entrada é representada
pelo par [caixa_de_fluxo_inferior_i,número_de_porta_da_caixa_inferior_i]
.
Os diferentes elementos de um diagrama de blocos podem ser definidos em ordem arbitrária.
Por exmeplo:
[1] S1*S2
com feedback (resposta) de
unidade.
Há 3 transferências S1
(número
n_s1=2
) , S2
(número
n_s2=3
) e um adicionador ("adder") (número
n_add=4
) com função de transferência simbólica
['1','1']
.
Há 4 links :
- O primeiro (de nome
'U'
) liga a entrada (porta 0 de bloco fictício -1, omitido) à porta 1 do adicionador. - Os segundo liga a porta (de saída) 1 do adicionador à porta (de entrada) 1 do
sistema
S1
. - Os terceiro liga a porta (de saída) 1 de
S1
à porta (de entrada) 1 deS2
. - O quarto link (de nome
'Y'
) liga a porta (de saída) 1 deS2
à saída (porta 0 do bloco fictício -1, omitido) e à porta (de entrada) 2 do adicionador.
//Inicialização syst=list('blocd'); l=1; //Sistemas l=l+1;n_s1=l;syst(l)=list('transfer','S1'); //Sistema 1 l=l+1;n_s2=l;syst(l)=list('transfer','S2'); //Sistema 2 l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']); //adicionador //Links // Entradas -1 --> entrada 1 l=l+1;syst(l)=list('link','U1',[-1],[n_adder,1]); // Internal 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]); // Saídas // -1 -> saída 1 l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]);
Com s=poly(0,'s');S1=1/(s+1);S2=1/s;
o resultado
da avaliação de chamada sl=bloc2ss(syst);
é uma
representação em estado-espaço para 1/(s^2+s-1)
.
[2] exemplo da transformação linear fracional (TLF e, em inglês LFT):
//Inicialização syst=list('blocd'); l=1; //Sistema (planta de blocos 2x2) l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']); //Controlador l=l+1;n_k=l;syst(l)=list('transfer','k'); //Links 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]);
Com
Ver Também
- poly — Polynomial definition from given roots or coefficients, or characteristic to a square matrix.
Autores
S. S., F. D. (INRIA)
Report an issue | ||
<< armac | Linear System Representation | cont_frm >> |