Sistemas e Sinais e Discretos

Documentos relacionados
Sistemas Lineares e Invariantes de Tempo Discreto

Processamento de sinais digitais

A TRANSFORMADA Z. Métodos Matemáticos I C. Prof. Hélio Magalhães de Oliveira, Texto por R. Menezes Campello de Souza

Aula 06 Representação de sistemas LIT: A soma de convolução

Sinais e Sistemas. Tempo para Sistemas Lineares Invariantes no Tempo. Representações em Domínio do. Profª Sandra Mara Torres Müller.

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física

Processamento Digital de Sinais

Fundamentos de sinais e sistemas em tempo discreto

Sinais Elementares e Operações Básicas

Convolução de Sinais

Sinais e Sistemas - Lista 1

Processamento (Digital) de Sinal. Caderno de exercícios para as horas não presenciais

Introdução ao Processamento Digital de Sinais Soluções dos Exercícios Propostos Capítulo 1

Sinais e Sistemas. Sinais e Sistemas Fundamentos. Renato Dourado Maia. Universidade Estadual de Montes Claros. Engenharia de Sistemas

Processamento de sinais digitais Aula 3: Transformada de Fourier (Parte 1)

Transformada Discreta de Fourier (DFT)

Exercícios para Processamento Digital de Sinal. 1 Transformada e Série de Fourier

Introdução aos Sinais e Sistemas

Processamento Digital de Sinais. Convolução. Prof. Dr. Carlos Alberto Ynoguti

Sinais e Sistemas Discretos

Transformada de Fourier Discreta no Tempo (DTFT)

Representação de Fourier para Sinais 1

Sinais e Sistemas - Lista 3 Gabarito

Revisão Análise em frequência e amostragem de sinais. Hilton de Oliveira Mota

Sinais e Sistemas. Sistemas Lineares Invariantes no Tempo. Renato Dourado Maia. Faculdade de Ciência e Tecnologia de Montes Claros

Transformada Discreta de Fourier (DFT)

Aula 1 Sinais e Sistemas Discretos

Sinais e Sistemas. Capítulo INTRODUÇÃO 1.2 SINAIS DE TEMPO DISCRETO

Sinais e Sistemas. Conceitos Básicos. Prof.: Fábio de Araújo Leite

Transformada de Fourier Discreta (DFT)

Sinais e Sistemas - Lista 1. Gabarito

Sistemas Lineares e Invariantes: Tempo Contínuo e Tempo Discreto

3 o Teste (1 a data) Sistemas e Sinais (LEIC-TP) 2008/ de Junho de Respostas

Sistemas lineares. Aula 1 - Sinais

Processamento Digital de Sinais - ENG420

Aula 07 Propriedades da resposta ao impulso

ANÁLISE DE SINAIS E SISTEMAS

Introdução aos Circuitos Elétricos

Sistemas Lineares e Invariantes

Caderno de Exercícios

FFT Realização Eficiente da DFT

Licenciatura em Engenharia Biomédica. Faculdade de Ciências e Tecnologia. Universidade de Coimbra. Análise e Processamento de Bio-Sinais - MIEBM

Sinais e Sistemas Discretos no Tempo Convolução

Teste Tipo. Sinais e Sistemas (LERCI) 2004/2005. Outubro de Respostas

2/47. da matemática é ainda de grande importância nas várias áreas da engenharia. Além disso, lado de Napoleão Bonaparte. 1/47

Análise de Sistemas em Tempo Discreto usando a Transformada Z

O processo de filtragem de sinais pode ser realizado digitalmente, na forma esquematizada pelo diagrama apresentado a seguir:

Processamento (Digital) de Sinal. Caderno de exercícios para as aulas

Resposta em Frequência de Sistemas LTI

Sílvia Mara da Costa Campos Victer Concurso: Matemática da Computação UERJ - Friburgo

Sinais e Sistemas. Sistemas Lineares Invariantes no Tempo. Renato Dourado Maia. Universidade Estadual de Montes Claros. Engenharia de Sistemas

TRANSFORMADA Z. A transformada Z de um sinal x(n) é definida como a série de potências: Onde z é uma variável complexa e pode ser indicada como.

Transformada Rápida de Fourier (FFT)

Aula 15 Propriedades da TFD

Análise de Sistemas LTI através das transformadas

Prof. Luis S. B. Marques

Introdução ao Processamento Digital de Sinais Soluções dos Exercícios Propostos Capítulo 2

Parte I O teste tem uma parte de resposta múltipla (Parte I) e uma parte de resolução livre (Parte II)

