29
UNIJUI – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEENG - DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS EGE – CURSO DE ENGENHARIA ELÉTRICA COMANDOS DISCRETOS – PARTE I e II

Relatório Comandos Discretos Parte I e II

Embed Size (px)

Citation preview

UNIJUI UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL

DCEENG - DEPARTAMENTO DE CINCIAS EXATAS E ENGENHARIAS

EGE CURSO DE ENGENHARIA ELTRICA

COMANDOS DISCRETOS PARTE I e II

IJUJUNHO DE 2014

ANDERSON WEBER SCHENKEL RG 727103DOUGLAS KIRSTEN RG 717665JOELSON LOPES DA PAIXO RG 730281

COMANDOS DISCRETOS PARTE I e II

Trabalho apresentado para avaliao parcial na disciplina de Anlise de Sinais e Sistemas II do Curso de Engenharia Eltrica da Universidade Regional do Noroeste do Rio Grande do Sul.

PROFESSOR: MANUEL MARTN PREZ REIMBOLD

IJUJUNHO DE 2014Sumrio

1.Lista de figuras42. Introduo53. Operaes bsicas em sequncias63.1 Adio de Sinais.63.2 Exemplificando a funo sigadd73.3 Multiplicao de Sinais.103.4 Exemplificando a funo sigmult114.1 Mudana de Escala.134.2 Deslocamento.144.3 Simetria em relao ao eixo y (Folding).174.4 Soma de amostras.194.5 Produto de amostras.194.6 Energia de Sinal.204.7 Potncia de Sinal.215. Concluso236. Referncias Bibliogrficas24

1. Lista de figuras

Figura 1: Soma dos sinais 1 e 2.7Figura 2: Sinal plotado.8Figura 3: Sinal dois plotado8Figura 4: Soma dos sinais.9Figura 5: Multiplicao dos sinais 1 e 2 no Matlab10Figura 6: Produto dos sinais 1 e 211Figura 7: Sinal para ser aplicado em uma mudana de escala.12Figura 8: Sinal x1 multiplicado por dois.13Figura 9: Gerando o novo sinal deslocado14Figura 10: Sinal primrio..15Figura 11: Sinal deslocado.15Figura 12: Executando a funo no workspace do Matlab.16Figura 13: Sinal inicial.17Figura 14: Sinal aps a reverso temporal17Figura 15: Clculo da energia do sinal X.19Figura 16: Potncia de um sinal sin(n).21

2. Introduo

Um sinal pode ser considerado como a funo de variveis independentes (tempo, distancia entre outros) que esto presentes em nosso cotidiano das mais diferentes formas como, por exemplo, na msica, sinal de vdeo, voz, dentre outros. Podemos classificar os sinais em: sinais analgicos (sinal de voz), sinais digitais (musica digital), sinais amostrados (circuito com capacitor chaveado) e sinais quantizados.OProcessamento de Sinaisconsiste na anlise e modificao de sinais de forma a extrair informaes dos mesmos e torn-los mais apropriados para alguma aplicao especfica. O mtodo de extrao depende do tipo do sinal e da natureza da informao que ele carrega. O processamento de sinais pode ser feito de formaanalgicaoudigital. Os objetos de interesse do processamento de sinais podem incluir sons, imagens, sries temporais, sinais de telecomunicaes, como sinais de rdio e muitos outros. Alguns exemplos de sinais tpicos so o eletrocardiograma, eletroencefalograma, sinal de voz, imagens, etc.Neste trabalho sero apresentados comandos e funes, definidos no Matlab, com os quais possvel alterar algumas caractersticas dos sinais discretos. Caractersticas tais como: escala, deslocamento, reverso temporal, etc... Sero apresentadas tambm funes que permitem somar e multiplicar um sinal por outro; alm do clculo de potncia e/ou energia de um sinal discreto.

