Diagrama de Bode

Ver Todos os Exercícios

Teoria

Introdução

E aí, galerinha mais linda do Brasil, tudo joia? Se você está passando por alguma disciplina de Controle ou já passou, já deve ter ouvido falar do diagrama de Bode.

O diagrama de Bode é a representação gráfica da razão de amplitude (RA) entre a resposta e a entrada e do ângulo de fase, que é o ângulo que a resposta avança ou atrasa em relação à entrada. Para relembrarmos direitinho do que se trata, vamos de exemplo. Digamos que você tenha a seguinte função de transferência:

H s = 1 s + 2

O diagrama de Bode para H ( s ) é:

O gráfico acima é a razão de amplitude, em decibéis (dB), e o gráfico abaixo, o ângulo de fase em graus (°). Ambos estão em função da frequência, em rad/s, em uma escala logarítmica.

A partir do diagrama de Bode, podemos tirar algumas informações sobre o sistema dinâmico modelado pela função de transferência, como se o sistema é estável ou não ou qual o máximo valor de ganho que podemos usar de forma que o sistema continue estável (o que chamamos de margem de ganho).

Caso os conceitos de diagrama de Bode não estejam muito frescos na sua memória, não esquente, aqui no Responde Aí, temos uma seção de Sistemas de Controle, que tem um capítulo inteirinho só falando de diagrama de Bode e de como utilizá-lo.

Na aula de hoje, vamos aprender como plotar diagramas de Bode no MATLAB, a fazer uma análise de estabilidade a partir dos diagramas gerados e a obter a margem de ganho. Bora lá?

Plotando um diagrama de Bode no MATLAB

O comando para plotar um diagrama de Bode no MATLAB é bem diretão:

b o d e ( f u n ç ã o   d e   t r a n s f e r ê n c i a )

Ele tem como entrada uma função de transferência, criada usando o comando t f do MATLAB, e ele gera um gráfico com o diagrama de Bode para a f u n ç ã o   d e   t r a n s f e r ê n c i a .

Vamos ver no MATLAB como fica. Vamos gerar o diagrama de Bode para a função de transferência:

G s = 81 s 3 + 9 s 2 + 27 s + 27

Em um script novo, entre com G ( s ) no MATLAB usando a função t f , digitando as seguintes linhas de código:

Na primeira linha, criamos uma variável n u m que contém o numerador de G ( s ) .

Na segunda linha, criamos um vetor d e n em que cada elemento é um coeficiente do polinômio do denominador, indo do componente com maior expoente ( s ³ ) ao de menor expoente ( s 0 = 1 ).

Na terceira linha, usamos a função t f para criar G ( s ) .

Para plotar o diagrama de Bode de G ( s ) , incluímos no script o comando:

Ao executar o programa, teremos o diagrama de Bode para G ( s ) :

A curva de cima é a curva de razão de amplitude e a curva de baixo, de ângulo de fase. O MATLAB chama a razão de amplitude de M a g n i t u d e .

Bem lindo e prático, né? O mais legal é que existem algumas informações que podemos tirar deste plot.

Estabilidade e diagramas de Bode

A partir do diagrama de Bode, podemos avaliar a estabilidade de um sistema usando o critério de Bode. O critério de Bode diz que um sistema é estável se a razão de amplitude for menor que 0   d B na frequência em que o ângulo de fase atinge - 180 ° .

Vamos aplicar esse critério no diagrama de Bode de G ( s ) . Para facilitar acharmos o ângulo de fase igual a - 180 ° , recomendo colocar o comando g r i d   o n logo abaixo do comando b o d e ( G ) , para o gráfico ter linhas de grade. O código no MATLAB ficaria assim:

Quando executarmos o programa, teremos o diagrama de Bode de G ( s ) com linhas de grade. Ao clicar sobre as curvas azuis dos gráficos, se formará um quadradinho preto dando as informações de frequência, razão de amplitude e ângulo de fase do ponto onde clicamos.

Para avaliar a estabilidade do sistema usando o critério de Bode, clique sobre a curva do ângulo de fase e ache o ponto onde o ângulo é igual a - 180 ° , como na figura abaixo:

Vemos que, quando o ângulo de fase atinge - 180 ° , a frequência é de 5,22   r a d / s .

Agora, veja na curva de razão de amplitude ( M a g n i t u d e no MATLAB) qual é a RA na frequência de 5,22   r a d / s , clicando sobre a curva e arrastando o quadradinho preto até encontrar esse valor de frequência, como na figura abaixo:

Vemos que a RA é de - 8,63   d B a uma frequência de 5,22   r a d / s . Pelo critério de Bode, o sistema é estável, pois a RA é menor que 0 na frequência onde o ângulo de fase é - 180 ° .

Margem de ganho e margem de fase

Outras informações que podemos extrair do diagrama de Bode, que têm tudo a ver com o critério de Bode, são as margens de ganho e de fase. Essas informações são muito importantes em projetos de controladores, pois ajudam a ver se o sistema está bem projetado e sintonizado.