Transformada Discreta de Fourier

REPRESENTAÇÃO DE SISTEMAS NO DOMÍNIO Z. n +

Problemas de Processamento de Sinais Estruturas de Sistemas Discretos

Transformada z. Carlos Alberto Ynoguti. September 14, / 53

Processamento Digital de Sinais. Notas de Aula. Transformada Z. Transformada Z - TZ

Transformada Z. Transformada Z

Transformada Z. A transformada Z de uma sequência x n é definida como:

Álgebra Linear I - Aula Bases Ortonormais e Matrizes Ortogonais

Processamento Digital de Sinais. Notas de Aula. Análise Espectral Usando a DFT

Matrizes e Sistemas Lineares

Processamento de sinais digitais

Sinais e Sistemas. Série de Fourier. Renato Dourado Maia. Faculdade de Ciência e Tecnologia de Montes Claros. Fundação Educacional Montes Claros

Estruturas de Sistemas Discretos

Processamento Digital de Sinais

I-6 Sistemas e Resposta em Frequência. Comunicações (6 de Dezembro de 2012)

Capítulo 1 - Cálculo Matricial

Momentos: Esperança e Variância. Introdução

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física

Técnicas de Desenho de Filtros Digitais

NÍVEL BÁSICO CAPÍTULO II

Sinais e Sistemas - Lista 3

Notas breves sobre números complexos e aplicações

04/04/ :31. Sumário. 2.1 Sistemas LIT de Tempo Discreto 2.2 Sistemas LIT de Tempo Contínuo 2.3 Propriedades dos Sistemas LIT

Transcrição:

Sistemas de Processamento Digital Engenharia de Sistemas e Informática Ficha 1 2005/2006 4.º Ano/ 2.º Semestre Sistemas e Sinais e Discretos Nesta ficha pretende-se estudar os conceitos associados aos sinais e sistemas discretos no tempo. Além disso, será introduzido um número significativo de tipos de sinais importantes assim como as operações com os mesmos. Em termos gerais, a maior ênfase desta ficha será a representação e a implementação de sinais e sistemas com o MATLAB. Sistemas Discretos no Tempo Os sinais são normalmente classificados em analógicos e discretos. Um sinal analógico será apresentado com a seguinte notação x a (t), no qual a variável t representa o tempo em segundos. Por outro lado um sinal discreto será representado por x(n), no qual a variável n é um valor inteiro, que representa instantes temporais. Assim chama-se sinal discreto no tempo, a uma sequência de números que é denotada com a seguinte notação:..., x( 1), x( 0), x( 1),... = = ( ) { xn ( )} xn onde a seta indica a posição da amostra em n=0. No MATLAB representa-se uma sequência de duração finita através dum vector linha, de valores. Contudo, este vector não contém informação sobre a posição da amostra n. Assim, uma representação correcta de x(n), necessita de dois vectores, um para x e outro para n. Por exemplo, a sequência 2, 1, 1, 0, 1, 4, 3, 7 xn ( ) = { xn ( )} = Pode ser representada no MATLAB como, >>n=[-3,-2,-2,0,1,2,3,4]; x=[2,1,-1,0,1,4,3,7]; Geralmente, utiliza-se um vector x isolado quando a posição da amostra não é necessária, ou quando essa informação é trivial (e.g. quando a sequência começa em n=0). Uma sequência arbitrária de duração infinita não pode ser representada em MATLAB, devido às limitações de memória. Tipos de Sequências Em geral, no processamento digital de sinal utilizam-se várias sequências elementares para objectivos de análise. Seguidamente, apresenta-se a sua representação em MATLAB. Impulso Unitário δ ( n) 1, n = 0 = =..., 0, 0,1, 0, 0,... 0 n 0 Sistemas de Processamento Digital Manuel A. E. Baptista 1

