Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 UNINTER ATIVIDADE PRÁTICA PROCESSAMENTO DIGITAL DE SINAIS 2020 https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 2 Sumário 1. INTRODUÇÃO ........................................................................................... 3 2. DESENVOLVIMENTO MÁTEMÁTICO....................................................... 3 2.1. LINEARIDADE .................................................................................... 3 2.1.1. Algoritmo: ....................................................................................... 4 2.2. INVARIANCIA NO TEMPO.................................................................. 5 2.2.1. Algoritmo ........................................................................................ 6 3. RESULTADOS .......................................................................................... 8 3.1. Gráficos para linearidade .................................................................... 8 3.2. Gráficos para invariância ..................................................................... 8 https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 3 1. INTRODUÇÃO Este trabalho tem por finalidade verificar a linearidade e invariância no tempo de sistemas conforme proposto do roteiro da atividade prática Verificar se o sistema é linear e invariante no tempo. 𝑇{𝑥[𝑛]} = 𝑥[𝑛 + 𝑅𝑈3] + 𝑥[−𝑛] + 𝑅𝑈1 RU1 RU2 RU3 RU4 RU5 RU6 RU7 1 6 7 0 3 6 8 𝑥[𝑛] = RU com amostra n = 0 no quinto número. 2. DESENVOLVIMENTO MÁTEMÁTICO 2.1. LINEARIDADE Para linearidade: • 𝑎 = 𝑅𝑈5 = 3 • 𝑏 = 𝑅𝑈6 = 6 • 𝑥1[𝑛] = 𝑥[𝑛 + 𝑅𝑈1] • 𝑥2[𝑛] = 4 sen(𝑛) . (𝑢[𝑛 + 𝑅𝑈6] − 𝑢[𝑛 − 3]) Função do sistema: 𝑇{𝑎𝑥1[𝑛] + 𝑏𝑥2[𝑛]} = 𝑎(𝑥1[𝑛 + RU3] + 𝑥1[−𝑛]) + b(𝑥2[𝑛 + RU3] + 𝑥2[−𝑛]) Sinal de saída para cada entrada: y1[n] = 𝑥1[𝑛 + RU3] + 𝑥1[−𝑛] + RU1 y2[n] = 𝑥2[𝑛 + RU3] + 𝑥2[−𝑛] + RU1 Sinal de saída para as duas entradas juntas: y[n] = ay1[n] + by2[n] y[n] = a(𝑥1[𝑛 + RU3] + 𝑥1[−𝑛] + RU1) + b(𝑥2[𝑛 + RU3] + 𝑥2[−𝑛] + RU1) Como 𝑇{𝑎𝑥1[𝑛] + 𝑏𝑥2[𝑛]} ≠ y[n] o sistema não é linear Document shared on www.docsity.com https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 4 2.1.1. Algoritmo: function [y]=impulso(x) y = zeros(1, length(x)); y(find(x==0)) = 1; endfunction//função impulso function [y]=degrau(x) y = zeros(1, length(x)); y(find(x>=0)) = 1; endfunction// função degrau unitário RU1=1;RU2=6;RU3=7;RU4=0;RU5=3;RU6=6;RU7=8; clc//limpa console clf//limpa janela gráfica f=gcf()//manipulador de gráficos n=[-20:1:20]//geração do vetor, escolhido entre -20 e 20 para ter uma boa margem quando usar o deslocamento circular da função cshift x=RU1*impulso(n+4)+RU2*impulso(n+3)+RU3*impulso(n+2)+RU4*impulso(n+1)+RU5*impulso(n)+RU6 *impulso(n-1)+RU7*impulso(n-2);//x[n] a=RU5;//quinto número do RU b=RU6;//sexto número do RU x1 = cshift(x,[0, -RU1]);//x1[n] = x[n + RU1] for i=-20:1:20 x2(i+21) = 4*sin(i)*(degrau(i+RU6)-degrau(i-3));//x2[n] = 4 sen(n) . (u[n + 6] − u[n − 3]) end //T{x[n]} = x[n + RU3] + x[−n] + RU1 // PRIMEIRO TERMO x[n + RU3] o = cshift(x, [0, -RU3]); // SEGUNDO TERMO x[−n] for i=-20:20//i deve ter o mesmo comprimento de n p(i+21)= p(-i+21);//inverntendo o sinal de n end //FUNÇÃO DO SISTEMA PARA UMA ENTRADA T = o + p + RU1; //ADITIVIDADE E HOMOGEINIDADE //PRIMEIRO TERMO DA FUNÇÃO x1[n+ RU3] x11 = cshift(x1,[0,-RU3]); //SEGUNDO TERMO DA FUNÇÃO x1[-n] //x122 = cshift(x1,[0,0]); https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 5 for i=-20:20//i deve ter o mesmo comprimento de n x12(i+21)= x12(-i+21);//inverntendo o sinal de n end T1 = a * (x11+x12'); //PRIMEIRO TERMO DA FUNÇÃO x2[n + RU3] x21 = cshift(x2,[0,-RU3]); //SEGUNDO TERMO DA FUNÇÃO x2[-n] for i=-20:20//i deve ter o mesmo comprimento de n x22(i+21)= x22(-i+21);//inverntendo o sinal de n end T2 = b * (x21+x22); //FUNÇÃO DO SISTEMA PARA DUAS ENTRADAS; Tlin = T1' + T2; //y[n] y=a*(x11'+x12+RU1)+b*(x21+x22+RU1); subplot(221) plot2d3(n,x,style=1)//sinal de entrada x1[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('amostra') ylabel('amplitude') subplot(222) plot2d3(n,T,style=2)//Função do sistema f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema') xlabel('amostra') ylabel('amplitude') subplot(223) plot2d3(n,Tlin,style=3)//Função do sistema para duas entradas f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema para duas entradas')//sinal de saída do sistema xlabel('amostra') ylabel('amplitude') subplot(224) plot2d3(n,y,style=5)//Função do sistema para duas entradas f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema para duas entradas')//sinal de saída do sistema xlabel('amostra') ylabel('amplitude') 2.2. INVARIANCIA NO TEMPO Para invariância no tempo considerar 𝑛0 = 𝑅𝑈2 https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 6 𝑛0 = 6 𝑇{𝑥[𝑛 – 𝑛0 ]} = 𝑇{𝑥[𝑛 − 6]} 𝑦[𝑛 – 𝑛0 ] = 𝑦[𝑛 − 6] Função do sistema 𝑇{𝑥[𝑛]} = 𝑥[𝑛 + 𝑅𝑈3] + 𝑥[−𝑛] + 𝑅𝑈1 Sinal de saída: y[n] = 𝑥[𝑛 + 𝑅𝑈3] + 𝑥[−𝑛] + 𝑅𝑈1 Função do sistema com atraso 𝑇{𝑥[𝑛-n0]} = 𝑥[𝑛 – 6 + RU3] + 𝑥[−𝑛 – 6] + RU1 𝑇{𝑥[𝑛-n0]} = 𝑥[𝑛 + 1] + 𝑥[−𝑛 – 6] + 1 Sinal de saída: y[n-n0] = 𝑥[(𝑛-n0) + RU3] + 𝑥[−(𝑛-n0)] + RU1 y[n-n0] = 𝑥[𝑛 + 1] + 𝑥[− 𝑛 + 6] + 1 𝑇{𝑥[𝑛-n0]} ≠ y[n-n0] Logo a função 𝑇{𝑥[𝑛]} = 𝑥[𝑛 + 𝑅𝑈3] + 𝑥[−𝑛] + 𝑅𝑈1, não é invariante no tempo 2.2.1. Algoritmo function [y]=impulso(x) y = zeros(1, length(x)); y(find(x==0)) = 1; endfunction//função impulso RU1=1;RU2=6;RU3=7;RU4=0;RU5=3;RU6=6;RU7=8; clc//limpa console clf//limpa janela gráfica f=gcf()//manipulador de gráficos n=[-20:1:20]//geração do vetor, escolhido entre -20 e 20 para ter uma boa margem quando usar o deslocamento circular da função cshift https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 7 x=RU1*impulso(n+4)+RU2*impulso(n+3)+RU3*impulso(n+2)+RU4*impulso(n+1)+RU5*impulso(n)+RU6 *impulso(n-1)+RU7*impulso(n-2);//x[n] //invariancia no tempo n0 = RU2 //T{x[n]} = x[n + RU3] + x[−n] + RU1 // PRIMEIRO TERMO x[n + RU3] o = cshift(x, [0, -RU3]); // SEGUNDO TERMO x[−n] for i=-20:20//i deve ter o mesmo comprimento de n p(i+21)= p(-i+21);//inverntendo o sinal de n end //FUNÇÃO DO SISTEMA SEM DESLOCAMENTO T = o + p + RU1; //T{x[n-n0]} = x[n – 6 + RU3] + x[−n – 6] + RU1 //T{x[n-n0]} = x[n + 1] + x[−n – 6] + 1 //PRIMEIRO TERMO DA FUNÇÃO COM DESLOCAMENTO x[n - 6 + RU3] x11 = cshift(o,[0,(-RU3+n0)]); //SEGUNDO TERMO DA FUNÇÃO COM DESLOCAMENTO x[-n-6] x122 = cshift(p,[0,n0]); for i=-20:20//i deve ter o mesmo comprimento de n x12(i+21)= x122(-i+21);//inverntendo o sinal de n end T1 = x11+x12'+RU1; // FUNÇÃO DO SISTEMA COM ATRASO //y[n] COM ATRASO PRIMEIRO TERMO //y[n-n0] = x[n-n0) + RU3] + x[−(n-n0)] + RU1 //y[n-n0] = x[n + 1] + x[− n + 6] + 1 //PRIMEIRO TERMO x[n - 6 + RU3] y1 = x11; //SEGUNDO TERMO x[-n + 6] y22 = cshift(p,[0,-n0]); for i=-20:20//i deve ter o mesmo comprimento de n y2(i+21)= y22(-i+21);//inverntendo o sinal de n end y=y1'+y2+RU1; subplot(221) plot2d3(n,x,style=1)//sinal de entrada x1[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]') https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark8 xlabel('amostra') ylabel('amplitude') subplot(222) plot2d3(n,T,style=2)//Função do sistema sem atraso f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema') xlabel('amostra') ylabel('amplitude') subplot(223) plot2d3(n,T1,style=3)//Função do sistema com deslocamento f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema com deslocamento')//sinal de saída do sistema xlabel('amostra') ylabel('amplitude') subplot(224) plot2d3(n,y,style=5)//Função do sistema para y com deslocamento f.children.children(1).children.thickness=2;//controla a grossura da linha title('Função do sistema para y com deslocamento')//sinal de saída do sistema xlabel('amostra') ylabel('amplitude') 3. RESULTADOS 3.1. Gráficos para linearidade 3.2. Gráficos para invariância https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 9 https://www.docsity.com/?utm_source=docsity&utm_medium=document&utm_campaign=watermark
Compartilhar