A margem de ganho é o valor máximo que posso multiplicar o ganho de um sistema, de forma que ela permaneça estável. Se multiplicar o ganho por um valor maior que a margem de ganho, o sistema se torna instável.

A margem de fase define o quanto de atraso a malha ainda suporta antes de se tornar instável.

Em um sistema estável, ambas as margens são positivas.

Isso foi um brevíssimo resumo desses conceitos. Você pode vê-los com muito mais detalhe aqui no Responde Aí, no capítulo de Resposta em Frequência.

No MATLAB, encontramos as margens de ganho e de fase por meio do comando:

m a r g i n ( f u n ç ã o   d e   t r a n s f e r ê n c i a )

A função m a r g i n tem como entrada uma função de transferência criada usando o comando t f e ela gera, ao executarmos o programa, um gráfico com o diagrama de Bode de f u n ç ã o   d e   t r a n s f e r ê n c i a com indicações das margens de ganho e de fase.

Para exemplificar, vamos calcular a margem de ganho e a margem de fase do exemplo usado na seção acima. No script onde você entrou G ( s ) , substitua o comando b o d e ( G ) por m a r g i n ( G ) e apague o g r i d   o n . Seu programa agora tem essa cara:

Vamos rodar e ver o que acontece?

Voilà! O MATLAB nos dá o diagrama de Bode já com as margens de ganho e de fase. As margens são dadas no título do gráfico e são representadas pelas linhas verticais cheias. As linhas verticais pontilhadas indicam a frequência onde as margens foram medidas.

O MATLAB nos informa que a margem de ganho é 8,52   d B em 5,2   r a d / s . Como a margem de ganho é positiva, o sistema é estável. Já o ganho de fase é de 41,7 ° em 3,12   r a d / s . Novamente, como a margem é positiva, o sistema é estável.

O interessante é que as linhas tracejadas no gráfico indicam bem como as margens são encontradas em um diagrama de Bode.

Em um diagrama de Bode, a margem de ganho é calculada encontrando a frequência onde o ângulo de fase é - 180 ° e fazendo a diferença entre 0   d B e a RA nessa mesma frequência. Já a margem de fase é calculada encontrando a frequência onde a RA é 0   d B e fazendo a diferença entre o ângulo de fase nessa frequência e - 180 ° .

No gráfico acima, uma linha pontilhada horizontal passa por 0   d B (no gráfico de M a g n i t u d e ) e outra passa por - 180 ° (no gráfico de P h a s e ).

Além disso, no mesmo gráfico acima, note que a linha pontilhada vertical indicando a frequência da margem de ganho passa bem em cima do ponto onde o ângulo de fase é - 180 ° . Já a linha pontilhada vertical indicando a frequência da margem de fase passa bem em cima do ponto onde a RA é 0   d B .

E aí, curtiu a aula? Agora é praticar pra fixar bem o conteúdo ;)

Plotando um diagrama de Bode no MATLAB

Estabilidade e diagramas de Bode

Margem de ganho e margem de fase

Exercícios Resolvidos

Exercício Resolvido #1

Usando o MATLAB, construa o diagrama de Bode da função de transferência:

G s = 20 s 2 + 10 s + 50

Passo 1

O exercício pede para plotarmos o diagrama de Bode de G ( s ) usando o MATLAB. Para isto, devemos primeiro entrar com G ( s ) no MATLAB usando a função t f . Em seguida, usaremos a função b o d e para plotar o diagrama de Bode.

Passo 2

O primeiro passo para resolver o exercício é entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Para G ( s ) , o polinômio do numerador é 20 . Já o polinômio do denominador é s 2 + 10 s + 50 .

Em um novo script, vamos criar duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 20 ∙ s 0 = 20 ∙ 1 = 20 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 20 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 2 + 10 s + 50 , indo do elemento com maior expoente ao de menor expoente:

Em seguida, adicione o comando abaixo para criar G ( s ) :

A função de transferência é armazenada na variável G . Você pode ver como G   ficou ao rodar o programa e pedir ao MATLAB para imprimir G no Command Window:

Igualzinho ao enunciado ;)

Passo 3

Tendo entrado com G ( s ) no MATLAB, podemos plotar seu diagrama de Bode, usando o comando b o d e , que tem a sintaxe:

b o d e ( f u n c a o _ t r a n s f e r e n c i a )

Ele tem como entrada uma função de transferência (representada pela variável f u n c a o _ t r a n s f e r e n c i a ), criada usando o comando t f do MATLAB, e ele gera um gráfico com o diagrama de Bode para f u n c a o _ t r a n s f e r e n c i a .

No script criado no passo 2, adicione a seguinte linha de código:

Se quiser, digite logo abaixo de b o d e ( G ) o comando g r i d   o n , para que o diagrama de Bode tenha linhas de grade.

Ao rodar seu programa, você terá o diagrama de Bode de G ( s ) .

Resposta

Exercício Resolvido #2

No MATLAB, esboce o diagrama de Bode para a função de transferência de um sistema em malha aberta mostrada abaixo e determine sua estabilidade em malha fechada.