Para implementar δ, no intervalo n 1 n 0 n 2, usa-se o seguinte código: function [x,n] = impseq(n0,n1,n2) Gera x(n) = delta(n-n0); n1 <= n,n0 <= n2 ---------------------------------------------- [x,n] = impseq(n0,n1,n2) if ((n0 < n1) (n0 > n2) (n1 > n2)) error('os argumentos devem satisfazer a condicao n1 <= n0 <= n2') end n = [n1:n2]; x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))]; x = [(n-n0) == 0]; Degrau Unitário ( ) u n 1, n >= 0 = =..., 0, 0,1, 1, 1,... 0 n < 0 Para implementar u(n), no intervalo n 1 n 0 n 2, usa-se o seguinte código: function [x,n] = stepseq(n0,n1,n2) Gera x(n) = u(n-n0); n1 <= n,n0 <= n2 ------------------------------------------ [x,n] = stepseq(n0,n1,n2) if ((n0 < n1) (n0 > n2) (n1 > n2)) error('os argumentos devem satisfazer n1 <= n0 <= n2') end n = [n1:n2]; x = [zeros(1,(n0-n1)), ones(1,(n2-n0+1))]; x = [(n-n0) >= 0]; Sequência Exponencial Real n ( ), ; x n = a n a Em MATLAB o operador array.^ é necessário para implementar uma sequência exponencial real. Por exemplo, para gerar x(n) = (0.9) n, 0 n 10, precisamos da seguinte script em MATLAB: >> n = [0:10]; x = (0.9).^n; Sequência Exponencial Complexa ( ) ( σ+ jω ) = 0 n x n e n Onde α é a atenuação e ω 0 é a frequência em radianos. A função exp do MATLAB é usada para gerar a sequência exponencial. Por exemplo, para gerar x(n) = exp [(2 + j3)n], 0 n 10, é necessária a seguinte script: >> n = [0:10]; x = exp((2+3j)*n); Sequência Sinusoidal ( ) ( ω θ) x n = cos n+, n 0 Sistemas de Processamento Digital Manuel A. E. Baptista 2

Onde t é a fase em radianos. Uma função MATLAB cos (ou sin) é usada para gerar sequências sinusoidais. Por exemplo, para gerar x(n) = 3 cos(0.1πn+π/3) + 2 sin(0.5πn), 0 n 10, é necessária a seguinte script: >> n = [0:10]; x = 3*cos(0.1*pi*n+pi/3) + 2*sin(0.5*pi*n); Sequência Aleatória Em MATLAB para gerar uma sequência aleatória de N amostras, existem dois tipos de sequências pseudoaleatórias. A função rand(1,n) gera uma sequência aleatória de comprimento N, cujos os elementos se encontram distribuídos uniformemente em [0,1]. Por outro lado, a função randn(1,n) gera uma sequência N aleatória com distribuição Gaussiana, com valor médio 0 e variância 1. Sequência Periódica Uma sequência x(n) é periódica se x(n) = x(n + N), n. O menor valor inteiro N que satisfaz a relação ~ anterior, designa-se por período fundamental. Neste caso utiliza-se x (n), para representar uma sequência ~ periódica. Para gerar P períodos de x (n) a partir de um período {x(n), 0 n N-1}, podemos copiar x(n), P vezes: >> xtilde = [x,x,,x]; Mas, uma forma elegante em MATLAB, apela à utilização das suas capacidades de indexação. Em primeiro lugar, gera-se uma matriz contendo P linhas de dos valores x(n). Depois, pode-se concatenar P linhas num vector mais comprido, usando o construtor (:). Contudo, este construtor funciona apenas com colunas. Assim teremos de usar o operador que calcula a transposta duma matriz,, para obtermos o mesmo efeito. >> xtilde = x *ones(1,p); P colunas de x; x é um vector linha >> xtilde = xtilde(:); vector coluna mais comprido >> xtilde = xtilde ; vector linha mais comprido Operações com sequências Adição de sinais Esta adição amostra amostra é dada por {x 1 (n)} + {x 2 (n)} = {x 1 (n) + x 2 (n)} A sua implementação em MATLAB faz-se através do operador aritmético +. Contudo, os comprimentos das sequências x1(n) e x2(n) deverão ser os mesmos. Se as sequências forem de comprimentos diferentes, ou se a posição das amostras for diferente entre sequências com o mesmo tamanho, este operador não pode ser usado directamente. Em MATLAB podemos então implementar a seguinte função: function [y,n] = sigadd(x1,n1,x2,n2) implements y(n) = x1(n)+x2(n) ----------------------------- [y,n] = sigadd(x1,n1,x2,n2) y = soma da sequencia em n, que inclui n1 e n2 x1 = primeira sequencia em n1 x2 = segunda sequência em n2 (n2 pode ser diferente de n1) n = min(min(n1),min(n2)):max(max(n1),max(n2)); duração de y(n) y1 = zeros(1,length(n)); y2 = y1; inicialização y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; x1 com duração de y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; x2 com duração de y y = y1+y2; Sistemas de Processamento Digital Manuel A. E. Baptista 3

