Logo Passei Direto

A maior rede de estudos do Brasil

Grátis
8 pág.
Atividade Prática - Huliano Azevedo

Pré-visualização | Página 1 de 1

Atividade Prática: Operações básicas com Sinais 
Nome: Huliano Fernandes Martins de Azevedo - RU 2418347 
Para resolução das operações, é utilizado o número da RU do aluno (2418347) na seguinte 
ordem: 
RU1 RU2 RU3 RU4 RU5 RU6 RU7 
2 4 1 8 3 4 7 
 
ATIVIDADE 1: Operações básicas 
Criar a função impulso unitário. Criar a função degrau unitário. Gerar um vetor n de -
10 até 10 com intervalo de 1. 
 
 
Figura 1. Função Impulso Unitário 
 
 
Figura 2. Função Degrau Unitário 
 
Sinais e Sistemas 
Prof. Eng. Viviana R. Zurro MSc. 
 
Figura 3. Vetor n de -10 até 10 com intervalo de 1 
 
 
 
 
Figura 4. Função x[n] no ambiente Scilab 
 
 
2. (0,5 ponto) Gerar um sinal discreto 𝑦[𝑛]=[𝑅𝑈2 𝑅𝑈3 𝑅𝑈4 𝑅𝑈7 𝑅𝑈5 𝑅𝑈1 𝑅𝑈6] usando a 
função impulso unitário, onde o número em realce corresponde ao valor da amostra em 𝑛=0. 
 
 
Figura 5. Função y[n] no ambiente Scilab 
 
 
 
 
 
 
 
 
3. (1 ponto) Calcular 𝑎[𝑛]=𝑥[𝑛].𝑦[𝑛] 
 
Figura 6. Função a[n] no ambiente Scilab 
 
 
4. (0,5 ponto) Calcular 𝑏[𝑛]=𝑥[𝑛]+𝑦[𝑛] 
 
Figura 7. Função b[n] no ambiente Scilab 
 
 
5. (1 ponto) Plotar todos os gráficos (𝑥[𝑛], 𝑦[𝑛], 𝑎[𝑛] e 𝑏[𝑛]) como sinal discreto na mesma 
figura usando o comando subplot. Usar o comando plot2d3 para melhor visualização. 
 
 
Figura 8. Gráficos plotados no ambiente Scilab 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ATIVIDADE 2: Sistemas lineares - Convolução 
 
O vetor 𝑛 para 𝑥[𝑛], 𝑦[𝑛] e ℎ[𝑛] será o mesmo da Atividade 1. Para fazer o gráfico do vetor 
𝑧[𝑛] gere um vetor 𝑛1 de -20 até 20 com intervalo de 1. 
 
 
Figura 9. Vetor 𝑛1 de -20 até 20 com intervalo de 1 
 
1. (5 pontos) Sendo as funções: 
 
𝑥[𝑛]=(−1,5)𝑛−4≤𝑛≤𝑅𝑈1 
𝑦[𝑛]=[𝑅𝑈1 𝑅𝑈2 𝑅𝑈3 𝑅𝑈4] 
ℎ[𝑛]=[𝑅𝑈3 𝑅𝑈6 𝑅𝑈2] 
 
 
a. (2,5 pontos) Calcule 𝑧[𝑛] como indicado na equação a seguir. 
𝑧[𝑛]=ℎ[𝑛]∗(𝑥[𝑛]−𝑦[𝑛]) 
 
i. (1,5 ponto) Resolução matemática (pode ser gráfica) 
ii. (0,5 ponto) Algoritmo 
 
Agora vamos criar os sinais: 
x[n]=[RU1 RU2 RU3 RU4], onde RU2 é a amostra n=0 
h1[n]=[RU1 RU2 0], onde 0 é a amostra n=0 
h2[n]=[RU5 RU6 RU7], onde RU6 é a amostra n=0 
 
Para meu RU: 
x[n]=[2 4 1 8] 
h1[n]=[2 4 0] 
h2[n]=[3 4 7] 
 
Os comandos ficarão neste formato: 
 
 
 
 
Figura 10. Linhas de comando para os sinais x[n], h1[n] e h2[n] 
 
 
Figura 11. Resultado do comando para os sinais x[n], h1[n] e h2[n] 
 
 
Figura 12. Resultado do comando para os sinais x[n], h1[n] e h2[n] 
 
 
Figura 13. Algoritmo da Convolução 1 (a) no ambiente Scilab 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
iii. (0,5 ponto) Plote 𝑥[𝑛], 𝑦[𝑛], ℎ[𝑛] e 𝑧[𝑛] no mesmo gráfico usando o comando subplot. 
 
 
Figura 14 Gráficos das funções no ambiente Scilab 
 
b. (2,5 pontos) Calcule 𝑧[𝑛] como indicado na equação a seguir. 
 
𝑧[𝑛]=ℎ[𝑛]∗𝑥[𝑛]−ℎ[𝑛]∗𝑦[𝑛] 
 
Para calcular y[n]= x[n]*h1[n] + x[n]*h2[n] no ambiente Scilab, isso pode ser feito em apenas 
uma linha de comando, pois já temos os sinais criados, então no terminal digitamos: 
 