G s = 4 20 s 3 + 32 s 2 + 13 s   +   1

Passo 1

O exercício pede para plotarmos o diagrama de Bode de G ( s ) e avaliarmos a estabilidade de G ( s ) , a partir do diagrama plotado. Logo, para ver se G ( s ) é estável ou não, usaremos o critério de Bode.

Para fazer nosso programa, executaremos os seguintes passos: devemos primeiro entrar com G ( s ) no MATLAB usando a função t f . Em seguida, usaremos a função b o d e para plotar o diagrama de Bode de G ( s ) . Avaliaremos a estabilidade de G ( s ) usando o gráfico gerado por nosso programa, a partir do critério de Bode.

Passo 2

O primeiro passo para resolver o exercício é entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Para G ( s ) , o polinômio do numerador é 4 . Já o polinômio do denominador é 20 s 3 + 32 s 2 + 13 s   +   1 .

Em um novo script, vamos criar duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 4 ∙ s 0 = 4 ∙ 1 = 4 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 4 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de 20 s 3 + 32 s 2 + 13 s   +   1 , indo do elemento com maior expoente ao de menor expoente:

Incluímos logo abaixo o comando G   =   t f ( n u m ,   d e n ) , para criar G ( s ) e armazená-la na variável G .

Se quiser conferir se digitou tudo certinho, você pode rodar o programa que tem até agora e pedir ao MATLB para imprimir G no Command Window e compará-lo com o G ( s ) do enunciado:

Se tiver entrado com tudo certinho, G vai sair igualzinho a G ( s ) .

Passo 3

Tendo entrado com G ( s ) no MATLAB, vamos plotar o diagrama de Bode, usando o comando b o d e , que tem a sintaxe:

b o d e ( f u n c a o _ t r a n s f e r e n c i a )

Ele tem como entrada uma função de transferência (representada pela variável f u n c a o _ t r a n s f e r e n c i a ), criada usando o comando t f do MATLAB, e ele gera um gráfico com o diagrama de Bode para f u n c a o _ t r a n s f e r e n c i a .

No script criado no passo 2, adicione as seguintes linhas de código:

Além do comando b o d e ( G ) para plotar o diagrama de Bode de G , incluímos o comando g r i d   o n , para que o diagrama tenha linhas de grade. As linhas de grade vão ajudar a avaliar a estabilidade de G pelo critério de Bode, como veremos mais pra frente.

Vamos rodar o programa para vermos o diagrama de Bode de G ( s ) :

O gráfico de cima, de M a g n i t u d e   ( d B ) pela frequência, representa a razão de amplitude e o gráfico de baixo, de P h a s e   ( d e g ) pela frequência, o ângulo de fase.

Passo 4

Usamos o critério de Bode para ver se G é estável ou não no diagrama de Bode. O critério de Bode diz que um sistema é estável se a razão de amplitude for menor que 0   d B na frequência em que o ângulo de fase atinge - 180 ° .

No diagrama de Bode gerado pelo MATLAB, avaliaremos a razão de amplitude no gráfico de M a g n i t u d e   ( d B ) pela frequência e o ângulo de fase no gráfico de P h a s e   ( d e g ) pela frequência.

O primeiro passo, então, é achar a frequência em que o ângulo de fase é - 180 ° . Para isto, clique sobre a curva do gráfico de baixo, cujo eixo vertical é P h a s e   ( d e g ) . Aparecerá um quadradinho preto que informa a frequência e o ângulo de fase do ponto sobre o qual você clicou. Arraste o quadradinho até que P h a s e   ( d e g ) seja igual a - 180 . Use as linhas de grade para se orientar. Ao fazer isso, você terá algo parecido com a imagem abaixo:

Vemos que a frequência em que o ângulo de fase é - 180 ° é de 0,805   r a d / s .

Passo 5

Sabendo que o ângulo de fase atinge - 180 ° em uma frequência de 0,805   r a d / s , vamos procurar no gráfico de cima do diagrama de Bode gerado pelo MATLAB, isto é, no gráfico cujo eixo vertical é M a g n i t u d e   ( d B ) , qual é a razão de amplitude em 0,805   r a d / s .

Para isto, clique sobre a curva do gráfico M a g n i t u d e   ( d B ) , para aparecer aquele quadradinho preto com as informações sobre o ponto onde você clicou. Dessa vez, ele informará a frequência e a razão de amplitude do ponto. Arraste o quadradinho preto até atingir uma frequência de 0,805     r a d / s , usando as linhas de grade para se guiar. Ao fazer isso, seu gráfico de M a g n i t u d e   ( d B ) ficará com essa cara:

Vemos que a razão de amplitude em 0,805   r a d / s é - 13,9   d B , menor que 0   d B . Logo, G ( s ) é estável.

Resposta

Sistema estável

Exercício Resolvido #3

Seja

F ( s ) = 10 s 3 + 4 s 2 + 6 s + 4

Plote o diagrama de Bode e encontre as margens de fase e de ganho de F ( s ) .

Passo 1

