Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
'links'
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 e terceiro ligam respectivamente a porta (de saída) 1 do
adicionador à porta (de entrada) 1 do sistema S1
, e a
porta (de saída) 1 de S1
à porta (de entrada) 1 de
S2
. O quarto link (de nome 'Y'
) liga
a porta (de saída) 1 de S2
à 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
bloc2exp(syst)
retorna a avaliação de TLF de
P
e K
.
Ver Também
- bloc2exp — retorna a avaliação simbólica de um diagrama de blocos
Autores
S. S., F. D. (INRIA)
<< bloc2exp | Signal processing | pen2ea >> |