Você está na página 1de 37

APOSTILA DE UTILIZAO DO MATLAB

Pontifcia Universidade Catlica de Minas Gerais Depto. de Eng. Eletrnica e Telecomunicaes

Rosely Maria Velloso Campos Jlio Cesar Braz de Queiroz

NDICE

INTRODUO AO MATLAB

UNIDADE I - FUNES DE TRANSFERNCIA E DIAGRAMAS DE BLOCOS

UNIDADE II - ANLISE DE RESPOSTA TRANSITRIA E ESTACIONRIA

UNIDADE III - CRITRIOS DE ESTABILIDADE

UNIDADE IV - SISTEMAS DISCRETOS

UNIDADE V - TRANSFORMADA RPIDA DE FOURIER

UNIDADE VI - INTRODUO AO SIMULINK

REFERNCIAS BIBLIOGRFICAS

INTRODUO AO MATLAB

1. INTRODUO O MATLAB um software interativo de alta performance com aplicao na rea Cientfica e de Engenharia. O MATLAB trabalha com anlises numricas, matrizes, processamento de sinais, e grficos num ambiente amigvel no qual os problemas e solues so expressos em linguagem matemtica sem o rigor da programao tradicional. O nome MATLAB derivado do termo "MATrix LABoratory". O MATLAB foi originalmente escrito para proporcionar um fcil desenvolvimento de programas com matrizes atravs dos projetos LINPACK e EISPACK. O MATLAB tem sido usado a vrios anos por uma vasta gama de usurios. Nas Universidades, o MATLAB tem se mostrado bastante til como ferramenta didtica modelo para cursos introdutrios em lgebra Linear, bem como em cursos avanados em outras reas. Na indstria usado em pesquisas e soluo de problemas prticos de Engenharia envolvendo processamento matemtico. As maiores aplicaes esto direcionadas para as reas da Computao Numrica, desenvolvimento de algoritmos prottipos e soluo de problemas especiais com formulaes matriciais que emergiram de reas como Controle Automtico, Estatstica e Processamento Digital de Sinais. A segunda gerao do MATLAB, apropriada para computadores IBM-PC compatveis com sistema operacional MS-DOS, denominada PC-MATLAB. Em computadores de grande porte como Workstations do tipo Sun e computadores VAX, a moderna verso recebe o nome de PRO-MATLAB. Para o Macintosh, a verso denominada MACINTOSH MATLAB. Por ser escrito em linguagem C, o MATLAB um sistema completamente integrado, compatvel com a norma aritmtica da IEEE, que inclui grficos, funes macro, um rpido interpretador e diversos comandos analticos. O MATLAB constitudo de um ncleo bsico de funes matemticas compiladas. Alm destas funes bsicas, existem pacotes de ferramentas para reas especficas como CONTROLE, IDENTIFICAO DE SISTEMAS, PROCESSAMENTO DE SINAIS, CONTROLE ROBUSTO e OTIMIZAO. Estes pacotes, chamados ToolBoxes, podem ser adquiridos separadamente e apresentam um conjunto de programas em linguagem fonte que podem ser editados e modificados se o usurio desejar. Todos os programas do MATLAB apresentam a extenso "M". Os programas desenvolvidos pelo usurio devero obrigatoriamente conter a mesma extenso para serem devidamente interpretados da mesma forma que os programas originais.

2. FERRAMENTAS PARA SISTEMAS DE CONTROLE O MATLAB possui um conjunto de funes que so usadas em Engenharia de Controle ou Teoria de Sistemas. Nmeros complexos, Autovalores, Lugar das Razes, Inverso de matrizes, Transformada Rpida de Fourier so um dos dos poucos exemplos dos recursos disponveis. O pacote CONTROLE uma coleo de algoritmos expressos no formato de arquivos ".M", que implementam projeto de sistemas de controle. anlise e tcnicas de modelamento. Os sistemas de controle podem ser modelados na forma de Funes de Transferncia ou Espao de Estados, permitindo utilizar as tcnicas Clssica e Moderna respectivamente. permitida a abordagem de sistemas contnuos e discretos bem como a converso entre as

representaes de vrios modelos. Respostas no tempo, resposta em freqncia e medidas do Lugar das Razes podem ser computados e representados graficamente. Outras funes permitem o Posicionamento de plos, Controle timo e Estimao. As funes no disponveis no MATLAB podero ser criadas e escritas, gerando arquivos ".M".

