Escolar Documentos
Profissional Documentos
Cultura Documentos
Sinais e Sistemas
Instituto Politécnico – PUC Minas
Sumário
IPUC Página 2
EE - Laboratório de Sinais e Sistemas
IPUC Página 3
EE - Laboratório de Sinais e Sistemas
PREFÁCIO
Esta apostila tem como principal objetivo auxiliar os alunos do curso de Engenharia Elétrica e
Engenharia Eletrônica e de Telecomunicação, da PUC Minas, nos estudos e práticas da disciplina
Laboratório de Sinais e Sistemas e Laboratório de Processamento de Sinais, visando facilitar o
entendimento e compreensão dos conteúdos básicos tratados nas disciplinas teóricas Sinais e
Sistemas e Processamento de Sinais.
OPPENHEIM, Alan V.; WILLSKY, Alan S.: Sinais e Sistemas. São Paulo: Prentice Hall, 2010.
DINIZ, Paulo Sérgio Ramirez; SILVA, Eduardo Antônio Barros da; LIMA NETTO, Sérgio:
Processamento digital de sinais: projeto e análise de sistemas. Porto Alegre, Bookman,
2014.
HAYKIN, Simon; VAN VEEN, Barry: Sinais e Sistemas. Porto Alegre: Bookman, 2001.
IPUC Página 4
EE - Laboratório de Sinais e Sistemas
1. Introdução ao MATLAB®
Recursos
O MATLAB® oferece uma ampla biblioteca de funções matemáticas e algoritmos:
sin(x);
fft(x), dentre outros.
Comunicação com diferentes ambientes computacionais:
Excel;
Java;
PSIM;
Phyton, dentre outros.
Interface com diversos kits de desenvolvimento:
Code Composer Studio/ C6000 / C2000 (Texas Instruments);
VisualDSP++ / Blackfin (AnalogDevices);
Green Hills MULTI / MPC5500 (Freescale), etc.
Toolboxes
O MATLAB® possui uma família de aplicativos (toolboxes), que são conjuntos de
funções usadas para resolver problemas de áreas específicas da engenharia, tais como:
Controle de Processos e Otimização;
Processamento de Sinais;
Eletrônica de Potência;
Redes Neurais, dentre outros.
Aplicações
Gerais
Verificação de softwares para detectar, em tempo de execução, erros
antes da compilação ou testes;
Análise de projetos através de simulação, antes da implementação e
teste;
Desenvolvimento de códigos C ou HDL para execução em sistemas
embarcados via DSPs, ASICs e FPGAs.
IPUC Página 5
EE - Laboratório de Sinais e Sistemas
Sistemas Embarcados
Verificação de projetos antes da implementação e testes;
Geração de códigos para prototipagem e produção.
Processamento Digital de Sinais
Aquisição de dados e análise de sinais;
Desenvolvimento de algoritmos para aplicações em comunicação, áudio
voz e vídeo, dentre outros.
Geração de códigos C ou HDL para execução em sistemas embarcados:
DSPs, ASICs e FPGAs.
Sistemas de Controle
Criar modelos para a representação de plantas;
Projeto de controladores e lógica de controle;
Análise da estabilidade de sistemas.
IPUC Página 6
EE - Laboratório de Sinais e Sistemas
Obtendo Ajuda
O usuário pode obter ajuda de três maneiras distintas:
Navegador de Ajuda;
Digitar “lookfor” seguido de uma palavra-chave do problema e, em seguida,
avaliar as informações associadas às funções encontradas:
>> r = 5; <enter>
>> i = 2; <enter>
IPUC Página 7
EE - Laboratório de Sinais e Sistemas
y 2t
20
18
16
14
12
10
y
0
0 1 2 3 4 5 6 7 8 9 10
t
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 Página 8
EE - Laboratório de Sinais e Sistemas
A. Variáveis
Existem três formas comuns para a especificação/ inicialização uma variável, no ambiente
MATLAB®:
Ex.: v = tensao.mat;
B. Expressões
É importante ressaltar que o MATLAB® faz distinção entre letras maiúsculas e minúsculas,
assim a e A não são as mesmas variáveis. Além disso, todas as funções devem ser escritas em
letras minúsculas, por exemplo, inv(A) calcula a matriz inversa de A mas INV(A) é uma função
indefinida.
C. Vetores e Matrizes
IPUC Página 9
EE - Laboratório de Sinais e Sistemas
Vetor – Pode ser do tipo linha (1xj) ou coluna (ix1), i e j inteiros. Exemplos:
a [a1 a2 a3 ]
a1
(1)
aT a2
a3
Matriz – matriz com i linhas e j colunas (separar as linhas com ponto e vírgula)
a11 a1 j
Aij [a11 a1 j ; ; ai1 aij ] (2)
ai1 aij
As operações com vetores e matrizes no MATLAB® podem ser realizadas de duas formas
distintas:
IPUC Página 10
EE - Laboratório de Sinais e Sistemas
1 2
d 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.
Solução
Script MATLAB®
%=====================================================================
% PUC MINAS – IPUC
% Curso de Engenharia Elétrica - Laboratório de Sinais e Sistemas
% Aluno:
%=====================================================================
%
% LAB 1 - Comandos Básicos e Operações com Matrizes
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
%=====================================================================
% Plotando figura(s)
figure(1)
plot(t,d)
title('Gráfico de Distância em Queda Livre')
xlabel('tempo(s)')
ylabel('Distância (m)')
grid on
%=====================================================================
IPUC Página 11
EE - Laboratório de Sinais e Sistemas
Figura(s)
450
400
350
300
Distância (m)
250
200
150
100
50
0
0 1 2 3 4 5 6 7 8 9 10
tempo(s)
R1
100Ω R2
V1 50%
20 V
R1 R5
100Ω 330Ω
R3 V2
200Ω 10 V
R4
V1
20 V 150Ω
R2
220Ω
R6
100Ω
IPUC Página 12
EE - Laboratório de Sinais e Sistemas
V = [V1 -V2 0]
R = [(R1 + R3 + R2) –R3 –R2; - R3 (R5 + R4+R3) – R4; = -R2 – R4 (R2 + R4 + R6)]
% i = [I1 I2 I3]
%V=R*I
I = inv(R)*V
IF / ELSE;
SWITCH / CASE;
TRY / CATCH.
if condicao1
Comandos1
Comandos2
...
elseif condicao2
Comandos3
Comandos4
...
else
Comandos5
Comandos6
...
end
A primeira condição é sempre escrita com IF, a última com ELSE e todas as intermediárias
com ELSEIF.
A estrutura SWITCH permite selecionar um bloco específico do código para ser executado,
com base no valor de um único inteiro, caractere ou expressão lógica. A forma geral é:
IPUC Página 13
EE - Laboratório de Sinais e Sistemas
switch(expressao)
case expressao_case_1,
Comandos1
Comandos2
...
case expressao_case_2,
Comandos1
Comandos2
...
otherwise,
Comandos1
Comandos2
...
end
O MATLAB® contém dois comandos para gerar loops, o comando FOR e o comando
WHILE. O laço FOR executa um bloco de comandos durante um número especificado de vezes.
Ele tem a seguinte forma:
while expressao
Comandos1
Comandos2
...
end
5(T F 32)
TC
9
5(TF 32)
TK 273,15
9
Solução
Script MATLAB®
IPUC Página 14
EE - Laboratório de Sinais e Sistemas
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 3 - Ramificações e Laços
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
for i=1:1:3
Tf = input('Entre com o valor de temperatura em graus
Fahrenheit(F):');
Tc = (5*(Tf-32))/9;
Tk = (5/9)*(Tf-32)+273.15;
%=====================================================================
B. Construa uma rotina para determinar a soma dos n primeiros termos da série:
(1)k
n
k 1 2
k
(1)k x 2k 1
sin( x)
0 (2k 1)!
Escreva uma função que calcule sin(x) usando a série de Taylor. O valor de x deverá
estar em 𝜋rd.
IPUC Página 15
EE - Laboratório de Sinais e Sistemas
Um sinal x (t ) ou x n , contínuo ou discreto no tempo, será um sinal par se atender à
condição dada pela Equação (3), o que significa que sinais serão simétricos em relação ao eixo
vertical (Haykin e Van Veen, 2001):
x (t ) x ( t ) (3)
Um sinal contínuo ou discreto x (t ) ou x n será um sinal ímpar se o mesmo atender à
Equação (4) e serão simétricos em relação à origem.
x (t ) x ( t ) (4)
Um sinal qualquer x (t ) ou x n pode ser expresso como a soma das componentes par
1
x p (t ) x (t ) x ( t ) (6)
2
1
xi ( t ) x (t ) x ( t ) (7)
2
e o intervalo [-3, 3]. Implemente um script para a construção dos seguintes gráficos:
I. Sinal original;
II. Componente par;
III. Componente ímpar;
IV. Reconstrução do sinal (componente par + componente ímpar).
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 2 - Composição e Decomposição de Sinais
%
IPUC Página 16
EE - Laboratório de Sinais e Sistemas
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
% 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'); % Título da figura
xlabel('t'); % Legenda para o eixo X
ylabel('Y'); % Legenda para o eixo Y
legend ('exp(-2t)'); % Legenda para o figura
grid on
subplot(3,1,2)
plot(t,yp);
title('Componente Par'); % Título da figura
xlabel('t'); % Legenda para o eixo X
ylabel('Yp'); % Legenda para o eixo Y
legend ('Par'); % Legenda para o figura
grid on
subplot(3,1,3)
plot(t,yi);
title('Componente Impar');% Título da figura
xlabel('t'); % Legenda para o eixo X
ylabel('Yi'); % Legenda para o eixo Y
legend ('Impar'); % Legenda para o figura
grid on
% Reconstrução do sinal
yrec = yp + yi;
figure(2)
plot(t,yrec,'*');
title('Reconstrução do sinal');% Título da figura
xlabel('t'); % Legenda para o eixo X
ylabel('Yrec'); % Legenda para o eixo Y
legend ('Sinal'); % Legenda para o figura
grid on
IPUC Página 17
EE - Laboratório de Sinais e Sistemas
Figura(s)
Sinal Original
500
exp(-2t)
Y
0
-3 -2 -1 0 1 2 3
t
Componente Par
400
Par
200
Yp
0
-3 -2 -1 0 1 2 3
t
Componente Impar
500
Impar
0
Yi
-500
-3 -2 -1 0 1 2 3
t
Reconstrução do sinal
450
Sinal
400
350
300
250
Yrec
200
150
100
50
0
-3 -2 -1 0 1 2 3
t
B. Considere o sinal descrito pela função y(t) 2t cos3(10t) , com uma taxa de
amostragem t 0.01 e o intervalo [-5, 5]. Escreva um script para a construção dos
seguintes gráficos:
I. Sinal original;
II. Componente par;
IPUC Página 18
EE - Laboratório de Sinais e Sistemas
C. Considere o sinal descrito pela função y(t) (1 t )cos (10t) com uma taxa de
3 3
I. Sinal original;
II. Componente par;
III. Componente ímpar;
IV. Reconstrução do sinal (componente par + componente ímpar).
IPUC Página 19
EE - Laboratório de Sinais e Sistemas
x (t ) x ( t T ) , t , T *
(8)
Ou seja, se esta condição for satisfeita para T = To, ela também será satisfeita para T =
2To, T = 3To, (...). Assim, o menor valor de T que satisfaz a expressão (8) é chamado período
fundamental e define a duração de um ciclo completo de x (t ) . A frequência do sinal é calculada
como:
2
, rad/s (9)
T0
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
Um sinal x n é periódico se satisfaz a condição:
IPUC Página 20
EE - Laboratório de Sinais e Sistemas
x ( n ) x ( n N ) , n , N * (10)
O menor valor de N inteiro que satisfaz a expressão (10) é chamado período fundamental
do sinal discreto x n . A frequência angular ou frequência fundamental é:
2
(rad/amostra) (11)
N
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
5 10 15 20 25 30 35 40
x[ n ] sen (0, 5n )
x[ n ] sen (0, 5 n )
Solução
Script MATLAB®
IPUC Página 21
EE - Laboratório de Sinais e Sistemas
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 3 - Sinais Periódicos
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
n = -20:0.1:20;
y = sin(0.5*n);
%=====================================================================
% Plotando figura(s)
figure(1)
stem(y,'LineWidth',2);axis([1 41 -1 1])
title('y = sin(0.5*n)')
grid on
%=====================================================================
Figura(s)
y = sin(0.5*n)
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
5 10 15 20 25 30 35 40
IPUC Página 22
EE - Laboratório de Sinais e Sistemas
x (t ) sen (2 ft )
C. Elabore o gráfico da função g n :
IPUC Página 23
EE - Laboratório de Sinais e Sistemas
Assim, genericamente, um sinal discreto qualquer pode ser expresso como sequência de
impulsos deslocados no tempo e amplitude 𝑥[𝑘], em 𝑛 = 𝑘:
x[n] x[k] [n k]
k
(14)
Tomando-se a expressão (14) e indicando h n k ou ℎ [𝑛] como a resposta do sistema ao
impulso aplicado à entrada 𝛿[𝑛 − 𝑘], em 𝑛 = 𝑘, a saída do SLIT poderá ser calculada conforme
a seguinte expressão:
y[n] H x[k ] [n k ]
k
y[n] x[k ]H [n k ]
k
(15)
y[n] x[k ]h [n]
k
k
IPUC Página 24
EE - Laboratório de Sinais e Sistemas
O exemplo a seguir tem como objetivo ilustrar a aplicação do método gráfico para o cálculo
manual da saída de um SLIT discreto cuja resposta ao impulso e sinal de excitação são 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.
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 4 – Ilustração do Método Gráfico
%=====================================================================
%
IPUC Página 25
EE - Laboratório de Sinais e Sistemas
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
% Parte 1
n1 = -1:1;
h = [-3 2 1];
figure(1)
stem(n1,h,'LineWidth',2); axis([-4 6 -3 3])
title('Resposta ao Impulso h[n]');
xlabel('Amostras'); ylabel('Amplitude')
figure(2)
stem(n2,x,'r','LineWidth',2); axis([-4 6 -3 4])
title('Sinal de Excitação x[n]')
xlabel('Amostras'); ylabel('Amplitude')
%=====================================================================
%Parte 3
fprintf('Pressione qualquer tecla para a Resposta ao Impulso
espelhada: \n')
pause
hespelhado = [1 2 -3];
figure(3)
stem(n1,hespelhado,'LineWidth',2); axis([-4 6 -3 3])
title('Resposta ao Impulso h[n] espelhada')
xlabel('Amostras'); ylabel('Amplitude')
%=====================================================================
%Parte 4
fprintf('Pressione qualquer tecla para visualizar os deslocamentos
sucessivos entre os sinais. \n')
fprintf('Os resultados parciais da convolução serão a soma dos
produtos, ponto a ponto, dos impulsos. \n')
pause
%=====================================================================
% Parte 5
for(i=0:6)
n1 = -3:-1;
IPUC Página 26
EE - Laboratório de Sinais e Sistemas
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]=16')
elseif i==4
title('y[n]=-1')
elseif i==5
title('y[n]=-2')
else
title('y[n]=0 ')
end;
pause
close all
end
%=====================================================================
%Parte 6
-1
-2
-3
-4 -3 -2 -1 0 1 2 3 4 5 6
IPUC Página 27
EE - Laboratório de Sinais e Sistemas
Atividade Prática
1, 0 n 15
x[ n ] u [ n ] u [ n 16]
0, caso contrário
2n , 4 n 0
1h [ n] 2 n
u [ n 4] u [ n 1]
0, caso contrário
h[n] h1[n] h2[n]
0.5n , 0 n 4
h
2 [ n ] 0.5 n
u[ n] u [ n 5]
0, caso contrário
Lembrando:
1, 𝑛 ≥ −4
𝑢[𝑛 + 4] =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
1, 𝑛≥1
𝑢[𝑛 − 1] =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
1, −4 ≤ 𝑛 ≤ 0
𝑢[𝑛 − 4] − 𝑢[𝑛 − 1] =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
B.2 – Resolver a convolução x[n]*h[n] usando a função conv disponível no MATLAB®. Construa
o gráfico do sinal de saída y[n].
C. Considere os sinais discretos h[n] = [-1 1 2 1], onde h[n] é a resposta ao impulso do
sistema H, e x[n] é um sinal senoidal com amplitude máxima e frequência iguais 10V e
100Hz, respectivamente. Construa os gráficos dos sinais x[n], h[n] e y[n]. Interprete.
h[ n ] [ 11 2 1]
t 0 : 0.001: 0.5
Vm 10;
f 100;
x Vm sin(2 ft )
IPUC Página 28
EE - Laboratório de Sinais e Sistemas
C.2 – O que ocorrerá se os valores da resposta ao impulso forem multiplicados por um valor
escalar?
IPUC Página 29
EE - Laboratório de Sinais e Sistemas
5. Sistemas no Domínio S
s j
e cos j sin
j
e st e
j t
e t e j t
,
e t cos t j sin t
e t cos t je t sin t
L [ f (t )] F ( s) f (t )e st dt (9)
G (s) = L g (t )e st
dt que relaciona algebricamente as transformadas de Laplace dos sinais
Y ( s)
G(s) (10)
X (s)
IPUC Página 30
EE - Laboratório de Sinais e Sistemas
f(t)
Resposta transitória;
Degrau u (t ) Erro de Estado
Estacionário
t
f(t)
Erro de Estado
Rampa tu (t )
Estacionário
t
f(t)
Resposta transitória;
Senóide sen ( t ) Erro de Estado
t
Estacionário
IPUC Página 31
EE - Laboratório de Sinais e Sistemas
( s) Km
M (s)
Va (s) s( Js b)( L f s R f )
Onde,
( s) : Ângulo de rotação;
Va (s) : Tensão de armadura;
K m : Constante de torque do motor;
J: Inércia;
b: Coeficiente de atrito viscoso;
Lf : Indutância de campo;
Rf : Resistência de campo.
Parâmetros Valores
Constante de torque do motor 5 N.m/A
Inércia 1 N.m.s2 / rad
Coeficiente de atrito viscoso 20 kg /m /s
Indutância de campo 1 mH
Resistência de campo 1Ω
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 5a - Sistemas no Domínio S
IPUC Página 32
EE - Laboratório de Sinais e Sistemas
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
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
%=====================================================================
Figura(s)
IPUC Página 33
EE - Laboratório de Sinais e Sistemas
Resposta ao Degrau
8000
7000
6000
5000
Amplitude
4000
3000
2000
1000
0
0 0.5 1 1.5 2 2.5 3
Time (seconds) 4
x 10
0.8
0.2 0.6
0.4
0.15 0.2
Amplitude
Amplitude
0.1 -0.2
-0.4
0.05 -0.6
-0.8
0 -1
0 1 2 3 4 5 6 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time (seconds) Time (seconds)
IPUC Página 34
EE - Laboratório de Sinais e Sistemas
0,01665
G (s)
s 0,002299
G s
T (s)
s G s
FTMA FTMF
Tc
Ts
Erro
IPUC Página 35
EE - Laboratório de Sinais e Sistemas
+_ G(s)
H(s)
𝐺(𝑠)
𝐹𝑇𝑀𝐹 =
1 + 𝐺(𝑠)𝐻(𝑠)
𝐹𝑇𝑀𝐴 = 𝐺(𝑠)𝐻(𝑠)
(𝑠 + 𝑧 )(𝑠 + 𝑧 ) ⋯ (𝑠 + 𝑧 )
𝐹𝑇𝑀𝐹 =
(𝑠 + 𝑝 )(𝑠 + 𝑝 ) ⋯ (𝑠 + 𝑝 )
1 + 𝐺(𝑠)𝐻(𝑠) = 0
(𝑠 + 𝑧 )(𝑠 + 𝑧 ) ⋯ (𝑠 + 𝑧 )
1+𝐾 =0
(𝑠 + 𝑝 )(𝑠 + 𝑝 ) ⋯ (𝑠 + 𝑝 )
O Lugar das Raízes do sistema é a trajetória descrita pelos polos em malha fechada,
quando o ganho K varia de 0a .
IPUC Página 36
EE - Laboratório de Sinais e Sistemas
Root Locus
1
0.8
0.6
0.4
Imaginary Axis (seconds-1)
0.2
Semiplano Semiplano
0
-0.2
Estável Instável
-0.4
-0.6
-0.8
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
Real Axis (seconds )
Análise da estabilidade de um sistema em malha fechada a partir de seu Lugar das Raízes
malha aberta
O comando MATLAB® usado para plotar o Lugar das Raízes utiliza o numerador e o
denominador da FTMA:
𝑟𝑙𝑜𝑐𝑢𝑠(𝑛𝑢𝑚, 𝑑𝑒𝑛)
Caso queira-se plotar o lugar das raízes para um vetor ganho específico K , utiliza-se a
forma:
𝑟𝑙𝑜𝑐𝑢𝑠(𝑛𝑢𝑚, 𝑑𝑒𝑛, 𝐾)
IPUC Página 37
EE - Laboratório de Sinais e Sistemas
Bode Diagram
0
-20
Magnitude (dB)
-40
-60
-80
0
-45
Phase (deg)
-90
-135
-180
-2 -1 0 1 2
10 10 10 10 10
Frequency (rad/s)
Em sistemas reais, se a entrada x(t) for um sinal senoidal, a saída y(t) em regime
permanente também será um sinal senoidal com a mesma frequência, mas possivelmente o
módulo e o ângulo de fase serão diferentes.
IPUC Página 38
EE - Laboratório de Sinais e Sistemas
Y ( j)
G( j)
X ( j)
Margem de Ganho: é a variação no ganho do sistema, quando a fase é igual a –180º , que
resulta em um sistema marginalmente estável.
Margem de Fase: é a variação no ângulo de fase do sistema, quando o ganho é igual a 0 dB,
que resulta em um sistema marginalmente estável.
Dessa forma, a análise da estabilidade de sistemas de fase não mínima1, pode ser
realizada como segue:
A Margem de Ganho indica quanto o ganho do sistema pode ser aumentado de forma que ele
ainda seja estável em malha fechada.
A Margem de fase indica quanto a fase do sistema pode ser atrasada (na freqüência de
cruzamento de ganho) de forma que o sistema ainda seja estável em malha fechada.
____________________________________________________________________________
1
Um sistema é dito ser de fase Mínima se todos os zeros (ou polos) da Função de
Transferência que o caracterizam estiverem no semiplano esquerdo do plano s.
IPUC Página 39
EE - Laboratório de Sinais e Sistemas
O comando MATLAB® usado para plotar o Lugar das Raízes utiliza o numerador e o
denominador da FTMA:
𝑏𝑜𝑑𝑒(𝑛𝑢𝑚, 𝑑𝑒𝑛)
𝑏𝑜𝑑𝑒(𝑛𝑢𝑚, 𝑑𝑒𝑛, 𝑊)
6.3 SISOTOOL
O MATLAB® também possui uma ferramenta de projeto que utiliza o método do Lugar
das Raízes e o Diagrama de Bode, chamada SISOTOOL. Trata-se de uma ferramenta interativa
para análise e projeto de sistemas de controle do tipo SISO (Single Input Single Output) LTI
(Linear Time Invariant).
H(s)
A. Dado o diagrama de blocos e respectivas funções, trace o lugar das raízes e o digrama de
bode utilizando os comando rlocus e bode, respectivamente. Analise a estabilidade do sistema.
H(s)
IPUC Página 40
EE - Laboratório de Sinais e Sistemas
𝑠+1
𝐹(𝑠) = 1 𝐶(𝑠) = 1 𝐺(𝑠) = 𝐻(𝑠) = 1
𝑠(𝑠 + 2)
%===============================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%===============================================================
%
% Método do Lugar das Raízes através da função rlocus
%
%===============================================================
clc
clear all
close all
num=[1 1];
den=conv([1 0],[1 2]);
rlocus(num,den)
figure(2)
bode(num,den)
%===============================================================
==
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%===============================================================
==%
% Método do Lugar das Raízes através do SISOTOOL
%
%===============================================================
==
clc
clear all
close all
F=1;
C=1;
G=tf([1 1],conv([1 0],[1 2]));
H=1;
sisotool(G,C,H,F)
Dicas:
No menu da janela que contém o gráfico do lugar das raízes, clique na opção Analysis/Response
to Step Command para obter o gráfico de resposta ao degrau unitário. Clique com o botão direito
do mouse sobre o gráfico da resposta ao degrau, selecione a opção Systems e mantenha apenas
a seleção Closed Loop r to y (blue).
IPUC Página 41
EE - Laboratório de Sinais e Sistemas
Posicione o mouse sobre os quadrados vermelhos do gráfico do lugar das raízes e movimente-
os. Observe o efeito sobre a resposta ao degrau. Na janela principal Control and Estimation Tools
Manager, verifique na aba Compensator Editor o valor do ganho atribuido à função C(s), que
neste caso, atua como um controlador puramente proporcional.
C. Para o mesmo diagrama da questão A, trace o lugar das raízes e o digrama de Bode
utilizando SISOTOOL, considerando:
1
𝐹(𝑠) = 1 𝐶(𝑠) = 1 𝐺(𝑠) = 𝐻(𝑠) = 1
𝑠 + 12𝑠 + 64𝑠 + 128𝑠
Determine o valor do ganho do controlador para o qual o sistema é marginalmente estável. Para
este valor de ganho, analise a resposta ao degrau.
D. Para o mesmo diagrama da questão A, trace o lugar das raízes e o digrama de Bode
utilizando SISOTOOL, considerando:
(𝑠 + 3)
𝐹(𝑠) = 1 𝐶(𝑠) = 1 𝐺(𝑠) = 𝐻(𝑠) = 1
(𝑠 − 4)(𝑠 − 5)
Dicas:
No gráfico do lugar das raízes, movimente com o mouse os quadrados vermelhos até atingir o
valor próximo ao amortecimento desejado (variável Damping na parte inferior da janela). Neste
mesmo campo, é informada a posição de uma das raízes e a frequência natural de oscilação.
Abra o gráfico da resposta ao degrau. Clique com o botão direito do mouse sobre a área do
gráfico e selecione todas as opções do item Characteristics: Peak response (sobressinal máximo),
Settling Time (tempo de acomodação), Rise Time (tempo de subida) e Steady State (regime
permanente). Os pontos serão indicados com círculos azuis e os valores apresentados ao passar
o mouse sobre os mesmos.
Também é possível definir alguns requisitos de projeto. Para tal, clique com o botão direito do
mouse sobre a área do gráfico do Lugar das Raízes ou do Diagrama de Bode e selecione a opção
Design Requirements/New. Escolha o(s) parâmetro(s) desejado(s) e indique o(s) valor(es).
IPUC Página 42
EE - Laboratório de Sinais e Sistemas
y(t ) a0 an cos(2 f0nt ) bn sen(2 f0nt ) , para n = 1, 2, 3, 4, 5, ... (11)
n 1
Onde,
y (t ) a0 an cos(2 f 0 nt )
8
a0 cos(2 f 0 nt )
T0 n2
2
1 8
bn 0; a0 ; a1n
T0 T0
2
1 2
bn 0; a0 ; a1 n
2
IPUC Página 43
EE - Laboratório de Sinais e Sistemas
2
a n 0; a 0 0; b1n
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 7 - Composição de Sinais
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
A=1;
Ta=0.01;
fa=1/Ta;
t=0:Ta:3;
m = input('Número de harmônicos da série: ');
f0=1;
T0=1/f0;
w0=2*pi*f0;
somatorio=zeros(1,length(t));
pause;
for n=1:2:m;
IPUC Página 44
EE - Laboratório de Sinais e Sistemas
figure(2),plot(t,y(:,2)), grid on
%=====================================================================
Figura(s)
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
B. Utilize os coeficientes da Série de Fourier para traçar uma onda quadrada entre 0 e 3s
com Ta = 0.01s e frequência fundamental fo = 1Hz.
C. Utilize os coeficientes da Série de Fourier para traçar uma onda dente de serra entre 0
e 3s com Ta = 0.01s e frequência fundamental fo = 1Hz.
IPUC Página 45
EE - Laboratório de Sinais e Sistemas
X e j x[n]e jn
(15)
n
N 1
X [k ] x[n]e j nk / N ,0 k N 1 (16)
n 0
for k = 0:N-1
for n = 0:NF-1
X(k+1) = X(k+1) + X(n+1)*exp(-j*2*pi*n*k/N);
end
end
Abaixo são destacadas algumas considerações importantes para a aplicação da FFT. Sejam
L e N, respectivamente, os comprimentos do sinal x[ n ] e de sua Transformada de Fourier
(PEIXOTO, 2013):
Deve-se observar que se L < N, então o sinal x[ n ] deve ser preenchido com zeros até
o comprimento N, adaptando o comprimento da sequência para o cálculo da DFT
(zero-padding);
IPUC Página 46
EE - Laboratório de Sinais e Sistemas
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 8 - Transformada Rápida de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
IPUC Página 47
EE - Laboratório de Sinais e Sistemas
f = Fs/2*linspace(0,1,NFFT/2+1);
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
subplot(2,1,1)
plot(Fs*t(1:50),y(1:50))
title('Sinal y(t)')
xlabel('Tempo (milisegundos)')
%=====================================================================
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 frequência de amostragem igual a 1kHz. Além 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 ) 6 sen (3 t )
Considere:
Vm = 10;
f = 60.
IPUC Página 48
EE - Laboratório de Sinais e Sistemas
X ( j ) x(t )e
jt
dt (29)
1
X ( j )e d
j t
x (t ) (30)
2
Considere:
IPUC Página 49
EE - Laboratório de Sinais e Sistemas
A1 = 0,7;
A2 = 1;
f1 = 25;
f2 = 60.
Solução
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - IPUC
%=====================================================================
%
% LAB 9 - Transformada Rápida Inversa de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
f1 = 25; % frequência 1
f2 = 60; % frequência 2
A1 = 0.7; % amplitude 1
A2 = 1; % amplitude 2
% 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 potência de 2 mais próxima do
% comprimento do vetor y
f = Fs/2*linspace(0,1,NFFT/2+1);
%PARTE 3
w = (-NFFT/2:NFFT/2-1)*(Fs/NFFT); % intervalo de frequência
centralizado
Yshift = fftshift(Y);
IPUC Página 50
EE - Laboratório de Sinais e Sistemas
% PARTE 4
yf = ifft(fftshift(Yshift));
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
subplot(2,1,1)
plot(t,y),title('Onda senoidal 25Hz + 60Hz');axis([0 0.4 -2 2])
grid on
xlabel('Tempo (s)')
ylabel('y(t)')
% Espectro de Amplitude de y(t)
subplot(2,1,2)
plot(t,y,'r'),title('Sinal com Ruido')
grid on
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitude de y(t)')
xlabel('Frequência (Hz)')
ylabel('|Y(f)|')
figure(2)
plot(w,2*abs(Yshift));
grid on
xlabel('Frequência (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)')
figure(4)
plot(t,NFFT*real(yf));axis([0 0.4 -2 2])
title('Sinal Recuperado e Sinal Original')
hold on;
ylabel('y(t)')
plot(t,y);%axis([0 0.4 -2 2])
grid on
xlabel('Tempo (s)')
hold off;
%=====================================================================
IPUC Página 51
EE - Laboratório de Sinais e Sistemas
Figura(s)
y(t)
0
-1
-2
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Tempo (s)
Espectro de Amplitude de y(t)
0.8
0.6
|Y(f)|
0.4
0.2
0
0 50 100 150 200 250 300 350 400 450 500
Frequência (Hz)
FFT centralizada Sinal Recuperado a partir das Componentes Geradas pela FFT
0.8 2
0.7 1
y(t)
0
0.6
-1
0.5
-2
Amplitude
0.1 -1
0 -2
-500 -400 -300 -200 -100 0 100 200 300 400 500 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Frequência (Hz) Tempo (s)
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 frequência de amostragem igual a 2kHz. Além disso, calcule
da IFFT para recuperar o sinal a partir das componentes geradas pelo cálculo da FFT.
z (t ) A1 sen(2 f1t )
y(t ) z (t ) x(t ) w(t ) x(t ) A2 sen(2 f2t )
w( z ) A cos(2 f t )
3 3
Considere:
A1 = 0,7;
A2 = 1;
A3 = 2;
f1 = 25;
f2 = 60;
f3 = 40.
IPUC Página 52
EE - Laboratório de Sinais e Sistemas
Plote:
IPUC Página 53
EE - Laboratório de Sinais e Sistemas
Em que, p(t ) (t nT ) (18)
x p t x(nT ) (t nT ) (19)
Sinal y(t)
20
10
-10
-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
4
x 10
Sinal amostrado
20
10
-10
-20
5 10 15 20 25 30 35 40 45
IPUC Página 54
EE - Laboratório de Sinais e Sistemas
Na prática, como esses impulsos são difíceis de serem gerados e transmitidos, é utilizado
o retentor de ordem zero (zero-order hold - ZOH). Este sistema, mostrado na figura 8, amostra
o sinal x(t) em determinado instante e mantém esse valor durante um intervalo de tempo até a
próxima amostragem. A frequência de amostragem determinada esse intervalo de tempo entre
as amostragens.
O resultado desse processo é mostrado na figura 9, onde um sinal senoidal x(t), com
frequência de 50 Hz, é amostrado a uma taxa de 500 Hz, gerando o sinal xp(t).
IPUC Página 55
EE - Laboratório de Sinais e Sistemas
Plote:
Solução
IPUC Página 56
EE - Laboratório de Sinais e Sistemas
Script MATLAB®
%=====================================================================
% Laboratório de Sinais e Sistemas
% PUC MINAS - Engenharia Elétrica
%=====================================================================
%
% LAB 10 - Transformada Rápida de Fourier
%
%=====================================================================
%
% Ajuste interface
% Menu VIEW -> Desktop Layout -> Default
%
%=====================================================================
%=====================================================================
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
%=====================================================================
% Plotando figuras
% Sinal y
figure(1)
plot(t_cont,sinal_cont,'LineWidth',2);
title('Sinal x(t)')
IPUC Página 57
EE - Laboratório de Sinais e Sistemas
grid on
% Sinal Amostrado
figure(2)
plot(amost_Z,'LineWidth',2); axis([1 15 -30 30])
title('Sinal Amostrado - Fs = 1200')
hold on
stem(amost_Z, 'r'); axis([1 15 -30 30])
grid on
%=====================================================================
Figura(s)
20 20
10 10
0 0
-10 -10
-20 -20
-30 -30
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 2 4 6 8 10 12 14
20 20
10 10
0 0
-10 -10
-20 -20
-30 -30
5 10 15 20 25 30 10 20 30 40 50 60
IPUC Página 59
EE - Laboratório de Sinais e Sistemas
Command Window
>> plot(sinal(:,1),sinal(:,2))
>> hold on
>> plot(sinal(:,1),sinal(:,3),'r')
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
IPUC Página 60
EE - Laboratório de Sinais e Sistemas
Onde:
A1 = 0,7;
A2 = 1;
f1 = 25;
f2 = 60.
Plote:
IPUC Página 61
EE - Laboratório de Sinais e Sistemas
De acordo com a teoria de Fourier, qualquer sinal pode ser decomposto em uma soma
infinita de harmônicos em frequências múltiplas inteiras da frequência fundamental. Desta
forma, a Série de Fourier pode ser utilizada para representar um sinal de onda quadrada, como
o sinal proveniente da modulação 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 função matemática, conforme é
mostrado na figura 13.
2 nt 2 nt
f (t ) a0 an cos bn sen (20)
n1 T T
Onde,
1 T
a0
2T
T
f (t ) dt (21)
1 T 2 nt
2T T
an f (t )cos dt (22)
T
1 T 2 nt
bn
2T T
f (t )sen
T
dt (23)
IPUC Página 62
EE - Laboratório de Sinais e Sistemas
Considerando que K denote a amplitude do sinal f(t) representado na figura 13, são
obtidos os seguintes resultados após realizar as integrais 35 a 37:
a0 K p
1
an K sen( n p ) sen (2 n (1 p / 2)) (24)
n
bn 0
Desta forma, para a obtenção da componente contínua de tensão gerada pelo forma de
onda PWM, é necessário que este seja aplicado a um filtro do tipo passa-baixas (LPF – low pass-
frequency), conforme a figura 14. Nesse tipo de sistema, a frequência de corte deve ser calculada
para eliminar as componentes harmônicas de alta frequência, diminuindo ao máximo a
ondulação do sinal resultante.
O gerador de onda dente de serra tem sua frequência determinada por um par RC
conectado externamente, através dos pinos 6 e 7. O limite usual é de 500kHz. A rampa
gerada tem uma excursão de aproximadamente 2,5V. Conforme a figura abaixo, o
comparador PWM tem uma entrada (positiva) proveniente deste gerador de rampa e a
outra pode ser fornecida pelo amplificador de erro da tensão de saída ou pelo limitador
de corrente da saída (POMILIO, 2014).
IPUC Página 63
EE - Laboratório de Sinais e Sistemas
Solução
IPUC Página 64
EE - Laboratório de Sinais e Sistemas
Suas aplicações mais comuns referem-se à filtragem seletiva de frequências, onde são
realizadas operações para a eliminação/restauração de parcelas do espectro de frequência dos
sinais de interesse. Essas operações podem também ser realizadas por filtros analógicos, porém
a flexibilidade e capacidade de parametrização aliada ao aumento da disponibilidade e redução
de custos tem fortalecido, cada vez mais, o desenvolvimento por meio dos recursos digitais
programáveis.
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 equações
lineares de diferenças com coeficientes constantes, conforme a expressão (33).
M N
y n bl x n l ak y n k
l 0 k 1 (33)
Parcela não Parcela Recursiva
recursiva
Estrutura FIR
Estrutura IIR
O projeto de um filtro digital, assim como na metodologia aplicável aos filtros analógicos,
resume-se a aproximar a Resposta em Módulo desejada. No caso dos filtros digitais, por meio
do cálculo adequado dos coeficientes da equação de diferenças.
IPUC Página 65
EE - Laboratório de Sinais e Sistemas
Os filtros FIR são de natureza não recursiva (dependem apenas do valor atual e/ou
passados da entrada) e intrinsecamente estável (não contêm polos). A função de transferência
de um filtro digital FIR é um polinômio em z 1 , com a seguinte relação entrada/saída:
Y ( z) M
H ( z) hl z 1 (34)
X ( z ) l 0
IPUC Página 66
EE - Laboratório de Sinais e Sistemas
Em termos práticos, não é possível implementar este tipo de filtro. Portanto, é preciso
considerar um nível de distorção, permitindo desvios destas condições ideais:
H( j) (26)
IPUC Página 67
EE - Laboratório de Sinais e Sistemas
M
y[n] hl x(n l ) (27)
l 0
Y ( z) M
H ( z) hl Z 1 (28)
X ( z) l 0
Várias estruturas podem ser empregadas para realizar uma dada função de transferência,
associada a uma equação de diferenças específica pela transformada Z. A estrutura na forma
direta, obtida a partir da equação 42 é mostrada na figura 18. Os coeficientes multiplicadores
são obtidos diretamente da função de transferência do filtro (DINIZ; DA SILVA; NETTO, 2004).
A sequência y[n] representa o sinal filtrado na forma digital, podendo ser descrita pela
seguinte equação:
IPUC Página 68
EE - Laboratório de Sinais e Sistemas
12.2 FDATool
A ferramenta FDATooL (Filter Design & Analysis Tool) é parte integrante da toolbox de
processamento digital de sinais do MATLAB®. Ela é utilizada para a implementação e análise de
filtros digitais. Os coeficientes gerados a partir das especificações do projeto do filtro podem ser
utilizados na implementação do código em sistemas embarcados (microcontroladores, DSPs e
FPGAs). Neste capítulo, esta ferramenta será utilizada para traçar o gráfico de resposta do filtro
FIR e a obtenção dos coeficientes, para utilização posterior em um projeto a ser implementado
no Simulink.
IPUC Página 69
EE - Laboratório de Sinais e Sistemas
Tipo FIR;
Passa baixas;
Ordem: 50;
Fs = 10000 Hz;
Fpass = 1000 Hz;
Fstop = 1500 Hz.
IPUC Página 70
EE - Laboratório de Sinais e Sistemas
Solução
IPUC Página 71
EE - Laboratório de Sinais e Sistemas
Referências
OPPENHEIM, Alan V.; WILLSKY, Alan S.: Sinais e Sistemas. São Paulo: Prentice Hall, 2010.
DINIZ, Paulo Sérgio Ramirez; SILVA, Eduardo Antônio Barros da; LIMA NETTO, Sérgio:
Processamento digital de sinais: projeto e análise de sistemas. Porto Alegre, Bookman, 2014.
HAYKIN, Simon; VAN VEEN, Barry: Sinais e Sistemas. Porto Alegre: Bookman, 2001.
ROBERTS, Michael J.; Fundamentos em Sinais e Sistemas: São Paulo: McGrae-Hill, 2009.
YNOGUTY, C.A. Processamento Digital de Sinais: Introdução aos Filtros Digitais. Instituto
Nacional de Telecomunicações. Disponível em:
<http://ynoguti.inatel.br/docentes/ynoguti/docman/e724/introducao-aos-
filtrosdigitais/download.html>. Acesso em: 1 / Julho / 2010.
IPUC Página 72
EE - Laboratório de Sinais e Sistemas
A.1. Sinks
A.2. Sources
IPUC Página 73
EE - Laboratório de Sinais e Sistemas
A.4. Continuous
IPUC Página 74
EE - Laboratório de Sinais e Sistemas
A.5. Discrete
IPUC Página 75