Parte I3. Operaes bsicas em sequnciasSo descritas as operaes bsicas em sinais representadas por sequncias bem como a correspondente implementao dessas operaes no MATLAB. So as seguintes operaes consideradas:3.1 Adies de Sinais. a soma das amostras correspondentes s sequncias de entrada, gerando a sequncia de sada: {x1(n)} + {x2(n)} = {x1(n) + x2(n)}. Em MATLAB, a adio implementada pelo operador +, com a restrio de que os comprimentos das sequncias devem ser os mesmos. Os comprimentos das sequncias so definidas por n1 e n2, respectivamente.A seguir apresentado um programa em Matlab que realiza a operao da soma de dois sinais discretos.function [y,n] = sigadd(x1,n1,x2,n2)% implementa y(n) = x1(n)+x2(n)% -----------------------------% [y,n] = sigadd(x1,n1,x2,n2)% y = soma de sequencia para valores de n que inclue n1 e n2% x1 = primeira sequencia em funcao de n1% x2 = segunda sequencia em funcao de n2 (n2 pode ser diferente de n1)%n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duracao de y(n)y1 = zeros(1,length(n)); y2 = y1; % inicializacaoy1(find((n>=min(n1))&(n=min(n2))&(n100), retorna os ndices de A onde A maior que 100.Para exemplificar, graficamente, o uso dessa funo de soma usaremos o comando stem (n,y) o qual plota, discretamente, os pontos da soma.3.2 Exemplificando a funo sigaddPara exemplificar a soma de sinais vamos criar dois sinais quaisquer no Matlab e a seguir efetuar a soma dos mesmos. sinal1=[1 2 3 4 5];sinal2=[3 4 5 6 8];Vamos definir n1=n2=[1 2 3 4 5];Na figura 1 apresentado o resultado da soma dos sinais (sinal1 + sinal2).

Figura 1

Agora apresentaremos os sinais 1 e 2 e sua respectiva soma nas figuras 2 e 3, plotados com o uso da funo stem:Linha de comando no Matlab para plotar o sinal1: >> stem(n1,sinal1,'r')Figura 2: sinal plotado.

Linha de comando no Matlab para plotar o sinal2: >> stem(n2,sinal2,'b')

Figura 3: sinal dois plotado.

Na figura 4 ser mostrada a plotagem da soma dos sinais 1 e 2. Linha de comando no Matlab para essa plotagem: >> >> stem(n,y,'filled','m')Figura 4: Soma dos sinais.

OBS: As letras entre aspas no comando stem servem para indicar em qual cor queremos plotar, ou seja, usa-se: r para red (vermelho); b para blue (azul); m para magneta (rosa); j o filled serve para preencher os pontos no grfico. Note que sem o filled os pontos ficam ocos.3.3 Multiplicaes de Sinais. a multiplicao dos valores de cada amostra: {x1(n)} *{x2(n)} ={x1(n)x2(n)}. Em Matlab a multiplicao implementada pelo operador .*.A seguir ser apresentado um programa em Matlab capaz de efetuar o produto entre dois sinais discretos.function [y,n] = sigmult(x1,n1,x2,n2)% implementa y(n) = x1(n)*x2(n)% -----------------------------% [y,n] = sigmult(x1,n1,x2,n2)% y = sequencia produto em funcao de n, que inclue n1 e n2% x1 = primeira sequencia em funcao de n1% x2 = segunda sequencia em funcao de n2 (n2 pode ser diferente de n1)%n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duracao de y(n)y1 = zeros(1,length(n)); y2 = y1; %y1(find((n>=min(n1))&(n=min(n2))&(n> stem(n,y,'filled','m')Na figura 6 ilustrado, em Matlab, o produto dos sinais anteriores:Figura 6: Produto dos sinais 1 e 2.

Como se pode notar a funo de multiplicao de sinais, em Matlab, funciona perfeitamente.

Parte II4. Operaes bsicas em sequnciasEste trabalho continuao do estudo de sequncias numricas iniciado anteriormente. So descritas as operaes bsicas em sinais representadas por sequncias bem como a correspondente implementao dessas operaes no MATLAB. O aluno dever exemplificar a instrues aqui listadas com os exerccios apresentados em outros trabalhos, e constatar que o programa em Matlab funciona. Caso no funcione encontrar o erro, modifica-lo e faz-lo deforma que execute corretamente a funo. So as seguintes operaes consideradas:4.1 Mudanas de Escala. Nesta operao cada amostra multiplicada por um escalar a: a{x1(n)}={ax1(n)}. O operador * deve ser usado em MATLAB.Para usar esse comando no Matlab, vamos criar um sinal discreto e escolher um escala para multiplicar por ele.Sendo assim, criamos o sinal a seguir no Matlab:>> x1=[0 1 2 3 4 5];>> n=[0 1 2 3 4 5];Figura 7: Sinal para ser aplicado em uma mudana de escala.

Agora vamos multiplic-lo por um escalar qualquer; no exemplo ser utilizado =2. Para isso basta colocar a seguinte linha do comando no workspace: >> a=2;>> y=a*x1;>> stem(n,y,'m')Figura 8: Sinal x1 multiplicado por dois.

4.2 Deslocamento. Nesta operao, cada amostra x(n) deslocada por uma quantidade k para obter a sequncia y(n)= {x(n-k)} ou equivalentemente com m = n-k, tem-se y(m+k) = {x(m)}.A seguir apresentado um programa em Matlab que realiza a operao de deslocamento de um sinal discreto.function [y,n] = sigshift(x,m,n0)% implementa y(n) = x(n-n0)% -------------------------% [y,n] = sigshift(x,m,n0)%n = m+n0; y = x;

Definindo um degrau como sinal primrio e escolhendo 2 para n0:>> x=[1 1 1 1 1 1];>> m=[0:5]>> n0=2; Figura 9: Gerando o novo sinal deslocado.

Nas figuras 10 apresentado o sinal primrio.

Figura 10: Sinal primrio.

Na figura 11 plotado o sinal deslocado.

Figura 11: Sinal deslocado.

OBS: Na plotagem dos grficos discretos usada a funo stem.

4.3 Simetrias em relao ao eixo y (Folding).

Nesta operao, as amostras de x(n) so copiadas em relao n=0 de modo a obter y(n) = {x(-n)}. O programa que realiza essa operao apresentado abaixo.

function [y,n] = sigfold(x,n)% implementa y(n) = x(-n)% -----------------------% [y,n] = sigfold(x,n)%y = fliplr(x); n = -fliplr(n);

Vamos criar o seguinte sinal no Matlab para testar a funo.>> x=[0 1 2 3 4 5];>> n=0:5;

Figura 12: Executando a funo no workspace do Matlab.

Na figura 13 vamos fazer a plotagem no sinal inicial.

Figura 13: Sinal inicial.

Na figura 14 faremos a plotagem do sinal aps a reverso temporal.

Figura 14: Sinal aps a reverso temporal.

4.4 Somas de amostras.

Nesta operao as amostras so somadas

Em MATLAB, a funo implementada pela funo sum(x(n1: n2)).

Analisando este comando, verificou-se que o mesmo no possibilita uma representao no Matlab. Como apresentada uma soma de amostra de um sinal, entende-se que so um mesmo sinal que compem essas duas amostras. Sendo assim, fazer essa representao algo sem sentido. No se tem como fazer uma soma de amostras (alguns pontos) do sinal neste prprio sinal. No entanto, caso se considere que as amostras so de sinais diferentes, a soma realizada atravs da funo sigadd demonstrada anteriormente (item 2.1). A qual efetua soma de dois sinais.4.5 Produtos de amostras.

Nesta operao as amostras so multiplicadas entre si no intervalo de n1 e n2.

Em MATLAB, a operao implementada por prod(x(n1:n2)).

Da mesma forma como na soma se amostras (item 3.4) esse comando no apresenta uma possibilidade de ser trabalho em Matlab pelos mesmos motivos. Todavia se considerar sinais distintos o produto realizado pela funo sigmult detalhada no item (2.3).

4.6 Energias de Sinal.

A energia de uma sequncia x(n) dada pela frmula: Em MATLAB pode ser usada a funo Ex = sum(x.*conj(x)) ou Ex = sum(abs(x).^2).

Para realizar a clculo da energia de um sinal em Matlab, inicialmente cria-se o sinal que se quer calcular a energia. Para demonstrao do funcionamento do programa, ser usado o sinal a seguir:

X=[4 1 6 7 8 9];n=[0 1 2 3 4 5];

Figura 15: Clculo da energia do sinal X.

Observa-se que o Matlab, uma ferramenta eficiente para calcular a energia de um sinal. Ele apresenta a resposta rpida e confivel.4.7 Potncias de Sinal.

A potncia mdia de uma sequncia com perodo fundamental N pode ser dada como:

Para executar o clculo da potncia de um sinal no Matlab, fez-se o seguinte procedimento: Definiu-se a quantidade de amostras n, o sinal X(n), o perodo do sinal N, e o intervalo onde se calcula a potncia N-1.

>> N=2*pi;>> N-1;>> n=0:0.1:N-1;>> X=sin(n);>> potencia=(sum(X).^2)/N

Figura 16: Potncia de um sinal sin(n).

Com o uso do Matlab, obteve-se o resultado esperado em todos os clculos efetuados. A ferramenta computacional, desde que bem usada, facilita o trabalho na anlise de sinais. Desta forma importante que se consiga ter um bom domnio do software, visto que, nas engenharias e exatas em geral, ele pode ser amplamente utilizado na resoluo de diversos problemas.

5. Concluso

Na realizao das atividades foi possvel fixar os conceitos bsicos de sinais estudados em aula. Esse trabalho tambm permitiu um reforo e ampliao nos conhecimentos a cerca do Matlab. O qual um dos softwares mais utilizados nas mais diversas engenharias. Quanto aos resultados obtidos, conclui-se se foram satisfatrios. Uma vez que responderam conforme esperado. Assim foi possvel entender como usar o Matlab no estudo de sinais. Tambm ficou clara a representao e o trabalho com sinais discretos no software.

6. Referncias Bibliogrficas

HAYES, M. H. Processamento Digital de Sinais - Coleo Schaum. Porto Alegre, RS: Bookman - Ar-tmed Editora, 2006.

HAYKIN, S. e VEEN, B. V. Sinais e Sistemas. Porto Alegre: Bookman, 2001. 668 p.

HSU, H. P. Teoria e Problemas de Sinais e Sistemas - Coleo Schaum, Porto Alegre: Bookman, 2004, 431 p.CHAPMAN, S. J. Programao em MATLAB Para Engenheiros. Editora Thomson; 2003

HANSELMAN, D.; LITTLEFIELD, B. MATLAB 6 Curso Completo. Editora Prentice Hall; 2003MARCHAND, Patrick. Graphics and GUIs with Matlab. Boca Raton : Chapman & Hall, 2003. - 518 p.

GILAT, Amos., Matlab: Com Aplicaes Em Engenharia. 2. ed. - Porto Alegre: Bookman, 2008. - 359 p. :2003.

18