Processamento de Sinais

1.755 visualizações

Publicada em

Processamento de Sinais

Publicada em: Engenharia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.755
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
82
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Processamento de Sinais

  1. 1. Processamento Digital de Sinais Carlos Alexandre Mello Centro de Informática – UFPE 2013
  2. 2. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 2 Agradecimentos à primeira turma de Processamento Digital de Sinais dos cursos de Engenharia da Computação e Ciência da Computação de 2010.1: Adriano Damascena, Bernardo Fonseca, Daker Fernandes, Daniel Brito, Fernando Rodrigues, Gabriel Carvalho, João Carlos Procópio, Lucas André Paes, Luis Felipe Pereira, Onildo Ferraz Filho, Rafael Menezes, Renan Pires, Rodolpho de Siqueira, Rodrigo Perazzo, Thiago Lima e Thiago Henrique Fernandes.
  3. 3. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 3 Índice 1. Processamento Digital de Sinais ......................................................................6 1.1 Principais Tipos de Sinais ...........................................................................7 1.2 Sistemas Discretos no Tempo.....................................................................9 1.3 Sistemas Lineares e Invariantes no Tempo ..............................................10 1.4 Sistemas LTI como Filtros Seletores de Frequência.................................14 1.5 Representação de Sequências pela Transformada de Fourier .................18 1.5.1 Propriedades da Transformada de Fourier.........................................21 1.6 Códigos do MatLab ...................................................................................22 1.7 Exercícios..................................................................................................30 1.8 Bibliografia Complementar ........................................................................33 2. A Transformada Z...........................................................................................34 2.1 Propriedades da Transformada Z..............................................................36 2.2 Pares de Transformadas Z........................................................................39 2.3 Exemplos de Cálculo da Transformada Z .................................................39 2.4 Propriedades da Região de Convergência................................................47 2.5 A Transformada Z Inversa.........................................................................48 2.6 Exercícios..................................................................................................57 2.7 Bibliografia Complementar ........................................................................59 3. Teoria da Amostragem ...................................................................................60 3.1 Teorema de Shannon................................................................................65 3.2 Re-Obtenção do Sinal a partir de suas amostras......................................70 4. Filtros Digitais .................................................................................................73 4.1 Filtros Digitais............................................................................................75 4.2 Filtros FIR..................................................................................................79 4.4 Exercícios................................................................................................108 4.5 Bibliografia Complementar ......................................................................109 5. Técnicas de projeto de filtros ........................................................................110 5.1 Projeto de Filtros FIR ..............................................................................113 5.1.1 Projeto usando janelas .....................................................................114 5.1.2 Técnicas de Projeto por Amostragem em Frequência......................140 5.1.3 Projeto Equirriple Ótimo....................................................................142 5.2 Projeto de Filtros IIR................................................................................145 5.2.1 Escala Relativa.................................................................................146 5.2.2 Características de Protótipos Analógicos .........................................149 5.3 Transformações em Frequência..............................................................158 5.4 Comparação entre Filtros FIR e IIR.........................................................160 5.5 Exercícios................................................................................................162 5.6 Bibliografia Complementar ......................................................................163 6. Transformada Discreta de Fourier ................................................................164 6.1 A Série Discreta de Fourier .....................................................................165 6.2 A Transformada Discreta de Fourier .......................................................170 6.3 Propriedades da Transformada Discreta de Fourier ...............................172 6.4 A Transformada Discreta Bi-Dimensional de Fourier ..............................175 6.5 O Espectrograma ....................................................................................177
  4. 4. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 4 6.6 Exercícios................................................................................................181 6.7 Bibliografia Complementar ......................................................................183 7. Transformada Rápida de Fourier (FFT- Fast Fourier Transform) .................184 7.1 Algoritmos Rápidos .................................................................................184 7.2 Algoritmo de Cooley-Tukey ou Decimação no Tempo ............................186 7.3 Outras FFTs ............................................................................................197 7.4 Exercícios................................................................................................199 7.5 Bibliografia Complementar ......................................................................200 8. Análise Wavelet ............................................................................................201 8.1 A Transformada Wavelet.........................................................................204 8.2 Análise em Multiresolução.......................................................................208 8.3 Sobre os coeficientes das wavelets ........................................................211 8.4 Wavelets no MatLab................................................................................216 8.5 Exercícios................................................................................................223 8.6 Bibliografia Complementar ......................................................................225 9. Processamento Digital de Imagens ..............................................................226 9.1 Digitalização............................................................................................229 9.2 Sistema Computacional de Cores...........................................................232 9.3 Histograma..............................................................................................236 9.4 Filtragem de Imagens Digitais.................................................................238 9.5 Compressão de Imagens ........................................................................246 9.6 Processamento de Imagens no MatLab..................................................248 9.7 Exercícios................................................................................................252 9.8 Bibliografia Complementar ......................................................................253 10. Técnicas de Codificação de Áudio e Vídeo ................................................254 10.1 Teoria dos Códigos ...............................................................................254 10.2 Algoritmos de Compressão ...................................................................258 10.2.1 Código de Huffman.........................................................................259 10.2.2 Run-length ......................................................................................262 10.2.3 Algoritmo de Lempel-Ziv-Welch......................................................262 10.3 Algoritmos de codificação multimídia ....................................................263 10.3.1 Codificação de Vídeo......................................................................264 10.3.2 Codificação de Áudio......................................................................278 10.4 Implementações no MatLab ..................................................................283 10.4.1 Processamento de Vídeo no MatLab .................................................283 10.4.2 Processamento de Áudio no MatLab .................................................289 10.5 Exercícios..............................................................................................299 10.6 Bibliografia Complementar ....................................................................300 11. Processamento de Voz...............................................................................301 11.1 Amostragem e Quantização..................................................................308 11.2 Técnicas Temporais para Processamento de Voz................................315 11.2.1 Energia de Curta Duração ..............................................................317 11.2.2 Magnitude de Curta Duração..........................................................319 11.2.3. Taxa de Passagem pelo Zero........................................................320 11.2.4. Função de Autocorrelação.............................................................322 11.3 Análise Cepstral ....................................................................................325
  5. 5. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 5 11.4 Exercícios..............................................................................................330 11.5 Bibliografia Complementar ....................................................................331
  6. 6. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 6 1. Processamento Digital de Sinais Sinais estão presentes em diversas situações do dia-a-dia do ser humano. Um sinal pode ser definido como uma função que carrega uma informação. A forma mais comum para nós é a comunicação por sinal de voz. Nesse exemplo, temos o sinal gerado pelo trato vocal e o sinal recebido pelo sistema auditivo. Apesar de ser o mesmo sinal transmitido a forma como ele é processado é inerente ao receptor. O processamento de sinais lida com a representação, transformação e manipulação dos sinais e da informação que eles contêm. Até a década de 60, a tecnologia para processamento de sinais era basicamente analógica. A evolução de computadores e microprocessadores juntamente com diversos desenvolvimentos teóricos causou um grande crescimento na tecnologia digital, surgindo o processamento digital de sinais (PDS). Um aspecto fundamental do processamento digital de sinais é que ele é baseado no processamento de seqüências de amostras. Para tanto, o sinal contínuo no tempo é convertido nessa seqüência de amostras, i.e., convertido em um sinal discreto no tempo. Após o processamento digital, a seqüência de saída pode ser convertida de volta a um sinal contínuo no tempo. A maior parte do processamento de sinais envolve processar um sinal para obter outro sinal. Normalmente, isso é conseguido por um processo conhecido como filtragem. Sinais podem ser classificados em quatro diferentes categorias dependendo de carcaterísticas de tempo e dos tipos de valores que eles podem assumir. Sinais contínuos no tempo (ou analógicos) são definidos para qualquer valor de tempo e eles assumem valores no intervalo contínuo (a, b), onde a pode ser -∞ e b pode ser +∞. Podem ser representados por uma função de variáveis contínuas. Sinais discretos no tempo são definidos apenas para certos valores específicos de tempo. Podem ser representados matematicamente por uma sequência de números reais ou complexos, x. O n-ésimo número dessa seqüência é denotado por x[n]. Assim, x é formalmente escrito como:
  7. 7. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 7 x = {x[n]}, -∞ <n < ∞ onde n é um inteiro. Tais seqüências são geradas a partir de um processo de amostragem periódica de um sinal analógico. Assim, o valor numérico do n- ésimo número da seqüência é igual ao valor do sinal analógico xa(t) no tempo nT, i.e.: x[n] = xa(nT), -∞ <n < ∞ Os valores de amplitude de sinais contínuos ou discretos no tempo podem ser contínuos ou discretos. Se um sinal pode assumir qualquer valor dentro de um espaço finito ou infinito, ele é dito um sinal contínuo em valores. Sinais digitais são aqueles para os quais tanto o tempo quanto a amplitude são discretos. Ou seja, ele é discreto no tempo e só pode assumir valores dentro de um conjunto finito de possíveis valores (é discreto em valores). Sinais também podem ser classificados em determinísticos ou aleatórios. Qualquer sinal que podem ser unicamente descrito por uma expressão matemática, uma tabela de dados ou uma regra bem definida é chamado determinístico. Esse termo é usado para destacar que quaisquer valores passados, presentes e futuros do sinal são conhecidos precisamente, sem incerteza. No entanto, em aplicações práticas, os sinais não podem ser representados precisamente por equações matemáticas ou suas descrições são muito complexas para uso. Isso indica que tais sinais têm comportamentos imprevisíveis sendo chamados de sinais aleatórios. 1.1 Principais Tipos de Sinais Em um estudo sobre processamento digital de sinais, alguns sinais são de mais importância. Dentre eles, temos o impulso unitário, δ[n], definido como:    = ≠ = 0,1 0,0 ][ n n nδ
  8. 8. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 8 Um dos mais importantes aspectos do impulso é que uma seqüência arbitrária pode ser representada como uma soma de impulsos escalonados e deslocados. Por exemplo, a seqüência p[n] abaixo: pode ser representada como: p[n] = 3.δ[n+3] + 2.δ[n + 1] + 4.δ[n - 2] – 1.δ[n – 3] De forma mais geral, qualquer seqüência x[n] pode ser representada como: ∑ ∞ −∞= −= k knkxnx ][][][ δ Outra seqüência importante é o degrau unitário, u[n]:    < ≥ = 0,0 0,1 ][ n n nu O degrau relaciona-se com o impulso como: ∑−∞= = n k knu ][][ δ Uma forma alternativa de representar o degrau em termos de impulso é obtida interpretando o degrau em termos de uma soma de impulsos deslocados. Isso pode ser expresso como: ∑ ∞ = −= 0 ][][ k knnu δ Por outro lado, o impulso relaciona-se com o degrau unitário como: δ[n] = u[n] – u[n – 1]
  9. 9. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 9 Uma seqüência exponencial é importante na análise de sistemas discretos e invariantes no tempo. A forma geral de uma seqüência exponencial é dada por: x[n] = A.αn 1.2 Sistemas Discretos no Tempo Um sistema discreto no tempo é definido matematicamente como uma transformação que mapeia uma seqüência de entrada x[n] em uma seqüência de saída y[n]. Isso pode ser denotado por: y[n]=T{x[n]} como representado na Fig. 1.1. Fig. 1.1. Representação de um sistema discreto no tempo Alguns exemplos ilustram sistemas simples: 1) Sistema de atraso ideal: y[n] = x[n – nd], -∞ <n < ∞ 2) Média móvel: ∑−= − ++ 2 1 ][ 1 1 21 M Mk knx MM A seguir, destacamos algumas importantes propriedades dos sistemas. 1) Um sistema é dito sem memória (memoryless systems) se a saída y[n] a cada valor de n depende apenas da entrada x[n] no mesmo valor de n. Ex: y[n] = {x[n]}2 2) Um sistema é linear se obedece ao princípio da superposição. Ou seja:
  10. 10. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 10 T{a.x1[n] + b.x2[n]} = a.T{x1[n]} + b.T{x2[n]} Ex: Acumulador: ∑−∞= = n k kxny ][][ 3) Um sistema é invariante no tempo é um sistema no qual um deslocamento no tempo (ou atraso) da seqüência de entrada gera um deslocamento correspondente na seqüência de saída. Ou seja, suponha um sistema que transforma uma seqüência de entrada x[n] na seqüência de saída y[n]. Se a seqüência de entrada sofre um deslocamento de n0, x[n] = x[n – n0], então a seqüência de saída torna-se y[n] = y[n – n0]. Ex: Um sistema de atraso ideal é um sistema invariante no tempo. Ex: O seguinte exemplo mostra um sistema que não é invariante no tempo: y[n] = x[M.n], -∞ <n < ∞ 4) Um sistema é dito causal se ele não depende de valores futuros da seqüência. Ou seja, o valor de y[n1] pode ser calculado apenas com valores de x[n] para n ≤ n1. Ex: Um sistema não causal: y[n] = x[n + 1] – x[n] 5) Um sistema é dito estável se toda entrada limitada provoca uma saída limitada. Assim, se, para todo n, |x[n]| ≤ B < ∞, para algum valor finito B, então |y[n]| ≤ C < ∞, para algum valor finito C. 1.3 Sistemas Lineares e Invariantes no Tempo Uma classe importante de sistemas consiste naqueles que são lineares e invariantes no tempo. Como dito acima, os sistemas lineares são aqueles que obedecem ao princípio da superposição. Se a propriedade da linearidade é
  11. 11. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 11 combinada com a representação de uma seqüência geral como uma combinação de impulsos, então um sistema linear pode ser completamente caracterizado pela sua resposta ao impulso. Seja hk[n] a resposta do sistema a δ[n – k]. Assim, como: ∑ ∞ −∞= −= k knkxnx ][][][ δ então }][][{][ ∑ ∞ −∞= −= k knkxTny δ Pelo princípio da superposição, podemos escrever: ∑∑ ∞ −∞= ∞ −∞= =−= k k k nhkxknTkxny ][][}][{][][ δ De acordo com essa equação, a resposta do sistema a qualquer entrada pode ser expressa em termos da resposta a δ[n – k]. A propriedade da invariância no tempo implica que, se h[n] é a resposta a δ[n], então a resposta a δ[n - k] é h[n – k]. Com isso, podemos dizer que: ∑ ∞ −∞= −= k knhkxny ][][][ (Eq. 1.1) Como conseqüência, um sistema linear invariante no tempo é completamente descrito por sua resposta ao impulso. Essa equação é conhecida como soma de convolução (convolution sum) que pode ser representada pela notação: y[n] = x[n]*h[n] (Eq. 1.2) Apesar da semelhança na notação, deve-se salientar que a soma de convolução para sinais discretos não é uma aproximação da integral de convolução.
  12. 12. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 12 Propriedades da soma de convolução: 1) Comutatividade: x[n]*h[n] = h[n]*x[n] Isso pode ser facilmente justificável com uma mudança de variável na Eq. 1.1. Especificamente, podemos fazer m = n – k. 2) Distributividade: x[n]*(h1[n] + h2[n]) = x[n]*h1[n] + x[n]*h2[n] 3) Conexão em Cascata 4) Conexão em Paralelo
  13. 13. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 13 5) Causalidade Como definido anteriormente, um sistema é dito causal se sua resposta não depende de eventos futuros. Ou seja, para calcular a saída de y[n0], precisamos apenas de x[n], n ≤ n0. Isso implica na condição: h[n] = 0, n < 0 Assim, para testar a causalidade basta testar se h[n] = 0 para n<0. 6) Estabilidade A estabilidade é garantida se: ∞<= ∑ ∞ −∞=n nhS |][| Para qualquer que seja a entrada x[n] de um sistema: x[n]* δ[n] = x[n] Assim, em geral, se um sistema linear invariante no tempo tem uma resposta ao impulso h[n], então seu sistema inverso, se existir, tem resposta ao impulso hi[n] definida pela relação: h[n]*hi[n] = hi[n]*h[n] = δ[n] Uma classe importante de sistemas lineares invariantes no tempo consiste daqueles para os quais x[n] e y[n] se relacionam através de uma equação de diferenças de coeficientes constantes lineares de n-ésima ordem da forma: ∑ ∑= = −=− N k M k kk knxbknya 0 0 ][][ (Eq. 1.3) Um exemplo de um tal sistema é um acumulador definido pela seqüência cujo diagrama de blocos pode ser visto na figura abaixo:
  14. 14. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 14 Tal sistema é representado pela equação de diferenças: y[n] = y[n – 1] + x[n] ou y[n] - y[n – 1] = x[n] Pela Eq. 1.3, temos: N = 1, a0 = 1, a1 = -1, M = 0 e b0 = 1. Assim, para cada valor de n a saída é dada pela entrada x[n] somada com o valor anterior do acumulador, y[n – 1]. 1.4 Sistemas LTI como Filtros Seletores de Frequência O termo filtro é normalmente usado para descrever um dispositivo que discrimina, de acordo com algum atributo do objeto aplicado como entrada, o que passa através dele. Por exemplo, como um filtro de ar que deixa o ar passar, mas retém partículas de impureza. Um sistema LTI também funciona como um tipo de discriminante ou filtrando entre os vários componentes de frequência na sua entrada. A forma da filtragem é definida pela resposta de frequência H(ω) que depende da escolha de parâmetros do sistema (como os coeficientes do filtro). Assim, com uma escolha apropriada de parâmetros, podemos projetar filtros seletores de frequência que deixam passar sinais contendo componentes de frequência em algumas bandas e atenuando sinais contendo componentes de frequência em outras bandas. Em geral, um sistema LTI modifica o espectro do sinal de entrada X(ω) de acordo com a resposta em frequência H(ω) que leva a um sinal de saída com espectro Y(ω) = H(ω)X(ω). De certa forma, H(ω) atua como uma função de peso nos diferentes componentes de frequência do sinal de entrada. Assim, um
  15. 15. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 15 sistema LTI pode ser visto como um filtro embora não bloqueie completamente qualquer componente de frequência do sinal de entrada. Consequentemente, os termos “sistema LTI” e “filtro” são sinônimos e são normalmente usados sem distinção. Um filtro é um sistema LTI usado para desempenhar a função de filtragem seletora de frequência. Filtragem é usada em processamento digital de sinais em uma grande variedade de formas, como remoção de ruído, equalização, análise espectral de sinais, etc. Filtros são normalmente classificados de acordo com suas características no domínio da frequência como passa-baixa, passa-alta, passa-faixa e rejeita-faixa. As características de resposta em magnitude ideais desses tipos de filtros estão ilustradas na Fig. 1.2. Esses filtros ideais têm características de ganho constante na banda de passagem (normalmente, tomados como unitários) e ganho zero na banda de corte. Mais detalhes sobre filtros digitais e formas de projeto serão vistos nos Capítulos 4 e 5.
  16. 16. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 16 Fig. 1.2. Resposta em magnitude para alguns filtros seletores de frequência discretos no tempo.
  17. 17. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 17 Outra característica de um filtro ideal é uma resposta de fase linear. Considere que um sinal {x[n]} com componentes de frequência dentro da faixa de ω1< ω <ω2 passa por um filtro com resposta em frequência:    << = − senão Ce H nj 0 )( 21 0 ωωω ω ω onde C e n0 são constantes. O sinal na saída do filtro terá um espectro: 0 )()()()( nj eCXHXY ω ωωωω − == Aplicando as propriedades da transformada de Fourier, obtemos a saída no domínio do tempo: Y[n] = C.x[n – n0] Consequentemente, a saída do filtro é simplesmente uma versão escalonada e atrasada do sinal de entrada. Tanto um atraso simples quanto uma diferença em escala são considerados toleráveis e não distorções do sinal. Portanto, filtros ideais têm uma característica de fase linear na banda de passagem que é: Θ(ω) = -ωn0 A derivada da fase em relação à frequência é medida em unidades de atraso. Assim, podemos definir o atraso do sinal como uma função da frequência como: ω ω ωτ d d g )( )( Θ −= τg(ω) é chamado de atraso de grupo (group delay) do filtro. Entendemos τg(ω) como o atraso de tempo que os componentes de frequência ω de um sinal são
  18. 18. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 18 submetidos à medida que ele passa da entrada à saída do sistema. Note que, quando Θ(ω) é linear, τg(ω) = n0 = constante. Nesse caso, todas as componentes de frequência do sinal de entrada sofrem o mesmo atraso de tempo. Como conclusão, todos os filtros ideais têm características de magnitude constante e fase linear dentro da banda de passagem. Em todos os casos, tais filtros não são fisicamente realizáveis, mas servem como idealizações matemáticas para filtros práticos. 1.5 Representação de Sequências pela Transformada de Fourier Assim como sinais do contínuo, os sinais discretos no tempo também podem ser representados de formas diferentes. Uma das formas mais utilizadas é através da transformação do sinal para o domínio da freqüência através da Transformada de Fourier. Muitas seqüências podem ser representadas por uma integral de Fourier da forma: ∫− = π π ωω ω π deeXnx njj )( 2 1 ][ (Eq. 1.4) onde X(ejw ) é dada por: ∑ ∞ −∞= − = n njj enxeX ωω ][)( (Eq. 1.5) A Eq. 1.4 é conhecida como a Transformada Inversa de Fourier, enquanto a Eq. 1.5 é a Transformada de Fourier. Em geral, a Transformada de Fourier é uma função complexa em ω. Como na resposta à freqüência, algumas vezes, pode-se expressar X(ejω ) na forma: X(ejω ) = XR(ejω ) + j.XI(ejω )
  19. 19. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 19 ou na forma polar: X(ejω ) = |X(ejω )| ej∠X(e^jω) As quantidades |X(ejω )| e ∠X(ejω ) são chamadas de magnitude e fase da Transformada de Fourier (também chamada de espectro de Fourier ou, simplesmente, espectro). Há casos onde a Transformada de Fourier para uma dada seqüência não converge. Esses casos podem ser definidos através da Transformada Z como veremos posteriormente. Podemos verificar facilmente que as Eqs. 1.4 e 1.5 são inversas realmente. Especificamente, considere: ^ ][][ 2 1 nxdeemx nj m mj =      ∫ ∑ − ∞ −∞= − π π ωω ω π Se trocarmos a ordem da integração com o somatório, temos:         = ∫∑ − − ∞ −∞= π π ω ω π demxnx mnj m )( ^ 2 1 ][][ Calculando a integral dentro dos parênteses, temos:    ≠ = = − − =∫− − nm nm mn mn de mnj ,0 ,1 )( ))(sin( 2 1 )( π π ω π π π ω ][ mn −= δ
  20. 20. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 20 Assim: ][][][][ ^ nxmnmxnx m =−= ∑ ∞ −∞= δ Exemplo 1: Seja x[n] = an u[n]. A TF é dada por: ∑ ∑∑ ∞ = − ∞ = −− ∞ −∞= − − ==== 0 0 1 1 )(][)( n jw n njwjwnn n jwnjw ae aeeaenxeX Que converge se |a.e-jw | < 1 ou |a| < 1. OBS: α α − →∑ ∞ = 1 1 0n n , para |α| < 1  Exemplo 2: Vamos calcular a resposta ao impulso de um filtro passa-baixa ideal cuja resposta em freqüência é:    << < = π||,0 ||,1 )( ww ww eH c cjw LPF A resposta o impulso hLPF[n] pode ser encontrada através da Transformada Inversa de Fourier:
  21. 21. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 21 ∫∫ −− == c c w w jwnjwnjw LPFLPF dwedweeHnh ππ π π 2 1 )( 2 1 ][ ∞<<−∞= n n nw nh c LPF , )sin( ][ π  1.5.1 Propriedades da Transformada de Fourier Algumas propriedades da TF: Seja: x[n] ↔ X(ejw ) e y[n] ↔ Y(ejw ) Propriedade Seqüência Transformada de Fourier Linearidade a.x[n] + b.y[n] a.X(ejw ) + b.Y(ejw ) Deslocamento no Tempo x[n – nd] e-jwnd X(ejw ) Deslocamento na Freq ejwon x[n] X(ej(w – w0) ) Reverso no Tempo x[-n] X(e-jw ) X*(e-jw ), se x[n] é real Diferenciação em Freq n.x[n] j dX(ejw )/dw Convolução x[n]*y[n] X(e-jw ).Y(e-jw ) Modulação x[n].y[n] ∫− − π π θθ θ π deYeX wjj )()( 2 1 )(
  22. 22. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 22 1.6 Códigos do MatLab Função Impulso function [x, n] = impseq(n0, n1, n2) % Impulso n = [n1:n2]; x = [(n-n0) == 0]; stem (x); Exemplos: 1. >> impseq (5, 0, 10); 2. x[n] = 2.δ[n + 2] - δ[n – 4], -5 ≤ n ≤ 5 >> n = [-5:5]; >> x = 2*impseq(-2, -5,5) - impseq(4, -5, 5); >> stem (n, x); title ('Exemplo de Sequencia'); xlabel('n'); ylabel('x[n]');
  23. 23. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 23 Função Degrau function [x, n] = stepseq(n0, n1, n2) % Degrau n = [n1:n2]; x = [(n-n0) >= 0]; stem (x); Exemplos 1. >> stepseq (5, 0, 10); 2. x[n] = n[u[n] – u[n – 10]] + 10e-0.3(n – 10) [u[n – 10] – u[n – 20]], 0 ≤ n ≤ 20 >> n = 0:20; >> x1 = n.*(stepseq(0,0,20) - stepseq(10,0,20)); >> x2 = 10*exp(-0.3*(n-10)).*(stepseq(10,0,20) - stepseq(20,0,20)); >> x = x1 + x2; >> stem(n,x); title('Sequencia de Degraus'); xlabel('n'); ylabel ('x[n]');
  24. 24. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 24 Senóide function x = sinseq(n1,n2) % Senóide n = [n1:0.1:n2]; x = 3*cos(0.1*pi*n + pi/3) + 2*sin(0.5*pi*n); stem (x); Exemplo: >> sinseq (0, 10); Operações em sequências Adição de sinais y[n] = x1[n] + x2[n] function [y,n] = sigadd(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1, length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1)) = x1; y2(find((n>=min(n2))&(n<=max(n2))==1)) = x2; y = y1 + y2; Multiplicação de sinais y[n] = x1[n].x2[n] function [y,n] = sigmult(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1, length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1)) = x1; y2(find((n>=min(n2))&(n<=max(n2))==1)) = x2; y = y1.*y2;
  25. 25. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 25 Deslocamento y[n] = x[n – k] function [y,n] = sigshift(x, m, n0) n = m + n0; y = x; Inversão y[n] = x[-n] function [y,n] = sigfold(x,n) y = fliplr(x); n = -fliplr(n); Exemplo: Seja x[n] = {1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1}. O valor em negrito corresponde ao centro da sequência. Sobre as sequências, temos que: >> n = -2:10; >> x = [1:7, 6:-1:1]; a) Plote x1[n] = 2x(n – 5) – 3x[n + 4]. >> [x11, n11] = sigshift(x, n, 5); >> [x12, n12] = sigshift(x, n, -4); >> [x1, n1] = sigadd(2*x11,n11,-3*x12, n12); >> stem (n1, x1); title(‘Sequencia’); xlabel (‘n’); ylabel (‘x1(n)’);
  26. 26. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 26 b) Plote x2[n] = x[3 – n] + x[n].x[n – 2] >> [x21, n21] = sigfold(x, n); >> [x21, n21] = sigshift(x21, n21,3); >> [x22, n22] = sigshift(x, n,2); >> [x22, n22] = sigmult(x, n, x22, n22); >> [x2, n2] = sigadd(x21, n21, x22, n22); >> stem (n2, x2); title('Sequencia'); >> xlabel ('n'); ylabel ('x2(n)'); Convolução Considere as sequências: x = [3, 11, 7, 0, -1, 4, 2], -3 ≤ n ≤ 3 h = [2, 3, 0, -5, 2, 1]; -1 ≤ n ≤ 4 onde, novamente, os termos em negrito indicam a origem do eixo das abscissas. As sequências podem ser vistas abaixo: x[n] h[n]
  27. 27. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 27 Podemos usar a função conv do MatLab diretamente: >> x = [3, 11, 7, 0, -1, 4, 2]; >> h = [2, 3, 0, -5, 2, 1]; >> y = conv (x, h); y = 6 31 47 6 -51 -5 41 18 -22 -3 8 2 O problema do uso da função conv é que não sabemos, na resposta, onde está a origem da sequência. Para tanto, vamos criar uma nova função: function [y, ny] = conv_m (x, nx, h, nh) nyb = nx(1) + nh(1); nye = nx(length(x)) + nh(length(h)); ny = [nyb:nye]; y = conv(h, x); >> x = [3, 11, 7, 0, -1, 4, 2]; >> nx = [-3:3]; >> h = [2, 3, 0, -5, 2, 1]; >> nh = [-1:4]; >> [y, ny] = conv_m (x, nx, h, nh) y = 6 31 47 6 -51 -5 41 18 -22 -3 8 2 ny = -4 -3 -2 -1 0 1 2 3 4 5 6 7 A amplitude -51 está no ponto de origem (ny = 0).
  28. 28. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 28 Equações de Diferenças e Resposta ao Impulso Exemplo: Dada a seguinte equação de diferenças: y[n] – y[n – 1] + 0.9y[n – 2] = x[n], para todo n a) Calcule e plote sua resposta ao impulso h[n] para n = -20,.., 100. Como vimos anteriormente, uma equação de diferenças é da forma: ∑ ∑= = −=− N k M k kk knxbknya 0 0 ][][ De acordo com a equação dada, temos: a = [1, -1, 0.9] e b = [1] No MatLab, fazemos: >> x = impseq(0, -20, 120); >> n = [-20:120]; >> h = filter(b, a, x); >> stem(n, h); title('Resposta ao impulso'); xlabel('n'); ylabel('h[n]');
  29. 29. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 29 b) Calcule e plote sua resposta ao degrau s[n] para n = -20,.., 100. No MatLab, fazemos: >> x = stepseq(0, -20, 120); >> n = [-20:120]; >> h = filter(b, a, x); >> stem(n, h); title('Resposta ao degrau'); xlabel('n'); ylabel('s[n]'); c) O sistema é estável? Como vimos, um sistema é estável se: ∞<= ∑ ∞ −∞=n nhS |][| Assim, no MatLab, basta fazermos: >> sum(abs(h)) Ans = 14.8785 Logo, o sistema é estável. 
  30. 30. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 30 1.7 Exercícios 1. Considere um sistema linear arbitrário com entrada x[n] e saída y[n]. Mostre que se x[n] = 0 para todo n, então y[n] deve ser zero para todo n também. 2. Usando a definição de linearidade, mostre que o sistema de atraso ideal e a média móvel são ambos lineares. 3. Para cada sistema abaixo, determine se ele é (1) estável, (2) causal, (3) linear, (4) invariante no tempo e (5) sem memória: a. T(x[n]) = g[n]x[n], com g[n] dado b. T(x[n]) = Σn k=n0 x[k] c. T(x[n]) = x[n – n0] d. T(x[n]) = exp(x[n]) e. T(x[n]) = a.x[n] + b, a e b números reais f. T(x[n]) = x[-n]) g. T(x[n]) = x[n] + 3.u[n + 1] 4. O sistema T abaixo é invariante no tempo. Quando as entradas dele são x1[n], x2[n] e x3[n], as saídas são y1[n], y2[n] e y3[n], respectivamente.
  31. 31. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 31 a) Determine se o sistema pode ser linear. b) Se a entrada x[n] do sistema é um impulso (δ[n]), qual a saída y[n]? c) Determine a relação entre a entrada e a saída do sistema. 5. Para cada par de sequências abaixo, use convolução discreta para encontrar a resposta à entrada x[n] do sistema linear invariante no tempo com resposta ao impulso h[n]. a) b) 6. Considere o sistema com entrada x[n] e saída y[n] que satisfaz a equação de diferenças: y[n] = n.y[n – 1] + x[n] O sistema é causal tal que, se x[n] = 0, para n < 0, então y[n] = 0, para n < 0. a) Se x[n] = δ[n], determine y[n] para todo n. b) O sistema é linear? c) O sistema é invariante no tempo?
  32. 32. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 32 7. Plote a seguintes sequências no MatLab: a) x[n] = n2 .(u[n + 5] – u[n – 6]) + 10.δ[n], -5 ≤ n ≤ 5 b) x[n] = 20.(0,5)n .(u[n – 4] – u[n - 10]), -5 ≤ n ≤ 5 8. Seja x[n] = {1, -2, 4, 6, -5, 8, 10}, gere e plote no MatLab as seguintes sequências: a) x[n] = 3.x[n + 2] + x[n – 4] – 2.x[n] b) x[n] = 5.x[5 + n] + 4.x[n + 4] + 3.x[n] 9. Usando as seguintes sequências: x1[n] = u[n + 10] – u[n – 20] x2[n] = 2.δ[n – 2] + 5.u[n + 10] x3[n] = 5.u[n + 2] – 6.u[n – 3] mostre que a convolução linear tem as seguintes propriedades como válidas: Comutatividade: x1[n]*x2[n] = x2[n]*x1[n] Associatividade: (x1[n]*x2[n])*x3[n] = x1[n]*(x2[n]*x3[n]) Distributividade: x1[n]*(x2[n] + x3[n]) = x1[n]*x2[n] + x1[n]*x3[n]) Identidade: x[n]* δ[n – n0] = x[n – n0] Use a função conv_m.m apresentada anteriormente. 10. A operação de dilatação de sinal (ou decimação ou downsampling) é definida por: y[n] = x[nM] na qual a sequência de entrada é down-sampled por um fator inteiro M. Por exemplo, se : x[n] = {...., -2, 4, 3, -6, 5, -1, 8,...} então a sequência down-sampled por um fator de 2 é dada por: y[n] = {..., -2, 3, 5, 8, ..} Escreva uma função no MatLab que execute essa dilatação. A função deve ser da forma: function [y, n] = dnsample(x, n, M) Cuidado com a origem do eixo!! 
  33. 33. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 33 1.8 Bibliografia Complementar 1. Vinay K. Ingle, John G. Proakis, Digital Signal Processing, Thomson Learning, 2000. 2. Michael Weeks, Digital Signal Processing Using MatLab and Wavelets, Infinity Science Press, 2007. 3. Alan V. Oppenheim, Ronald Schafer, Discrete Time Signal Processing, Prentice Hall, 1989
  34. 34. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 34 2. A Transformada Z A Transformada Z (TZ) é uma ferramenta matemática poderosa para análise de sinais e sistemas. A transformada Z constitui a forma discreta da transformada de Laplace. Seja a Transformada de Fourier (TF) de uma seqüência dada por: ∑ ∞ −∞= − = n jwnjw enxeX ][)( Seja z = ejw . Temos então, a TZ definida como: ∑ ∞ −∞= − = n n znxzX ][)( Essa é chamada também de TZ bilateral. A transformada unilateral é dada por: ∑ ∞ = − = 0 ][)( n n znxzX Notadamente, há uma relação entre a TZ e a TF. Se z é uma variável complexa, z pode ser escrita como ejw = cos(w) + j.sen(w). Nesse caso, a TZ transforma-se na TF. De forma mais geral, se z = r.ejw , sua representação gráfica corresponde ao círculo no Plano imaginário (chamado de Plano-Z). Se esse círculo tem raio igual a 1, então temos a condição da TZ = TF (Fig. 2.1). Assim, a TZ calculada no círculo unitário é igual à TF. A Transformada Z não converge para todos os valores de Z. Onde a TZ converge é chamada de região de convergência (ROC – Region of Convergence). Para garantir a convergência é preciso que: ∞<∑ ∞ = − 0 |][| n n znx Assim, é possível que TZ convirja mesmo se a TF não convergir. Para a TF convergir, a ROC da TZ deve conter o círculo unitário. Uma transformada Z só está completamente definida se sua ROC estiver determinada.
  35. 35. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 35 Fig. 2.1. Plano Z: representação gráfica da transformada Z no plano complexo. No círculo unitário, a transformada Z reduz-se à transformada de Fourier. A série definida pela TZ é chamada de série de Laurent. Uma tal série representa uma função contínua em qualquer ponto dentro da região de convergência. Assim, a TZ e todas as suas derivadas devem ser funções contínuas de z na ROC. Isso implica que, se a região de convergência uniforme inclui o círculo unitário, então a TF e suas derivadas com respeito a w são funções contínuas de w. Além disso, a seqüência deve ser absolutamente somável, i.e., uma seqüência estável. Entre as mais úteis e importantes TZs estão aquelas para as quais X(z) é uma função racional dentro da região de convergência, i.e.: )( )( )( zQ zP zX = onde P(z) e Q(z) são polinômios em z. Os valores de z que fazem X(z) = 0 são chamados de zeros de X(z). Os valores de z para os quais X(z) tende a infinito são chamados de pólos de X(z). Os pólos de X(z) são as raízes do polinômio do denominador.
  36. 36. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 36 2.1 Propriedades da Transformada Z a) Linearidade: ax1[n] + bx2[n] ↔ aX1(z) + bX2(z), ROC = ROCx1∩ ROCx2 Comentários: A prova de tal propriedade vem diretamente da definição de transformada Z: ∑ ∞ −∞= − = n n znxzX ][)( Considere que x[n] = ax1[n] + bx2[n]. Logo: =+=+= ∑∑ ∞ −∞= −− ∞ −∞= − n nn n n znbxznaxznbxnaxzX ][][])[][()( 2121 ∑∑∑∑ ∞ −∞= − ∞ −∞= − ∞ −∞= − ∞ −∞= − +=+= n n n n n n n n znxbznxaznbxznax ][][][][ 2121 = aX1(z) + bX2(z) b) Deslocamento no tempo: x[n + n0] ↔ zn 0.X(z), ROC = ROCx (cuidado deve ser tomado observando o que acontece para z = 0 ou z = ∞). Comentários: Suponha que y[n] = x[n – n0]. Logo: ∑ ∞ −∞= − −= n n znnxzY ][)( 0 Fazendo m = n – n0: ∑∑∑ ∞ −∞= −− ∞ −∞= −− ∞ −∞= +− === m mn m nm m nm zmxzzzmxzmxzY ][..][][)( 000 )( )(.)( 0 zXzzY n− =
  37. 37. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 37 c) Multiplicação por uma exponencial discreta: an x[n] ↔ X(z/a), ROC = |a|ROCX Comentários: Essa propriedade é observável substituindo an x[n] na definição de TZ: ∑∑ ∞ −∞= − ∞ −∞= − == n nn n n znxaznxzX ][][)( Como conseqüência disso, todas as posições de pólos e zeros são escalonadas por um fator de a, já que, se X(z) tiver um pólo em z = z1, X(a-1 z) terá um pólo em z = a.z1. Se a for um número real, essa propriedade pode ser entendida como uma compressão ou expansão do plano Z. d) Convolução no tempo: x1[n]*x2[n] ↔ X1(z).X2(z) , ROC contém ROCx1∩ ROCx2 Comentários: Seja: ∑ ∞ −∞= −= k knxkxny ][][][ 21 Tal que: ∑ ∞ −∞= − = n n znyzY ][)( ∑ ∑ ∞ −∞= − ∞ −∞=       −= n n k zknxkx ][][ 21 Se mudarmos a ordem dos somatórios: ∑ ∑ ∞ −∞= ∞ −∞= − −= k n n zknxkxzY ][][)( 21 Fazendo no segundo somatório m = n – k, temos:
  38. 38. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 38 ∑ ∑ ∞ −∞= − ∞ −∞= −       = k k m m zzmxkxzY ][][)( 21 Assim, para valores de z dentro das regiões de convergência para X1(z) e X2(z), podemos escrever: )()()( 21 zXzXzY = e) Diferenciação no Domínio Z: n.x[n] ↔ -z.dX(z)/dz, ROC = ROCx (cuidado deve ser tomado observando o que acontece para z = 0 ou z = ∞). Comentários: Essa propriedade pode ser facilmente provada diferenciando a definição da TZ: ∑ ∞ −∞= − = n n znxzX ][)( ∑ ∞ −∞= −− −= n n znxn zd zdX 1 ][)( )( )( . (-z) ∑ ∞ −∞= −− −−=− n n znxnz zd zdX z 1 ][)( )( )( ∑ ∞ −∞= − ==− n n nnxZznnx zd zdX z ]}[{][ )( )( f) Reverso no tempo: x[-n] ↔ X(z-1 ), ROC = 1/ROCX Comentários: Novamente, a definição de TZ prova esta propriedade: ∑ ∞ −∞= − −= n n znxzX ][)( Fazendo m = -n, temos:
  39. 39. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 39 )()]([][)( 11 − ∞ −∞= −− ∞ −∞= === ∑∑ zXzmxzmxzX m m m m 2.2 Pares de Transformadas Z Segue um conjunto de pares de Transformadas Z mais úteis: 2.3 Exemplos de Cálculo da Transformada Z A seguir, vamos apresentar alguns cálculos de transformada Z e como definir a ROC.
  40. 40. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 40 Exemplo 1: x[n] = an u[n] ∑ ∑ ∑ ∑ ∞ −∞= ∞ −∞= ∞ = ∞ = −−−− ==== n n n n nnnnnn azzaznuaznxzX 0 0 1 )(][][)( ROC: |az-1 | < 1 ⇒ |z| > |a| ||||, 1 1 )()( 1 0 1 az az z az azzX n n > − = − == − ∞ = − ∑ Para a = 1: 1||, 1 1 )(][][ 1 > − =→←= − z z zXnunx Z Observamos que, para a = 1, a ROC não contém o círculo unitário. Logo, a TF para essa seqüência não converge. 
  41. 41. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 41 Exemplo 2: x[n] = -an u[-n – 1] ∑∑∑ ∞ −∞= − ∞ −∞= − ∞ −∞= − −−−=−−−== n nn n nn n n znuaznuaznxzX ]1[]1[][)( ∑∑∑ ∞ = − ∞ = − − −∞= − −=−=−= 0 1 1 1 )(1)( n n n nn n nn zazazazX ROC: |a-1 z|<1 ⇒ |z|<|a| ||||, 1 1 1)(1)( 1 0 1 az az z za zazX n n < − = − −=−= − ∞ = − ∑ 
  42. 42. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 42 Exemplo 3: x[n] = (1/2)n u[n] + (-1/3)n u[n] ∑∑ ∞ −∞= − ∞ −∞= −               −+      == n n nn n n znunuznxzX ][ 3 1 ][ 2 1 ][)( ∑∑ ∞ −∞= − ∞ −∞= −       −+      = n n n n n n znuznuzX ][ 3 1 ][ 2 1 )( ∑∑ ∞ = − ∞ = −       −+      = 00 3 1 2 1 )( n n n n n n zzzX ∑∑ ∞ = − ∞ = −       −+      = 0 1 0 1 3 1 2 1 )( n n n n zzzX (i) (ii) ROC(i) = |(1/2).z-1 | < 1 ⇒ |z| > 1/2 ROC(ii) = |(-1/3).z-1 | < 1 ⇒ |z| > 1/3 ROC = ROC(i) ∩ ROC(ii) = |z| > 1/2 11 3 1 1 1 2 1 1 1 )( −− + + − = zz zX Para X(z), os pólos são dados por z=1/2 e z=-1/3 e os zeros são z=0 e z=1/12. Uma das propriedades da ROC que podemos observar aqui é que os pólos não fazem parte dela. 
  43. 43. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 43 Exemplo 4: x[n] = (-1/3)n u[n] – (1/2)n u[-n – 1] ∑∑ ∞ −∞= − ∞ −∞= −         −−      −      −== n n nn n n znunuznxzX ]1[ 2 1 ][ 3 1 ][)( ∑∑ ∞ −∞= − ∞ −∞= − −−      −      −= n n n n n n znuznuzX ]1[ 2 1 ][ 3 1 )( ∑∑ − −∞= − ∞ = −       −      −= 1 0 2 1 3 1 )( n n n n n n zzzX ∑∑ ∞ = −∞ = −       −      −= 10 2 1 3 1 )( n n n n n n zzzX ∑∑ ∞ = −∞ = −               −+      −= 0 1 0 1 2 1 1 3 1 )( n n n n zzzX (i) (ii) ROC(i) = |(-1/3).z-1 | < 1 ⇒ |z| > 1/3 ROC(ii) = |(1/2)-1 .z| < 1 ⇒ |z| < 1/2 ROC = ROC(i) ∩ ROC(ii) = 1/3 < |z| < 1/2
  44. 44. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 44 ROC(i) ROC(ii) ROC: z z zzz zX 21 2 3 1 1 1 21 1 1 3 1 1 1 )( 11 − − + = − −+ + = −− 
  45. 45. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 45 Exemplo 5: Função delta δ[n]: δ[n] = 0, n ≠ 0, e δ[n] = 1, n = 0 Transformada Z: ∑ ∞ −∞= − === n n zznxzX 1.1][)( 0 ROC = Todo o Plano Z  Exemplo 6: x[n] = δ[n – n0] ∑∑ ∞ −∞= −− ∞ −∞= − =−== n nn n n zznnznxzX 0 ][][)( 0δ ROC = Todo o Plano Z.  Nos exemplos 5 e 6, x(n) é finita. X(z) é um polinômio de base z-1 e todo o plano Z menos quando z = 0. Nesse ponto, a transformada não é definida. Exemplo 7: Determine a transformada Z da sequência: x[n] = (n – 2).(0,5)(n-2) cos[π(n – 2)/3]u[n – 2] Considerando a propriedade do deslocamento no tempo (x[n + n0] ↔ zn 0.X(z)), temos: X(z) = Z{x[n]} = z-2 .Z{n(0,5)n .cos(πn/3)u[n]} Considerando agora a diferenciação no domínio Z (n.x[n] ↔ -z.dX(z)/dz), temos: X(z) = Z{x[n]} = z-2 .{-z.[d(Z{(0,5)n .cos(πn/3).u[n]}/dz} A transformada Z de (0,5)n .cos(πn/3).u[n] é, pela tabela da Seção 2.2:
  46. 46. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 46 21 1 25,0) 3 cos.5,0(21 ) 3 cos.5,0(1 ]][) 3 cos()5,0[( −− − +− − = zz z nu n z n π π π 21 1 25,05,01 25,01 ]][) 3 cos()5,0[( −− − +− − = zz z nu n z n π , ROC = |z| > 0,5 Assim:       +− − −= −− − − 21 1 1 25,05,01 25,01 )( zz z dz d zzX 4321 543 0625,025,075,01 0625,05,025,0 )( −−−− −−− +−+− +− = zzzz zzz zX ROC = |z| > 0,5 O seguinte procedimento no MatLab pode ajudar a verificar se a transformada está correta. Para tanto, vamos calcular as primeiras 8 amostras da sequência x[n] correspondente a X(z): >> b = [0, 0, 0, 0.25, -0.5, 0.0625]; >> a = [1, -1, 0.75, -0.25, 0.0625]; >> [delta, n] = impseq(0,0,7) delta = 1 0 0 0 0 0 0 0 n = 0 1 2 3 4 5 6 7 >> x = filter(b, a, delta) % checar a sequência x = 0 0 0 0.2500 -0.2500 -0.3750 -0.1250 0.0781 >> x = [(n-2).*(1/2).^(n-2).*cos(pi*(n-2)/3)].*stepseq(2, 0, 7) % sequência original x = 0 0 0 0.2500 -0.2500 -0.3750 -0.1250 0.0781 Conferindo com a sequência gerada pelo processo de filtragem. 
  47. 47. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 47 2.4 Propriedades da Região de Convergência A região de convergência (ROC) traz algumas propriedades: 1) A ROC é um anel ou disco no Plano Z com centro na origem. 2) A TF da seqüência x[n] converge absolutamente se e somente se a ROC da TZ contém o círculo unitário. 3) A ROC não pode conter pólos. 4) Se x[n] é uma seqüência de duração finita, a ROC é todo plano Z. 5) Se x[n] é causal (right-sided), a ROC extende-se para além dos pólos mais externos, possivelmente tendendo a infinito. 6) Se x[n] é não causal (left-sided), a ROC extende-se para uma região menor que o menor pólo até zero.
  48. 48. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 48 7) Se x[n] é uma seqüência com componentes parte causal e parte não-causal, então a ROC é um anel. 8) A ROC é uma região conectada. 2.5 A Transformada Z Inversa O cálculo da TZ inversa não é tão direto quanto o da TF. Aqui, existem diversas maneiras formais e informais de calcular a TZ inversa dada uma expressão algébrica e a ROC associada. Seja a Transformada Z definida por: ∑ ∞ −∞= − = n n znxzX ][)( Suponha que multiplicamos ambos os lados da transformada por zk-1 e integremos os dois lados sobre um contorno fechado dentro da ROC de X(z) que inclui a origem. Tal contorno pode ser visto na Figura 2.2. Assim, temos: ∫ ∫ ∑ ∞ −∞= −−− = C C n nkk dzznxdzzzX 11 ][)( (1) onde C denota o contorno fechado na ROC de X(z), tomado no sentido anti- horário. Como a série converge nesse contorno, podemos mudar a ordem da integração e do somatório no lado direito, ficando com:
  49. 49. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 49 ∫ ∑ ∫ ∞ −∞= −−− = C n C nkk dzznxdzzzX 11 ][)( (2) Pelo teorema de integração de Cauchy:    ≠ = =∫ −− kn kn dzz j C nk ,0 ,1 2 1 1 π (3) onde C é qualquer contorno que inclui a origem. Aplicando (3), o lado direito de (2) reduz-se a 2πj.x[k] e assim a fórmula inversa é alcançada: ∫ − = C k dzzzX j kx 1 )( 2 1 ][ π (4) Fig. 2.2. Contorno C para a integral da transformada Z inversa. Essa é a inversa da transformada Z para uma dada seqüência. No entanto, nós não precisaremos usar essa inversão já que dentro de sinais e sistemas, as transformadas Z são funções racionais (i.e., razão entre dois polinômios). Para
  50. 50. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 50 tais transformadas, há métodos mais simples de inversão que envolvem tabelas conhecidas e métodos mais simples. Os principais métodos são: - Método da inspeção - Expansão em Frações Parciais - Expansão em Séries de Potências O método da inspeção é o mais simples e consiste em apenas observar a transformada e ver se ela é da forma de alguma TZ conhecida. Por exemplo, dado: 1 2 1 1 1 )( − − = z zX , |z|> ½ Por observação, sabemos que: x[n] = -(½)n u[-n – 1] Notadamente, o método da inspeção não é o mais apropriado para calcular TZs inversas mais complexas. Para ver como obter uma expansão em frações parciais, vamos assumir que X(z) pode ser expressa como uma razão de polinômios em z-1 , i.e., ∑ ∑ = − = − = N k k k M k k k za zb zX 0 0 )( Para calcular a transformada inversa, tentamos expressar X(z) da forma: ∑∑ = − − = − − += N k k k NM r r r zd A zBzX 1 1 0 1 )(
  51. 51. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 51 Exemplo 8: Suponha: )1)( 2 1 1( 21 2 1 2 3 1 21 )( 11 21 21 21 −− −− −− −− −− ++ = +− ++ = zz zz zz zz zX Vamos considerar que: = − + − += − − 1 2 1 1 0 1 2 1 1 )( z A z A BzX )1)( 2 1 1( ) 2 1 1()1()1)( 2 1 1( 11 1 2 1 1 11 0 −− −−−− −− −+−+−− = zz zAzAzzB )1)( 2 1 1( ) 2 1 1()1() 2 1 2 1 1( 11 1 2 1 1 211 0 −− −−−−− −− −+−++−− = zz zAzAzzzB Logo: = −− +−−−+++ = −− −− )1)( 2 1 1( ) 2 1 () 2 1 2 3 ()( )( 11 0 2 210 1 210 zz BzAABzAAB zX )1)( 2 1 1( 21 11 21 −− −− −− ++ = zz zz Assim, temos: 1210 =++ AAB
  52. 52. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 52 2 2 1 2 3 210 =−−− AAB 21 2 1 00 =⇒= BB Com isso, ficamos com:         −=+ −=+ ⇒ =−−− =++ 5 2 1 1 2 2 1 3 12 21 21 21 21 AA AA AA AA Resolvendo, temos: A1 = -9 e A2 = 8 Logo: 1 1 1 8 2 1 1 9 2)( − − − + − − += zz zX que corresponde à Transformada Z da sequência: ][.8][) 2 1 .(9][2][ nununnx n +−= δ  A expansão em série de potências é aplicada quando a transformada Z é um polinômio da forma: ∑ ∞ −∞= − = n n znxzX ][)( Isso ocorre, principalmente, se a TZ é uma seqüência finita. Por exemplo, considere que a TZ de uma seqüência x[n] é da forma: )1)(1)( 2 1 1()( 1112 −−− −+−= zzzzzX
  53. 53. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 53 Uma expansão em frações parciais para esse caso não é apropriada. No entanto, efetuando os produtos, podemos reduzir a expressão a: 12 2 1 1 2 1 )( − +−−= zzzzX que equivale à seqüência: x[n] = δ[n + 2] – ½.δ[n + 1] - δ[n] + ½.δ[n – 1]  Exemplo 9: Considere a função: 143 )( 2 +− = zz z zX Primeiro, vamos re-arranjar X(z) tal que ela se torne uma função em potências de z-1 : 21 1 21 1 43 0 43 )( −− − −− − +− + = +− = zz z zz z zX Usando o MatLab, temos1 : >> b = [0 1]; >> a = [3 -4 1]; >> [R, p, C] = residuez(b, a) R = 0.5000 -0.5000 p = 1.0000 0.3333 C = [ ] 1 Para mais informação sobre a função residuez, digite help residuez no MatLab.
  54. 54. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 54 que corresponde a: 1 1 3 1 1 5,0 1 5,0 )( − − − − − = z z zX De maneira similar, podemos voltar à forma anterior: >> [b, a] = residuez(R, p, C) b = -0.0000 0.3333 a = 1.0000 -1.3333 0.3333 que corresponde a: 21 1 21 1 21 1 43 0 43 3 1 3 4 1 3 1 0 )( −− − −− − −− − +− + = +− = +− + = zz z zz z zz z zX como antes.  Exemplo 10: Calcule a transformada Z inversa de: )9,01()9,01( 1 )( 121 −− +− = zz zX , |z|>0,9 Podemos calcular o polinômio no denominador assim como os resíduos usando MatLab: >> b = 1; >> a = poly([-0.9 -0.9 0.9]) % calcula os coeficientes do polinômio que tem essas raízes a = 1.0000 0.9000 -0.8100 -0.7290
  55. 55. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 55 >> [R, p, C] = residuez(b, a) R = 0.2500 0.2500 - 0.0000i 0.5000 + 0.0000i p = 0.9000 -0.9000 + 0.0000i -0.9000 - 0.0000i C = [ ] Isso significa que X(z) pode ser expandido em frações parciais como: 1211 9,01 25,0 )9,01( 5,0 9,01 25,0 )( −−− + + − + − = zzz zX , |z| > 0,9 121 1 1 9,01 25,0 )9,01( 9,0 9,0 5,0 9,01 25,0 )( −− − − + + − + − = zz z z z zX , |z| > 0,9 que, de acordo com as propriedades da transformada Z e a tabela da Seção 2.2, nos dá: ][)9,0(25,0]1[)9,0)(1( 9 5 ][)9,0.(25,0][ 1 nununnunx nnn −++++= + Vamos tentar deixar todas as parcelas em função de u[n]. Para tanto, vamos trabalhar na segunda parcela: ]1[)9,0)(1( 9 5 1 ++ + nun n Observe que: a.u[n + 1] = a.u[n = -1] + a.u[n]. Logo: ][)9,0)(1( 9 5 )9,0)(1( 9 5 ]1[)9,0)(1( 9 5 1 1 11 nunnnun n n nn + −= ++ +++=++ ][)9,0)(1( 9 5 ]1[)9,0)(1( 9 5 11 nunnun nn ++ +=++
  56. 56. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 56 ][)9,0)(1(5,0][)9,0.(9,0).1( 9 5 nunnun nn +=+= ][)9,0(5,0][)9,0(5,0 nunun nn += Logo: ][)9,0(25,0][)9,0.(5,0][)9,0.(75,0][ nununnunx nnn −++= Como antes, podemos verificar as 8 primeiras amostras da sequência x[n], no MatLab: >> [delta, n] = impseq(0,0,7); >> x = filter (b, a, delta) x = 1.0000 0.9000 1.6200 1.4580 1.9683 1.7715 2.1258 1.9132 >> x = 0.75*(0.9).^n+0.5*n.*(0.9).^n + 0.25*(-0.9).^n x = 1.0000 0.9000 1.6200 1.4580 1.9683 1.7715 2.1258 1.9132 
  57. 57. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 57 2.6 Exercícios 1. Calcule a transformada Z das sequências: a. x[n] = -(1/2)n u[-n – 1] b. y[n] = (-1/2)n u[n] + (1/3)n u[-n – 1] c. y[n] =2δ[n – 3] + (-1/4)n u[-n - 1] + (1/2)n u[n] 2. Calcule a transformada Z das seguintes sequências usando as suas propriedades e a tabela da Seção 2.2 e verifique seus resultados usando MatLab. a. x[n] = 2.δ[n-2] + 3u[n – 3] b. x[n] = (1/3)n u[n – 2] + (0,9)n-3 u[n] 3. Seja x[n] uma sequência com transformada Z dada por X(z). O que se pode dizer sobre as sequências que geram as seguintes transformadas: a. X1(z) = [(z – 1)/z]X(z) b. X2(z) = z.X(z-1 ) 4. Ache a transformada inversa de: a. 1 2 1 1 1 )( − + = z zX , ROC = |z| > ½ b. 1 2 1 1 1 )( − + = z zX , ROC = |z| < 1/2 c. 21 1 8 1 4 3 1 2 1 1 )( −− − ++ − = zz z zX , ROC = |z| > 1/2
  58. 58. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 58 5. Determine a transformada inversa usando o método de expansão em frações parciais de: 321 321 1 4 1 8 13 4 11 1 441 )( −−− −−− −+− +−− = zzz zzz zX sabendo que a sequência é causal. 6. Suponha que X(z) é: 21 1 1 81,01 32 )( −− − +− + = zz z zX , |z| > 0,9 Encontre as primeiras 20 amostras de x[n], usando o MatLab. 
  59. 59. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 59 2.7 Bibliografia Complementar 1. Vinay K. Ingle, John G. Proakis, Digital Signal Processing, Thomson Learning, 2000. 2. Michael Weeks, Digital Signal Processing Using MatLab and Wavelets, Infinity Science Press, 2007. 3. Alan V. Oppenheim, Ronald Schafer, Discrete Time Signal Processing, Prentice Hall, 1989
  60. 60. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 60 3. Teoria da Amostragem Sinais discretos no tempo podem ser gerados de diferentes formas, mas a mais comum é sendo uma representação de sinais contínuos no tempo. Em parte, isso é devido ao fato que o processamento de sinais contínuos no tempo é feito através do processamento discreto no tempo de seqüências obtidas através de amostragem. Um sinal contínuo no tempo pode ser representado por amostras como na Fig. 3.1. Fig. 3.1. Exemplo: (esquerda) sinal original e (direita) amostragem desse sinal. A forma mais comum de obter uma representação discreta no tempo de um sinal contínuo no tempo é através de uma amostragem periódica, quando a seqüência de amostras x[n] é obtida de um sinal contínuo no tempo xc(t) de acordo com a relação: x[n] = xc(nT), -∞ < n < ∞ (Eq. 3.1) Na Eq. 3.1, T é chamado de período de amostragem e sua inversa, fs = 1/T, é a freqüência de amostragem, medida em amostras por segundo. Referimo-nos a um sistema que implementa a operação da Eq. 3.1 como um conversor ideal contínuo-para-discreto (C/D) no tempo. Na prática, a operação
  61. 61. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 61 de amostragem é implementada por um conversor analógico-para-digital (A/D). Tais sistemas podem ser vistos como aproximações de conversores C/D ideais. Na implementação ou escolha de um conversor A/D deve-se considerar a quantização da saída, linearidade, a necessidade de circuitos sample-and-hold e limitações na taxa de amostragem. Em geral, a amostragem é um processo não-inversível. Ou seja, dada uma seqüência x[n], não é possível reconstruir o sinal original xc(t). Muitos sinais diferentes podem gerar a mesma seqüência de amostras de saída. É conveniente representarmos matematicamente o processo de amostragem, dividindo-o em duas partes conforme a Fig. 3.2. O processo consiste de um trem de impulsos seguido de uma conversão desse trem em uma seqüência. Na Fig. 3.2, a diferença fundamental entre xs(t) e x[n] é que xs(t) é um sinal contínuo com valores zero exceto nos inteiros múltiplos de T. x[n], por outro lado, não possui informação explícita sobre a taxa de amostragem e é um sinal onde as regiões que não representam valores inteiros não têm valor definido. São muitas as razões para o aumento no uso de sistemas digitais: 1. Muitas informações (ou dados) estão nessa forma, e.g. entrada/saída de computadores, sinais de controle digital, etc. 2. A disponibilidade de componentes pequenos, confiáveis e de baixo custo, principalmente, com o aumento da escala de integração dos circuitos integrados. 3. Relativa simplicidade no projeto de circuitos e facilidade de implementação usando circuitos integrados.
  62. 62. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 62 Fig. 3.2. Amostragem com um trem de impulsos periódicos seguida de uma conversão para uma seqüência discreta no tempo. a) Visão geral do sistema; b) xc(t) (sinal original no tempo contínuo) e xs(t); c) a seqüência x[n] de saída. 4. Ampla utilização de computadores digitais no processamento de todo tipo de dados e sinais. 5. Armazenamento de sinais realizado de modo simples e econômico (simplicidade das memórias digitais) 6. Crescente uso e disponibilidade de técnicas de processamento digital de sinais (DSP).
  63. 63. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 63 7. Fidelidade em transmissões longas devido ao uso de estações repetidoras regenerativas. 8. Flexibilidade do formato digital que permite: a. Combinação em um mesmo canal de uma variedade de diferentes tráfegos (telégrafo, dados, voz, imagem, vídeo, etc); b. Multiplexação feita de forma simples e econômica; c. Transmissão com velocidade ajustável; rápida ou lenta em função do tráfego e/ou qualidade exigidas. 9. Uso de parte do sinal digital para controlar o progresso do sinal através do sistema (ex: cabeçalho). 10. Possibilidade da codificação (teoria da informação): a. Codificação da fonte, reduzindo redundância, isto é, compactando os dados; b. Codificação do canal, combatendo os efeitos do ruído, interferências, etc. 11.Aplicações de técnicas de criptografia, garantindo a privacidade e autenticidade da comunicação. A digitalização de sinais analógicos vem tornando-se cada vez mais importante, principalmente, com o desenvolvimento das redes digitais de serviços integrados.
  64. 64. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 64 Na conversão analógico-digital é necessário colher-se um número discreto de amostras de um sinal contínuo. O problema crucial na amostragem está com o número de amostras/seg devem ser colhidas. Um número muito pequeno de amostras pode resultar em uma representação demasiadamente pobre do sinal. A análise quantitativa acerca desse problema é estudada pelo Teorema de Shannon-Nyquist. A princípio, pode-se imaginar que, no processo de amostragem de um sinal analógico, há sempre perda de informação e que essa perda é tanto menor quanto maior a taxa de amostragem utilizada. Entretanto, o teorema de Shannon mostra que isto nem sempre é verdade. O teorema estabelece que sob certas condições, as amostras de um sinal podem conter precisamente toda a informação a ele associada. Isto significa que o sinal pode ser perfeitamente recuperado a partir de amostras colhidas sem nenhuma aproximação. O estudo sobre o teorema da amostragem é aplicado a sinais banda limitado, isto é, aqueles que não possuem componentes espectrais para freqüência acima de uma dada freqüência (Fig. 3.3). Fig. 3.3. Exemplo de um sinal banda limitado.
  65. 65. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 65 Embora essa condição não seja rigorosamente verificada, ela é bastante útil em termos práticos. 3.1 Teorema de Shannon Teorema de Shannon: Um sinal de banda limitada por fm Hz está unicamente determinado por amostras, se são tomadas, pelo menos, 2.fm amostras eqüidistantes por segundo. Prova: Se as amostras são obtidas a cada Ts segundos, considera-se então um trem de impulsos δTs(t) ∑ ∞ −∞= −= n Ts nTstt )()( δδ A amostragem de um sinal f(t) em intervalos de T segundos será definida por: ∑ ∞ −∞= −== n Tss nTsttfttftf )().()().()( δδ Então a função amostrada contém apenas informações acerca das amostras f(nTs), n = 0, 1, 2, 3, ...., pois ∑ ∞ −∞= −= n s nTstnTsftf )().()( δ Toda a informação de um sinal banda limitada em fm Hz está contida nas amostras colhidas em intervalos uniformes menores que ½ fm Hz. Os pares sinal e transformada envolvidos no processo podem ser vistos na Fig. 3.4.
  66. 66. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 66 Fig. 3.4. (topo) Exemplo de um sinal e sua transformada banda limitada em wm. (centro) Trem de impulsos e sua transformada e (embaixo) o resultado da amostragem do sinal; sua transformada é analisada a seguir. O espectro do sinal amostrado fs(t) pode ser determinado com o auxílio do teorema da convolução na freqüência: f1(t).f2(t) ↔ (1/2π)F1(w)*F2(w) onde * é a operação de convolução. Segue, então, que: ∑ ∞ −∞= −↔ n SsT nwwwwFttf )(*)( 2 1 )()( δ π δ Se: fs(t) ↔ Fs(w) Então, o espectro de fs(t) é dado por:
  67. 67. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 67 ∑∑ ∞ −∞= ∞ −∞= −=−= n S s n Sss nwwwF w nwwwwFwF )()( 2 )(*)( 2 1 )( δ π δ π ∑ ∞ −∞= −= n S s s nwwwF T wF )()( 1 )( δ , com ws = 2π/Ts e, finalmente, ∑ ∞ −∞= −= n S s s nwwF T wF )( 1 )( Este espectro é esboçado para vários valores de ws, isto é, vários valores para o espaçamento Ts entre amostras. A escolha do valor de Ts e, consequentemente, de ws é importante para evitar a sobreposição entre sinais no domínio da freqüência. A fig. 3.5 apresenta três casos onde o valor de ws é maior, igual ou menor a wm (freqüência limite da banda do sinal de entrada). Nesses três casos, pode-se ver que não há sobreposição quando ws ≥ 2wm. Então, o uso de um filtro passa-baixa ideal permite recuperar o sinal perfeitamente sem distorções (Fig. 3.6). A sobreposição dos sinais é chamada de aliasing e deve ser evitada.
  68. 68. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 68 a) b) c) d) Fig. 3.5. a) Sinal original banda limitado em wm; resultado no domínio da freqüências de amostragens com: b) ws > 2wm, c) ws = 2wm, d) ws < 2wm (sobreposição de sinais – aliasing).
  69. 69. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 69 Fig. 3.6. Recuperação do sinal original com um filtro passa-baixa. Para recuperação do sinal com um FPB sem distorções, é preciso que: ws ≥ 2wm ou seja 2π/Ts ≥ 2.2πfm ⇒ Ts ≤ 1/(2fm) seg O limite 1/Ts = 2fm é chamado de taxa de Nyquist. Valores de Ts que não atendam a essa condição podem provocar diversas distorções no sinal, como: • Ganho nas altas freqüências • Perda nas altas freqüências • Modulação das freqüências do sinal original • Casos híbridos Esses problemas podem ser vistos na Fig. 3.7. A Figura 3.8 mostra uma distorção desse tipo em uma imagem. Esse problema (conhecido como efeito Moirée) surgiu por causa de uma baixa resolução utilizada na digitalização da imagem. Ele se apresenta de forma mais forte em partes da imagem que tenham um padrão repetitivo (como essas linhas circulares).
  70. 70. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 70 Fig. 3.7. Distorções que podem ser provocadas por escolha errada na banda de passagem do fitro passa-baixa para recuperação do sinal de entrada após a amostragem. Fig. 3.8. Efeito Moirée. 3.2 Re-Obtenção do Sinal a partir de suas amostras De acordo com o teorema de Shannon-Nyquist, se Ts ≤ 1/(2fm), então a passagem do sinal amostrado por um filtro passa-baixa ideal recupera exatamente o sinal analógico. Suponha que o filtro passa-baixa tem função de transferência: H(w) = Ts. ∏(w/(2wm)) então Fs(w).Ts. ∏(w/(2wm)) = F(w)
  71. 71. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 71 A seguir, vamos analisar o processo de re-obtenção do sinal no domínio do tempo: f(t) ↔ F(w) = Fs(w).Ts. ∏(w/(2wm)) O uso do teorema da convolução no tempo indica que f(t) = F-1 (Fs(w))*F-1 (Ts. ∏(w/(2wm))) Utilizando os pares de transformadas: fs(t) ↔ Fs(w) (wm/π) Sa(wmt) ↔ ∏(w/(2wm)) onde sa(t) é a chamada função sample e tem a forma sen(x)/x, tem-se f(t) = fs(t)*Ts(wm/π)Sa(wmt) logo )(*)()()( twSanTtnTf wT tf m n ss ms       −= ∑ ∞ −∞= δ π ∑ ∞ −∞= −= n mss ms twSanTtnTf wT tf )](*)()[()( δ π Lembrando da propriedade da amostragem da função impulso, segue-se ∑ ∞ −∞= −= n smssm nTtwSanTfTftf ))(()(.2)( No caso particular em que Ts = 1/(2fm), tem-se ∑ ∞ −∞= −= n m m ntwSa f n ftf )() 2 ()( π Como o sinal é recomposto através das amostras, observa-se que f(t) corresponde à superposição de várias funções sample deslocadas, centradas em 0, ±T, ±2T, .... (Fig. 3.9).
  72. 72. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 72 Fig. 3.9. Interpolação das amostras por filtro passa-baixa. Observações a) Nos pontos de amostragem nT, o valor correto de f(t) é f(nT). Em T = 0, todas as funções sample se anulam, exceto aquele centrado em t=0, cujo valor é f(0). Em t=T apenas a sample aí centrada não é nula, e assim por diante. b) Nos instantes diferentes de nT, as samples somam desde -∞ a +∞ e reconstituem o valor de f(t) no ponto analisado por interpolação.
  73. 73. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 73 4. Filtros Digitais Um sistema discreto no tempo é definido matematicamente como uma transformação que mapeia uma seqüência de entrada x[n] em uma seqüência de saída y[n]. Isso pode ser denotado por: y[n]=T{x[n]} como representado na Fig. 4.1. Fig. 4.1. Representação de um sistema discreto no tempo Uma classe importante de sistemas consiste naqueles que são lineares e invariantes no tempo. Os sistemas lineares são aqueles que obedecem ao princípio da superposição. Se a propriedade da linearidade é combinada com a representação de uma seqüência geral como uma combinação de impulsos, então um sistema linear pode ser completamente caracterizado pela sua resposta ao impulso. Seja hk[n] a resposta do sistema a δ[n – k]. Assim, como: ∑ ∞ −∞= −= k knkxnx ][][][ δ então }][][{][ ∑ ∞ −∞= −= k knkxTny δ Pelo princípio da superposição, podemos escrever: ∑∑ ∞ −∞= ∞ −∞= =−= k k k nhkxknTkxny ][][}][{][][ δ De acordo com essa equação, a resposta do sistema a qualquer entrada pode ser expressa em termos da resposta a δ[n – k] (o impulso).
  74. 74. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 74 A propriedade da invariância no tempo implica que, se h[n] é a resposta a δ[n], então a resposta a δ[n - k] é h[n – k]. Com isso, podemos dizer que: ∑ ∞ −∞= −= k knhkxny ][][][ (Eq. 4.1) Como conseqüência, um sistema linear invariante no tempo é completamente descrito por sua resposta ao impulso. Essa equação é conhecida como soma de convolução (convolution sum) que pode ser representada pela notação: y[n] = x[n]*h[n] (Eq. 4.2) Apesar da semelhança na notação, deve-se salientar que a soma de convolução para sinais discretos não é uma aproximação da integral de convolução. Para qualquer que seja a entrada x[n] de um sistema: x[n]* δ[n] = x[n] Assim, em geral, se um sistema linear invariante no tempo tem uma resposta ao impulso h[n], então seus sistema inverso, se existir, tem resposta ao impulso hi[n] definida pela relação: h[n]*hi[n] = hi[n]*h[n] = δ[n] Uma classe importante de sistemas lineares invariantes no tempo consiste daqueles para os quais x[n] e y[n] se relacionam através de uma equação de diferenças de coeficientes constantes lineares de n-ésima ordem da forma: ∑ ∑= = −=− N k M k kk knxbknya 0 0 ][][ (Eq. 4.3) Um exemplo de um tal sistema é um acumulador definido pela seqüência cujo diagrama de blocos pode ser visto na figura abaixo:
  75. 75. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 75 Esse sistema é representado pela equação de diferenças: y[n] = y[n – 1] + x[n] ou y[n] - y[n – 1] = x[n] Pela Eq. 4.3, temos: N = 1, a0 = 1, a1 = -1, M = 0 e b0 = 1. 4.1 Filtros Digitais Em geral, estamos interessados em manipular o sinal. Por exemplo, podemos querer retirar algum ruído de um sinal, como no caso de um sinal de voz, onde o ruído deve ser diferenciado da voz propriamente dita. Para isso, filtros são utilizados. Filtros estão envolvidos em diversas partes de um sistema de processamento digital de sinal. Eles podem ser implementados tanto em hardware quanto em software e atuam em sinais digitais de diversas naturezas, como sons, voz, imagem ou vídeo. Em cada caso, os filtros assumem particularidades diferentes. Vamos entender um pouco como se dá o processo em sinais e, em seguida, particularizar para o caso de imagens digitais. Filtros digitais são formados por poucos componentes. Basicamente são apenas multiplicadores, somadores e elementos de retardo (delay). Desses, multiplicadores e somadores implementam essas operações aritméticas em seqüências discretas. Retardos são unidades que processam elementos anteriores de uma seqüência (Fig. 4.2).
  76. 76. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 76 Fig. 4.2. Retardo (delay) aplicado a uma seqüência x[n]. A representação mostrada na Fig. 4.2 em diagrama de blocos é comum para filtros. Os elementos básicos de um filtro também são representados dessa maneira. Nesse caso, o elemento de delay é representado como z-1 , devido à Transformada Z. As representações em diagrama de blocos podem ser vistas na Fig. 4.3. Fig. 4.3. Diagrama de blocos de: a) Somador de duas seqüências, b) multiplicador de duas seqüências, c) multiplicador de uma seqüência por uma constante e d) retardo. Exemplos: 1) Podemos ver na Fig. 4.4 a representação em diagrama de blocos da equação de diferença definida por: y[n] = a1.y[n – 1] + a2.y[n – 2] + b.x[n]
  77. 77. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 77 cuja transformada Z (ou função de sistema) é dada por: 2 2 1 11 )( −− −− = zaza b zH Fig. 4.4. Diagrama de blocos para uma equação de diferenças. 2) Uma equação de diferenças pode ser generalizada da forma: ∑ ∑= = −=−− N k M k kk knxbknyany 1 0 ][][][ com função de sistema correspondente: )( )( 1 )( 1 0 zX zY za zb zH N k k k M k k k = − = ∑ ∑ = − = − A função de sistema ou função de transferência corresponde à relação entre a saída e a entrada do sistema. Podemos re-escrever a equação de diferenças na forma de uma relação de recorrência:
  78. 78. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 78 ∑ ∑= = −+−= N k M k kk knxbknyany 1 0 ][][][ que pode ser representada em diagrama de blocos como na Fig. 4.5. Fig. 4.5. Representação em diagrama de blocos de uma equação de diferenças geral. Nessa figura, temos: ∑= −= M k k knxbnv 0 ][][ ∑= −+= N k k knyanvny 1 ][][][ Como apresentado na Fig. 4.5, referimos a essa forma de diagrama de blocos como a Forma Direta I. Uma implementação com uma menor quantidade de retardos também pode ser utilizada e é chamada de Forma Direta II (Fig. 4.6, considerando, sem perda de generalizada, M = N).
  79. 79. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 79 Fig. 4.6. Representação com menos retardos (Forma direta II). Os filtros são classificados em relação à sua resposta ao impulso. Nesse sentido, os filtros dividem-se em filtros FIR (Finite Impulse Response) e IIR (Infinite Impulse Response). 4.2 Filtros FIR A estrutura de um filtro FIR é bastante regular e, uma vez definidos os coeficientes, o filtro pode ser completamente especificado. Esses são os coeficientes do filtro. Na Fig. 4.7, podemos ver uma estrutura simples de um filtro FIR. Podemos observar que a passagem pelos componentes do filtro se dá sempre da esquerda para a direita. Por isso, esse filtro é chamado também de feed-forward.
  80. 80. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 80 Fig. 4.7. Exemplo de um filtro FIR. Suponha na Fig. 4.7 que o sistema tem uma entrada x[n] = [1, 0]. Sendo um sistema causal, a entrada para n < 0 é igual a zero. Assim, para n = 0, temos: E, para n = 1: Logo, a saída seria y[n]=[0.5, 0.5]. A equação para cada termo é: y[0] = 0.5.x[0] + 0.5.x[-1] y[1] = 0.5.x[1] + 0.5.x[0]
  81. 81. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 81 Ou, de forma geral: y[n] = 0.5.x[n] + 0.5.x[n - 1] Os filtros FIR são expressos como: ∑= −= M k k knxbny 0 ][][ com função de transferência: ∑= − = M k k k zbzH 0 )( A resposta ao impulso h[n] é dada por:    −≤≤ = senão Mnb nh n 0 10 ][ e a representação em equação de diferenças é: y[n] = b0x[n] + b1x[n – 1] + ... + bN-1x[n – M + 1] Um filtro FIR pode ser representado em forma direta como: Por simplicidade, pode-se representar um filtro FIR apenas com seus coeficientes. Por exemplo, seja um filtro FIR com coeficientes [1, -1], ele pode ser representado como:
  82. 82. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 82 Dados os coeficientes, pode-se calcular de forma simples a saída do sistema para uma dada entrada. Considere uma entrada x[n]=[1, 2, 3, 4, 5] em um filtro com coeficientes [6, 7, 8]. A saída é dada por: Há três importantes propriedades de um sistema: • Causalidade • Linearidade • Invariância no tempo Um sistema é dito causal quando ele não precisa de informações futuras para calcular a saída atual. Um sistema é linear se obedece ao princípio da superposição. Ou seja: T{a.x1[n] + b.x2[n]} = a.T{x1[n]} + b.T{x2[n]} Por último, um sistema é dito invariante no tempo se a saída do sistema reflete qualquer deslocamento que a entrada. Ou seja, se y[n] = T{x[n]}, então x[n – m] gera uma saída y[n – m]. Filtros FIR podem implementar diversas diferentes funções apenas com mudanças nos seus coeficientes. A função de um filtro depende de seu comportamento no domínio da freqüência. Um filtro pode ser passa-baixa, passa-alta, passa-faixa, rejeita-faixa ou notch. Um filtro notch é um filtro que tem fendas profundas ou, idealmente, zeros perfeitos na sua resposta em frequência.
  83. 83. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 83 Filtros notch são bastante úteis quando frequências específicas devem ser eliminadas. Isso acontece, por exemplo, quando precisamos eliminar a frequência de 60Hz (e seus harmônicos) da rede elétrica. Filtros passa-baixa ou passa-alta permitem passar baixas ou altas freqüências de um sinal. As Figs. 4.8 e 4.9 apresentam exemplos simples de filtros assim. Fig. 4.8. Exemplos de filtros passa-baixa e passa-alta ideais. Fig. 4.9. Exemplos de filtros passa-baixa e passa-alta. Os filtros da Fig. 4.8 são filtros ideais não realizáveis. A Fig. 4.9 apresenta filtros com uma mudança mais suave da banda de passagem para a banda de corte (no FPB) e vice-versa (no FPA).
  84. 84. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 84 Na prática, tais filtros têm características um pouco diferentes. Podemos observar ondulações e uma banda de transição mais suave. Essas características podem ser vistas na Fig. 4.10 a qual apresenta o espectro de diferentes filtros (ou seja, suas transformadas de Fourier). É através do espectro que podemos analisar o comportamento do filtro. Fig. 4.10. Padrões de ondulação na banda de passagem ou na banda de parada e um banda de transição suave. Por exemplo, um filtro apenas com coeficientes [0,5 0,5] comporta-se como um FPB. Seu comportamento foi avaliado anteriormente, tendo sua saída definida por: y[n] = 0.5.x[n] + 0.5.x[n - 1]
  85. 85. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 85 que é o mesmo que y[n] = (x[n] + x[n – 1])/2. Por isso, filtros passa-baixa são chamados, às vezes, de filtro da média. Um filtro com coeficientes [0,5 -0,5] corresponde a um filtro passa-alta, chamado de filtro de diferenciação. O seguinte código no MatLab apresenta a transformada de Fourier para uma seqüência de coeficientes. A Fig 4.11 apresenta os resultados para os coeficientes [0,5 0,5] e [0,5 -0,5]. x = [0.5, -0.5]; f = fft(x,8192); Freq = -5:10/8192:5-1/8192; plot(Freq, abs(fftshift(f))); Fig. 4.11. (esquerda) Seqüência [0,5 0,5] e sua transformada de Fourier (um FPB) e (direita) a seqüência [0,5 -0,5] e sua transformada (um notch FPA). Vamos analisar o FPA: y[n] = (x[n] - x[n – 1])/2 Pequenas diferenças entre as amostras resultam em valores pequenos; grandes diferenças resultam em valores grandes. Assim, a resposta em frequência desse filtro deve atenuar mudanças suaves no sinal (como as relacionadas com as
  86. 86. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 86 baixas frequências) e enfatizar mudanças rápidas (como as relacionadas com as altas frequências). Dois outros tipos de filtros são notch e passa-faixa. Filtros notch eliminam frequências específicas. Filtros passa-faixa têm duas bandas de passagem. A Fig. 4.12 mostra exemplos desses dois filtros. Para ver como é o comportamento de um filtro, devemos ver sua resposta em frequência através da transformada de Fourier de seus coeficientes. Fig. 4.12. (topo) filtro Notch e (baixo) filtro passa-faixa. Para ver como é o comportamento de um filtro, devemos ver sua resposta em frequência através da Transformada de Fourier de seus coeficientes. Exemplo: >> B2 = fir1(100, 0.3, ‘low'); >> x = zeros (1, 1000); >> x(50) = 1; % x é um impulso >> Y2 = fft(conv(x, B2)); % apresentamos metade apenas pois o resto é simétrico >> half = 1:ceil(length(Y2)/2);
  87. 87. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 87 >> plot(half/max(half), abs(Y2(half)), 'b'); >> B2 = fir1(100, 0.3, ‘high'); >> x = zeros (1, 1000); >> x(50) = 1; % x é um impulso >> Y2 = fft(conv(x, B2)); % apresentamos metade apenas pois o resto é simétrico >> half = 1:ceil(length(Y2)/2); >> plot(half/max(half), abs(Y2(half)), 'b');  4.2.1 Sistemas com Fase Linear Em diversas aplicações como processamento de voz ou som, filtros digitais são usados para implementar operações seletivas de frequência. Assim, especificações são necessárias no domínio da frequência em termos de
  88. 88. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 88 magnitude desejada e resposta em fase do filtro. Em geral, uma resposta em fase linear na banda de passagem é desejada (Fig. 4.13). Fig. 4.13. Exemplos de fases lineares e não-lineares. Considere um sistema LTI cuja reposta em frequência sobre um período é: Hid(ejω )=e-jωα , |ω| < π onde α é um número real, não necessariamente um inteiro. Esse sistema tem magnitude constante: |Hid(ejω )| = 1, fase linear ∠Hid(ejω ) = -ωα e atraso de grupo constante grd[Hid(ejω )] = α A transformada inversa de Fourier de Hid(ejω ) é dada por:
  89. 89. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 89 ∫∫ − −− − − == π π αω π π ωωα ω π ω π dedeenh njnjj id )( 2 1 2 1 ][ = − = − = − −− − −− π π αωπ π αω απαπ )()( )( 1 2 1 )( 1 2 1 njjnj e nj e nj ][ )( 1 2 1 )()( njnj ee nj −−− − − = απαπ απ Sabendo que 2/)( αα α jj eesen − −= , temos: )]([ )( 1 ][ )( 1 2 1 )()( απ απαπ απαπ − − =− − −−− nsen n ee nj njnj )( )]([ ][ απ απ − − = n nsen nhid , -∞< n < ∞ (Eq. 1) Assim )( )]([ *][][*][][ απ απ − − == n nsen nxnhnxny id ∑ ∞ −∞= −− −− = k kn knsen kxny )( )]([ ][][ απ απ Se α = nd, nd inteiro, pela propriedade do deslocamento do tempo da transformada de Fourier e lembrando que ℑ{δ[n]} = 1 : Hid(ejω ) = e-jωnd ↔ hid[n] = δ[n – nd] Logo: ][*][][ dnnnxny −= δ Ou seja, a mesma seqüência de entrada apenas deslocada de nd amostras.
  90. 90. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 90 De forma geral, o sistema é de fase linear se ∠Hid(ejω ) = β - ωα, -π < ω < π Por exemplo, considere uma resposta em freqüência com fase linear da forma H(ejω ) = |H(ejω )|e-jωα , |ω| < π Suponha que H(ejω ) é o filtro passa-baixa:    ≤< < = − πωω ωωωα ω ||,0 ||, )( c c j j LP e eH cuja resposta ao impulso é, como vimos: )( )]([ ][ απ αω − − = n nsen nh c LP Se ωc = π, temos a Eq. 1. Quando α é um inteiro, digamos α = nd: = −− −− =− )2( )]2([ ]2[ dd ddc dLP nnn nnnsen nnh π ω ][ )( )]([ ]2[ nh nn nnsen nnh LP d dc dLP = − − =−⇒ π ω Nesse caso, temos um sistema de fase zero (zero phase system). Se α = -nd: ][][|)(|)()( ^^^ nhnheHeeHeH LPLP j LP njj LP j LP d −=⇒== ωωωω Assim, se 2α é um inteiro (o que implica que α é um inteiro ou um inteiro mais 0.5), a resposta ao impulso correspondente tem simetria sobre α, i.e.: h[2α - n] = h[n] Isso é condição suficiente (mas não necessária) para termos um sistema de fase linear.
  91. 91. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 91 Fase Linear Generalizada Um sistema é dito de fase linear generalizada se sua resposta em freqüência pode ser expressa na forma: H(ejω ) = A(ejω )e-jαω+jβ (Eq. 2) onde α e β são constantes e A(ejω ) é uma função real ω. O sistema que consideramos antes tinha β = 0. Um sistema como o da Eq. 2 é dito de fase linear generalizada dado que a fase é uma função linear de -ωα. Tal sistema também se caracteriza por um atraso de grupo constante: grd[H(ejω )] = α De forma geral, a fase linear tem forma: ∠[H(ejω)] = β - ωα, 0 < ω < π onde α e β são constantes reais. Lembramos que, como vimos antes, a resposta ao impulso de sistemas de fase linear tem simetria sobre α, se 2α é um inteiro. Temos que, se: )]())[cos(()( ωαβωαβωω −+−= jseneAeH jj ou )()()cos()()( ωαβωαβ ωωω −+−= senejAeAeH jjj Equivalentemente, por definição: ∑∑∑ ∞ −∞= ∞ −∞= ∞ −∞= − −== nnn njj nsennhjnnhenheH ωωωω ][cos][][)( com h[n] real. Assim: )()()cos()()( ωαβωαβ ωωω −+−= senejAeAeH jjj e
  92. 92. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 92 ∑∑∑ ∞ −∞= ∞ −∞= ∞ −∞= − −== nnn njj nsennhjnnhenheH ωωωω ][cos][][)( Logo, podemos considerar: ∑ ∞ −∞= =− n j nnheA ωωαβω cos][)cos()( e ∑ ∞ −∞= −=− n j nsennhseneA ωωαβω ][)()( Com isso: ∑ ∑ ∞ −∞= ∞ −∞= − = − − =− n n nnh nsennh sen tg ω ω ωαβ ωαβ ωαβ cos][ ][ )cos( )( )( Fazendo uma multiplicação cruzada dos dois lados da igualdade acima, temos: ∑∑ ∞ −∞= ∞ −∞= −−=− nn nsennhnnhsen ωωαβωωαβ ][)cos(cos][).( 0][)cos(cos][).( =−+−⇒ ∑∑ ∞ −∞= ∞ −∞= nn nsennhnnhsen ωωαβωωαβ 0)cos(][.cos)(][ =−+−⇒ ∑∑ ∞ −∞= ∞ −∞= nn nsennhnsennh ωωαβωωαβ 0])cos(.cos)(][[ =−+−⇒ ∑ ∞ −∞=n nsennsennh ωωαβωωαβ 0)(][ =+−⇒ ∑ ∞ −∞=n nsennh ωωαβ
  93. 93. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 93 0])([][ =+−⇒ ∑ ∞ −∞=n nsennh βαω (Eq. 3) ou 0})](cos[.cos)]([]{[ =−+−∑ ∞ −∞=n sennnsennh βαωβαω (Eq. 4) para todo valor de ω. Assim, se β = 0 ou π, a Eq. 4 torna-se: 0)]([][ =−∑ ∞ −∞=n nsennh αω (Eq. 5) Se β = π/2 ou 3π/2, a Eq. 4 torna-se: 0)](cos[][ =−∑ ∞ −∞=n nnh αω (Eq. 6) Na Eq. 5, se h[n] = h[2α - n], com 2α inteiro: 0)]2([]2[0)]([][ =−−−⇒=− ∑∑ ∞ −∞= ∞ −∞= nn nsennhnsennh ααωααω 0)]([]2[ =−−⇒ ∑ ∞ −∞=n nsennh αωα (Eq. 7) A Eq. 7 tem as mesmas soluções da Eq. 5, se 2α é um inteiro (ou seja, α é um inteiro ou um inteiro mais 0.5). Assim, se β = 0 ou π, 2α = M inteiro, podemos ter h[2α - n] = h[n]. De forma similar, na Eq. 6, se β = π/2 ou 3π/2, 2α = M inteiro, podermos ter h[2α - n] = -h[n]. Com isso, temos dois conjuntos de condições para garantir um sistema de fase linear generalizada:
  94. 94. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 94 i) β = 0 ou π 2α = M inteiro h[2α - n] = h[n] ii) β = π/2 ou 3π/2 2α = M inteiro h[2α - n] = -h[n] Sistemas Causais de Fase Linear Generalizada Se o sistema for causal, a Eq.3 torna-se: 0])([][ 0 =+−∑ ∞ =n nsennh βαω para todo valor de ω. Causalidade implica h[n] = 0, para n < 0 e n > M (para um sistema FIR, já que a resposta ao impulso é finita), i.e., sistemas FIR causais têm fase linear generalizada se eles têm resposta ao impulso de comprimento (M + 1) e satisfaz: h[2α - n] = h[n] ou h[2α - n] = -h[n] No primeiro caso, temos, para β = 0 ou π: ][ )( )( )( )( )2( )2( ]2[ nh n nsen n nsen n nsen nh = − − −= − − = −− −− =− απ απ απ απ ααπ ααπ α O segundo caso acontece para β = π/2 ou 3π/2. Especificamente, se
  95. 95. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 95 h[n] = h[M – n], 0 ≤ n ≤ M, e 0, caso contrário então pode ser mostrado que H(ejω ) = AP(ejω )e-jωM/2 onde AP(ejω ) é uma função real, par e periódica em w. De forma similar, se h[n] = -h[M – n], 0 ≤ n ≤ M, e 0, caso contrário segue que: H(ejω ) = jAI(ejω )e-jωM/2 = AI(ejω )e-jωM/2 + jπ/2 onde AI(ejω ) é uma função real, ímpar e periódica em ω. Em ambos os casos, o comprimento da resposta ao impulso é (M + 1) amostras. Dependendo da sua resposta ao impulso, os filtros FIR podem ser divididos em quatro classes: 1. Sistemas FIR com fase linear do Tipo I Um sistema do tipo I tem resposta ao impulso simétrica h[n] = h[M – n], 0 ≤ n ≤ M com M um inteiro par (observe que isso gera um número ímpar de amostras). O atraso M/2 é um inteiro. A resposta em frequência é: ∑= − = M n njj enheH 0 ][)( ωω Considerando a condição de similaridade, essa resposta em frequência pode ser expressa como: ∑= − = 2/ 0 2/ )cos(][)( M k Mjj kkaeeH ωωω onde a[0] = h[M/2], a[k] = 2h[(M/2) – k], k = 1, 2, 3, ..., M/2
  96. 96. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 96 Assim, H(ejw ) tem a forma de AP(ejw )e-jwM/2 . 2. Sistemas FIR com fase linear do Tipo II Um sistema do tipo II tem uma resposta ao impulso simétrica como h[n] = h[M – n], 0 ≤ n ≤ M mas com M um inteiro ímpar. Nesse caso, H(ejw ) pode ser expresso como: }] 2 1 (cos[][{)( 2/)1( 1 2/ ∑ + = − −= M k Mjj kkbeeH ωωω onde b[k] = 2.h[(M + 1)/2 - k], k = 1, 2, ..., (M + 1)/2 Novamente H(ejw ) tem a forma de AP(ejw )e-jwM/2 . 3. Sistemas FIR com fase linear do Tipo III Se o sistema tem uma resposta ao impulso assimétrica: h[n] = -h[M - n], 0 ≤ n ≤ M com M um inteiro par, então H(ejw ) tem a forma: ∑= − = 2/ 0 2/ )sin(][)( M k Mjj kkcjeeH ωωω onde c[k] = 2h[(M/2) - k], k = 1, 2, ..., M/2 Nesse caso, H(ejw ) tem a forma: H(ejw ) = AI(ejw )e-jwM/2 + jπ/2 4. Sistemas FIR com fase linear do Tipo IV Se o sistema tem uma resposta ao impulso assimétrica: h[n] = -h[M - n], 0 ≤ n ≤ M com M um inteiro ímpar, então H(ejw ) tem a forma: }] 2 1 (sin[][{)( 2/)1( 1 2/ ∑ + = − −= M k Mjj kkdjeeH ωωω
  97. 97. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 97 onde d[k] = 2h[(M+1)/2 - k], k = 1, 2, ..., (M + 1)/2 e H(ejw ) tem a forma: H(ejw ) = AI(ejw )e-jwM/2 + jπ/2 Exemplos: a) Tipo I, resposta simétrica, M par h[n] = 1, 0 ≤ n ≤ 4, e 0, caso contrário h[n] = h[M – n] A resposta em frequência é: )2/sin( )2/5sin( 1 1 )( 2 54 0 w w e e e eeH jw jw jw n jwnjw − − − = − = − − == ∑ Magnitude e fase: b) Tipo II, resposta simétrica, M ímpar h[n] = 1, 0 ≤ n ≤ 5, e 0, caso contrário
  98. 98. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 98 h[n] = h[M – n] A resposta em frequência é: )2/sin( )3sin( )( )2/5( w w eeH jwjw − = Magnitude e fase: c) Tipo III, resposta assimétrica, M par Se h[n] = δ[n] - δ[n – 2] Então H(ejw ) = 1 – e-2jw = j[2.sin(w/2)]e-jw Magnitude e fase:
  99. 99. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 99 d) Tipo IV, resposta assimétrica, M ímpar Se h[n] = δ[n] - δ[n – 1] Então H(ejw ) = 1 – e-jw = j[2.sin(w/2)]e-jw/2 Magnitude e fase: 
  100. 100. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 100 Exemplo: O seguinte código implementa no MatLab um filtro FIR tipo I: h = [3 4 5 6 5 4 3]/30; % Veja que vai de zero a seis M = length(h); N = (M-1)/2; L = 512; H = fft([h zeros(1,L-M)]); k = 0:L-1; W = exp(j*2*pi/L); A = H.* W.^(N*k); A = real(A); figure(1) w = [0:L-1]*2*pi/(L-1); subplot(2,1,1) plot(w/pi,abs(H)) ylabel('|H(omega)| = |A(omega)|') xlabel('omega/pi') subplot(2,1,2) plot(w/pi,A) ylabel('A(omega)') xlabel('omega/pi') 
  101. 101. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 101 Exemplo: O seguinte código implementa no MatLab um filtro FIR tipo II: h = [3 5 6 7 7 6 5 3]/42; M = length(h); N = (M-1)/2; L = 512; H = fft([h zeros(1,L-M)]); k = 0:L-1; W = exp(j*2*pi/L); A = H.* W.^(N*k); A = real(A); figure(2) w = [0:L-1]*2*pi/(L-1); subplot(2,1,1) plot(w/pi,abs(H)) ylabel('|H(omega)| = |A(omega)|') xlabel('omega/pi') subplot(2,1,2) plot(w/pi,A) ylabel('A(omega)') xlabel('omega/pi') 
  102. 102. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 102 4.3 Filtros IIR Os filtros FIR usam apenas cálculos feed forward. Se feedback é permitido, a resposta de um filtro ao impulso não será necessariamente finita. Assim, filtros com feedback são chamados de filtros com resposta ao Impulso Infinita (IIR – Infinite Impulse Response). Por exemplo, o filtro abaixo: cuja equação que descreve sua saída é dada por: y[n] = 0,6.x[n] + 0,2.x[n-1] + 0,4.y[n – 1] Se um impulso passa por esse filtro teremos como resposta as seguintes saídas, considerando o filtro causal: Entrada Saída 0 0 1 0,6 0 0,44 0 0,176 .... .... Ou seja, mesmo quando a entrada se anula, o filtro continua apresentando uma saída. Essa saída diminui, mas não torna-se zero. Claro que, na prática, a resposta chega a zero em algum momento. Considere então o filtro a seguir:
  103. 103. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 103 Esse filtro tem saídas: Entrada Saída 0 0 1 0,6 0 0,8 0 0,8 .... .... Esse é um filtro IIR. A saída será sempre 0,8 mesmo a entrada permanecendo 0. Nesse próximo exemplo, a saída cresce mesmo com entrada zero. Entrada Saída 0 0 1 0,6 0 0,86 0 0,946 .... ....
  104. 104. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 104 De uma maneira geral, os filtros IIR são expressos como: ∑ ∑= = −=−− N k M k kk knxbknyany 1 0 ][][][ com a seguinte função de sistema: ∑ ∑ = − = − − = N k k k M k k k za zb zH 1 0 1 )( Suas formas Direta I e Direta II são mostradas nas Figs. 4.14 e 4.15. Fig. 4.14. Forma Direta I de um filtro IIR
  105. 105. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 105 Fig. 4.15. Forma Direta II de um filtro IIR. Exemplo 1: Considere a função de sistema: 21 21 125.075.01 21 )( −− −− +− ++ = zz zz zH A forma direta I e II podem ser desenhadas como: Forma direta I: e Forma direta II:
  106. 106. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 106  Exemplo 2: Conexão em cascata Considere a função de sistema: 1 1 1 1 21 21 25.01 1 . 5.01 1 125.075.01 21 )( − − − − −− −− − + − + = +− ++ = z z z z zz zz zH Como os pólos e zeros são reais, uma estrutura em cascata tem seções com coeficientes reais. Duas estruturas em cascata equivalentes podem ser criadas para essa função: i) ii)  Exemplo 3: Conexão em paralelo: Considere a função de sistema (observe que é a mesma função anterior): 21 1 21 21 125.075.01 87 8 125.075.01 21 )( −− − −− −− +− +− += +− ++ = zz z zz zz zH
  107. 107. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 107 A forma paralela para esse sistema com uma seção de segunda ordem é: Como os pólos são reais, podemos obter ainda uma forma paralela alternativa expandindo H(z) como: 1121 1 25.01 25 5.01 18 8 125.075.01 87 8)( −−−− − − − − += +− +− += zzzz z zH que gera o diagrama abaixo apenas com seções de primeira ordem: 
  108. 108. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 108 4.4 Exercícios 1. Um filtro IIR é definido por: 2 32 25.01 5.05.210 )( − −− − −+ = z zz zH Desenhe sua estrutura na Forma Direta I ou na Forma Direta II. 2. Um filtro causal e invariante no tempo é definido por: 321 25.025.01)( −−− +++= zzzzH Desenhe sua estrutura na Forma Direta I ou na Forma Direta II. Esse filtro é FIR ou IIR? 3. Um filtro IIR é definido por: 21 21 8 1 4 3 1 21 )( −− −− +− ++ = zz zz zH Desenhe sua estrutura na Forma Direta I ou na Forma Direta II. 4. Modifique os códigos das páginas 86 e 87 para implementar exemplos de filtros FIR dos tipos III e IV. 
  109. 109. Processamento Digital de Sinais - Prof. Carlos Alexandre Mello Página 109 4.5 Bibliografia Complementar 1. Vinay K. Ingle, John G. Proakis, Digital Signal Processing, Thomson Learning, 2000. 2. Michael Weeks, Digital Signal Processing Using MatLab and Wavelets, Infinity Science Press, 2007. 3. Alan V. Oppenheim, Ronald Schafer, Discrete Time Signal Processing, Prentice Hall, 1989

×