y=conv(x,h1) + conv(x,h2) 
 
 
Figura 15 Resolução 
 
 
 
 
 
 
 
 
Figura 16. Gráficos das funções no ambiente Scilab 
 
 
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. 
 
Conjuntamenta, as questões apresentaram o mesmo resultado. Isso pode ser explicado 
porque nas operações com convolução é aplicável a propriedade distributiva. 
 
Esse associação indica mostra que ao se aplicar a distributiva na equação 1(a) obtém-se a 
equação 1(b), por exemplo. Isto explica que a equação é igual, por isto o resultado foi 
semelhante em ambas questões. 
 
Ainda atividade tivemos a oportunidade de efetuar operações básicas e complexas do 
software Scilab, além de conhecer um poderoso software open source de ampla utilização 
na engenharia e em toda comunidade científica. 
 
E por fim, a experiência de automatizar os processos de cálculos e gráficos através de 
software nos apresentou o quanto é possível otimizar e facilitar a rotina do estudante em 
disciplinas que envolvem modelos matemáticos de maior complexidade. 
 
 
 
 
 
 
Algoritmo completo 
 
function [y]=degrau(k)//cria a função degrau. recebe x e retorna y 
y=zeros(1,length(k));//cria um vetor y de zeros com uma linha e lenght retorna 
y(find(k>=0))=1;//procura os zeros e substitui por 1 
endfunction//final da função 
 
function [y]=impulso(k)//cria função com nome impulso e recebe argumento y 
y=zeros(1,length(k));//cria vetor de zeros vetor com uma linha e x colunas 
y(find(k==0))=1;//procura os zeros e substitui por um 
endfunction//final da função 
 
RU1=2;RU2=4;RU3=1;RU4=8;RU5=3;RU6=4;RU7=7;//definindo variáveis para RU 
 
n=-10:10;// vetor de -10 até 10 
k=n;//k recebe n 
 
u1=degrau(k+8)-degrau(k-(RU7+1));//degrau de -8 a ru7+1 
u2=degrau(k+4)-degrau(k-(RU1+1));//degrau de -4 a ru1+1 
 
n1=-20:20;//vetor de -20 até 20 
 
//x(n) 
x=cos((RU4*n/3)+(RU2*%pi)).*(RU3/10)^n.*u1//função x[n]no intervalo u1 
 
//função y pelo impulso unitário 
 
y=RU2*impulso(n+2)+RU3*impulso(n+1)+RU4*impulso(n)+RU7*impulso(n-1)+RU5*impulso(n-
2)+RU1*impulso(n-3)+RU6*impulso(n-4) 
 
//a[n] com multiplicação ponto a ponto(.*) 
a=x.*y 
 
//b(n) soma de x com y 
b=x+y 
 
//Exercício 2 
//sinal discreto x[n] atividade 2 
x=(-1.5)^n.*u2//declarando a função x no intervalo de u2 
 
//y[n] definindo a função y pelo impulso unitario 
y=RU1*impulso(n+2)+RU2*impulso(n+1)+RU3*impulso(n)+RU4*impulso(n-1) 
 
//Função h[n] 
h=RU3*impulso(n+1)+RU6*impulso(n)+RU2*impulso(n-1) 
 
//ATIVIDADE 2 
//Exercicio 2a 
x=2*impulso(n+1)+3*impulso(n)+4*impulso(n-1)+3*impulso(n-2)//x[n]=[RU1 RU2 RU3 RU4], RU2= 
n=0, RU=2418 
h1=2*impulso(n+2)+3*impulso(n+1)//h1[n]=[RU1 RU2 0], 0 é a mostra n=0, RU=24 
h2=9*impulso(n+1)+ 8*impulso(n)// h2[n]=[RU5 RU6 RU7], RU6 =n=0, RU=247 
 
//conv z[n] 
z=conv(h,(x-y))//comando conv para convolução 
 
//Exercício 2 b 
z=conv(h,x)-conv(h,y) 
 
//função x[n] 
subplot(221)//comando para plotar na primeira posição de 4 
plot2d3(n,x,style=4)//plotando sinal discreto 
title('x[n]')//comando title para título 
xlabel('eixo [n]')//comando para título do eixo horizontal 
ylabel('Amplitude')//comando para título do eixo vertical 
 
//função y[n] 
subplot(222)//comando para plotar na segunda posição de 4 
plot2d3(n,y,style=5)//plotando sinal discreto 
title('y[n]')//comando title para título 
xlabel('eixo [n]')//comando para título do eixo horizontal 
ylabel('Amplitude')//comando para título do eixo vertical 
 
//função h[n] 
subplot(223)//comando para plotar na terceira posição de 4 
plot2d3(n,h,style=6)//plotando sinal discreto 
title('h[n]')//comando title para título 
xlabel('eixo [n]')//comando para título do eixo horizontal 
ylabel('Amplitude')//comando para título do eixo vertical 
 
//função z[n] 
subplot(224)//comando para plotar na quarta posição de 4 
plot2d3(n1,z,style=7)//plotando sinal discreto 
title('z[n]')//comando title para título 
xlabel('eixo [n]')//comando para título do eixo horizontal 
ylabel('Amplitude')//comando para título do eixo vertical