Vous êtes sur la page 1sur 7

Trabalho Final Sistemas Controlados por Computador

Guilherme Thoms Guimares Ferreira, 201122060246


Vitor Rocha Braz, 201122060211

Questo 1.1
%% EXERCICIO 1.1.A
clear all
close all
clc
Fr=1000
Fa= 100*Fr
Ta=1/Fa
w=2*pi*Fr
t1 = 0:Ta:10/Fr;
A=cos(w*t1);
figure(1)
plot(t1,A)
grid on
title('Curvas obtidas para o Sinal Sobre
Amostrado')
xlabel(' Tempo(t)')
ylabel('Amplittude')

%% EXERCICIO 1.1.B
Fr=1000
Fb= 2*Fr
Ta=1/Fb
w=2*pi*Fr
t2 = 0:Ta:10/Fr;
B=cos(w*t2);
figure(2)
plot(t2,B)
title('Curvas obtidas para o Sinal
Criticamente Amostrado')
grid on
xlabel('Tempo(t)')
ylabel('Amplitude')

%% EXERCICIO 1.1.C
Fr=1000
Fb= 0.7*Fr
Ta=1/Fb
w=2*pi*Fr
t3 = 0:Ta:10/Fr;
C=cos(w*t3);
figure(3)
plot(t3,C)
title('Curvas obtidas para o Sinal Sub -
Amostrado')
grid on
xlabel('Tempo(t)')
ylabel('Amplitude')

1
%% EXERCICIO 1.1.D
figure(4)
subplot(3,1,1)
plot(t1,A)
title('Curvas obtidas para o Sinal Sobre Amostrado')
subplot(3,1,2)
plot(t2,B)
title('Curvas obtidas para o Sinal Criticamente Amostrado')
subplot(3,1,3)
plot(t3,C)
title('Curvas obtidas para o Sinal Sub - Amostrado')
grid on
xlabel('Tempo(t)')
ylabel('Amplitude')

Aps traar as trs curvas em um mesmo grfico, possvel perceber que o sinal sobre
amostrado representa a forma da onda cossenoidal da melhor maneira entre os mtodos, ela
possui pontos de amostragem suficientes para plotar a curva de maneira eficiente. O sinal
criticamente amostrado apresenta uma distoro na onda, que aparece no grfico em forma
triangular, pois apresenta poucos pontos de amostragem. Por fim, a curva sub-amostrada no
demonstra o sinal que estamos amostrando, pois, a quantidade de pontos utilizados muito
menor que a necessria. possvel comprovar o teorema de Nyquist a partir da anlise das
curvas plotadas.
Questo 1.2
%% EXERCICIO 1.2.A

x = imread('spokes','tif'); %Le a imagem colorida ou em preto e branco


do arquivo
%O arquivo que ser lida a imagem tem o nome spokes e formato tif"
%Este comando uma matriz com as cores correspondentes em cada local da
matriz
%Declarao de variveis
fps = 24; %Frames por segundo
t_final = 3; %Tempo final
graus = 0; %Angulo inicial de rotao
gpf = 12; %Comando possui a funo de acelerar ou
desacelarar a rotao. um incremento de ngulo

2
for i=1:fps*t_final, %Comando for para iniciar o processo
c=imrotate(x,-graus,'bilinear','crop'); % Comando possui a funo de
rotacionar a imagem criada.
imshow(c); %Comando possui a funo de mostrar a imagem
rotacionada criada no comando anterior
title(sprintf('FPS,angulo=>%d,%d.',fps,gpf)); %Mostra um filme juntando
as imagens obtidas atravs do comando "imshow(c)"
pause(.01)
F(i) = getframe;
graus = graus + gpf; %Incrementa um ngulo para o qual a imagem anterior
ir girar
%Quanto maior a inclinao, mais rpido a roda ir girar
end
movie2avi(F,'whell','FPS',fps,'COMPRESSION','None') % feito um vdeo no
formato .avi da funo F(i). Essa funo ter o nome de whell

1.2.B
Comeamos o processo com um incremento de 12. Para este valor obtivemos uma rotao
no sentido horrio com uma certa velocidade. Quando realizamos o incremento no programa
foi possvel observar um aumento na velocidade da roda mantendo o mesmo sentido. A partir
de 30 graus, a roda continua girando, porm em sentido contrrio. Quando continuamos
aumentando o ngulo a roda diminui de velocidade at ficar parada no ngulo de 45 graus, e
inverte novamente seu sentido. Este processo ocorre at o momento em que ela para de girar
em 90 graus. Consequentemente, foi possvel observar o aliasing com a variao da
inclinao que a roda ir girar, devido a simetria da roda. Ou seja, devido a este efeito no
possvel perceber a real rotao da roda.
Questo 2

2.A
Continuo: () = 1. Logo a funo de transferncia :

() ()() 0,5
= =
() 1 + ()() +1

3
Discreto: () = 1 = 0,4. Logo a funo de transferncia :

() ()() 0,1813
= =
() 1 + ()() 0,6375

Com as relaes acima, foram obtidas as respostas ao degrau:


1
() = () =
1
Ento:
1 0,5 0,5 0,5
() = = () = 0,5 0,5
+1 +1

0,1813 0,5 0,3188


() = = () = 0,5 0,3188 (0,6375)
1 0,6375 1 0,6375

Podemos ento plotar o grfico de resposta ao degrau:


%% A
G1c=tf(.5,[1,.5]);
T=.4;
G1d=c2d(G1c,T);
D=1;
G1cMF=feedback(G1c*Gc,1);
G1dMF=feedback(G1d*D,1);
figure(1);
step(G1cMF,G1dMF);
legend('Continuo','Discreto');

Resposta ao degrau do sistema contnuo e do sistema discreto.

Percebe-se que a funo discreta alcana regime permanente mais rapidamente. Por isso,
conclui-se que as funes de malha fechada no so equivalentes, como so as funes de
malha aberta.

4
2.B
O ganho de valor contnuo de malha aberta ( ) para ambas as funes unitrio. Obtm-
se uma nova equao em cada sistema, a relao erro-entrada. Segue o desenvolvimento
abaixo para malha fechada:
Sistema contnuo:
() () () 1
() = () () =
1 + () () () 1 + () ()

Sistema discreto:
() () () 1
() = () () =
1 + () () () 1 + () ()

No tempo contnuo, os erros para entrada em degrau e rampa se definem como lim ()
0
ento para se obter os erros, multiplica-se E(s) pelo degrau e pela rampa:

1 + 0,5
lim ( ()) = | = 0,5
0 + 1 =0

1 + 0,5 1
lim ( ()) = | | =
0 2 ( + 1) =0 =0

O sistema apresenta erro inversamente proporcional ao ganho para a entrada em degrau e


erro tendendo a infinito para a entrada em rampa.

Para o sistema discreto, o teorema do valor final aplicado ao erro se define como lim ().
1
Analogamente ao procedimento acima temos:

( 0,8187)
lim( 1) () = | = 0,5
1 1 ( 0.6375) =1

0,4 ( 0,8187)
lim( 1) 2
() = | =
1 ( 1) ( 1)( 0.6375) =1
2.C
%% C - Alimentao das funes de erro em %% A.f - Funo recursiva para criar os
funo da entrada grficos de resposta
Erro1c=1/(1+G1c);
Erro1d=1/(1+G1d); figure(2);
tc=linspace(0,10,1e3); % tempos set(gcf,'color','w');
td=linspace(0,10,10/T+1); for i=1:4
udc=ones(1,length(tc)); %entradas subplot(2,2,i);
udd=ones(1,length(td)); hold on;
urc=tc; grid on;
urd=td; title(strcat('Resposta de
% Formatao da figura com as respostas: ',funct(1+double(i>2)),tipo{1+mod(i,2)}));
for j=1:3
graph={Cdplot,Crplot,Edplot,Erplot};
sbt2={'Entrada','Contnuo','Discreto'}; cellfun(@plot,tplot(j),graph{i}(j),color(j
funct={'^C/_R','^E/_R'}; ));
tipo={' ao degrau',' rampa'}; end
color={'b','g','r'}; legend(sbt2,'location','best');
end

5
A partir dos resultados obtidos na letra B, percebe-se que os resultados foram idnticos para
o sistema contnuo e para o sistema discreto, e por isso conclui-se que a aproximao do
sistema discreto condizente com o sistema contnuo, mesmo com a diferena de
comportamento entre suas funes de malha fechada na resposta ao degrau. Na figura acima
possvel confirmar os comportamentos previstos.

2.D

Assume-se que o controlador proporcional, sendo para o contnuo e para o discreto:

() 0,5
=
() + 0,5( + 1)

() 0,1813
=
() + 0,1813 0,8187

1+/2
Aplicando a transformao bi linear no sistema, pela relao = 1/2 , obtemos:

() 0,1813
= 1+0,2
() + 0,1813 0,8187
10,2

() ( 5)
=
() ( 10,00314) 5( + 1)

6
O polinmio caracterstico o denominador da funo de transferncia de malha fechada
acima, Q (w). Aplicando o critrio de estabilidade de Routh-Hurwitz, obtemos:

1 10,00314
0 5 5
Logo:
< 10,00314
> 1
Ento, pelo Critrio de Routh-Hurwitz para a funo discreta, 1 < < 10,00314.

2.E
Fazendo o mesmo procedimento da letra D, para a funo contnua, obtemos:

1 1
0 0,5 + 0,5

Ento, percebe-se que:


> 1
2.F

Nota-se que um dos limites para o ganho foi igual ao para o mtodo discreto, no caso, >
1. Portanto, no caso de um controle analgico, qualquer ganho maior que 1 admissvel,
enquanto no caso discreto, devido resposta do sistema, o ganho tem limite superior em
cerca de 10.
Isto se deve ao perodo de amostragem e capacidade do Zero Order Hold capturar
corretamente a oscilao decorrente do aumento no ganho acima dos limites encontrados
acima.

Vous aimerez peut-être aussi