Table of Contents
As funções de transferência representam um dos conceitos mais fundamentais na engenharia de sistemas de controle e processamento de sinais. Eles fornecem uma representação matemática da relação entre a entrada e saída de um sistema linear invariante de tempo (LTI) no domínio de frequência. O bloco de transferência Fcn modela um sistema linear por uma função de transferência da variável Laplace-domain s, tornando-o uma ferramenta essencial para analisar a dinâmica do sistema, projetar controladores e prever o comportamento do sistema. Simulink, ambiente de programação gráfica do MATLAB, oferece capacidades poderosas para trabalhar com funções de transferência através de métodos de implementação direta e extração analítica.
Este guia abrangente explora o processo completo de calcular, implementar e analisar funções de transferência em Simulink. Se você está projetando um novo sistema de controle, analisando um modelo existente ou extraindo funções de transferência de sistemas complexos não lineares, entender essas técnicas melhorará significativamente seu fluxo de trabalho de engenharia e recursos de análise de sistema.
Compreender as funções de transferência em sistemas de controle
Antes de mergulhar na implementação prática em Simulink, é essencial entender o que as funções de transferência representam e por que elas são tão valiosas na engenharia de sistemas de controle. Uma função de transferência descreve a relação de entrada e saída de um sistema no domínio Laplace, tipicamente expressa como uma proporção de polinômios na variável complexa s.
Fundação Matemática
A função de transferência relaciona a entrada e saídas do sistema através de numerador e coeficientes de denominador em potências descendentes de s, onde a ordem do denominador deve ser maior ou igual à ordem do numerador. Esta restrição matemática garante a realizabilidade física e causalidade do sistema.
A forma geral de uma função de transferência pode ser escrita como G(s) = N(s)/D(s), onde N(s) representa o polinômio numerador e D(s) representa o polinômio denominador. Os coeficientes destes polinômios correspondem diretamente aos parâmetros físicos do sistema e determinam características críticas como pólos, zeros, ganho e resposta de frequência.
Tipos de Representações de Funções de Transferência
Simulink suporta várias abordagens para representar funções de transferência. O bloco Transfer Fcn pode modelar sistemas de saída única de entrada única (SISO) e de saída múltipla de entrada única (SIMO). Para cenários mais complexos envolvendo parâmetros variáveis de tempo, Simulink fornece blocos especializados que acomodam mudanças de coeficiente dinâmico durante a simulação.
Você pode trazer objetos de função de transferência definidos no espaço de trabalho MATLAB para o Simulink usando o bloco do sistema LTI e especificando o nome da variável, e uma função de transferência também pode ser representada em termos de blocos simples, como integradores e ganhos. Esta flexibilidade permite aos engenheiros escolher o método de representação mais adequado com base em seus requisitos específicos de aplicação e preferências de modelagem.
Configurar o seu Ambiente de Simulink
A configuração adequada do ambiente é crucial para uma análise eficiente da função de transferência no Simulink. O processo começa com o lançamento do Simulink e a configuração das caixas de ferramentas e bibliotecas necessárias que fornecem a funcionalidade da função de transferência.
Criando um Novo Modelo de Simulink
Comece abrindo o MATLAB e digitando "simulink" na janela de comando ou clicando no ícone do Simulink na barra de ferramentas do MATLAB. Isto abre a Página Inicial do Simulink, onde você pode criar um novo modelo em branco. O modelo em branco fornece uma tela onde você construirá seu sistema usando vários blocos do navegador de bibliotecas do Simulink.
O Navegador de Bibliotecas contém categorias organizadas de blocos, com os blocos relacionados com funções de transferência localizados principalmente na biblioteca Contínua. A biblioteca Contínua contém elementos do sistema em tempo contínuo, incluindo funções de transferência, modelos de estado- espaço e controladores PID. Familiarizar-se com esta estrutura de bibliotecas irá simplificar o seu processo de modelagem.
Blocos essenciais para análise de funções de transferência
Uma configuração típica da função de transferência requer vários componentes chave. O modelo simples consiste em três blocos: Passo, Função de Transferência e Escopo, onde o Passo é um bloco de origem do qual se origina um sinal de entrada de passo, este sinal é transferido através da linha para o bloco de Função de Transferência Contínua, o bloco Função de Transferência modifica o seu sinal de entrada e produz um novo sinal para o Escopo.
Além destes blocos básicos, você pode precisar de componentes adicionais, dependendo de seus objetivos de análise:
- Fontes de sinal: Passo, Rampa, Ondas de Seno, Sinal de Chirp e Número Aleatório blocos para vários cenários de entrada
- Operações matemáticas: Soma, Ganho, Blocos de produto para manipulação de sinais e interconexão do sistema
- Ferramentas de visualização: Escopo, Área de Trabalho, Blocos de exibição para observação e gravação de resultados de simulação
- Blocos de análise:Pontos de linearização, blocos de medição para características do sistema de extração
Implementação de funções de transferência usando o bloco de transferência Fcn
O bloco Transfer Fcn serve como o método primário para implementar diretamente funções de transferência conhecidas no Simulink. Esta abordagem é ideal quando você já tiver derivado o modelo matemático do seu sistema e quiser simular o seu comportamento.
Configurar os Parâmetros do Bloco
No Simulink, procure o bloco 'Transfer Fcn' e arraste e solte o bloco para o espaço de trabalho do seu modelo. Uma vez colocado, você precisa configurar os parâmetros para corresponder à função de transferência desejada.
Um bloco pode ser modificado clicando duas vezes nele, e se você clicar duas vezes no bloco Função de Transferência, você verá uma caixa de diálogo que contém campos para o numerador e o denominador da função de transferência do bloco. Estes campos aceitam entradas vetoriais que representam coeficientes polinomiais.
Introduzir os vectores de coeficiente
Ao inserir um vetor contendo os coeficientes do numerador ou denominador desejado polinomial, pode-se inserir a função de transferência desejada. Os coeficientes devem ser dispostos em potências descendentes de s, começando com o termo de ordem mais elevado.
Por exemplo, considere implementar a função de transferência G(s) = (s + 3)/(s2 + 2s). Insira os coeficientes numeradores [1 3] (representando s + 3) e insira os coeficientes denominadores [1 2 0] (representando s2 + 2s). Note que você deve incluir zeros para quaisquer termos em falta no polinômio para manter o alinhamento adequado do coeficiente.
Opções de visualização de blocos
Se cada um for indicado como uma expressão, um vector ou uma variável incluída entre parênteses, o ícone mostra a função de transferência com os coeficientes e poderes de s indicados, e se indicar uma variável entre parênteses, a variável é avaliada. Este recurso permite opções de visualização flexíveis que podem tornar o seu modelo mais legível e mantendível.
Você pode especificar coeficientes de três maneiras: como vetores numéricos explícitos (por exemplo, [1 3]), como variáveis de espaço de trabalho MATLAB (por exemplo, num e den), ou como expressões que avaliam vetores. Cada método tem vantagens dependendo se você prioriza clareza do modelo, flexibilidade de parâmetros ou eficiência computacional.
Tratamento das Condições Iniciais
Simulink predefini as condições iniciais do bloco Transfer Fcn para zero, e para especificar as condições iniciais para uma dada função de transferência, converter a função de transferência para sua realização de estado-espaço canônico controlável usando tf2ss. Esta limitação existe porque as funções de transferência têm infinitamente muitas realizações de domínio-tempo, e a maioria das representações de estado não correspondem a condições iniciais fisicamente significativas.
Quando condições iniciais não-zero são necessárias, a abordagem recomendada envolve converter para representação de estado-espaço, definir o vetor de estado inicial, e usar o bloco Estado-Espaço em vez disso. Isto fornece controle explícito sobre as condições iniciais, mantendo a equivalência matemática para a representação da função de transferência.
Extraindo funções de transferência de modelos Simulink
Uma das capacidades mais poderosas do Simulink é extrair funções de transferência de modelos existentes, incluindo sistemas complexos não lineares. Este processo, chamado linearização, aproxima o comportamento do sistema em torno de um ponto de operação usando um modelo de função de transferência linear.
Compreender Linearização do Modelo
Uma maneira mais direta de encontrar uma função de transferência de um modelo Simulink é linearizá-la para um modelo de estado-espaço, então convertê-la para uma função de transferência usando sys = linearize("mymodel",io points); sys tf = tf(sys). Este processo de duas etapas extrai primeiro uma representação linear de estado-espaço e depois converte-a para transferir a forma de função.
A linearização funciona calculando as matrizes jacobitas das equações do sistema em um ponto de operação especificado. Para sistemas não lineares, isso produz uma aproximação linear que é válida em um bairro ao redor desse ponto. Para sistemas que já são lineares, a linearização extrai a função de transferência exata, independentemente do ponto de operação escolhido.
Especificando pontos de análise
Antes de linearizar um modelo, você deve identificar quais sinais representam entradas e saídas para a função de transferência que deseja extrair. Para especificar a parte do modelo para linearizar, abra primeiro a guia Linearization clicando em Linearization Manager na galeria Apps na janela Simulink.
Para especificar um ponto de análise para um sinal, clique no sinal no modelo, e depois na guia Linearização, na galeria Inserir Pontos de Análise, selecione o tipo de ponto de análise. O Simulink suporta vários tipos de pontos de análise:
- Perturbação de entrada: Adiciona um pequeno sinal no local especificado para medir a resposta do sistema
- Medição de saída: Regista o valor do sinal sem afectar a dinâmica do sistema
- Quebra de circuito: Abre um ciclo de feedback para análise de circuito aberto
- Saída de circuito aberto: Combina medição de saída com abertura de loop
Para especificar a porção do modelo para linearizar, crie uma matriz de objetos de linearização de E/S usando o comando linio, como criar um ponto de análise de perturbação de entrada na saída do bloco de Controlador PID. Esta abordagem programática oferece mais flexibilidade do que a colocação interativa de pontos, especialmente para processamento em lote ou fluxos de trabalho automatizados.
Usando o aplicativo Linearizer Modelo
O Linearizer de Modelo permite que você realize análise linear de modelos não lineares de Simulink. Esta poderosa aplicação fornece uma interface abrangente para tarefas de linearização, especificação de ponto de operação e análise de resultados.
Você pode abrir o aplicativo Linearizer Modelo indo para o Simulink Toolstrip: Na aba Apps, em Sistemas de Controle, clique em Linearizer Modelo. Uma vez aberto, o aplicativo exibe os pontos de análise do seu modelo e permite configurar configurações de linearização.
A interface Linearizer do Modelo inclui várias seções chave:
- Análise I/Os: Mostra e gerencia configurações de ponto de entrada/saída
- Ponto operacional: Especifica os valores de estado e entrada em torno dos quais ocorre a linearização
- Resultados da linearização: Mostra modelos extraídos e suas características
- Opções do gráfico: Gera gráficos de resposta de frequência e domínio de tempo
Realizando a linearização
Para este exemplo, use o ponto de operação do modelo para linearização, deixando a Condição Inicial do Modelo selecionada na lista drop-down do Ponto de Operação, e para linearizar o sistema e gerar um gráfico de resposta para análise, na seção Linearize, clique em uma resposta.
O processo de linearização compila o modelo, avalia- o no ponto de operação especificado e calcula a aproximação linear. Para modelos grandes ou complexos, isto pode levar vários segundos. O modelo linear resultante aparece no Espaço de Trabalho de Análise Linear, onde você pode examinar suas propriedades, gerar gráficos e exportá- lo para MATLAB para análise posterior.
Você também pode exportar o modelo linearizado para o espaço de trabalho MATLAB clicando com o botão direito do mouse no navegador de dados e selecionando Exportar para o espaço de trabalho MATLAB. Isto permite análise adicional usando funções do Control System Toolbox como bode, step, margin, entre outros.
Trabalhar com Funções de Transferência de Variação de Tempo
Muitos sistemas do mundo real têm parâmetros que mudam ao longo do tempo ou condições operacionais. Simulink fornece blocos especializados para lidar com funções de transferência com coeficientes variáveis, permitindo simulação precisa de controladores programados para ganho, sistemas adaptativos e plantas variáveis parametrizadas.
O Bloco de Função de Transferência Variante
Use este bloco e os outros blocos na biblioteca Linear Parâmetro Variante para implementar elementos de controle comuns com parâmetros ou coeficientes variáveis, para mais informações, consulte Model Gain-Scheduled Control Systems in Simulink.
A ordem de função de transferência N é especificada como um inteiro positivo, e este parâmetro determina o número de portas de entrada de coeficiente no bloco. Cada coeficiente pode ser fornecido como um sinal variável de tempo, permitindo que as características da função de transferência se adaptem durante a simulação.
Configurar Coeficientes Variáveis
Active a porta de entrada b0 para uma função de transferência com alimentação directa, e para uma função de transferência com alimentação zero, limpe esta caixa de verificação, uma vez que desactivar a porta para modelos de alimentação zero é numericamente mais fiável do que alimentar um constante zero para a porta.
Ao implementar funções de transferência variável de tempo, atenção cuidadosa à estabilidade numérica é essencial. Mudanças rápidas de coeficiente podem causar problemas numéricos, especialmente se o denominador polinomial se aproxima de zero ou se os pólos se movem significativamente entre as etapas do tempo. Considere implementar limitadores de taxa ou filtros de suavização em sinais de coeficiente para manter a estabilidade de simulação.
Evitar as Loops Algébricas
Evite fazer os coeficientes de função de transferência depender do resultado do bloco y, porque se você tiver tal dependência, a função de transferência resultante causa um loop algébrico, uma vez que a computação do valor de saída do bloco requer saber o valor de saída do bloco, e este loop algébrico é propenso à instabilidade e divergência, então em vez da saída, tente expressar os coeficientes em termos do tempo t e da entrada do bloco u.
Os loops algébricos ocorrem quando o Simulink não consegue determinar a ordem de execução do bloco, porque as saídas dependem de entradas de forma circular. Embora o Simulink possa resolver as loops algébricos de forma iterativa, elas atrasam significativamente a simulação e podem não convergir, especialmente com dependências não lineares ou alterações de coeficiente descontínuas.
Técnicas de Linearização Avançada
Além da linearização básica, o Simulink oferece técnicas avançadas para extrair funções de transferência de sistemas complexos, lidar com múltiplos pontos operacionais e analisar o comportamento dependente de frequência.
Linearização em Lote
Se você quiser obter múltiplas funções de transferência de circuito aberto ou de circuito fechado do sistema linearizado sem recompilar o modelo, você pode especificar pontos de análise lineares usando uma interface slLinearizer, para mais informações, consulte Mark Signals of Interest for Batch Linearization.
A interface slLinearizer fornece uma abordagem programática para linearização que é particularmente valiosa para estudos paramétricos, análise de Monte Carlo ou otimização automatizada de design. Você pode definir vários pares de entrada-saída, varrer por intervalos de parâmetros e coletar resultados de linearização sem intervenção manual.
Especificação do ponto de operação
As condições operacionais são os valores do estado e vetores de entrada sobre os quais ocorre a linearização do modelo de análise, e as condições iniciais são os valores do estado e vetores de entrada no momento t=0. Para sistemas não lineares, a escolha do ponto de operação afeta significativamente a função de transferência resultante.
Simulink fornece vários métodos para especificar pontos de operação:
- Modelo Condições Iniciais: Utiliza os valores de estado e de entrada iniciais definidos no modelo
- Ponto de Operação Estado-Estado: Calcula condições de equilíbrio em que os derivados são iguais a zero
- Snapshot de simulação: Captura o estado do sistema em um tempo de simulação específico
- Ponto de operação personalizado: Especifica manualmente os valores de estado e de entrada
Para o projeto do sistema de controle, os pontos operacionais em estado estacionário muitas vezes fornecem a linearização mais significativa, que representam as condições em torno das quais o controlador irá regular o sistema, tornando o modelo linear diretamente aplicável à síntese do controlador e análise de estabilidade.
Estimação da Resposta à Frequência
Para estimar a função de transferência de um sistema em Simulink, use o bloco Estimador de Função de Transferência Discreta, que implementa o método de periodograma modificado médio de Welch e usa os dados de entrada e saída medidos para estimação.
Esta abordagem difere da linearização usando dados de simulação reais em vez de derivados analíticos. É particularmente útil quando:
- O sistema contém componentes que não suportam linearização analítica
- Você deseja validar uma linearização contra os resultados da simulação
- O sistema inclui elementos estocásticos ou ruído de medição
- Você precisa de dados de resposta de frequência em frequências específicas
A relação entre a entrada x e saída y é modelada pela função de transferência linear, invariante do tempo Txy, e a função de transferência é a razão da densidade espectral de potência cruzada de x e y, Pyx, para a densidade espectral de potência de x, Pxx. Esta abordagem de domínio de frequência fornece estimativas robustas, mesmo na presença de ruído e distúrbios.
Simulação e Análise Fluxo de Trabalho
Uma vez implementada ou extraída uma função de transferência, a próxima etapa envolve simulação e análise para entender o comportamento do sistema e validar o desempenho em função dos requisitos.
Configurar os Parâmetros de Simulação
Na janela do modelo, selecione Parâmetros de Configuração do Modelo no menu Simulação, e existem muitas opções de parâmetros de simulação, incluindo os tempos de início e parada, que dizem ao Simulink em que período de tempo para realizar a simulação.
Os principais parâmetros de simulação a considerar incluem:
- Tipo de solução: Solucionadores de passos variáveis ajustam automaticamente os passos de tempo para a precisão, enquanto solucionadores de passos fixos mantêm intervalos constantes adequados para aplicações em tempo real
- Tolerância Relativa: Controla o erro aceitável nos cálculos de estado, com valores menores aumentando a precisão, mas retardando a simulação
- Tolerância absoluta: Define o limiar abaixo do qual os valores de estado são considerados negligenciáveis
- Tamanho máximo do passo: Limites de como grandes passos de tempo podem crescer, impedindo o solucionador de faltar dinâmica rápida
Solutores de passos variáveis usam tolerâncias absolutas e relativas ao escolher o tamanho do passo para determinar se o erro nos cálculos de estado é aceitável, e para herdar a tolerância absoluta do parâmetro de configuração de tolerância absoluta, especifique este valor de parâmetro como auto ou -1.
Visualizando Resultados com Escopo
O mais complicado destes três blocos é o bloco Scope, e clicando duas vezes sobre isso traz uma tela de osciloscópio em branco, e quando uma simulação é realizada, o sinal que se alimenta no escopo será exibido nesta janela.
As versões modernas do Simulink oferecem funcionalidades de escopo aprimoradas, incluindo:
- Vários canais de entrada com escala independente
- Medições de cursores para leitura de valores precisos
- Estatísticas de sinais (média, RMS, valores de pico)
- Registro de dados para espaço de trabalho ou arquivo
- Condições de desencadeamento para capturar eventos específicos
- Análise FFT para análise de conteúdo de frequência
Exportando Dados para MATLAB
Para análise detalhada além do que as ferramentas integradas do Simulink fornecem, exporte dados de simulação para o espaço de trabalho MATLAB. Use para blocos de espaço de trabalho para capturar sinais de interesse ou configure escopos para registrar dados automaticamente. Uma vez em MATLAB, você pode aplicar a gama completa de funções do Control System Toolbox para análise.
As tarefas comuns de pós-processamento incluem:
- métricas de desempenho de computação (tempo de aumento, tempo de ajuste, sobreposição, erro de estado estacionário)
- Gerando gráficos de qualidade de publicação com formatação personalizada
- Comparando múltiplas simulações ou variações de parâmetros
- Realização de análise estatística em resultados de simulação de Monte Carlo
- Adaptar modelos de função de transferência para dados de simulação
Aplicações Práticas e Exemplos
Compreender o cálculo da função de transferência em Simulink torna-se mais concreto através de exemplos práticos que demonstram aplicações comuns na engenharia de sistemas de controle.
Desenho e Análise do Controlador
A função de transferência de controladores é implementada usando o bloco de função de transferência, que é o que usamos para representar o motor e o atuador também, e podemos ver que o modelo é capaz de seguir entradas passo com algum erro de estado estacionário e zero.
Um fluxo de trabalho de projeto típico do controlador envolve:
- Modelação da planta (sistema a controlar) como função de transferência
- Especificar os requisitos de desempenho (largura de banda, margem de fase, rejeição de perturbações)
- Design de uma função de transferência de controlador para atender a estes requisitos
- Implementação do sistema de circuito fechado em Simulink
- Simulação com várias entradas e perturbações
- Iterando o projeto com base nos resultados de simulação
A caixa de ferramentas Simulink Control Design oferece a funcionalidade para extrair um modelo do Simulink para o espaço de trabalho MATLAB, que é especialmente útil para modelos de simulação complicados ou não lineares, e também é útil para gerar modelos de tempo discreto (amostrados).
Identificação do sistema
Quando você tem dados experimentais ou resultados de simulação, mas não sabe a função de transferência subjacente, as técnicas de identificação do sistema podem estimar um modelo de função de transferência que corresponda ao comportamento observado. Este processo envolve:
- Coletando dados de entrada-saída do sistema
- Escolha de uma estrutura de modelo adequada (ordem, atrasos)
- Estimando parâmetros que minimizam o erro de previsão
- Validando o modelo contra conjuntos de dados independentes
O bloco de função de transferência discreta do Simulink O bloco de Estimador automatiza grande parte deste processo para identificação de domínio de frequência, enquanto o System Identification Toolbox fornece recursos abrangentes para estimação de parâmetros de domínio de tempo e de domínio de frequência.
Modelação de Sistema Multi-Domínio
As funções de transferência se destacam em representar sistemas de vários domínios de engenharia — mecânicos, elétricos, térmicos, hidráulicos — usando uma estrutura matemática unificada. Simulink permite combinar funções de transferência de diferentes domínios em modelos de sistema integrados.
Por exemplo, um sistema de atuador eletromecânico pode incluir:
- Função de transferência eléctrica que relaciona tensão à corrente
- Função de transferência electromecânica que relaciona a corrente ao binário
- Função de transferência mecânica que relaciona o binário com a posição
- Função de transferência do sensor que relaciona a posição ao sinal de medição
Ao conectar esses blocos de função de transferência em configurações de série e feedback, você cria um modelo completo de sistema que captura a dinâmica essencial enquanto permanece computacionalmente eficiente.
Resolver Problemas Comuns
Working with transfer functions in Simulink occasionally presents challenges. Understanding common issues and their solutions w