3. TUTORIAL O MATLAB trabalha essencialmente com matrizes numricas retangulares com a possibilidade da utilizao de elementos complexos. As matrizes podem ser do tipo "m x m", "m x n", da forma escalar "1 x 1" ou em forma de vetor "linha" ou "coluna". 3.1 Definio de Matrizes O MATLAB no exige a identificao da ordem da matriz ou declaraes de tipos. As matrizes podem ser introduzidas de diversas maneiras. Seja a matriz A 3x3 1 A= 4 7 5 8 6 9 2 3

Esta matriz pode ser definida como uma lista explcita de elementos separados por "," ou "espaos em branco", envolvidos por "[ ]" e utilizando ";" para indicar o fim de cada linha.

A = 1, 2 , 3; 4 , 5, 6; 7 , 8, 9 ou A = 1 2 3; 4 5 6; 7 8 9
Uma outra forma de se definir esta matriz escrever os elementos de cada linha, separando as linhas com o comando <ENTER>. A = 1, 2 , 3 4 , 5, 6 7 , 8, 9 ou
A= 1 2 3 4 5 6 7 8 9

Uma matriz pode tambm ser definida a partir de listas de operaes, funes ou mesmo outras matrizes.
B = 1. 3 sqrt ( 3) (1 + 2 ) * 4 / 5

C = B;

10 11 12

3.2 Expresses Numricas e Aritmticas O MATLAB trabalha em notao decimal, hexadecimal, potncia de 10 e exponencial em diversos formatos com aproximadamente 16 algarismos significativos na faixa de

10308 a 10308 As expresses podem ser construdas utilizando os operadores aritmticos abaixo: + adio - subtrao * multiplicao / diviso direita \ diviso esquerda ^ potenciao
A maioria das funes matemticas elementares so encontradas no MATLAB, como por exemplo, abs, sqrt, log, sin, cos, etc. Nmeros e funes pr-programadas retornam valores especiais como pi, inf, etc. Pode realizar operaes com nmeros complexos. Para tal, deve-se definir previamente uma varivel i = sqrt( 1) Exemplo:
d = 5 + 6*i D = 1 2 ; 3 4 + i * 5 6; 7 8

3.3 Operaes com Matrizes Alm das operaes bsicas soma, subtrao e multiplicao, podem ser realizadas ainda as seguintes operaes: . Inverso : a operao C = inv ( A) direciona para a varivel C o resultado da inverso da matriz A . Diviso direita: a operao C = A \ B equivalente a inv ( A ) * B . Diviso esquerda: a operao C = A / B equivalente a A * inv ( B ) . Potenciao: a operao C = A^ n realiza o produto A * A "n" vezes e direciona o resultado para C . Transposio: a operao C = A' direciona para C o resultado da transposta da matriz A . Determinante: a operao C = det ( A ) direciona para a varivel C o resultado do determinante da matriz A

3.4 Gerao de Vetores A operao a seguir produz um vetor seqncia de 1 a "n"


E = 1: n E= 1 2 3 K n

O vetor pode ser criado com incrementos positivos e negativos, inteiros e fracionrios. Exemplos:
F = 1: 2:10 F= 1 3 5 7 9 G = 10: 3: 0 G = 10 7 4 1 H = 1: 0. 5: 3 H = 1 1. 5 2 2 . 5 3

3.5 Construo de Rotinas FOR loops for varivel=expresso declaraes declaraes end WHILE loops while varivel=expresso declaraes declaraes end IF loops if varivel=expresso declaraes elseif varivel=expresso declaraes else declaraes end As expresses comparativas utilizadas podem ser do tipo = =, >, <, >=, <=, ~=. 3.6 Acesso ao MS-DOS Qualquer comando dos MS-DOS pode ser executado no ambiente do MATLAB colocando-se o smbolo "!" antes do comando. Exemplos:

! type [nome do arquivo] ! dir

UNIDADE I - FUNES DE TRANSFERNCIA E DIAGRAMA DE BLOCOS

