Baixe o app para aproveitar ainda mais
Prévia do material em texto
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
Compartilhar