Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ATIVIDADE 1: OPERAÇÕES
BASICAS
Criar a função impulso unitário. Criar a função degrau unitário. Gerar um vetor 𝑛 de -20 até 20
com intervalo de 1.
*𝑎=𝑅𝑈1
* 𝑏=𝑅𝑈2
*𝑐=𝑅𝑈3/10, se 𝑅𝑈3=0 adotar 𝑐=0,3
*𝑑=𝑅𝑈4/10, se 𝑅𝑈4=0 adotar 𝑑=0,4
*𝑒= número 𝑒, sintaxe no Scinotes %e
*𝑚=𝑅𝑈5, se 𝑅𝑈5=0 adotar 𝑚=5
*𝑓=𝑅𝑈6, se 𝑅𝑈6=0 adotar 𝑓=6
* 𝜋= número 𝜋, sintaxe no Scinotes %pi
*𝑔=𝑅𝑈7, se 𝑅𝑈7=0 adotar 𝑔=7
1. (3 pontos) Gerar as seguintes funções (para 𝑦[𝑛] manter os números do RU):
𝑥[𝑛]=𝑡𝑔(𝑎𝑛+𝑐𝜋3).𝑒−𝑑𝑛−𝑏≤𝑛≤𝑓
𝑦[𝑛]=[(−𝑅𝑈1) 𝑅𝑈4 𝑅𝑈3 𝑅𝑈7 𝑅𝑈5 (−𝑅𝑈6) ]
𝑧[𝑛]=0,7𝑛(𝑥[−𝑛−𝑅𝑈3])+0,3𝑛(𝑢[𝑛+𝑓]−𝑢[𝑛−𝑔])
R: Funções foram criadas conforme o codigo e gerado o vetor de -20 a 20. Em relação aos
dados correspondentes ao RU “3070592”, as variaveis foram declaradas e inseridas as
formulas em MATLAB.
function [y]=degrau(x)
y = zeros(1, length(x));
y(find(x>=0)) = 1;
endfunction
//função degrau
function [y]=impulso(x)
y = zeros(1, length(x));
y(find(x==0)) = 1;
endfunction
//função impulso
clc//limpa o programa
clf//limpa janela gráfica
f=gcf()//manipulador de gráficos
n=-20:1:20//geração do vetor tempo
a=3
b=0
c=0.7
d=0.4
e=%e
m=5
f=9
𝜋=%pi
g=2
//variaveis das formulas de acordo com o RU
RU1=3
RU2=0
RU3=7
RU4=0
RU5=5
RU6=9
RU7=2
//Itens do RU
//x[n]
u1=degrau(n+b)-degrau(n-f)
x1=tan(a*n+(c*𝜋/3).*e^(-d*n)).*u1
//y[n]
y1=-RU1*impulso(n+2)+RU4*impulso(n+1)+RU3*impulso(n)+RU7*impulso(n-1)+RU5*impulso(n-2)-RU6*impulso(n-3)
//z[n]
u2=degrau(n+f)-degrau(n-g)
xa=cshift(x,[0,+RU3]);//x[n+4]
for i=-20:1:20
z1(i+21)=(0.7^(i))*(xa(-i+21)-RU3)+0.3*(i+21)*u2(i+21)
end
\\
//o[n]
o=x1+y1.*z1'
//p[n]
p=x1-y1-z1'
//q[n]
q=x1.*(y1+z1')
3. (0,5 ponto) Plotar todos os gráficos (𝑥[𝑛], 𝑦[𝑛], 𝑧[𝑛]. 𝑜[𝑛], 𝑝[𝑛] e 𝑞[𝑛]) como sinal discreto na
mesma figura usando o comando subplot. Colocar os nomes nos eixos e o título de cada figura
como no exemplo a seguir. Será tirada nota se a imagem não cumprir com o solicitado. Usar o
comando plot2d3 para melhor visualização.
R:
//GRAFICOS
subplot(411)
plot2d3(n,x1,style=1)//x[n], a função style define a cor da linha
f.children.children(1).children.thickness=2;//controla a grossura da linha
title('x[n]')
xlabel('n')
ylabel('amplitude')
subplot(412)
plot2d3(n,y1,style=1)//x[n], a função style define a cor da linha
f.children.children(1).children.thickness=2;//controla a grossura da linha
title('y[n]')
xlabel('n')
ylabel('amplitude')
subplot(413)
plot2d3(n,z1,style=1)
f.children.children(1).children.thickness=2;
title('z[n]')
xlabel('n')
ylabel('amplitude')
subplot(414)
plot2d3(n,o,style=1)
f.children.children(1).children.thickness=2;
title('o[n]')
xlabel('n')
ylabel('amplitude')
subplot(415)
plot2d3(n,p,style=1)
f.children.children(1).children.thickness=2;
title('p[n]')
xlabel('n')
ylabel('amplitude')
subplot(416)
plot2d3(n,q,style=1)
f.children.children(1).children.thickness=2;
title('q[n]')
xlabel('n')
ylabel('amplitude')
ATIVIDADE 2: Sistemas lineares – Convolução
Para 𝑥[𝑛], ℎ1[𝑛] e ℎ2[𝑛] gere um vetor 𝑛 de -5 até 5 com intervalo de 1
Para 𝑦[𝑛] gere um vetor 𝑛1 de -10 até 10 com intervalo de 1
R:
function [y]=degrau(x)
y = zeros(1, length(x));
y(find(x>=0)) = 1;
endfunction//função degrau
function [y]=impulso(x)
y = zeros(1, length(x));
y(find(x==0)) = 1;
endfunction//função impulso
clc//limpa console
clf//limpa janela gráfica
f=gcf()//manipulador de gráficos
n=-5:1:5//vetor de x[n], h1[n] e h2[n]
n1=-10:1:10//vetor de y[n]
function [y]=degrau(x)
y = zeros(1, length(x));
y(find(x>=0)) = 1;
endfunction//função degrau
function [y]=impulso(x)
y = zeros(1, length(x));
y(find(x==0)) = 1;
endfunction//função impulso
clc//limpa console
clf//limpa janela gráfica
f=gcf()//manipulador de gráficos
n=-5:1:5//vetor de x[n], h1[n] e h2[n]
n1=-10:1:10//vetor de y[n]
a=3
b=0
c=0.7
d=0.4
e=%e
m=5
f=9
π=%pi
g=2
RU1=3
RU2=0
RU3=7
RU4=0
RU5=5
RU6=9
RU7=2
//x1[n]
u1=degrau(n+4)-degrau(n-3)
x1=(e^(-d*n)).*cos(m*n+(𝜋/3)).*u1
//h1[n]
h1=RU1*impulso(n)+RU2*impulso(n-1)+RU3*impulso(n-2)
//h2[n]
u2=degrau(n+2)-degrau(n-RU1)
h2=(sin(c*n*𝜋)).*u2
//y[n]
r=h1-h2
y = conv(x1,h1)
subplot(411)
plot2d3(n,x1,style=1)
title('x1[n]')
xlabel('n')
ylabel('amplitude')
subplot(412)
plot2d3(n,h1,style=2)
title('h1[n]')
xlabel('n')
ylabel('amplitude')
subplot(413)
plot2d3(n,h2,style=6)
title('h2[n]')
xlabel('n')
ylabel('amplitude')
subplot(414)
plot2d3(n1,y,style=6)
title('y[n]')
xlabel('n')
ylabel('amplitude')
iii. (0,5 ponto) Plote 𝑥[𝑛], 𝑦[𝑛], ℎ1[𝑛] e ℎ2[𝑛] no mesmo gráfico usando o comando subplot. Use o
comando plot2d3 para melhor visualização. Não se esqueça de colocar os nomes nos eixos das
figuras (será descontada nota).
𝑦[𝑛]=𝑥[𝑛]∗ℎ1[𝑛]−𝑥[𝑛]∗ℎ2[𝑛]
a) (1,5 ponto) Resolução matemática (pode ser gráfica)
function [y]=degrau(x)
y = zeros(1, length(x));
y(find(x>=0)) = 1;
endfunction//função degrau
function [y]=impulso(x)
y = zeros(1, length(x));
y(find(x==0)) = 1;
endfunction//função impulso
clc//limpa console
clf//limpa janela gráfica
f=gcf()//manipulador de gráficos
n1=-10:1:10//vetor de y[n]
a=3
b=0
c=0.7
d=0.4
e=%e
m=5
f=9
π=%pi
g=2
RU1=3
RU2=0
RU3=7
RU4=0
RU5=5
RU6=9
RU7=2
//x1[n]
u1=degrau(n+4)-degrau(n-3)
x1=(e^(-d*n)).*cos(m*n+(𝜋/3)).*u1
//h1[n]
h1=RU1*impulso(n)+RU2*impulso(n-1)+RU3*impulso(n-2)
//h2[n]
u2=degrau(n+2)-degrau(n-RU1)
h2=(sin(c*n*𝜋)).*u2
//y[n]
r = conv(x1,h1)
s = conv(x1,h2)
subplot(411)
plot2d3(n,x1,style=1)
title('x1[n]')
xlabel('n')
ylabel('amplitude')
subplot(412)
plot2d3(n,h1,style=2)
title('h1[n]')
xlabel('n')
ylabel('amplitude')
subplot(413)
plot2d3(n,h2,style=6)
title('h2[n]')
xlabel('n')
ylabel('amplitude')
subplot(414)
plot2d3(n1,y,style=6)
title('y[n]')
xlabel('n')
ylabel('amplitude')
c) (0,5 ponto) Plote 𝑥[𝑛], 𝑦[𝑛], ℎ1[𝑛] e ℎ2[𝑛] no mesmo gráfico usando o comando subplot.
Use o comando plot2d3 para melhor visualização. Não se esqueça de colocar os nomes
nos eixos das figuras (será descontada nota).
2. (1 ponto) Compare os sistemas dos pontos 1(a) e 1(b) e explique os resultados baseado nas
propriedades da convolução se necessário.
Os graficos são semelhantes, porém o segundo apresenta valores em mais duas casas
negativas, isso ocorre devido a convolução com o h2 na segunda formula, pois a equação
trouxe o grafico um pouco mais para trás.