1. INTRODUO A maioria dos sistemas dinmicos, independentemente de serem mecnicos, eltricos, trmicos, hidrulicos, econmicos, biolgicos etc., podem ser caracterizados por equaes diferenciais. A resposta de um sistema dinmico a uma dada entrada (ou funo de excitao) pode ser obtida se estas equaes diferenciais so resolvidas. Podem-se obter as equaes utilizando leis fsicas que governam um particular sistema, por exemplo, as leis de Newton para sistemas mecnicos, as leis de Kirchhoff para sistemas eltricos etc. Modelos Matemticos: A descrio matemtica das caractersticas dinmicas de um sistema denominado "modelo matemtico". O primeiro passo na anlise de um sistema dinmico obter seu modelo. Deve-se sempre levar em conta que a obteno de um modelo matemtico razovel a parte mais importante de toda a anlise. Os modelos podem assumir formas muito diferentes. Dependendo do sistema e de certas circunstncias, uma representao matemtica pode ser mais conveniente do que outras representaes. Por exemplo, em problemas de controle timo, quase sempre vantajoso usar um conjunto de equaes diferenciais de primeira ordem. Por outro lado, para a anlise de resposta transitria ou anlise de resposta em frequncia de sistemas de entrada-simples-sada-simples, a representao atravs da funo de transferncia pode ser mais conveniente. Funo de Transferncia: A Funo de Transferncia uma expresso relacionando a sada e a entrada de um sistema linear invarivel no tempo em termos dos parmetros do sistema e uma propriedade do prprio sistema, independente da entrada ou funo de excitao. A Funo de Transferncia inclui as unidades necessrias para relacionar a entrada com a sada; entretanto, no fornece qualquer informao relativa estruturafsica do sistema. a relao da transformada de Laplace da sada (funo resposta) para a transformada de Laplace da entrada (funo de excitao), considerando nulas todas as condies iniciais. Diagramas de Blocos: Um diagrama de blocos de um sistema uma representao das funes desempenhadas por cada componente e do fluxo de sinais. Este diagrama indica a inter-relao que existe entre os vrios componentes. Em um diagrama de blocos, todas as variveis do sistema so ligadas s outras atravs de blocos funcionais. O "bloco funcional", ou simplesmente "bloco" um smbolo para a operao matemtica sobre o sinal de entrada para o bloco que produz a sada. As funes de transferncia dos componentes so usualmente indicadas nos blocos correspondentes, os quais so ligados por flechas para indicar o sentido do fluxo de sinais. Note que o sinal pode passar somente no sentido da flecha. Consequentemente, um diagrama de blocos de um sistema de controle indica explicitamente uma propriedade unilateral.

Funo de Transferncia de Malha Aberta:

X(s)

FUNO DE TRANSFERNCIA G(s)

Y(s)

Funo de Transferncia de Malha Fechada:

R(s)

E(s)
+ -

FUNO DE TRANSFERNCIA G(s)

C(s)

2. REPRESENTAO DA FUNO DE TRANSFERNCIA Explo: Seja a F. T. abaixo:

1 1 C ( s) = = 3 R ( s ) s ( s + 2 )( s + 3) s + 5s 2 + 6 s
>> num=[1]; >> den1=[1 0]; >> den2=[1 2]; >> den3=[1 3]; >> den4=conv(den1,den2); >> den=conv(den3,den4); >> printsys(num,den,'s'); num/den = 1 ----------------s^3 + 5 s^2 + 6 s

3. SISTEMA EM MALHA FECHADA COM REALIMENTAO UNITRIA Dado o sistema abaixo:

(s+1) s(s+2)(s+3)

Para determinar o sistema em Malha Fechada: >>[numc,denc]=cloop(num,den,sign); Onde sign o sinal de realimentao +/-1. Explo: >> numg=[1 1]; >> deng=conv(conv([1 0],[1 2]),[1 3]); >> [numc,denc]=cloop(numg,deng,-1); >> printsys(numc,denc,'s'); num/den = s+1 --------------------s^3 + 5 s^2 + 7 s + 1 4. SISTEMAS REALIMENTADOS Dado o sistema abaixo:

U1

SISTEMA 1

Y1

Y2

SISTEMA 2

U2

>>[num,den]=feedback(num1,den1,num2,den2);

ou >>[num,den]=feedback(num1,den1,num2,den2,sign); Onde sign = +/- 1. Explo:

U1

60 s(s+1)

Y1

Y2

0,05

U2

5. CONEXES DE SISTEMAS

Considerando os sistemas em srie abaixo:

U1

SISTEMA 1

Y1

U2

SISTEMA 2

Y2

>>[num,den]=series(num1,den1,num2,den2); Exemplo: Seja um sistema de controle de nvel envolvendo dois tanques em srie, onde as constantes de tempo 1=2=1

