Documente Academic
Documente Profesional
Documente Cultură
Controle de
Processos
Instituto Politcnico PUC Minas
Autor:
Wesley Oliveira Maia
Contribuio:
Eduardo Motta Jardim
Jlio Csar Braz de Queiroz
Zlia Myriam Assis Peixoto
Belo Horizonte 2016
Sumrio
1.
1.1
1.1.1
1.2
1.2.1
1.3
1.3.1
2
3.
Anlise da resposta transitria de sistemas contnuos no tempo: Resposta ao degrau,
resposta ao impulso e resposta rampa. ................................................................................... 20
3.1
4
7.
7.2
7.3
SISOTOOL..................................................................................................................... 44
7.4
8.
9.
10.
10.1
11.
11.1
IPUC
Pgina 2
13.1
13.2
FDATool ....................................................................................................................... 72
13.3
Referncias .................................................................................................................................. 75
Apncide A Biblioteca de Blocos do Simulink .......................................................................... 76
A.1. Sinks ................................................................................................................................. 76
A.2. Sources ............................................................................................................................. 76
A.3. Math Operations .............................................................................................................. 77
A.4. Continuous ....................................................................................................................... 77
A.5. Discrete ............................................................................................................................ 78
Apndice B Kit FRDM-KL25Z: Usando a Sada PWM como um Conversor Digital-Analgico .. 79
B.1. Fundamentos Tericos ..................................................................................................... 79
B.2. Projeto do Filtro Passa-Baixas .......................................................................................... 81
B.3. Implementao do Projeto no CodeWarrior ................................................................... 84
B.4. Resultados Experimentais ................................................................................................ 87
IPUC
Pgina 3
Esta apostila tem o objetivo de auxiliar os alunos do curso de Engenharia Eltrica nos estudos
da disciplina de Laboratrio de Sistemas Lineares, onde a pretenso simplesmente facilitar o
entendimento e compreenso do contedo de Sinais e Sistemas.
Este material teve como referncia a apostila do Laboratrio de Sinais e Sistemas, elaborada
pelos professores Antonius Henricus Maria de Knegt e Alessandra Lopes Carvalho (com
colaborao de Cicli Martins). Alm disso, as bibliografias abaixo foram utilizadas como
material complementar:
HAYKIN, Simon; VAN VEEN, Barry. Sinais e Sistemas. Porto Alegre: Bookman, 2001.
OPPENHEIM, Alan V.; WILLSKY, Alan S.. Sinais e Sistemas. So Paulo: Prentice Hall, 2010.
ROBERTS, Michael J.. Fundamentos em Sinais e Sistemas. So Paulo: McGrae-Hill, 2009.
Como apenas a primeira verso, no sendo realizada uma reviso mais criteriosa do material,
desta forma, correes e sugestes so bem vindas podendo ser encaminhadas para o
responsvel da elaborao desta.
Desejo que este material possa contribuir de forma agradvel e eficiente para a formao dos
alunos deste curso.
IPUC
Pgina 4
Introduo ao MATLAB
1.1
Aspectos Gerais
Recursos
O MATLAB oferece uma ampla biblioteca de funes predefinidas:
sin(x);
fft(x).
Comunicao com outros programas:
Excel;
Java;
PSIM.
Interface com kits de desenvolvimento:
Code Composer Studio/ C6000 / C2000 (Texas Instruments);
VisualDSP++ / Blackfin (AnalogDevices);
Green Hills MULTI / MPC5500 (Freescale).
Toolboxes
O MATLAB possui uma famlia de aplicativos (toolboxes), que so conjuntos de
funes usadas para resolver problemas de reas especficas da engenharia, tais
como:
Controle de Processos e Otimizao;
Processamento de Sinais;
Eletrnica de Potncia;
Redes Neurais, dentre outros.
Aplicaes
Gerais
Verificao de softwares para detectar, em tempo de execuo, erros
antes da compilao ou testes;
Anlise de projetos atravs de simulao, antes da implementao e
teste;
Desenvolvimento de cdigos C ou HDL para execuo em sistemas
embarcados via DSPs, ASICs e FPGAs.
IPUC
Pgina 5
Sistemas Embarcados
Verificao de projetos antes da implementao e testes;
Gerao de cdigos para prototipagem e produo..
Processamento Digital de Sinais
Aquisio de dados e anlise de sinais;
Desenvolvimento de algoritmos para aplicaes em comunicao, udio
voz e vdeo, dentre outros.
Gerao de cdigos C ou HDL para execuo em sistemas embarcados:
DSPs, ASICs e FPGAs.
Sistemas de Controle
Criar modelos para a representao de plantas;
Projeto de controladores e lgica de controle;
Anlise da estabilidade de sistemas.
IPUC
Pgina 6
Obtendo Ajuda
O usurio pode obter ajuda de trs maneiras distintas:
Navegador de Ajuda;
Digitar lookfor seguido de uma palavra-chave do problema e, em seguida,
avaliar as informaes associadas s funes encontradas:
Ex.: lookfor integral <enter>
y 2t
20
18
16
14
12
10
8
6
4
2
0
5
t
10
IPUC
Pgina 7
x 0 1 2 3 4 5 6 7 8 9 ;
y 1 2.5 2 3 3 3 2.5 2.5 2 1 ;
IPUC
Pgina 8
A.
Variveis
Existem trs formas comuns para a especificao/ inicializao uma varivel, no
ambiente MATLAB:
Associar dados uma varivel usando declarao de valores:
Ex.: r = 10;
Ex.: r = [1 2 3 4];
Ex.: r = [1 2 3 4 ; 5 6 7 8];
Fornecer dados varivel pelo teclado:
Ex.: i = input('Entre com o valor da corrente (A):');
Ler dados de um arquivo.
Ex.: v = tensao.mat
B.
Expresses
O MATLAB uma linguagem de expresses compostas por operadores e outros
caracteres especiais, de funes e dos nomes das variveis. As avaliaes das expresses
produzem matrizes, que podem (ou no) ser mostradas na tela e atribudas s variveis para
uso futuro.
importante ressaltar que o MATLAB faz distino entre letras maisculas e minsculas,
assim a e A no so as mesmas variveis. Alm disso, todas as funes devem ser escritas em
letras minsculas: inv(A) calcula a inversa de A, mas INV(A) uma funo indefinida.
C.
Vetores e Matrizes
A unidade fundamental de dados, em qualquer programa MATLAB, a matriz. A Matriz
uma coleo de dados organizados em linhas e colunas, conhecidos por um nico nome.
Vetor Pode ser do tipo linha (1xj) ou coluna (ix1), i e j inteiros. Exemplos:
IPUC
Pgina 9
a2
a3 ]
a1
a a2
a3
(1)
Matriz matriz com i linhas e j colunas (separar as linhas com ponto e vrgula )
a11
Aij
ai1
D.
a1 j
[a11
aij
a1 j ;
; ai1
(2)
aij ]
Operao
Forma Algbrica
Forma MATLAB
Soma
a+b
a+b
Subtrao
a-b
a-b
Multiplicao
axb
a* b
Diviso
a/b
a/b
ab
a^b
Exponencial
E.
IPUC
Pgina 10
1 2
gt
2
Onde t o tempo de queda livre do objeto e g = 9,8m/s2. Plote a curva dxt de queda
livre de um objeto para um intervalo de 0 a 10s.
Soluo
Script MATLAB
%=====================================================================
% PUC MINAS IPUC
% Curso de Engenharia Eltrica - Laboratrio de Sinais e Sistemas
% Aluno:
%=====================================================================
%
% LAB 2 - Comandos Bsicos e Operaes com Matrizes
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;
%=====================================================================
t = 0:1:10;
g = 9.8;
d = (1/2)*g*t.^2;
%=====================================================================
% Plotando figura(s)
figure(1)
plot(t,d)
title('Grfico de Distncia em Queda Livre')
xlabel('tempo(s)')
ylabel('Distncia (m)')
grid on
%=====================================================================
IPUC
Pgina 11
Distncia (m)
350
300
250
200
150
100
50
0
5
tempo(s)
10
R2
V1
20 V
50%
R5
100
330
V2
10 V
R3
200
R4
V1
20 V
R2
220
150
R6
100
IPUC
Pgina 12
Ramificaes e Laos
A primeira condio sempre escrita com IF, a ltima com ELSE e todas as
intermedirias com ELSEIF.
A estrutura SWITCH permite selecionar um bloco especfico do cdigo para ser
executado, com base no valor de um nico inteiro, caractere ou expresso lgica. A forma
geral :
switch(expressao)
case expressao_case_1,
Comandos1
Comandos2
...
case expressao_case_2,
Comandos1
Comandos2
...
otherwise,
Comandos1
Comandos2
...
end
O MATLAB contm dois comandos para gerar loops, o comando FOR e o comando
WHILE. O lao FOR executa um bloco de comandos durante um nmero especificado de vezes.
Ele tem a seguinte forma:
IPUC
Pgina 13
TC
5(TF 32)
9
5T
TK F 32 273,15
9
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 3 - Ramificaes e Laos
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;
%=====================================================================
for i=1:1:3
Tf = input('Entre com o valor de temperatura em graus
Fahrenheit(F):');
IPUC
Pgina 14
Tc = (5*(Tf-32))/9;
Tk = (5/9)*(Tf-32)+273.15;
fprintf('A temperatura em graus Celsius = %6.2f \n',Tc)
fprintf('A temperatura em graus Kelvin = %6.2f \n',Tk)
end
%=====================================================================
B. Construa uma rotina para determinar a soma dos n primeiros termos da srie:
(1) k
k
k 1 2
n
sin( x)
0
(1)k x 2 k 1
(2k 1)!
IPUC
Pgina 15
dada pela Equao (3), o que significa que sinais sero simtricos em relao ao eixo vertical
(Haykin e Van Veen, 2001):
x(t ) x(t )
(3)
Um sinal de tempo contnuo x(t ) ser um sinal mpar se o mesmo estiver de acordo
com a Equao (4). Isto significa que sinais mpares sero simtricos em relao origem.
x(t ) x(t )
(4)
O sinal qualquer x(t ) pode ser expresso como a soma das componentes par x p (t ) e
impar xi (t ) , da seguinte maneira:
x(t ) x p (t ) xi (t )
(5)
2.1
x p (t )
1
x(t ) x(t )
2
(6)
x p (t )
1
x(t ) x(t )
2
(7)
Atividade Prtica
A. Considere o sinal descrito pela funo y(t ) e2t , com uma taxa de amostragem
t 0.01 e o intervalo [-3, 3]. Implemente um script para a construo dos seguintes
grficos:
I.
II.
III.
IV.
Sinal original;
Componente par;
Componente mpar;
Reconstruo do sinal (componente par + componente mpar).
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 4 - Composio e Decomposio de Sinais
%
IPUC
Pgina 16
%=====================================================================
% Criar um vetor (Operador dois pontos)
% prim:incr:ultm
t = -3:0.01:3;
% Sinal Original
y = exp(-2*t);
% Componente Par
yp = 1/2*(exp(-2*t)+exp(2*t));
% Componente Impar
yi = 1/2*(exp(-2*t)-exp(2*t));
figure(1)
subplot(3,1,1)
plot(t,y);
title('Sinal Original');
xlabel('t');
ylabel('Y');
legend ('exp(-2t)');
grid on
subplot(3,1,2)
plot(t,yp);
title('Componente Par');
xlabel('t');
ylabel('Yp');
legend ('Par');
grid on
%
%
%
%
Ttulo da figura
Legenda para o eixo X
Legenda para o eixo Y
Legenda para o figura
%
%
%
%
Ttulo da figura
Legenda para o eixo X
Legenda para o eixo Y
Legenda para o figura
subplot(3,1,3)
plot(t,yi);
title('Componente Impar');% Ttulo da figura
xlabel('t');
% Legenda para o eixo X
ylabel('Yi');
% Legenda para o eixo Y
legend ('Impar');
% Legenda para o figura
grid on
% Reconstruo do sinal
yrec = yp + yi;
figure(2)
plot(t,yrec,'*');
title('Reconstruo do sinal');% Ttulo da
xlabel('t');
% Legenda para o
ylabel('Yrec');
% Legenda para o
legend ('Sinal');
% Legenda para o
grid on
figura
eixo X
eixo Y
figura
IPUC
Pgina 17
%=====================================================================
Figura(s)
Sinal Original
500
Y
exp(-2t)
0
-3
-2
-1
0
t
Componente Par
400
Yp
Par
200
0
-3
-2
-1
0
t
Componente Impar
500
Yi
Impar
0
-500
-3
-2
-1
0
t
Reconstruo do sinal
450
Sinal
400
350
Yrec
300
250
200
150
100
50
0
-3
-2
-1
0
t
3
B. Considere o sinal descrito pela funo y(t ) 2t cos (10t ) , com uma taxa de
amostragem t 0.01 e o intervalo [-5, 5]. Escreva um script para a construo dos
seguintes grficos:
I.
II.
III.
Sinal original;
Componente par;
Componente mpar;
IPUC
Pgina 18
C. Considere o sinal descrito pela funo y(t ) (1 t 3 ) cos3 (10t ) , com uma taxa de
amostragem t 0.02 e o intervalo [-4, 4]. Desenvolva um script para a construo dos
seguintes grficos:
I.
II.
III.
IV.
Sinal original;
Componente par;
Componente mpar;
Reconstruo do sinal (componente par + componente mpar).
IPUC
Pgina 19
s j .
Se considerarmos uma exponencial complexa e st ou, equivalentemente,
[ f (t )] F ( s)
f (t )e st dt
(8)
Um sistema pode ser facilmente modelado por uma funo de transferncia G( s) que
relaciona algebricamente as transformadas de Laplace dos sinais de sada Y ( s) e entrada
X ( s) , conforme equao 9,
G(s)
Y ( s)
X (s)
(9)
IPUC
Pgina 20
Entrada
Funo
Grfico
Uso
f(t)
Impulso
Modelagem de Resposta
Transitria
(t )
t
f(t)
Degrau
Resposta transitria;
Erro de Estado Estacionrio
u (t )
t
f(t)
Rampa
tu (t )
t
f(t)
Senide
sen(t )
Resposta transitria;
Erro de Estado Estacionrio
IPUC
Pgina 21
Atividade Prtica
A. Seja o sistema M(s) um motor CC controlador pela corrente de campo, cuja funo de
transferncia dada por:
M ( s)
( s)
V f ( s)
Km
s( Js b)( L f s R f )
Onde,
( s) : ngulo de rotao;
V f ( s) : Tenso de campo;
J : Inrcia;
b : Coeficiente de atrito viscoso;
L f : Indutncia da armadura;
R f : Resistncia da armadura.
Parmetros
Constante de torque do motor
Inrcia
Coeficiente de atrito viscoso
Indutncia da armadura
Resistncia da armadura
Valores
5 N.m/A
1 N.m.s2 / rad
20 kg /m /s
1 mH
1
IPUC
Pgina 22
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 8a - Sistemas no Domnio S
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
% Limpa a janela de comando
clear all; % Remove todas as variveis e funes da memoria do matlab
close all; % Fecha todas as janelas de figuras abertas
%=====================================================================
s = tf('s')
Km = 5;
J = 1;
b = 20;
Lf = 1;
Rf = 1;
f = 5;
t=0:0.01:1;
y = sin(2*pi*f*t);
M = Km/(s*(J*s+b)*(Lf*s+Rf))
%=====================================================================
% Plotando figura(s)
figure(1)
step(M)
title('Resposta ao Degrau')
grid on
figure(2)
impulse(M)
title('Resposta ao Impulso')
grid on
figure(3)
lsim(M,y,t)
title('Resposta Senoide')
grid on
%=====================================================================
IPUC
Pgina 23
Resposta ao Degrau
8000
7000
6000
Amplitude
5000
4000
3000
2000
1000
0.5
1.5
2.5
3
4
Time (seconds)
x 10
Resposta ao Impulso
Resposta Senoide
0.25
1
0.8
0.2
0.6
0.4
Amplitude
0.2
Amplitude
0.15
0.1
0
-0.2
-0.4
0.05
-0.6
-0.8
-1
0.1
0.2
Time (seconds)
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Time (seconds)
G( s)
FTMA
0,01665
s 0,002299
FTMF
Tc
Ts
Erro
IPUC
Pgina 24
IPUC
Pgina 25
x(t ) x(t T ) , t , T
(8)
Ou seja, se esta condio for satisfeita para T = To, ela tambm ser satisfeita para T =
2To, T = 3To, (...). Assim, o menor valor de T que satisfaz a expresso 12 chamado perodo
fundamental e define a durao de um ciclo completo de x(t). A frequncia do sinal calculada
como:
2
, rad/s
T0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
x(n) x(n N ) , n , N
(9)
IPUC
Pgina 26
2
(rad/amostra)
N
(10)
10
15
20
25
30
35
40
4.1
Atividade Prtica
x[n] sen(0,3n)
I.
II.
III.
x[n] sen(0,3 n)
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 6 - Sinais Peridicos
%
IPUC
Pgina 27
%=====================================================================
n = -20:1:20;
y = sin(0.3*n);
%=====================================================================
% Plotando figura(s)
figure(1)
stem(y,'LineWidth',2);axis([1 41 -1 1])
title('y = sin(0.3*n)')
grid on
%=====================================================================
Figura(s)
y = sin(0.3*n)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
15
20
25
30
35
40
x(t ) sen(2 ft )
Onde f = 60 Hz e o sinal amostrando amostrado com uma frequncia fa = 1000 Hz.
IPUC
Pgina 28
IPUC
Pgina 29
y[n] H x[n]
(15)
x[n]
x[n]
x[k ] [n k ]
(16)
y[n] H x[k ] [n k ]
k
y[n]
x[k ]H [n k ]
(17)
y[n]
x[k ]h [n]
IPUC
Pgina 30
5.1
Atividade Prtica
A. O exemplo a seguir tem por objetivo a aplicao do mtodo grfico para o clculo
manual da sada de um SLIT discreto cuja resposta ao impulso e sinal de excitao so
dados a seguir:
3, n 1
2, n 0
h[n]
1, n 1
0, c.c.
4, n 0
3, n 1
x[n]
2, n 2
0, c.c.
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 7 Ilustrao do Mtodo Grfico
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;
%=====================================================================
% Parte 1
n1 = -1:1;
h = [-3 2 1];
fprintf('Pressione qualquer tecla para visualizar a Resposta ao
Impulso: \n')
pause
figure(1)
stem(n1,h,'LineWidth',2); axis([-4 6 -3 3])
title('Resposta ao Impulso h[n]');
xlabel('Amostras'); ylabel('Amplitude')
IPUC
Pgina 31
%=====================================================================
% Parte 5
for(i=0:6)
n1 = -3:-1;
n1 = n1+i;
figure(4)
stem(n1,hespelhado,'LineWidth',2)
hold on
stem(n2,x,'r','LineWidth',2); axis([-4 6 -3 4])
if i==0
title('y[n]=0')
elseif i==1
title('y[n]=-12')
elseif i==2
title('y[n]=-1')
elseif i==3
title('y[n]=4')
elseif i==4
title('y[n]=-1')
elseif i==5
title('y[n]=-2')
else
title('y[n]=0 ')
end;
IPUC
Pgina 32
pause
close all
end
%=====================================================================
%Parte 6
fprintf('Pressione qualquer tecla para o grfico resultante da sada
y[n]: \n')
pause
saida = [0 -12 -1 4 -1 -2 0];
figure(5)
stem(saida,'LineWidth',2); %axis([-4 6 -12 4])
title('Saida y[n] resultante')
xlabel('Amostras'); ylabel('Amplitude')
Sinal h[n]
3
-1
-2
-3
-4
-3
-2
-1
h1[n] 10 u (n 4) u (n 1)
h[n] h1[n] h2 [n]
n
disponvel no MATLAB.
IPUC
Pgina 33
IPUC
Pgina 34
Sistemas no Domnio S
s j
Se considerarmos uma exponencial complexa e st ,
[ f (t )] F ( s)
f (t )e st dt
(11)
Um sistema pode ser facilmente modelado por uma funo de transferncia G( s) que
relaciona algebricamente as transformadas de Laplace dos sinais de sada Y ( s) e entrada
Y ( s)
X (s)
(12)
IPUC
Pgina 35
Entrada
Funo
Grfico
Uso
f(t)
Modelagem de Resposta
Transitria
(t )
Impulso
t
f(t)
Resposta transitria;
Erro de Estado Estacionrio
u (t )
Degrau
t
f(t)
tu (t )
Rampa
t
f(t)
sen(t )
Senide
Resposta transitria;
Erro de Estado Estacionrio
6.1
Atividade Prtica
D. Seja o sistema M(s) um motor CC controlador pela corrente de campo, cuja funo de
transferncia dada por:
M ( s)
( s)
V f ( s)
Km
s( Js b)( L f s R f )
Onde,
( s) : ngulo de rotao;
V f ( s) : Tenso de campo;
J : Inrcia;
IPUC
Pgina 36
R f : Resistncia da armadura.
Parmetros
Constante de torque do motor
Inrcia
Coeficiente de atrito viscoso
Indutncia da armadura
Resistncia da armadura
Valores
5 N.m/A
1 N.m.s2 / rad
20 kg /m /s
1 mH
1
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 8a - Sistemas no Domnio S
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;
%=====================================================================
s = tf('s')
Km = 5;
J = 1;
b = 20;
Lf = 1;
IPUC
Pgina 37
Figura(s)
Resposta ao Degrau
8000
7000
6000
Amplitude
5000
4000
3000
2000
1000
0.5
1.5
Time (seconds)
2.5
3
4
x 10
IPUC
Pgina 38
Resposta ao Impulso
Resposta Senoide
0.25
1
0.8
0.2
0.6
0.4
Amplitude
0.2
Amplitude
0.15
0.1
0
-0.2
-0.4
0.05
-0.6
-0.8
-1
0.1
0.2
Time (seconds)
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Time (seconds)
G( s)
FTMA
0,01665
s 0,002299
FTMF
Tc
Ts
Erro
F. Considere o acrscimo de um controlador proporcional (KP) para melhorar a resposta
do sistema. Determine o valor de KP de modo que o erro de estado estacionrio seja
de 1%, considerando a entrada degrau unitrio.
IPUC
Pgina 39
+_
G(s)
H(s)
( ) ( )
As razes do denominador da FTMF so os polos do sistema. As razes do numerador da
FTMF so os zeros. Em um sistema, o nmero de polos igual ao nmero de zeros. Desta
forma, a FTMF pode ser escrita como:
(
(
)(
)(
)
)
(
(
)
)
( ) ( )
Adicionando um ganho K a G s H s , a equao caracterstica pode ser reescrita na
forma:
(
(
)(
)(
)
)
(
(
)
)
O Lugar das Razes do sistema a trajetria descrita pelos polos em malha fechada,
quando o ganho K varia de 0 a .
IPUC
Pgina 40
0.6
0.4
0.2
Semiplano
Semiplano
Estvel
Instvel
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
-1
Anlise da estabilidade de um sistema em malha fechada a partir de seu Lugar das Razes
malha aberta
O semiplano esquerdo do plano s denominado regio estvel.
O semiplano direito do plano s denominado regio instvel.
A regio de fronteira entre os semiplanos denominada do limiar de instabilidade.
Quanto maior a componente imaginria, maior a oscilao da resposta.
O comando MATLAB usado para plotar o Lugar das Razes utiliza o numerador e o
denominador da FTMA:
Caso queira-se plotar o lugar das razes para um vetor ganho especfico K , utiliza-se a
forma:
IPUC
Pgina 41
Diagramas de Bode
Magnitude (dB)
-20
-40
-60
-80
0
Phase (deg)
-45
-90
-135
-180
-2
10
-1
10
10
10
10
Frequency (rad/s)
Em sistemas reais, se a entrada x(t) for um sinal senoidal, a sada y(t) em regime
permanente tambm ser um sinal senoidal com a mesma frequncia, mas possivelmente o
mdulo e o ngulo de fase sero diferentes.
IPUC
Pgina 42
Y ( j )
X ( j )
IPUC
Pgina 43
Um sistema dito ser de fase Mnima se todos os zeros (ou polos) da Funo de
Transferncia que o caracterizam estiverem no semiplano esquerdo do plano s.
O comando MATLAB usado para plotar o Lugar das Razes utiliza o numerador e o
denominador da FTMA:
7.3
SISOTOOL
O MatLab tambm possui uma ferramenta de projeto que utiliza o mtodo do Lugar
das Razes e o Diagrama de Bode, chamada SISOTOOL. Trata-se de uma ferramenta interativa
para anlise e projeto de sistemas de controle do tipo SISO (Single Input Single Output) LTI
(Linear Time Invariant).
SISOTOOL utiliza uma arquitetura bsica de sistema do tipo:
+_
F(s)
C(s)
G(s)
H(s)
( ( )
7.4
( )
( )
( ))
Atividade Prtica
A. Dado o diagrama de blocos e respectivas funes, trace o lugar das razes e o digrama de
bode utilizando os comando rlocus e bode, respectivamente. Analise a estabilidade do sistema.
F(s)
+_
C(s)
G(s)
H(s)
IPUC
Pgina 44
( )
( )
( )
( )
%===============================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%===============================================================
%
% Mtodo do Lugar das Razes atravs da funo rlocus
%
%===============================================================
clc
clear all
close all
% Equao caracterstica 1+G(s)H(s)=0
% Como H(s)=1 => 1+G(s)=0 => 1+mun/den=0
num=[1 1];
den=conv([1 0],[1 2]);
rlocus(num,den)
figure(2)
bode(num,den)
Dicas:
No menu da janela que contm o grfico do lugar das razes, clique na opo
Analysis/Response to Step Command para obter o grfico de resposta ao degrau unitrio.
Clique com o boto direito do mouse sobre o grfico da resposta ao degrau, selecione a opo
Systems e mantenha apenas a seleo Closed Loop r to y (blue).
IPUC
Pgina 45
( )
( )
( )
D. Para o mesmo diagrama da questo A, trace o lugar das razes e o digrama de Bode
utilizando SISOTOOL, considerando:
( )
( )
( )
(
(
)
)(
( )
IPUC
Pgina 46
(13)
n 1
Onde,
f0: frequncia fundamental;
n: indicativo do ensimo harmnico;
a0, an, bn: coeficientes.
y(t ) a0 an
bn 0;
1
cos(2 f 0 nt ) , para n = 1, 3, 5, 7, ...
n2
a0
1
;
T0
an
(14)
8
T0
2
(1)
y (t ) a0 an
n
bn 0;
n 1
2
1
a0 ;
2
an
(15)
y(t ) an
bn 0;
(1)( n1)
sen(2 f 0 nt ) , para n = 1, 2, 3, 4, ...
n
a0 0;
an
(16)
IPUC
Pgina 47
Atividade Prtica
%=====================================================================
A=1;
Ta=0.01;
fa=1/Ta;
t=0:Ta:3;
m = input('Nmero de harmnicos da srie:
f0=1;
T0=1/f0;
w0=2*pi*f0;
somatorio=zeros(1,length(t));
');
pause;
for n=1:2:m;
yatual=(1/(n^2))*cos(n*w0*t);
% harmnico atual
yy=yatual + somatorio;
% soma anterior + yatual
somatorio=yy;
% atualizao do somatrio
if n==1;
z=[yatual' somatorio'];
elseif n>1;
z=[yatual' somatorio' z];
end;
y=(A/T0) + (A*8/((pi^2)*T0))*z;
figure(1),plot(t,y), grid on;
pause;
end;
figure(2),plot(t,y(:,2)), grid on
%=====================================================================
IPUC
Pgina 48
Figura(s)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0.5
1.5
2.5
C. Utilize os coeficientes da Serie de Fourier para traar um onda dente de serra entre 0 e
3s com Ta=0.01s e frequncia fundamental fo=1Hz.
IPUC
Pgina 49
X e j
x[n]e
jn
(17)
X [k ] x[n]e j nk / N , 0 k N 1
(18)
n 0
IPUC
Pgina 50
9.1
Atividade Prtica
A. O sinal y(t) a soma de dois sinais senoidais, o primeiro com amplitude de 0,7 e
frequncia de 50Hz e o segundo com amplitude 1 e frequncia de 120Hz. Usando o
MATLAB, calcule a FFT do sinal y(t) para uma frequncia de amostragem igual a 1kHz.
Alm disso, plote as figuras do sinal y(t) e da sua FFT.
%=====================================================================
Fs = 1000;
T = 1/Fs;
L = 1000;
t = (0:L-1)*T;
%
%
%
%
Frequncia de amostragem
Perodo de amostragem
Comprimento do sinal
Vetor de tempo
% Calcula a FFT
f = Fs/2*linspace(0,1,NFFT/2+1);
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
subplot(2,1,1)
IPUC
Pgina 51
Figura(s)
B. O sinal z(t) a soma de dois sinais senoidais (y(t) e x(t)). Usando o MATLAB, calcule a
FFT do sinal y(t) para uma frequncia de amostragem igual a 1kHz. Alm disso, plote as
figuras do sinal y(t) e da sua FFT.
y (t ) 1,15Vm sen(t )
z (t ) y(t ) x(t )
Vm
x(t )
sen(3t )
Considere:
Vm = 10;
f = 60.
IPUC
Pgina 52
Inversa de Fourier
X ( j )
x(t )e
jt
(19)
dt
x(t )
1
2
X ( j )e
jt
(20)
z (t ) A1 sen(2 f1t )
y (t ) z (t ) x(t )
x(t ) A2 sen(2 f 2t )
Considere:
A1 = 0,7;
A2 = 1;
IPUC
Pgina 53
f1 = 25;
f2 = 60.
Soluo
Script MATLAB
%=====================================================================
% Laboratrio de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 12 - Transformada Rpida Inversa de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
clc;
clear all;
close all;
%=====================================================================
Fs = 1000;
T = 1/Fs;
L = 1024;
t = (0:L-1)*T;
%
%
%
%
Frequncia de amostragem
Perodo de amostragem
Comprimento do sinal
Vetor de tempo
f1
f2
A1
A2
%
%
%
%
frequncia 1
frequncia 2
amplitude 1
amplitude 2
=
=
=
=
25;
60;
0.7;
1;
% PARTE 1
% Soma de uma senoide de 6 Hz e uma senoide de 20 Hz
y = A1*sin(2*pi*f1*t) + A2*sin(2*pi*f2*t);
%PARTE 2
NFFT = 2^nextpow2(L); % Calcula a potncia de 2 mais prxima do
% comprimento do vetor y
Y = fft(y,NFFT)/L;
% Calcula a FFT
f = Fs/2*linspace(0,1,NFFT/2+1);
%PARTE 3
w = (-NFFT/2:NFFT/2-1)*(Fs/NFFT); % intervalo de frequncia
centralizado
Yshift = fftshift(Y);
% PARTE 4
yf = ifft(fftshift(Yshift));
IPUC
Pgina 54
figure(2)
plot(w,2*abs(Yshift));
grid on
xlabel('Frequncia (Hz)')
ylabel('Amplitude')
title('FFT centralizada')
figure(3)
subplot(2,1,1)
plot(t,NFFT*real(yf));axis([0 0.4 -2 2])
title('Sinal Recuperado a partir das Componentes Geradas pela FFT')
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
subplot(2,1,2)
plot(t,y);axis([0 0.4 -2 2])
title('Sinal Original')
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
%=====================================================================
IPUC
Pgina 55
y(t)
1
0
-1
-2
0.05
0.1
0.15
0.2
0.25
Tempo (s)
Espectro de Amplitude de y(t)
0.3
0.35
0.4
0.8
|Y(f)|
0.6
0.4
0.2
0
50
100
150
200
250
300
Frequncia (Hz)
350
400
FFT centralizada
450
500
0.7
y(t)
0.8
0.6
0
-1
-2
0.05
0.1
0.15
0.05
0.1
0.15
0.4
0.2
0.25
Tempo (s)
Sinal Original
0.3
0.35
0.4
0.3
0.35
0.4
0.3
1
0.2
y(t)
Amplitude
0.5
0.1
0
-500
0
-1
-2
-400
-300
-200
-100
0
100
Frequncia (Hz)
200
300
400
500
0.2
Tempo (s)
0.25
B. O sinal y(t) a soma de dois sinais senoidais (w(t), z(t) e x(t)). Usando o MATLAB,
calcule a FFT do sinal y(t) para uma frequncia de amostragem igual a 2kHz. Alm
disso, calcule da IFFT para recuperar o sinal a partir das componentes geradas pelo
clculo da FFT.
z (t ) A1 sen(2 f1t )
Considere:
A1 = 0,7;
A2 = 1;
A3 = 2;
f1 = 25;
f2 = 60;
f3 = 40.
IPUC
Pgina 56
IPUC
Pgina 57
Teorema da Amostragem
x p x(t ) p(t )
(21)
Em que,
p(t ) (t nT )
(22)
Desta forma, xp(t) um trem de impulsos com amplitudes dos impulsos iguais s
amostras de x(t) em intervalos espaados de T:
x p x(nT ) (t nT )
(23)
0.5
1.5
2.5
3.5
4.5
5
4
x 10
Sinal amostrado
20
10
0
-10
-20
10
15
20
25
30
35
40
45
IPUC
Pgina 58
O resultado desse processo mostrado na figura 11, onde um sinal senoidal x(t), com
frequncia de 50 Hz, amostrado a uma taxa de 500 Hz, gerando o sinal xp(t).
Figura 10 - Amostragem utilizando o retentor de ordem zero.
IPUC
Pgina 59
Soluo
IPUC
Pgina 60
%=====================================================================
Fs = 300;
Tamost = 1/Fs;
% Frequncia de amostragem
% Perodo de amostragem
dt = 1e-6;
amost = 0;
f1 = 20;
f2 = 70;
temp = [];
sinal_cont = [];
amost_Z = [];
t_cont = [];
for(t=0:dt:0.05)
X = 20*sin(2*pi*f1*t);
Y = 10*sin(2*pi*f2*t);
Z = X + Y;
if t>=amost;
amost = amost + Tamost;
temp = [temp; t];
amost_Z = [amost_Z; Z];
end
sinal_cont = [sinal_cont; Z];
t_cont = [t_cont, t];
end
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
plot(t_cont,sinal_cont,'LineWidth',2);
title('Sinal x(t)')
IPUC
Pgina 61
Figura(s)
Sinal x(t)
30
30
20
20
10
10
-10
-10
-20
-20
-30
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
-30
20
20
10
10
-10
-10
-20
-20
10
15
20
10
12
25
30
-30
10
20
30
40
50
14
30
-30
IPUC
Pgina 62
60
IPUC
Pgina 63
Command Window
>> plot(sinal(:,1),sinal(:,2))
>> hold on
>> plot(sinal(:,1),sinal(:,3),'r')
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
IPUC
0.1
Pgina 64
z (t ) A1 sen(2 f1t )
y (t ) z (t ) x(t )
x(t ) A2 sen(2 f 2t )
Onde:
A1 = 0,7;
A2 = 1;
f1 = 25;
f2 = 60.
Plote:
I.
II.
III.
IV.
IPUC
Pgina 65
De acordo com a teoria de Fourier, qualquer sinal pode ser decomposto em uma soma
infinita de harmnicos em frequncias mltiplas inteiras da frequncia fundamental. Desta
forma, a Srie de Fourier pode ser utilizada para representar um sinal de onda quadrada, como
o sinal proveniente da modulao por largura de pulso (PWM - pulse width modulation). Este
processo pode ser simplificado, colocando, criteriosamente, o sinal centrado na origem (t = 0)
com a mesma simetria para que o mesmo se torne uma funo matemtica, conforme
mostrado na figura 13.
Figura 12 - Representao de um sinal PWM.
2 nt
2 nt
f (t ) a0 an cos
bn sen
T
T
n 1
(24)
Onde,
a0
an
1
2T
bn
1
2T
1
2T
f (t )dt
(25)
2 nt
f (t ) cos
dt
T
(26)
2 nt
f (t ) sen
dt
T
(27)
IPUC
Pgina 66
a0 K p
an K
1
sen(n p) sen(2n (1 p / 2))
n
(28)
bn 0
A componente a0 corresponde parcela CC do sinal e igual amplitude do sinal PWM
multiplicado pelo ciclo de trabalho. Supondo que este seja o sinal desejvel na sada, ao
selecionar o ciclo de trabalho adequado, a tenso de sada pode ser obtida dentro do intervalo
de 0 a K Volts. O termo an representa a amplitude das componentes harmnicas de alta
frequncia do sinal PWM, o qual so multiplas inteiras da frequncia PWM (2/T).
Desta forma, para a obteno da componente contnua de tenso gerada pelo forma de
onda PWM, necessrio que este seja aplicado a um filtro do tipo passa-baixas (LPF low
pass-frequency), conforme a figura 14. Nesse tipo de sistema, a frequncia de corte deve ser
calculada para eliminar as componentes harmnicas de alta frequncia, diminuindo ao
mximo a ondulao do sinal resultante.
Figura 13 - Processo de filtragem do sinal PWM com filtro passa-baixas.
IPUC
Pgina 67
Soluo
IPUC
Pgina 68
Os filtros digitais podem ser classificados como FIR (Resposta ao Impulso Finita) ou IIR
(Resposta ao Impulso Infinita), em ambos os casos, implementados por meio de equaes
lineares de diferenas com coeficientes constantes, conforme a expresso (33).
M
l 0
k 1
y n bl x n l ak y n k
Parcela no
recursiva
(33)
Parcela Recursiva
Estrutura FIR
Estrutura IIR
IPUC
Pgina 69
H ( z)
Y ( z) M
hl z 1
X ( z ) l 0
(34)
IPUC
Pgina 70
1 H ( j ) 1
(29)
H ( j )
(30)
IPUC
Pgina 71
y[n] hl x(n l )
(31)
l 0
H ( z)
Y ( z) M
hl Z 1
X ( z ) l 0
(32)
Vrias estruturas podem ser empregadas para realizar uma dada funo de
transferncia, associada a uma equao de diferenas especfica pela transformada Z. A
estrutura na forma direta, obtida a partir da equao 42 mostrada na figura 18. Os
coeficientes multiplicadores so obtidos diretamente da funo de transferncia do filtro
(DINIZ; DA SILVA; NETTO, 2004).
A sequncia y[n] representa o sinal filtrado na forma digital, podendo ser descrita pela
seguinte equao:
(33)
13.2 FDATool
A ferramenta FDATooL (Filter Design & Analysis Tool) parte integrante da toolbox de
processamento digital de sinais do MATLAB. Ela utilizada para a implementao e anlise de
filtros digitais. Os coeficientes gerados a partir das especificaes do projeto do filtro podem
ser utilizados na implementao do cdigo em sistemas embarcados (microcontroladores,
IPUC
Pgina 72
IPUC
Pgina 73
Tipo FIR;
Passabaixas;
Ordem: 50;
Fs = 10000 Hz;
Fpass = 1000 Hz;
Fstop = 1500 Hz.
Soluo
IPUC
Pgina 74
ALTER, D. M.. Using PWM Output as a Digital-to-Analog Converter on a TMS320F280x Digital Signal
Controller. Disponvel em: <http://www.ti.com/lit/an/spraa88a/spraa88a.pdf> Acesso em 14 / Julho /
2014.
ASPALLI, M.; WAMANRAO, A. Sinusoidal pulse width modulation (spwm) with variable carrier
synchronization for multilevel inverter controllers. In: CONTROL, AUTOMATION, COMMUNICATION
AND ENERGY CONSERVATION (INCACEC 2009), 2009, Tamilnadu-ndia. Anais... Tamilnadu: [s.n.], 2009.
p. 16.
CHAPMAN, S. J. Programao em MATLAB para Engenheiros. So Paulo: Thomson Learning, 2003.
DINIZ, P. S. R.; DA SILVA, E. A. B.; NETTO, S. L. Processamento Digital de Sinais: Projeto e Anlise de
Sistemas. Porto Alegre: Bookman, 2004.
GILAT, A. MATLAB com Aplicaes em Engenharia. Porto Alegre: Bookman, 2006.
HAYKIN, S.; VAN VEEN, B. Sinais e Sistemas. Porto Alegre: Bookman, 2001.
KUNDUR, D. Lab 2: Filter Designand Implementation. Disponnel em: <
http://www.comm.utoronto.ca/~dkundur/course_info/real-timeDSP/implementation/Kundur_Lab2_Filter_Implementation_6437.pdf > Acesso em: 9 / Julho / 2014.
NISARGA, B. PWM DAC Using MSP430 High-Resolution Timer. Disponvel em:
<http://www.ti.com/lit/an/slaa497/slaa497.pdf> Acesso em: 10 / Julho / 2014.
NISE, N. Engenharia de Controle de Sistemas. Rio de Janeiro: LTC, 2002.
OGATA, K. Engenharia de Controle Moderno. So Paulo: Prentice Hall, 2003.
POMILIO, A.J. Circuitos Integrados Dedicados ao Acionamento e Controle de Fontes Chaveadas com
Correo de Fator de Potncia. Disponvel em: <
http://www.dsce.fee.unicamp.br/~antenor/pdffiles/pfp/Cap10.pdf> Acesso em: 15 / Julho / 2014.
ROBERTS, M. J. Fundamentos em Sinais e Sistemas. So Paulo: McGraw-Hill, 2009.
YNOGUTY, C.A. Processamento Digital de Sinais: Introduo aos Filtros Digitais. Instituto Nacional de
Telecomunicaes . Disponvel em:
<http://ynoguti.inatel.br/docentes/ynoguti/docman/e724/introducao-aosfiltrosdigitais/download.html>. Acesso em: 1 / Julho / 2010.
IPUC
Pgina 75
A.2. Sources
IPUC
Pgina 76
A.4. Continuous
IPUC
Pgina 77
IPUC
Pgina 78
Um dado valor TON corresponde a uma tenso mdia CC, que linearmente
proporcional ao ciclo de trabalho, conforme a equao:
Vmed
1
TPWM
TON
Vindt
(34)
IPUC
Pgina 79
2N
fCLK
= #Passos do duty-cicle PWM = #Nveis de sada do DAC
f PWM
(35)
Onde,
fPWM: a frequncia do sinal PWM na entrada do filtro LPF;
fCLK: frequncia da fonte de clock do temporizador que usado como um timer tick
para incrementar o contador temporizador;
N: resoluo do duty-cicle do PWM-DAC em bits.
A figura 22 mostra a resoluo do duty-cicle PWM-DAC (em bits) versus fPWM para vrias
frequncias fCLOCK (16 MHz, 25 MHz, 128 MHz e 256 MHz).
Figura 21 - Resoluo do duty-cicle PWM-DAC versus frequncia fPWM.
IPUC
Pgina 80
IPUC
Pgina 81
R1
Vout
C1
Vout
1
Vin s 1
(36)
fc
1
2 RC
(37)
Porm, a seleo dos valores do resistor e do capacitor deve ser analisada juntamente
com o desempenho do filtro com relao ao ripple da tenso de sada e o tempo de resposta.
Considerando as frequncias do sinal de sada PWM (fPWM = 1kHz) e sinal de referncia senoidal
(50Hz), ser feita a anlise para as seguintes frequncias de corte: fC1 = 100Hz e fC2 = 500Hz. A
figura 26 mostra a resposta em frequncia do filtro RC para as frequncias de corte fC1 e fC2. Na
frequncia fPWM, as atenuaes so de aproximadamente -20dB (fC1) e -7dB (fC2).
Figura 25 - Diagrama de Bode.
IPUC
Pgina 82
IPUC
Pgina 83
IPUC
Pgina 84
1
2
3
IPUC
Pgina 85
0.9994, 0.9998,\
0.9903, 0.9877,\
0.9511, 0.9455,\
0.8829, 0.8746,\
0.7880, 0.7771,\
0.6691, 0.6561,\
0.5299, 0.5150,\
0.3746, 0.3584,\
0.2079, 0.1908,\
0.0349, 0.0175,\
-0.1392, -0.1564,\
-0.3090, -0.3256,\
-0.4695, -0.4848,\
-0.6157, -0.6293,\
-0.7431, -0.7547,\
-0.8480, -0.8572,\
-0.9272, -0.9336,\
-0.9781, -0.9816,\
-0.9994, -0.9998,\
-0.9903, -0.9877,\
-0.9511, -0.9455,\
-0.8829, -0.8746,\
-0.7880, -0.7771,\
-0.6691, -0.6561,\
-0.5299, -0.5150,\
-0.3746, -0.3584,\
-0.2079, -0.1908,\
-0.0349, -0.0175\
#endif /* LUT_SIN_H_ */
A = 65000;
inc1 = 0;
passo = 18;
ref_a = 0;
#endif /* PARAMETER_H_ */
10) Sub-rotina PWM1_OnEnd.
void PWM1_OnEnd(void)
{
/* Write your code here ... */
PWM1_SetRatio16(ref_a);
ref_a = A*((tabela_senos[inc1]+1)*0.5);
inc1 = inc1 + passo;
if(inc1==360)
{
inc1 = 0;
// Rewind the pointer to beginnin
}
}
IPUC
Pgina 86
Para anlise dos resultados, com o auxlio de um osciloscpio, os sinais devem ser
capturados nos pontos P1 e P2. A figura 31 mostra os resultados obtidos para uma frequncia
de portadora FPWM = 1 kHz e um filtro passa-baixas com frequncia de corte fC = 100 Hz. O canal
CH1 do osciloscpio foi conectado ao ponto P1 do circuito da figura28, mostrando o sinal
PWM gerado pelo microcontrolador. J o canal CH2 foi conectado ao ponto P2, mostrando a
forma de onda filtrada.
Figura 30 - Formas de onda nos pontos P1 e P2.
IPUC
Pgina 87