Multiplicação de sinais Esta adição amostra amostra é dada por {x 1 (n)}. {x 2 (n)} = {x 1 (n)x 2 (n)} Esta é implementada através do operador de array.*. Mais uma vez, se aplicam as mesmas restrições para a aplicação do operador.*, como no caso do operador +. function [y,n] = sigmult(x1,n1,x2,n2) implements y(n) = x1(n)*x2(n) ----------------------------- [y,n] = sigmult(x1,n1,x2,n2) y = produto da sequência em n, que inclui n1 e n2 x1 = primeira sequência em n1 x2 = segunda sequência em n2 (n2 pode ser diferente de n1) n = min(min(n1),min(n2)):max(max(n1),max(n2)); duração de y(n) y1 = zeros(1,length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; x1 com duração de y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; x2 com duração de y y = y1.* y2; Escamento de sinais Nesta operação temos a multiplicação de cada amostra por um escalar α, α{x(n)} = {αx(n)} Para a sua implementação utiliza-se o operador aritmético *. Deslocamento de sinais Nesta operação cada amostra é deslocada dum quantidade k, para obter a sequência deslocada y(n) Se fizermos m=n-k, então n= m+k e a operação acima é dada por, y(m+k) = {x(m)} Assim, esta operação não tem nenhum efeito no vector x, mas o vector n é alterado pela adição de k a cada elemento. Vejamos a sua implementação em MATLAB. function [y,n] = sigshift(x,m,n0) implements y(n) = x(n-n0) ------------------------- [y,n] = sigshift(x,m,n0) n = m+n0; y = x; Inversão (Folding) de sinais Nesta operação cada amostra de x(n) e invertida em torno de n=0, para obter a sequência invertida y(n). y(n) = {x(-n)} Em MATLAB esta operação é realizada através da função fliplr(x) para os valores das amostras e pela função -fliplr(n) para as posições das amostras, como mostra a seguinte implementação: function [y,n] = sigfold(x,n) implements y(n) = x(-n) ----------------------- [y,n] = sigfold(x,n) y = fliplr(x); n = -fliplr(n); Sistemas de Processamento Digital Manuel A. E. Baptista 4

Soma de Amostras Esta operação difere da relativa à adição de sinais pois, esta adiciona todos os valores das amostras de x(n) entre n 1 e n 2. n2 n1 ( ) = ( ) +... + ( ) x n x n x n 1 2 A sua implementação faz-se através da função sum(x(n1:n2)). Multiplicação de Amostras Esta operação difere da relativa à multiplicação de sinais pois, esta multiplica todos os valores das amostras de x(n) entre n 1 e n 2. n2 n1 ( ) = ( )... ( ) x n x n x n 1 2 A sua implementação faz-se através da função prod(x(n1:n2)). Parte Par e Ímpar dum Sinal Uma sequência de valores reais x e (n) é par (simétrica) se x e (-n)=x e (n) Analogamente, uma sequência de valores reais x o (n) é ímpar (assimétrica) se x o (-n)=x o (n) Então, qualquer sequência arbitrária de valores reais x(n) pode ser decomposta nas suas componentes par e ímpar x(n)=x e (n)+x o (n) x e (n)=1/2[x(n)+x(-n)] e x o (n)=1/2[x(n)-x(-n)] respectivamente. A sua implementação em MATLAB pode ser: function [xe, xo, m] = evenodd(x,n) Sinal Real decomposto na parte par e ímpar ------------------------------------------------- [xe, xo, m] = evenodd(x,n) if any(imag(x) ~= 0) error('x não é uma sequência real') end m = -fliplr(n); m1 = min([m,n]); m2 = max([m,n]); m = m1:m2; nm = n(1)-m(1); n1 = 1:length(n); x1 = zeros(1,length(m)); x1(n1+nm) = x; x = x1; xe = 0.5*(x + fliplr(x)); xo = 0.5*(x - fliplr(x)); Séries Geométricas n 1 α, para α 1 ou 1 α n= 0 N n= 0 N n 1 α α, α, para n>=0 1 α Sistemas de Processamento Digital Manuel A. E. Baptista 5

Sistemas Discretos Em termos matemáticos, um sistema discreto no tempo, descreve-se através dum operador T[.] que toma uma sequência x(n) (excitação) e a transforma numa outra sequência y(n) (resposta). Isto é, Y(n) = T[x(n)] Nesta disciplina, dizemos que um sistema processa um sinal de entrada resultando num sinal de saída. Em geral lidamos com sistemas lineares. Sistemas Lineares Um sistema discreto T[.] é um operador linear L[.] se e só se L[.] satisfaz o princípio da sobreposição, L[a 1 x 1 (n)+a 2 x 2 (n)] = a 1 L[x 1 (n)] + a 2 L[x 1 (n)], a 1, a 2, x 1 (n), x 2 (n) Assim, a saída y(n) dum sistema linear para uma entrada aleatória x(n) é dada por Y(n) = L[x(n)] = [L x( k) δ ( n k) ] = x( kl ) [ δ ( n k)] n= A resposta L[δ(n-k)] pode ser interpretada como a resposta dum sistema linear no instante n, devido a uma amostra unitária no instante k. Chama-se resposta impulsional e é denotada por h(n,k). A saída é dada pela soma, Sistema Linear Invariante no Tempo n= x( khnk ) (, ) Um sistema linear em que o par x(n) e y(n), é invariante a um deslocamento n no tempo, designa-se como invariante no tempo. Para um sistema LTI, o L[.] e os operadores de deslocamento são reversíveis. n= x(n) L[.] y(n) Delocamento k y(n-k) x(n) Deslocamento k x(n-k) L[.] y(n-k) Então um sistema LTI, pode ser representado por LTI[.]. Seja x(n) e y(n) o par entrada saída dum sistema LTI. Então h(n,k) torna-se numa função invariante no tempo h(n-k), e a saída é dada por Convolução Y(n) = LTI[x(n)] = [L x( khn ) ( k) ] n= Y(n) = LTI[x(n)] = [L x( khn ) ( k) ] A resposta impulsional dum sistema LTI é dada por h(n). A operação anterior, designa-se por soma da convolução linear e representa-se por Exercícios n= Y(n) x( n)* h( n) x(n) h(n) y(n) = x( n)* h( n ) Exercício 1 Gere e trace cada uma das seguintes sequências, no intervalo indicado. a) x(n) = 2δ(n+2) - δ(n-4), -5 n 5. b) x(n) = n[u(n) u(n-10)] + 10e -0.3(n-10) [u(n-10)-u(n-20)], 0 n 20. = c) x(n) = cos(0.04πn) + 0.2ω(n), 0 n 50, onde ω(n) é uma sequência aleatória gaussiana, com valor médio zero e variância unitária. d) ~ x (n) =..., 5, 4, 3, 2, 1,5, 4,3, 2,1, 5, 4 3, 2, 1,..., -10 n 9. Sistemas de Processamento Digital Manuel A. E. Baptista 6