U1

1 2,621 s+1

Y1

U2

1 0,382 s+1

Y2

>> num1=[1]; >> den1=[2.62 1]; >> num2=[1]; >> den2=[0.38 1]; >> [num,den]=series(num1,den1,num2,den2); >> printsys(num,den,'s'); num/den = 1 ------------------0.996 s^2 + 3 s + 1 Para sistemas ligados em paralelo:
U1
SISTEMA 1

Y1

+ +
U2
SISTEMA 2

Y2

>>[num,den]=parallel(num1,den1,num2,den2); Exemplo: Seja um sistema de controle de nvel envolvendo dois tanques em paralelo, onde as constantes de tempo 1=2=1

U1

1 2,621 s+1

Y1

+ +
U2

1 0,382 s+1

Y2

>> num1=[1]; >> den1=[2.62 1]; >> num2=[1]; >> den2=[0.38 1]; >> [num,den]=parallel(num1,den1,num2,den2); >> printsys(num,den,'s'); num/den = 3s+2 ------------------0.996 s^2 + 3 s + 1

Sistemas em Espaos de Estados: Dado o sistema: s+2 ________________ 2.62 s + s + 1

Para reprensaentar este sistema em E.E vem: num = [1 2]; den = [2.62 1 1]; [A,B,C,D] = tf2ss(num,den)

Caso o sistema seja dado na forma de E.E como: A = [0 1; -25 -4]; B = [1 1; 0 1]; C = [1 0; 0 1]; D = [0 0; 0 0]; [num1,den1] = ss2tf(A,B,C,D,1) printsys(num1,den1)

UNIDADE II - ANLISE DE RESPOSTA TRANSITRIA E ESTACIONRIA

1. ANLISE DO ERRO ESTACIONRIO Uma importante caracterstica na anlise de sistemas de controle o estudo do erro apresentado pelo sistema em regime estacionrio ou permanente. Os erros em um sistema de controle podem ser atribudos a diversos fatores. Variaes no sinal de entrada do sistema podem causar erros durante perodos transitrios que podem tambm se estender ao regime permanente. O desgaste natural ou mesmo forado dos componentes do sistema (como por exemplo, atrito esttico, folgas, deterioraes, etc) tambm podero dar origem a erros estacionrios. A importncia em se analisar o erro em regime permanente o fato de ele ser um indicativo da preciso do sistema de controle. O desempenho em regime permanente de um sistema de controle estvel geralmente avaliado pelo erro estacionrios devido a entradas a degrau, rampa ou parbola(acelerao). O erro estacionrio pode ser obtido a partir da manipulao das equaes de um sistema em malha fechada.

R(s)

E(s) G(s) B(s)

C(s)

H(s)

De onde podemos tirar que: E(s) = R(s) - B(s) B(s) = H(s) C(s)_ C(s) = G(s) E(s) Substituindo B(s) e C(s) em E(s) obtemos:

E ( s) =

1 R ( s) 1 + G ( s) H ( s)

O valor temporal do erro estacionrio resulta da aplicao do teorema do valor final,


e ss = lim e ( t ) = lim sE ( s )
t s 0

Uma vez obtida a equao do erro na domnio "s", basta fazer a varivel "s" tender para zero. Como o MATLAB no trabalha com limites, usa-se a funo polyval para atribuir o valor zero varivel "s" da seguinte maneira: >>pol=[a b c] >>ess=polyval(pol,0) Exemplo: Seja a seguinte funo do erro, E ( s) = 1 x R(s) (6,9 s + 1)(1,03s + 1)

determinar o erro em regime permanente. Para R(s) = 1/s (degrau unitrio), e ss = lim e ( t ) = lim s 1/s 1/[(6.9s + 1) (1.03s + 1)] = 1
t s 0

>> pol = conv([6.9 1],[1.03 1]) ans = 7.1070 7.9300 1.0000 >> ess=polyval(pol,0) ess = 1 2. ANLISE DE RESPOSTA A ENTRADA A DEGRAU, IMPULSO E OUTRAS O clculo da resposta de sistemas a entradas diversas bastante simples. Primeiro, preciso definir o numerador e o denominador da F.T. do sistema em malha fechada. >>num=[a b c] >>den=[d e f g] O MATLAB possui funes j defindas para a simulao grfica da curva de resposta do sistema s diversas entradas. 2.1 RESPOSTA A ENTRADA DO TIPO DEGRAU UNITRIO A funo step plota a curva de resposta para entrada a degrau unitrio. Explo: >>step(num,den) Realizando a simulao desta forma, o interpretador MATLAB determinar automaticamente os valores extremos do eixo temporal do grfico apresentado. Exemplo:

FT =
>> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> step(num,den);

1 ( 6, 9 s + 1)(1, 03s + 1)

Caso o usurio deseje amostrar um intervalo especfico, poder usar a mesma funo acrescida de um vetor tempo. >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> step(num,den,t);

2.2 RESPOSTA A ENTRADAS QUAISQUER Para simular a resposta do sistema a uma entrada qualquer usa-se a funo lsim. Este tipo de simulao requer a definio do vetor tempo e do valor da entrada. A entrada pode ser representada por uma funo qualquer. Por exemplo, uma funo do tipo rampa: >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> u=t; >> lsim(num,den,u,t);

2.3 RESPOSTA A ENTRADA DO TIPO IMPULSO A funo impulse permite simular a resposta do sistema para uma entrada do tipo impulso. Explo: >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> impulse(num,den,t);

Alguns recursos ainda podem ser utilizados nos grficos: Funo grid >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> step(num,den,t),grid;

Funo title >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> step(num,den,t),title('Resposta a Degrau Unitario');

Funes xlabel e ylabel >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> step(num,den,t),xlabel('Tempo em segundos'),ylabel('Amplitude de Resposta');

Tempo em segundos

Funo subplot >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> t=0:50; >> subplot(211),step(num,den,t),subplot(212),lsim(num,den,t,t);

Para retornar a tela ao modo normal: >> subplot(111);

UNIDADE III - CRITRIOS DE ESTABILIDADE

1. MTODO DO LUGAR DAS RAZES A caracterstica bsica da resposta transitria de um sistema em malha fechada determinada a partir dos plos de malha fechada. Os plos de malha fechada so as razes da equao caracterstica. Para determin-los, necessitamos fatorar o polinmio caracterstico. Em geral, este procedimento trabalhoso se o grau do polinmio caracterstico alto. As tcnicas clssicas de fatorao de polinmios no so convenientes porque conforme varia o ganho da funo de transferncia em malha aberta, devem ser repetidos os clculos. Um mtodo simples para determinar as razes da equao caracterstica denominado Mtodo do Lugar das Razes. um mtodo pelo qual as razes da equao caracterstica so colocadas em um grfico para todos os valores de um parmetro do sistema. As razes correspondentes a um valor particular deste parmetro podem ento ser localizadas no grfico resultante. Note que o parmetro usualmente o ganho, porm, qualquer outra varivel da funo de tranferncia em malha aberta pode ser utilizado. 1.1 Localizao dos plos e zeros do sistema no plano "s" Para se obter o grfico de localizao dos plos e zeros do sistema no plano "s" utiliza-se a funo pzmap. >> pzmap(num,den) Exemplo: Seja a Funo de Transferncia, FT = mapear os plos e zeros do sistema. >> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> pzmap(num,den); k ( s 2 + 100) s ( s + 2 )( s + 4 )

1.2 Grfico do Lugar das Razes A funo rlocus calcula e apresenta o grfico do Lugar das Razes completo usando como parmetros o numerador e o denominador da F.T. de malha fechada. >> rlocus(num,den) Exemplo: Para o mesmo sistema obter o Lugar das Razes. >> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> rlocus(num,den);

O Lugar das Razes ainda pode ser apresentado em funo de uma das variveis do sistema, como por exemplo o ganho. >> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> k=0:0.1:100; >> rlocus(num,den,k);

1.3 Clculo do ganho do sistema A funo rlocfind calcula o valor do ganho para um plo do sistema em uma posio qualquer. Caso o usurio deseje saber o valor ideal do ganho, o MATLAB assume o coeficiente de amortecimento do sistema igual a 0.707. >> p="plo do sistema" >> k=rlocfind(num,den,p) Exemplo: Para o plo -2, qual o valor ideal do ganho para um coeficiente de amortecimento do sistema igual a 0.707 >> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> p=2; >> [k,poles]=rlocfind(num,den,p) k= 0.4615

poles = -6.3468 -0.0574 + 2.6960i -0.0574 - 2.6960i