O exercício pede para plotarmos o diagrama de Bode de F ( s ) e encontarmos as margens de fase e de ganho de F ( s ) . Para isto, primeiramente vamos entrar com F s no MATLAB usando a função t f . Em seguida, usaremos a função m a r g i n , que plota o diagrama de Bode já informando as margens de fase e de ganho.

Passo 2

O primeiro passo para resolver o exercício é entrar com F ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Para F ( s ) , o polinômio do numerador é 10 . Já o polinômio do denominador é s 3 + 4 s 2 + 6 s + 4 .

Em um novo script, vamos criar duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 10 ∙ s 0 = 10 ∙ 1 = 10 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 10 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 4 s 2 + 6 s + 4 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já adicionamos o comando F = t f ( n u m , d e n ) , para criar a função de transferência F ( s ) e armazená-la na variável F .

Se quiser, você pode rodar o programa que você tem até agora, só pra conferir se você entrou certo com F ( s ) . Para isto, imprima F no Command Window:

Se F estiver igualzinho a F ( s ) apresentado no enunciado, pode partir para o próximo passo :)

Passo 3

Após entrar com F ( s ) , podemos usar o comando m a r g i n para plotar o diagrama de Bode de F ( s ) já com as margens de ganho e de fase destacadas. A função m a r g i n tem a seguinte sintaxe:

m a r g i n ( f u n c a o _ t r a n s f e r e n c i a )

Ela tem como entrada uma função de transferência criada usando o comando t f (representada por f u n c a o _ t r a n s f e r e n c i a ) e ela gera, ao executarmos o programa, um gráfico com o diagrama de Bode de f u n c a o _ t r a n s f e r e n c i a , informando já no título do gráfico as margens de ganho e de fase e a frequência na qual elas foram calculadas.

Para chegarmos no resultado do exercício, adicione ao seu código o comando:

Com este comando, geraremos o diagrama de Bode de F e obteremos as margens de fase e de ganho.

Rode o programa para ver o resultado:

No título do gráfico, a margem de ganho é indicada por G m e margem de fase, por P m . Temos que a margem de ganho é 6,02   d B e a margem de fase, 30,3 ° .

Resposta

A margem de ganho de F ( s ) é 6,02   d B e a margem de fase, 30,3 ° .

Exercício Resolvido #4

Usando o MATLAB, determine se o seguinte processo pode ser tornado instável aumentando-se o ganho dele. Utilize argumentos baseados em resposta em frequência e critério de Bode.

G s = 4 6 s 3 + 11 s 2 + 6 s   +   1

Passo 1

Quando o exercício pede para determinarmos se G ( s ) pode se tornar instável aumentando o ganho, na real ele está nos pedindo para ver se G ( s ) já é estável, com outras palavras. Se ele for estável na forma que foi apresentado no enunciado, avaliando-o pelo critério de Bode, significa que tem espaço para aumentar o ganho até que o processo se torne instável.

Logo, o exercício pede para vermos se G ( s ) é estável ou não, nos baseando em resposta em frequência e critério de Bode. Para isto, plotaremos o diagrama de Bode de G ( s ) usando o MATLAB.

No nosso programa, devemos primeiro entrar com G ( s ) no MATLAB usando a função t f . Em seguida, usaremos a função b o d e para plotar o diagrama de Bode. Avaliaremos a estabilidade de G ( s ) usando o gráfico gerado por nosso programa, a partir do critério de Bode.

Passo 2

O primeiro passo para resolver o exercício é entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Para G ( s ) , o polinômio do numerador é 4 . Já o polinômio do denominador é 6 s 3 + 11 s 2 + 6 s   +   1 .

Em um novo script, vamos criar duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 4 ∙ s 0 = 4 ∙ 1 = 4 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 4 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de 6 s 3 + 11 s 2 + 6 s   +   1 , indo do elemento com maior expoente ao de menor expoente:

Em seguida, adicione o comando abaixo para criar G ( s ) :

A função de transferência é armazenada na variável G . Você pode ver como G   ficou ao rodar o programa e pedir ao MATLAB para imprimir G no Command Window:

Passo 3

Tendo entrado com G ( s ) no MATLAB, podemos plotar seu diagrama de Bode, usando o comando b o d e , que tem a sintaxe:

b o d e ( f u n c a o _ t r a n s f e r e n c i a )

Ele tem como entrada uma função de transferência (representada pela variável f u n c a o _ t r a n s f e r e n c i a ), criada usando o comando t f do MATLAB, e ele gera um gráfico com o diagrama de Bode para f u n c a o _ t r a n s f e r e n c i a .

No script criado no passo 2, adicione as seguintes linhas de código:

Além do comando b o d e ( G ) para plotar o diagrama de Bode de G , incluímos o comando g r i d   o n , para que o diagrama tenha linhas de grade. As linhas de grade vão ajudar a avaliar a estabilidade de G pelo critério de Bode.

Vamos rodar o programa para vermos o diagrama de Bode de G ( s ) :

Passo 4

