Identifica?o de Sistemas

Identifica?o de Sistemas

(Parte 1 de 3)

IDENTIFICAÇÃO DE SISTEMAS DINÂMICOS 1º /2011 – EXP. N 1 COMPARAÇÃO DE MÉTODOS DE IDENTIFICAÇÃO PARA PROCESSO DE 4ª ORDEM

FELIPE MARQUES B. RAMOS, 07/02234 E-mail: felipeberquo@gmail.com

Resumo Este experimento tem como objetivo o aluno verificar as características de alguns dos métodos de identificação de um processo de nível de líquido não-linear de 4ª ordem. Para isto serão comparados os resultados dos seguintes métodos: Correlação, Erro de Saída (OE), Box-Jenkins, Espaço de Estados, Estimativa empírica da Função de Transferência (ETFE) e Análise Espectral (SPA).

Palavras-chave introdução, MATLAB, Simulink, identificação de sistemas, PRBS.

1. Introdução

A identificação de sistemas dinâmicos visa obter, a partir de dados obtidos experimentalmente, um modelo matemático que represente a dinâmica do processo em estudo.

Quando queremos analisar um processo real frequentemente não se conhecem as equações envolvidas no funcionamento deste sistema ou mesmo elas sendo conhecidas seria impraticável levantar tais equações e estimar seus parâmetros, seja por limitações de tempo ou recursos.

Então, a partir dos dados do experimento podemos relacionar as variáveis de entrada, pertubações e saída de um processo e assim obter as equações que regem o funcionamento do mesmo.

Para uma identificação adequada devem ser tomados alguns cuidados como: escolha de uma taxa de amostragem adequada, da faixa de frequências de excitação, da duração do experimento e do ponto de operação.

Neste experimento será levantado um modelo não-linear de um controle de nível de líquido composto de 4 tanques, onde serão utilizadas como entrada e saída os dados gerados no Simulink do MATLAB.

Tendo em mãos estes dados e utilizando a toolbox System Identification Tool do MATLAB poderemos estimar modelos do processo para vários tipos de métodos de identificação.

2. Aparato Experimental

-Arquivo de código do MATLAB contendo os parâmetros do sistema

-MATLAB, Simulink e a toolbox System Identification Tool

3.Procedimentos e Resultados Obtidos

Na identificação de sistemas uma das etapas mais importantes é o projeto do sinal de entrada que excitará o processo em estudo juntamente com a taxa de amostragem.

No roteiro deste experimento foi proposto utilizar 12600 amostras e uma taxa de amostragem de 10s.

Para projetarmos o sinal de excitação utilizou-se um sinal do tipo PRBS (do inglês pseudo random binary signal). Estes sinais são bastante utilizados na prática de identificação de sistemas pois quando bem dimensionados podem excitar o processo em diversas faixas de frequência.

Outro comando do roteiro foi escolher três pontos de operação: baixo, médio e alto, sendo o médio simplesmente a média aritmética dos outros dois. Para cada ponto de operação devemos ter diferentes valores para a faixa de frequências do sinal PRBS e para o ganho do controlador proporcional.

Ponto de operação baixo

Utilizando a função idinput do MATLAB criamos um sinal de entrada com 12600 amostras, do tipo PRBS e com níveis V+=1 e V-=-1, restando apenas o parâmetro da faixa de frequência do sinal.

Para estimarmos tal parâmetro foi escolhido um valor inicial de 0.05 rad/s. Este valor foi variado até que verificássemos que a saída tivesse variações perceptíveis e que em alguns trechos entre estas variações o sistema alcançasse o estado estacionário(apenas em alguns trechos e não até o fim da simulação).

Após algumas simulações, a frequência que melhor excitou o sistema segundo os critérios descritos acima foi 0.07 rad/s. O ganho do controlador proporcional foi ajustado para 12.

O vetor uid ficou da seguinte forma:

Foi criado também um vetor de tempo do tamanho de uid para ser usado na simulação:

Para o vetor t ter a mesma dimensão de uid precisamos torná-lo um vetor coluna. Isto pode ser feito com o seguinte comando:

visto que o novo vetor foi multiplicado por 10 pois esta é a taxa de amostragem dada no roteiro. Assim, cada elemento do vetor representa um instante da amostragem.

As imagens da saída excitada com cada uma das duas frequências é mostrada abaixo:

Figura 1. Sinal PRBS com frequência 0.05 rad/s e respectiva resposta do sistema.

Figura 2. Sinal PRBS com frequência 0.07 rad/s e respectiva resposta do sistema.

Após verificar que o sinal foi satisfatório para excitar o sistema, criou-se duas variáveis para guardar os valores de entrada (vazão) e saída(altura do tanque 4) da simulação:

u=simout.signals.values(:,1) y=simout.signals.values(:,2)

Para a identificação do sistema foi utilizado a toolbox do MATLAB System Identification Tool. Digitando o comando ident no console de comandos abrirá a tela inicial da toolbox:

Figura 3. Tela inicial da toolbox de identificação de sistemas.

Para importar os dados da simulação devemos clicar na combo box “Import data” e selecionar a opção “Time domain data”. Feito isso a seguinte tela aparecerá:

Figura 4. Import Data.

A opção “Time-Domain Signals” é marcada como padrão. Como os sinais utilizados estão no domínio do tempo esta opção permaneceu inalterada.

No campo “Workspace Variable” preenchemos as lacunas “Input” e “Output” com as variáveis de entrada e saída criados, respectivamente.

Em “Data Information” podemos nomear o conjunto de dados que iremos utilizar. Escolheu-se “simdata” neste caso. Nos campos “Starting time” e “Sampling interval” informamos o valor de início do tempo e o intervalo(período) de amostragem. Como também queremos incluir a origem para estudar as características neste ponto e o intervalo de amostragem já havia sido definido no roteiro, os valores utilizados foram 0 e 10 de acordo com a figura 4.

Após o preenchimento destes dados, clicar no botão “Import” e depois “Close” para importar os dados para a toolbox e voltar a tela principal.

Figura 5. Tela principal com os dados carregados para o ambiente de trabalho da toolbox.

Uma coisa importante e que deve sempre ser verificada é se as caixas “Working Data” e “Validation Data” estão com o conjunto de dados com que se quer trabalhar. Para selecionar outros conjuntos de dados para o “Working Data” e “Validation Data”, basta clicar no conjunto de interesse e arrastá-lo para a caixa de interesse. Como o conjunto que acabamos de criar é o único não é preciso se preocupar pois este já é selecionado por padrão.

O próximo passo é retirar o valor médio do sinal.

Para isso clicamos na combo box “Preprocess” abaixo de “Operations” e selecionamos a opção “Remove means”.

Feito isso teremos um novo conjunto de dados com um sufixo “d” (do inglês detrended) .

Na identificação de sistemas é recomendado separar os dados em duas partes: uma para a estimação e outra para validação.

Primeiramente o conjunto de dados sem a média, “simdatad” no caso, deve ser colocado na caixa “Working Data”.

Figura 6. Conjunto de dados “simdatad” selecionado na caixa “Working Data”.

Para a separação dos dados deve-se clicar na combo box “Preprocess” e selecionar a opção “Select range”.

Figura 7. Tela da opção “Select Range”.

(Parte 1 de 3)

Comentários