2. DIAGRAMA DE BODE Uma F.T. senoidal pode ser representada por dois grficos separados, um fornecendo o mdulo versus frequncia e outro o ngulo de fase versus frequncia. Um grfico logartmico ou Diagrama de Bode consiste em dois grficos: um deles um grfico do logartmo do mdulo de uma F.T. senoidal; o outro um grfico do ngulo de fase; ambos so construdos em funo da frequncia, esta em uma escala logartmica. A principal vantagem de usar grfico logartmico que a multiplicao dos mdulos convertida em uma adio. A funo bode calcula e apresenta a curva do Diagrama de Bode a partir do numerador e do denominador da F.T. de malha fechada, podendo o usurio determinar a faixa de frequncia a ser simulada. Para especificar os valores mnimos e mximos da escala de frequncia (logartmica), utiliza-se a funo logspace, onde devem ser indicados os expoentes referentes s dcadas da escala. >> [mag,phase,w]=bode(num,den); >> magdb=20*log10(mag) % converte o mdulo em decibis >> semilogx(w,magdb) >> pause >> semilogx(w,phase) Exemplo:

>> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> [mag,phase,w]=bode(num,den); >> magdb=20*log10(mag); >> semilogx(w,magdb);

>> semilogx(w,phase);

Os parmetros da escala logartmica podem ser determinados atravs do comando, >> w=logspace(-1,2); escala de 0,1 a 100

Os grficos podem ser plotados juntos na mesma tela: >> subplot(211),semilogx(w,magdb),subplot(212),semilogx(w,phase);

Para retornar a tela ao modo normal: >> subplot(111); 3. DIAGRAMA DE NYQUIST O critrio de estabilidade de Nyquist possibilita investigar tanto a estabilidade absoluta como a estabilidade relativa de sistemas de malha-fechada lineares a partir do conhecimento de suas caractersticas de resposta em frequncia de malha aberta. Usando este critrio de estabilidade, no precisamos determinar as razes da equao caracterstica. Uma outra vantagem desta abordagem que os testes de resposta em frequncia so, em geral, simples e podem ser realizados com o uso de geradores de sinais senoidais e osciloscpios. Alm disso, a abordagem da resposta em frequncia possui as vantagens de que um sistema pode ser projetado de modo que os efeitos de rudos indesejveis sejam desprezveis e a anlise e projeto podem ser estendidos a alguns sistemas de controle no lineares. A funo nyquist calcula a resposta em freq uncia utilizando o numerador e o denomindor da F.T. em malha fechada, podendo o usurio determinar a faixa de frequncia a ser amostrada. >> nyquist(num,den) Exemplo: >> num=[1 0 100]; >> den=conv([1 0],conv([1 2],[1 4])); >> nyquist(num,den);

Para ajustar as escalas >> w=logspace(-3,1) % escala logartmica de 0,001 a 10 >> nyquist(num,den,w) Outro exemplo: Seja a Funo de Transferncia, FT = >> num=[1 -4 8]; >> den=conv([1 3],[1 2]); >> pzmap(num,den); k ( s 2 4 s + 8) ( s + 2 )( s + 3)

>> rlocus(num,den);

>> p=3; >> [k,poles]=rlocfind(num,den,p) k= 6.0000 poles = 1.3571 + 2.4233i 1.3571 - 2.4233i

>> [mag,phase,w]=bode(num,den); >> magdb=20*log10(mag); >> semilogx(w,magdb);

>> semilogx(w,phase);

>> nyquist(num,den);