Com o diagrama de Bode em mãos, podemos usar o critério de Bode para ver se G é estável ou não. O critério de Bode diz que um sistema é estável se a razão de amplitude for menor que 0   d B na frequência em que o ângulo de fase atinge - 180 ° .

Lembrando que no diagrama de Bode gerado pelo MATLAB, a razão de amplitude é chamada de M a g n i t u d e .

O primeiro passo, então, é achar a frequência em que o ângulo de fase é - 180 ° . Para isto, clique sobre a curva do gráfico de baixo, cujo eixo vertical é P h a s e   ( d e g ) . Aparecerá um quadradinho preto que informa a frequência e o ângulo de fase do ponto sobre o qual você clicou.

Arraste o quadradinho até que P h a s e   ( d e g ) seja igual a - 180 . Use as linhas de grade para te orientar. Ao fazer isso, você terá algo parecido com a imagem abaixo:

Vemos que a frequência em que o ângulo de fase é - 180 ° é de 1   r a d / s .

Passo 5

Sabendo que o ângulo de fase atinge - 180 ° em uma frequência de 1   r a d / s , vamos procurar no gráfico de cima do diagrama de Bode gerado pelo MATLAB, isto é, no gráfico cujo eixo vertical é M a g n i t u d e   ( d B ) , qual é a razão de amplitude em 1   r a d / s .

Para isto, clique sobre a curva do gráfico M a g n i t u d e   ( d B ) , para aparecer aquele quadradinho preto com as informações sobre o ponto onde você clicou. Dessa vez, ele informará a frequência e a razão de amplitude do ponto.

Arraste o quadradinho preto até atingir uma frequência de 1   r a d / s , usando as linhas de grade para se guiar. Ao fazer isso, seu gráfico de M a g n i t u d e   ( d B ) ficará com essa cara:

Vemos que a razão de amplitude em 1   r a d / s é - 7,99   d B , menor que 0   d B . Logo, G ( s ) é estável.

Em outras palavras, podemos aumentar o ganho de G ( s ) até que o sistema se torne instável, pois podemos aumentar o ganho até que a razão de amplitude se torne maior que 0   d B , partindo de G ( s ) no estado atual, onde a razão de amplitude é de - 7,99   d B na frequência em que o ângulo de fase é - 180 ° , atendendo ao critério de Bode.

Em outras palavras, temos uma “folga” de - 7,99   d B .

Resposta

É possível que o processo G ( s ) se torne instável aumentando-se o ganho, pois podemos aumentar o ganho até que a razão de amplitude se torne maior que 0   d B na frequência em que o ângulo de fase atinge - 180 ° , visto que G ( s ) apresenta razão de amplitude negativa nessa frequência.

Exercício Resolvido #5

Usando o MATLAB, obtenha a margem de ganho, margem de fase, a frequência de 0   d B e a frequência de - 180 ° para um sistema com realimentação unitária e função de transferência em malha aberta:

G s = 8000 s 3 + 61 s 2 + 1030 s   +   4200

Passo 1

Para G ( s ) , o exercício pede para encontrarmos:

  1. Margem de ganho;
  2. Margem de fase;
  3. Frequência de 0   d B ;
  4. Frequência de - 180 ° .

Obtemos tudo isso usando o comando m a r g i n do MATLAB.

No nosso programa, primeiramente vamos entrar com G s no MATLAB usando a função t f . Em seguida, usaremos a função m a r g i n , que plota o diagrama de Bode já informando as margens de fase e de ganho e as frequências de 0   d B e - 180 ° .

Passo 2

Vamos entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Para G ( s ) , o polinômio do numerador é 8000 . Já o polinômio do denominador é s 3 + 61 s 2 + 1030 s   +   4200 .

Em um novo script, vamos criar duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 800 0 ∙ s 0 = 800 0 ∙ 1 = 800 0 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 800 0 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 61 s 2 + 1030 s   +   4200 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já digitamos o comando G = t f ( n u m , d e n ) , para criar G ( s ) e armazená-la na variável F . Se quiser, você pode rodar o programa que você tem até agora para conferir se você entrou certo com G ( s ) . Para isto, imprima G no Command Window:

Se G estiver igualzinho a G ( s ) , pode prosseguir :)

Passo 3

Após entrar com G ( s ) , usamos o comando m a r g i n , que plota o diagrama de Bode de G ( s ) já com as margens de ganho e de fase destacadas. A função m a r g i n tem a seguinte sintaxe:

m a r g i n ( f u n c a o _ t r a n s f e r e n c i a )

Ela tem como entrada uma função de transferência criada usando o comando t f (representada por f u n c a o _ t r a n s f e r e n c i a ) e ela gera, ao executarmos o programa, um gráfico com o diagrama de Bode de f u n c a o _ t r a n s f e r e n c i a , informando já no título do gráfico as margens de ganho e de fase e a frequência na qual elas foram calculadas.

Para chegarmos no resultado do exercício, adicione ao seu código o comando:

Com este comando, geraremos o diagrama de Bode de G e obteremos as margens de fase e de ganho. Rodando o programa para ver o resultado, temos:

No título do gráfico, a margem de ganho é indicada por G m e margem de fase, por P m . Temos que a margem de ganho é 17,3   d B e a margem de fase, 89,8 ° .

Com isso, já temos as margens de ganho e de fase pedidas pelo enunciado. Mas e as frequências de 0   d B e - 180 ° ?

Passo 4

Para encontrarmos as frequências, vamos relembrar como se calculam as margens de ganho e de fase usando o diagrama de Bode.

Em um diagrama de Bode, a margem de ganho é calculada encontrando a frequência onde o ângulo de fase é - 180 ° e fazendo a diferença entre 0   d B e a razão de amplitude (no caso do gráfico gerado pelo MATLAB, M a g n i t u d e ) nessa mesma frequência. Em outras palavras, isso quer dizer que a frequência onde a margem de ganho é calculada é a frequência de - 180 ° .

Repare que o título do gráfico diz: G m = 17.3   d B   ( a t   32.1   r a d / s ) , informando que a margem de ganho de 17,3   d B foi calculada em 32 , 1   r a d / s . Isso quer dizer a frequência de - 180 ° é 32 , 1   r a d / s .

Outra alternativa para encontrar a frequência de - 180 ° é clicar no gráfico de baixo, o de P h a s e   ( d e g ) , e arrastar o quadradinho preto até encontrar o dado P h a s e   ( d e g ) igual a - 180 , como na imagem abaixo:

Veja que a frequência desse ponto é igual a 32   r a d / s , praticamente igual ao valor dado pelo título do gráfico. Repare também que o ponto onde P h a s e   ( d e g ) é igual a - 180 está exatamente sobre a linha vertical pontilhada que indica a posição da margem de ganho no diagrama de Bode. Isso porque a margem de ganho foi determinada como eu disse acima.

Passo 5

Para encontrar a frequência de 0   d B , vamos relembrar como se calcula a margem de fase usando o diagrama de Bode. Ela é calculada encontrando a frequência onde a razão de amplitude (no diagrama gerado pelo MATLAB, M a g n i t u d e ) é 0   d B e fazendo a diferença entre o ângulo de fase nessa frequência e - 180 ° .

Em outras palavras, isso quer dizer que a frequência onde a margem de fase é calculada é a frequência de 0   d B .

Repare que o título do gráfico diz: P m = 89.8   d e g   ( a t   8.33   r a d / s ) , informando que a margem de fase de 89 , 8 ° foi calculada em 8 , 33     r a d / s . Isso quer dizer a frequência de 0   d B é 8,33     r a d / s .

Outra alternativa para encontrar a frequência de 0   d B é clicar no gráfico de cima, o de M a g n i t u d e   ( d B ) , e arrastar o quadradinho preto até encontrar o dado M a g n i t u d e   ( d B ) o mais próximo possível de 0 , como na imagem abaixo (é difícil achar exatamente o 0 ):

Veja que a frequência desse ponto é igual a 8,31   r a d / s , dando uma razão de amplitude de - 0,00117   d B , bem próxima de 0   d B . Repare que a frequência é bem próxima da dada no título do gráfico para a margem de fase.

Como é difícil acertar o ponto de 0   d B , recomendo pegar os valores dados pelo título do gráfico.

Resposta

  1. Margem de ganho: 17,3   d B
  2. Margem de fase: 89,8 °
  3. Frequência de 0   d B : 8,33   r a d / s
  4. Frequência de - 180 ° : 32,1   r a d / s

Exercício Resolvido #6

Seja

F s = 5 s 2 + 3 s + 6 s 4 + 3 s 3 + 7 s 2 + 9 s + 12

Plote o diagrama de Bode e encontre as margens de fase e de ganho de F ( s ) .

Passo 1

O exercício pede para plotarmos o diagrama de Bode de F ( s ) e para encontrarmos a margem de ganho e a margem de fase de F ( s ) . Faremos tudo isso com um único comando do MATLAB: m a r g i n .

No nosso programa, primeiramente vamos entrar com F s usando a função t f . Em seguida, usaremos a função m a r g i n , que plota o diagrama de Bode já informando as margens de fase e de ganho.

Passo 2

Use a função t f para criar a função de transferência F ( s ) . Lembrando que t f tem a sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Em um novo script, vamos criar dois vetores contendo os coeficientes dos polinômios, para servirem de entrada para t f . O primeiro vetor se chamará n u m e terá os coeficientes do numerador de F ( s ) . Já o segundo vetor se chamará d e n e conterá os coeficientes do denominador de F ( s ) .

O polinômio do numerador é 5 s 2 + 3 s + 6 e o do denominador, s 4 + 3 s 3 + 7 s 2 + 9 s + 12 . Por isso, n u m e d e n ficarão assim:

Logo abaixo, já inserimos o comando F = t f ( n u m , d e n ) , para criar F ( s ) e armazená-la na variável F .

Vamos rodar o programa digitado até agora para conferir se está tudo certo com F ( s ) , imprimindo F no Command Window:

Tá igualzinho ao enunciado, bora plotar esse diagrama de Bode!