Exercício 2 Considere a sequência, x(n) = Determine e represente as seguintes sequências. a) x 1 (n)=2x(n-5)-3x(n+4) b) x 2 (n)=x(3-n)+x(n)x(n-2) 1, 2,3, 4,5, 6,7, 6,5, 4,3, 2,1 Exercício 3 Gere o sinal complexo, x(n) = e (-0.1+j0.3)n, -10 n 10 e represente o seu módulo, fase, parte real e parte imaginária, em quatro gráficos separados. Exercício 4 Atendendo às condições associadas ao cálculo da série geométricas em termos de convergências, implemente para cada uma dessas uma função que realize o seu cálculo. Exercício 5 Considere a sequência x(n) = u(n) u(n-10). Decomponha x(n) na suas partes par e ímpar e represente-as. Exercício 6 A operação dilatação dum sinal (ou decimação) define-se como y(n) = x(nm), em que a sequência x(n) é subamostrada dum factor M...., 2, 4,3, 6,5, 1,8,... e.g. x(n) = então se M=2 teremos, y(n) =..., 2, 3,5, 8,... Desenvolva uma função em MATLAB dnsample, que tenha a forma function y = dnsample(x,m), para realizar a função acima. Para o efeito, utilize os mecanismos de indexação. Exercício 7 Considere o impulso rectangular x(n) = u(n) u(n-10) como a entrada dum sistema LTI, com resposta impulsional, h(n) = (0.9) n u(n) Determine a saída y(n), para: i. n < 0; ii. 0 n < 9; iii. n 9. Exercício 8 Dadas as sequências seguintes, 3,11,7, 0, 1, 4, 2 x(n) =, -3 n 3; h(n) = 2,3,0, 5, 2,1, -1 n 4; Determine a convolução y(n) * h(n). Nota: use a função >> y = conv (x,h); Exercício 9 Porém, a função anterior não fornece nem aceite qualquer informação no tempo, tiverem duração arbitrária. O que é necessário é um ponto de início e um ponto de fim de y(n). Dada a duração finita de x(n) e h(n), é fácil determinar esses pontos. { x(n); n xb n n xe } e { h(n); n hb n n he } Então: n yb = n xb + n hb e n ye = n xe + n he >>Function [y,ny] = conv_m (x, nx, h, nh) Sistemas de Processamento Digital Manuel A. E. Baptista 7