UNIDADE IV - SISTEMAS DISCRETOS 1. INTRODUO Sistemas de tempo discreto ou sistemas a dados amostrados, so sistemas dinmicos em que uma ou mais variveis podem mudar apenas em instantes discretos de tempo. Estes instantes, que denotaremos por kT onde k=0,1,2,... podem especificar o instante em que feita alguma medida fsica ou o instante em que lida a memria de um computador digital. O intervalo de tempo entre dois instantes discretos considerado suficientemente pequeno, de tal forma que os dados para os tempos entre estes instantes discretos podem ser aproximados por interpolao simples. Sistemas de tempo discreto diferem dos de tempo contnuo, em que os sinais para o sistema de tempo discreto esto na forma amostrada. Sistemas de tempo discreto ocorrem na prtica quando as medidas necessrias para o controle so obtidas de forma intermitente, ou um controlador de larga escala ou computador multiplexado no tempo entre vrios processos de tal forma que um sinal de controle mandado para cada processo apenas periodicamente ou quando um computador digital usado para fazer as computaes necessrias para controle. Muitos sistemas de controle industrial modernos so sistemas de tempo discreto uma vez que invariavelmente incluem alguns elementos cujas entradas e/ou sadas so discretas no tempo. s vezes, entretanto, a operao de amostragem, ou discretizao, pode ser inteiramente fictcia, e introduzida apenas para simplificar a anlise de um sistema de controle que na realidade contm apenas elementos contnuos. Os sistemas discretos lineares invariantes no tempo so representados no MATLAB da mesma forma que os sistemas contnuos: em espao de estados, como funes de transferncia, por ajuste de ganho de plos e zeros, e na forma de resduos. As funes cloop, series, parallel so usadas tanto para sistemas contnuos como tambm para sistemas discretos. 2. MAPEAMENTO NO PLANO Z A Transformao Bilinear mapeia do plano s para o plano z ou seja, de um sistema contnuo, analgico para um sistema discreto, digital. A equao abaixo que faz tal transformao:

H(z) = H(s) s = 2 fs (z-1)/(z+1) Explo: [zd,pd,kd] = bilinear(z,p,k,fs) Converte a partir dos zeros (z), plos (p) e do ganho (k) do sistema analgico para o discreto. kd um escalar, fs a frequncia de amostragem dada em Hz. [numd,dend] = bilinear(num,den,fs) [Ad,Bd,Cd,Dd] = bilinear(A,B,C,D) Dada a funo: F.T. = 1

__________________ 2s2 + s + 1 Encontrar o sistema discreto (em z) para fs = 0.1 Hz. num=[1]; den=[2 1 1]; fs=0.1Hz; [numd,dend]=bilinear(num,den,fs); printsys(numd,dend,z) 0.7812 z2 + 1.562 z + 0.7812 ______________________________ z2 + 1.438z + 0.6875

Soluo :

A funo PZMAP plota os plos e zeros no plano complexo da funo de transferncia ou espao de estados. >> pzmap(num,den) Exemplo: Seja o sistema descrito pela Funo de Transferncia,

FT =
>> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> pzmap(num,den);

1 ( 6, 9 z + 1)(1, 03z + 1)

O gradeamento da tela pode ser obtido a partir da utilizao da funo zgrid.

3. ANLISE DE RESPOSTA EM TEMPO DISCRETO As funes apresentadas na Unidade II para a Anlise de Resposta em tempo contnuo podero ser aqui utilizadas bastando se acrescentar a letra "d" antecendendo a funo. Este prefixo significa que se trata de sistemas em tempo discreto. >> dstep(num,den,n) >> dlsim(num,den,u) >> dimpulse(num,den,n) entrada a degrau unitrio entrada qualquer entrada a impulso

onde "n" nmero de pontos amostrados. Exemplos: Para a Funo de Transferncia do item anterior, >> num=[1]; >> den=conv([6.9 1],[1.03 1]); >> n=100; >> dstep(num,den,n);

>> t=0:40; >> u=t; >> dlsim(num,den,u);

>> dimpulse(num,den,n);

4. ANLISE DE ESTABILIDADE As funes apresentadas na Unidade III para a Anlise de Estabilidade em tempo contnuo podero ser tambm utilizadas para abordagens em tempo discreto. A funo rlocus mantm a mesma sintaxe. As funes para anlise em frequncia seguem a mesma sintaxe citada no item anterior: >> dbode(num,den,Ts) >> dnyquist(num,den,Ts) Diagrama de Bode Diagrama de Nyquist

onde "Ts" o intervalo de amostragem. Exemplo: Prosseguindo com a mesma funo,

>> Ts=100; >> dbode(num,den,Ts);

>> dnyquist(num,den,Ts);

UNIDADE V - TRANSFORMADA RPIDA DE FOURIER 1. INTRODUO A Transformada Rpida de Fourier (fft) um algoritmo computacional que discretiza a Transformada de Fourier. fft(x) a transformada discreta do vetor x. Se x uma matriz, a FFT calcula a transformada rpida de cada coluna. fft(x,n) calcula a FFT de x para n pontos. ifft(x) e ifft(x,n) so as Transformadas Inversa de Fourier

Exemplo: x = [ 4 3 7 -9 1 0 0 0]; y = fft(x)

Você também pode gostar