Passo 3

Para plotar o diagrama de Bode de F ( s ) , usaremos o comando m a r g i n , que além de gerar o diagrama, ainda dá pra gente as margens de ganho e de fase. A função m a r g i n tem a seguinte sintaxe:

m a r g i n ( f u n c a o _ t r a n s f e r e n c i a )

Ela tem como entrada uma função de transferência criada usando o comando t f (representada por f u n c a o _ t r a n s f e r e n c i a ) e ela gera, ao executarmos o programa, um gráfico com o diagrama de Bode de f u n c a o _ t r a n s f e r e n c i a , informando já no título do gráfico as margens de ganho e de fase.

Para chegarmos na solução do exercício, adicione ao seu código o comando:

Rode o programa para ver o resultado, temos:

No título do gráfico, a margem de ganho é indicada por G m e margem de fase, por P m . Temos que a margem de ganho é ∞   d B e a margem de fase, 56,2 ° .

Uma margem de ganho infinita indica que o sistema é sempre estável, independente do valor do ganho que eu usar no controle do sistema.

Resposta

Margem de ganho: ∞   d B

Margem de fase: 56,2 °

Exercício Resolvido #7

Seja

F s = 8 ( s + 1 ) ( s + 3 ) s + 2 s + 4 s + 6 2

Plote o diagrama de Bode e encontre as margens de fase e de ganho de F ( s ) .

Passo 1

O exercício pede para plotarmos o diagrama de Bode de F ( s ) e para encontrarmos a margem de ganho e a margem de fase de F ( s ) . Obteremos a solução do exercício com um único comando do MATLAB: m a r g i n .

No nosso programa, precisamos entrar com F s usando a função t f . Contudo, antes de aplicar t f , precisamos multiplicar os termos do numerador e do denominador de F ( s ) , para obtermos os polinômios cujos coeficientes servirão de entrada para t f .

Tendo entrado com F ( s ) , ela servirá de entrada para a função m a r g i n , que plota o diagrama de Bode já informando as margens de fase e de ganho.

Passo 2

Vamos multiplicar os termos do numerador e do denominador no próprio MATLAB mesmo, começando pelo numerador. Em um novo script, digite as seguintes linhas de código:

Na primeira linha, é definida uma variável simbólica s .

Na segunda linha, criamos uma variável n u m _ F que armazena o numerador de F ( s ) no formato atual.

Na terceira linha, usamos o comando e x p a n d para multiplicar os termos de n u m _ F e gerarmos o polinômio do numerador, que é armazenado em n u m _ p o l .

Execute o programa e imprima no Command Window n u m _ p o l :

Logo, o polinômio do numerador de F ( s ) é 8 s + 1 s + 3 = 8 s 2 + 32 s + 24 .

Faça a mesma coisa para o denominador de F ( s ) , digitando no mesmo script as linhas de código:

Primeiramente, criamos a variável d e n _ F para armazenar o denominador de F ( s ) no formato que ele está no enunciado. Em seguida, usamos e x p a n d nele para gerar o polinômio do denominador, que é armazenado em d e n _ p o l . O polinômio do denominador será:

Logo, s + 2 s + 4 s + 6 2 = s 4 + 18 s 3 + 116 s 2 + 31 s   +   288 .

Passo 3

Tendo os polinômios do numerador e do denominador de F ( s ) , podemos usar a função t f para criar F ( s ) . Lembrando que t f tem a sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Em um novo script ou no mesmo onde você obteve os polinômios, crie dois vetores contendo os coeficientes dos polinômios, para servirem de entrada para t f . O primeiro vetor se chamará n u m e terá os coeficientes do numerador de F ( s ) . Já o segundo vetor se chamará d e n e conterá os coeficientes do denominador de F ( s ) .

O polinômio do numerador é 8 s 2 + 32 s + 24 e o do denominador, s 4 + 18 s 3 + 116 s 2 + 31 s   +   288 , logo, n u m e d e n ficarão assim:

Já podemos pôr logo abaixo o comando F = t f ( n u m , d e n ) , para criar a variável F , que contém F ( s ) .

Vamos rodar o programa digitado até agora para conferir se está tudo certo com F ( s ) , imprimindo F no Command Window:

Está tudo certo, já podemos plotar o diagrama de Bode a partir de F .

Passo 4

Plotaremos o diagrama de Bode de F ( s ) com o comando m a r g i n , que além de nos dar diagrama, ainda informa pra gente as margens de ganho e de fase. O comando m a r g i n tem a como sintaxe:

m a r g i n ( f u n c a o _ t r a n s f e r e n c i a )

Ele tem como entrada uma função de transferência criada usando o comando t f (representada por f u n c a o _ t r a n s f e r e n c i a ) e ele gera, ao executarmos o programa, um gráfico com o diagrama de Bode de f u n c a o _ t r a n s f e r e n c i a , informando no título do gráfico as margens de ganho e de fase.

Para chegarmos na solução do exercício, adicione ao seu código o comando:

Execute o programa para obter a solução do exercício:

