Está en la página 1de 10

Sinais e Sistemas

Prof. Eng. Viviana R. Zurro MSc.

Atividade Prática: AP SINAIS E SISTEMAS


Gabriel Reis Rezende
3070592

ATIVIDADE 1: OPERAÇÕES

BASICAS

Algoritmo desenvolvido no Scinotes:

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
\\

2. (1,5 ponto) Calcular:


𝑜[𝑛]=𝑥[𝑛]+𝑦[𝑛].𝑧[𝑛] 𝑝[𝑛]=𝑥[𝑛]−𝑦[𝑛]−𝑧[𝑛] 𝑞[𝑛]=𝑥[𝑛].(𝑦[𝑛]+𝑧[𝑛])
R: Foi digitado o seguinte codigo:

//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]

1. (5 pontos) Sendo as funções:


𝑥[𝑛]=𝑒−𝑑𝑛𝑐𝑜𝑠(𝑚.𝑛+𝜋3)−4≤𝑛<𝑅𝑈1
ℎ1[𝑛]=[𝑅𝑈1 𝑅𝑈2 𝑅𝑈3 ]
ℎ2[𝑛]=𝑠𝑒𝑛(𝑐𝜋𝑛)−2≤𝑛<𝑅𝑈1

a. (2,5 pontos) Calcule 𝑦[𝑛] como indicado na equação a seguir.


𝑦[𝑛]=𝑥[𝑛]∗(ℎ1[𝑛]−ℎ2[𝑛])

a) (1,5 ponto) Resolução matemática (pode ser gráfica)


b) (0,5 ponto) Algoritmo.

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).

b. (2,5 pontos) Calcule 𝑦[𝑛] como indicado na equação a seguir.

𝑦[𝑛]=𝑥[𝑛]∗ℎ1[𝑛]−𝑥[𝑛]∗ℎ2[𝑛]
a) (1,5 ponto) Resolução matemática (pode ser gráfica)

b) (0,5 ponto) Algoritmo.

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 = 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.

También podría gustarte