No título do gráfico, a margem de ganho é indicada por G m e a margem de fase, por P m . Temos que ambas as margens são infinitas. Mas por quê?

Note no diagrama de M a g n i t u d e   ( d B ) que a curva de a razão de amplitude está inteira abaixo de 0   d B , isto é, não importa a frequência, a razão de amplitude sempre será menor do que 0   d B . Isso indica que o sistema é sempre estável, isto é, podemos multiplicar o ganho por qualquer valor que o sistema permanecerá estável. Por isso a margem de ganho é infinita.

Uma margem de fase infinita indica que a malha suporta qualquer valor de atraso, pois ela permanecerá estável.

Resposta

Margem de ganho: ∞   d B

Margem de fase: ∞ °

Exercício Resolvido #8

O sistema de suspensão mostrado abaixo tem o nível da superfície da estrada como entrada e a posição absoluta como saída.

A função de transferência do sistema é:

G s = b k 2 s + k 1 k 2 m 1 m 2 s 4 + b m 1 + m 2 s 3 + k 1 m 1 + m 2 s 2 + k 2 m 1 s 2 + k 2 b s + k 1 k 2

Dependendo do uso, a massa m 1 do carro pode dobrar. Gere em um mesmo gráfico o diagrama de Bode para 500 ≤ m 1 ≤ 1000   k g . Assuma que m 2 = 100   k g , b = 1000   N s / m , k 1 = 2000   N / m e k 2 = 10 4   N / m .

Passo 1

Neste exercício, plotaremos o diagrama de Bode de G ( s ) para valores diferentes de m 1 , sendo que os diagramas deverão estar em um mesmo gráfico, para facilitar a comparação. Para fazermos isso, a função t f para criar G s e o comando b o d e para plotar o diagrama ficarão dentro de um laço f o r , que atualizará G ( s ) e o diagrama para cada valor de m 1 .

Passo 2

O primeiro passo é entrar com os dados de massa, rigidez e amortecimento do enunciado. Em um script novo, entre com os valores de m 2 , b , k 1 e k 2 :

Abaixo dos dados que você acabou de digitar, inicie um laço f o r , com variável de controle m 1 , representando a massa do carro. Essa variável de controle deve ir de 500 a 1000 , pois o enunciado pede para vermos o diagrama de Bode de G ( s ) para 500 ≤ m 1 ≤ 1000   k g :

O passo da faixa de valores de m 1 você pode escolher o que quiser. Eu escolhi 250 , de forma que m 1 em G ( s ) assumirá três valores distintos: 500   k g , 750   k g e 1000   k g . Isto fará que o meu gráfico com os diagramas de Bode no final tenha três curvas, uma para cada valor de m 1 .

Passo 3

Vamos entrar com G ( s ) dentro do laço f o r , escrevendo dentro dele o comando t f , que tem como sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Vamos criar dois vetores, dentro do laço f o r , contendo os coeficientes dos polinômios do numerador e do denominador de G ( s ) . O polinômio do numerador é b k 2 s + k 1 k 2 e seus coeficientes serão armazenados em um vetor chamado n u m . Já o polinômio do denominador é:

m 1 m 2 s 4 + b m 1 + m 2 s 3 + k 1 m 1 + m 2 s 2 + k 2 m 1 s 2 + k 2 b s + k 1 k 2

Seus coeficientes serão armazenados em um vetor chamado d e n . Desta forma, o laço f o r tem essa cara por enquanto:

Logo abaixo dos vetores, já podemos incluir o comando G = t f ( n u m , d e n ) , para criar a variável G , que contém F ( s ) .

Com o laço de repetição f o r , os vetores n u m e d e n serão atualizados a cada iteração, com um valor de m 1 diferente, gerando, portanto, uma função de transferência G diferente.

Passo 4

Para gerar o diagrama de Bode para cada função de transferência G diferente, utilize dentro do laço f o r o comando b o d e , que tem a sintaxe:

b o d e ( f u n c a o _ t r a n s f e r e n c i a )

Ele tem como entrada uma função de transferência (representada pela variável f u n c a o _ t r a n s f e r e n c i a ), criada usando o comando t f , e ele gera um gráfico com o diagrama de Bode para f u n c a o _ t r a n s f e r e n c i a .

Logo, acrescente o comando b o d e ( G ) dentro do laço f o r :

Abaixo de b o d e ( G ) , inclua o comando h o l d   o n . Este comando serve para que o gráfico com o diagrama de Bode seja atualizado a cada iteração, mas sem que as curvas da iteração anterior desapareçam.

Pra finalizar, coloque logo abaixo do laço f o r o comando:

Ele fará com que o gráfico com os diagramas de Bode tenham uma legenda, indicando qual curva representa o resultado para determinada massa. As legendas dentro de l e g e n d devem estar na ordem com que os diagramas foram criados.

Resposta

As curvas azuis são o diagrama de Bode para m 1 = 500   k g .

As curvas vermelhas são o diagrama de Bode para m 1 = 750   k g .

As curvas amarelas são o diagrama de Bode para m 1 = 1000   k g .