Processamento Digital de Sinais

749 visualizações

Publicada em

Processamento Digital de Sinais
Prof. Carlos Alexandre Mello
Centro de Informática – UFPE
http://www.cin.ufpe.br/~cabm/pds/

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
749
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
31
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Processamento Digital de Sinais

  1. 1. Processamento Digital de Sinais Carlos Alexandre Mello Centro de Informática – UFPE 2015
  2. 2. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de 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 Barros de 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 Operações entre sequências.....................................................................14 1.5 Sistemas LTI como Filtros Seletores de Frequência.................................16 1.6 Representação de Sequências pela Transformada de Fourier .................19 1.6.1 Propriedades da Transformada de Fourier.........................................23 1.7 Códigos do MatLab (Sinais e Operações).................................................25 1.8 Exercícios..................................................................................................34 1.8 Bibliografia Complementar ........................................................................37 2. A Transformada Z...........................................................................................38 2.1 Propriedades da Transformada Z..............................................................40 2.2 Pares de Transformadas Z........................................................................43 2.3 Exemplos de Cálculo da Transformada Z .................................................43 2.4 Propriedades da Região de Convergência................................................51 2.5 A Transformada Z Inversa.........................................................................52 2.6 Exercícios..................................................................................................61 2.7 Bibliografia Complementar ........................................................................63 3. Teorema da Amostragem ...............................................................................64 3.1 Teorema de Shannon................................................................................69 3.2 Re-Obtenção do Sinal a partir de suas amostras......................................74 4. Filtros Digitais .................................................................................................77 4.1 Filtros Digitais............................................................................................79 4.2 Filtros FIR..................................................................................................83 4.3 Filtros IIR.................................................................................................106 4.4 Exercícios................................................................................................112 4.5 Bibliografia Complementar ......................................................................113 5. Técnicas de projeto de filtros........................................................................114 5.1 Projeto de Filtros FIR ..............................................................................117 5.1.1 Projeto usando janelas .....................................................................118 5.1.2 Técnicas de Projeto por Amostragem em Frequência......................144 5.1.3 Projeto Equirriple Ótimo....................................................................146 5.2 Projeto de Filtros IIR................................................................................149 5.2.1 Escala Relativa.................................................................................150 5.2.2 Características de Protótipos Analógicos .........................................153 5.3 Transformações em Frequência..............................................................162 5.4 Comparação entre Filtros FIR e IIR.........................................................164 5.5 Exercícios................................................................................................166 5.6 Bibliografia Complementar ......................................................................167 6. Transformada Discreta de Fourier ................................................................168 6.1 A Série Discreta de Fourier .....................................................................169 6.2 A Transformada Discreta de Fourier .......................................................174 6.3 Propriedades da Transformada Discreta de Fourier ...............................176
  4. 4. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 4 6.4 A Transformada Discreta Bi-Dimensional de Fourier ..............................179 6.5 O Espectrograma ....................................................................................181 6.6 Exercícios................................................................................................185 6.7 Bibliografia Complementar ......................................................................187 7. Transformada Rápida de Fourier (FFT- Fast Fourier Transform) .................188 7.1 Algoritmos Rápidos .................................................................................188 7.2 Algoritmo de Cooley-Tukey ou Decimação no Tempo ............................190 7.3 Outras FFTs ............................................................................................201 7.4 Exercícios................................................................................................203 7.5 Bibliografia Complementar ......................................................................204 8. Análise Wavelet ............................................................................................205 8.1 A Transformada Wavelet.........................................................................208 8.2 Análise em Multiresolução.......................................................................212 8.3 Sobre os coeficientes das wavelets ........................................................215 8.4 Wavelets no MatLab................................................................................220 8.5 Exercícios................................................................................................227 8.6 Bibliografia Complementar ......................................................................229 9. Processamento Digital de Imagens ..............................................................230 9.1 Digitalização............................................................................................233 9.2 Sistema Computacional de Cores...........................................................236 9.3 Histograma..............................................................................................240 9.4 Filtragem de Imagens Digitais.................................................................242 9.5 Compressão de Imagens ........................................................................250 9.6 Processamento de Imagens no MatLab..................................................252 9.7 Exercícios................................................................................................256 9.8 Bibliografia Complementar ......................................................................257 10. Técnicas de Codificação de Áudio e Vídeo ................................................258 10.1 Teoria dos Códigos ...............................................................................258 10.2 Algoritmos de Compressão ...................................................................262 10.2.1 Código de Huffman.........................................................................263 10.2.2 Run-length ......................................................................................266 10.2.3 Algoritmo de Lempel-Ziv-Welch......................................................266 10.3 Algoritmos de codificação multimídia ....................................................267 10.3.1 Codificação de Vídeo......................................................................268 10.3.2 Codificação de Áudio......................................................................282 10.4 Implementações no MatLab ..................................................................287 10.4.1 Processamento de Vídeo no MatLab .................................................287 10.4.2 Processamento de Áudio no MatLab .................................................293 10.5 Exercícios..............................................................................................303 10.6 Bibliografia Complementar ....................................................................304 11. Processamento de Voz...............................................................................305 11.1 Amostragem e Quantização..................................................................312 11.2 Técnicas Temporais para Processamento de Voz................................319 11.2.1 Energia de Curta Duração ..............................................................321 11.2.2 Magnitude de Curta Duração..........................................................323 11.2.3. Taxa de Passagem pelo Zero........................................................324
  5. 5. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 5 11.2.4. Função de Autocorrelação.............................................................326 11.3 Análise Cepstral ....................................................................................329 11.4 Exercícios..............................................................................................334 11.5 Bibliografia Complementar ....................................................................335
  6. 6. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de 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 sequências de amostras. Para tanto, o sinal contínuo no tempo é convertido nessa sequência de amostras, i.e., convertido em um sinal discreto no tempo. Após o processamento digital, a sequê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 caracterí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 sequência é denotado por x[n]. Assim, x é formalmente escrito como:
  7. 7. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 7 x = {x[n]}, -∞ <n < ∞ onde n é um inteiro. Tais sequê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 sequê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 Barros de Mello Página 8 Um dos mais importantes aspectos do impulso é que uma sequência arbitrária pode ser representada como uma soma de impulsos escalonados e deslocados. Por exemplo, a sequê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 sequência x[n] pode ser representada como: ∑ ∞ −∞= −= k knkxnx ][][][ δ Outra sequê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 Barros de Mello Página 9 Uma sequência exponencial é importante na análise de sistemas discretos e invariantes no tempo. A forma geral de uma sequê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 sequência de entrada x[n] em uma sequê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 Barros de 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 sequência de entrada gera um deslocamento correspondente na sequência de saída. Ou seja, suponha um sistema que transforma uma sequência de entrada x[n] na sequência de saída y[n]. Se a sequência de entrada sofre um deslocamento de n0, x[n] = x[n – n0], então a sequê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 sequê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 Barros de Mello Página 11 combinada com a representação de uma sequê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 consequê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 Barros de 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 Barros de 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 sequência cujo diagrama de blocos pode ser visto na figura abaixo:
  14. 14. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de 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 Operações entre sequências Vamos descrever algumas operações básicas em sequências. Os códigos em MatLab para as principais operações pode ser encontrado na Seção 1.7. a) Adição de sequências: A adição de amostra por amostra é dada por: {x1[n]} + {x2[n]} = {x1(n) + x2(n)} Deve ser observado que o comprimento das sequências x1[n] e x2[n] deve ser o mesmo. Se as sequências têm comprimentos diferentes, a menor deve ser completada para que tenha o mesmo comprimento da maior. Normalmente, isso é feito, acrescentando zeros à sequência (zero padding). b) Multiplicação de sequências: Novamente, é uma operação amostra por amostra e as questões de comprimento das sequências devem ser consideradas: {x1[n]}.{x2[n]} = {x1(n).x2(n)}
  15. 15. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 15 c) Mudança de escala: Cada amostra de uma sequência é multiplicada por um escalar α: α.{x[n]} = {α.x(n)} d) Deslocamento: Cada amostra x(n) é deslocada k posições: y[n] = {x(n – k)} Seja m = n – k, então n = m + k e a operação pode ser vista como: y[m + k] = {x(m)} e) Inversão: A sequência é posta de trás para frente. Seja x[n] uma sequência de comprimento k. Logo, y[n] será: y[n] = {x(k – n)} f) Soma de amostras: Soma as amostras de uma sequência dentro de um intervalo: ෍ ‫ݔ‬ሺ݊ሻ = ‫ݔ‬ሺ݊1ሻ + ⋯ . +‫ݔ‬ሺ݊2ሻ ௡ଶ ௡ୀ௡ଵ g) Produto de amostras: Similar ao anterior, mas com operação de produto em um intervalo. h) Energia: A energia de uma sequência x[n] é dada por: ෍ ‫ݔ‬ሺ݊ሻ‫ݔ‬∗ ሺ݊ሻ ஶ ௡ୀିஶ = ෍ |‫ݔ‬ሺ݊ሻ|ଶ ஶ ௡ୀିஶ i) Potência: A potência média de uma sequência periódica ‫ݔ‬ሺ݊ሻ pode ser calculada como: 1 ܰ ෍ |‫ݔ‬ሺ݊ሻ|ଶ ேିଵ ଴
  16. 16. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 16 1.5 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 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
  17. 17. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 17 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. Fig. 1.2. Resposta em magnitude para alguns filtros seletores de frequência discretos no tempo.
  18. 18. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 18 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
  19. 19. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 19 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.6 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 frequência através da Transformada de Fourier. Muitas sequê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 à frequência, algumas vezes, pode-se expressar X(ejω ) na forma: X(ejω ) = XR(ejω ) + j.XI(ejω )
  20. 20. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 20 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 sequê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 −= δ
  21. 21. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 21 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 frequê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: ∫∫ −− == c c w w jwnjwnjw LPFLPF dwedweeHnh ππ π π 2 1 )( 2 1 ][
  22. 22. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 22 ∞<<−∞= n n nw nh c LPF , )sin( ][ π  Exemplo 3: Determine a resposta em frequência H(ejw ) de um sistema cuja resposta ao impulso h(n) = (0,9)n u[n]. Plote a magnitude e a fase. ‫ܪ‬൫݁௝ఠ൯ = ෍ ℎሺ݊ሻ݁ି௝ఠ௡ ஶ ିஶ = ෍ሺ0,9ሻ௡ ݁ି௝ఠ௡ ஶ ଴ = ෍ሺ0,9݁ି௝ఠ ሻ௡ ஶ ଴ = 1 1 − 0,9݁ି௝ఠ Assim, a magnitude é calculada como: ห‫ܪ‬൫݁௝ఠ൯ห = ඨ 1 ሺ1 − 0,9ܿ‫߱ݏ݋‬ሻଶ + ሺ0,9‫߱݊݁ݏ‬ሻଶ = 1 √1,81 − 1,8ܿ‫߱ݏ݋‬ E a fase: ∠‫ܪ‬൫݁௝ఠ൯ = −arctan ሺ 0,9‫߱݊݁ݏ‬ 1 − 0,9ܿ‫߱ݏ݋‬ ሻ Plotagem no MatLab: w = [0:1:500]*pi/500; H = exp(j*w)./(exp(j*w) - 0.9*ones(1, 501)); magH = abs(H); angH = angle(H); subplot (2, 1, 1); plot (w/pi, magH); grid; xlabel('frequency in pi units'); ylabel('|H|'); title('Magnitude response'); subplot (2, 1, 2); plot (w/pi, angH/pi); grid; xlabel('frequency in pi units'); ylabel('Phase in pi Radians'); title('Phase response');
  23. 23. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 23  1.6.1 Propriedades da Transformada de Fourier Algumas propriedades da TF: Seja: x[n] ↔ X(ejw ) e y[n] ↔ Y(ejw ) Propriedade Sequê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) ) Conjugação x*[n] X*(e-jw ) 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 )(
  24. 24. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 24 A seguir, temos códigos do MatLab que exemplificam algumas dessas propriedades: % Exemplo de Linearidade x1 = rand(1, 11); x2 = rand(1, 11); n = 0:10; alpha = 2; beta = 3; k = 0:500; w = (pi/500)*k; X1 = x1*(exp(-j*pi/500)).^(n'*k); % DTFT de x1 X2 = x2*(exp(-j*pi/500)).^(n'*k); % DTFT de x2 x = alpha*x1 + beta*x2; % Combinação linear de x1 e x2 X = x*(exp(-j*pi/500)).^(n'*k); % DTFT de x X_check = alpha*X1 + beta*X2; % DTFT da combinação de X1 e X2 error = max(abs(X - X_check)) % Diferença % Exemplo de deslocamento no tempo x = rand (1, 11); n = 0:10; k = 0:500; w = (pi/500)*k; X = x*(exp(-j*pi/500)).^(n'*k); % DTFT de x % O sinal é deslocado de duas amostras y = x; m = n + 2; Y = y*(exp(-j*pi/500)).^(m'*k); % DTFT de y % Verificação Y_check = (exp(-j*2).^w).*X; % Multiplicação por exp(-j2w) error = max(abs(Y - Y_check)) % Diferença % Exemplo de deslocamento na frequência n = 0:100; x = cos(pi*n/2); k = -100:100; w = (pi/100)*k; X = x*(exp(-j*pi/100)).^(n'*k); % DTFT de x y = exp(j*pi*n/4).*x; % Sinal multiplicado por exp(j*pi*n/4) Y = y*(exp(-j*pi/100)).^(n'*k); % DTFT de y % Verificação gráfica subplot (2, 2, 1); plot(w/pi, abs(X)); grid; axis([-1, 1, 0, 60]); xlabel('frequency in pi units'); ylabel ('|X|'); title ('Magnitude de X'); subplot (2, 2, 2); plot(w/pi, angle(X)); grid; axis([-1, 1, -1, 1]); xlabel('frequency in pi units'); ylabel ('radianos/pi'); title ('Angulo de X'); subplot (2, 2, 3); plot(w/pi, abs(Y)); grid; axis([-1, 1, 0, 60]); xlabel('frequency in pi units'); ylabel ('|Y|'); title ('Magnitude de Y');
  25. 25. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 25 subplot (2, 2, 4); plot(w/pi, angle(Y)); grid; axis([-1, 1, -1, 1]); xlabel('frequency in pi units'); ylabel ('radianos/pi'); title ('Angulo de Y'); 1.7 Códigos do MatLab (Sinais e Operações) 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);
  26. 26. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 26 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]'); 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);
  27. 27. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 27 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]'); 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);
  28. 28. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 28 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; Deslocamento y[n] = x[n – k] function [y,n] = sigshift(x, m, n0) n = m + n0; y = x; Inversão y[n] = x[-n]
  29. 29. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 29 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)’); 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)');
  30. 30. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 30 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] 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
  31. 31. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 31 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). 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,.., 120. Como vimos anteriormente, uma equação de diferenças é da forma:
  32. 32. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 32 ∑ ∑= = −=− 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]');
  33. 33. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 33 b) Calcule e plote sua resposta ao degrau s[n] para n = -20,.., 120. 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. 
  34. 34. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 34 1.8 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.
  35. 35. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 35 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?
  36. 36. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 36 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!! 
  37. 37. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 37 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
  38. 38. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 38 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 sequê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.
  39. 39. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 39 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 sequência deve ser absolutamente somável, i.e., uma sequê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.
  40. 40. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 40 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− =
  41. 41. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 41 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 consequê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:
  42. 42. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 42 ∑ ∑ ∞ −∞= − ∞ −∞= −       = 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:
  43. 43. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 43 )()]([][)( 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.
  44. 44. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 44 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 sequência não converge. 
  45. 45. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 45 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 < − = − −=−= − ∞ = − ∑ 
  46. 46. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 46 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. 
  47. 47. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 47 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
  48. 48. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 48 ROC(i) ROC(ii) ROC: z z zzz zX 21 2 3 1 1 1 21 1 1 3 1 1 1 )( 11 − − + = − −+ + = −− 
  49. 49. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 49 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:
  50. 50. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 50 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. 
  51. 51. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 51 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 sequê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 sequê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.
  52. 52. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 52 7) Se x[n] é uma sequê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:
  53. 53. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 53 ∫ ∑ ∫ ∞ −∞= −−− = 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 sequê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
  54. 54. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 54 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 )(
  55. 55. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 55 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:
  56. 56. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 56 1210 =++ AAB 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)( − − − + − − += z z 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 sequência finita. Por exemplo, considere que a TZ de uma sequência x[n] é da forma:
  57. 57. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 57 )1)(1)( 2 1 1()( 1112 −−− −+−= zzzzzX 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 à sequê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 1 Para mais informação sobre a função residuez, digite help residuez no MatLab.
  58. 58. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 58 C = [ ] 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;
  59. 59. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 59 >> 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 >> [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:
  60. 60. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 60 ][)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 ++ +=++ ][)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 
  61. 61. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 61 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 5. Determine a transformada inversa usando o método de expansão em frações parciais de:
  62. 62. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 62 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. 
  63. 63. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 63 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
  64. 64. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 64 3. Teorema 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 sequê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 sequê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 frequê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
  65. 65. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 65 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 sequência x[n], não é possível reconstruir o sinal original xc(t). Muitos sinais diferentes podem gerar a mesma sequê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 sequê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.
  66. 66. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 66 Fig. 3.2. Amostragem com um trem de impulsos periódicos seguida de uma conversão para uma sequência discreta no tempo. a) Visão geral do sistema; b) xc(t) (sinal original no tempo contínuo) e xs(t); c) a sequê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).
  67. 67. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 67 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.
  68. 68. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 68 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 frequência acima de uma dada frequência (Fig. 3.3). Fig. 3.3. Exemplo de um sinal banda limitado.
  69. 69. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 69 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.
  70. 70. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 70 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 frequê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:
  71. 71. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 71 ∑∑ ∞ −∞= ∞ −∞= −=−= 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 frequência. A fig. 3.5 apresenta três casos onde o valor de ws é maior, igual ou menor a wm (frequê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.
  72. 72. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 72 a) b) c) d) Fig. 3.5. a) Sinal original banda limitado em wm; resultado no domínio da frequências de amostragens com: b) ws > 2wm, c) ws = 2wm, d) ws < 2wm (sobreposição de sinais – aliasing).
  73. 73. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 73 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 frequências • Perda nas altas frequências • Modulação das frequê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).
  74. 74. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 74 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)
  75. 75. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 75 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).
  76. 76. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 76 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.
  77. 77. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 77 4. Filtros Digitais Um sistema discreto no tempo é definido matematicamente como uma transformação que mapeia uma sequência de entrada x[n] em uma sequê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 sequê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).
  78. 78. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 78 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 consequê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 sequência cujo diagrama de blocos pode ser visto na figura abaixo:
  79. 79. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 79 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 sequências discretas. Retardos são unidades que processam elementos anteriores de uma sequência (Fig. 4.2).
  80. 80. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 80 Fig. 4.2. Retardo (delay) aplicado a uma sequê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 sequências, b) multiplicador de duas sequências, c) multiplicador de uma sequê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]
  81. 81. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 81 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:
  82. 82. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 82 ∑ ∑= = −+−= 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).
  83. 83. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 83 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.
  84. 84. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 84 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]
  85. 85. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 85 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:
  86. 86. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 86 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 frequê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.
  87. 87. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 87 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 frequê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).
  88. 88. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 88 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]
  89. 89. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 89 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 sequê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) Sequência [0,5 0,5] e sua transformada de Fourier (um FPB) e (direita) a sequê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
  90. 90. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 90 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);
  91. 91. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 91 >> 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
  92. 92. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 92 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:
  93. 93. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 93 ∫∫ − −− − − == π π αωπ π ωωα ω π ω π 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 sequência de entrada apenas deslocada de nd amostras.
  94. 94. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 94 De forma geral, o sistema é de fase linear se ∠Hid(ejω ) = β - ωα, -π < ω < π Por exemplo, considere uma resposta em frequê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.
  95. 95. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 95 Fase Linear Generalizada Um sistema é dito de fase linear generalizada se sua resposta em frequê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
  96. 96. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 96 ∑∑∑ ∞ −∞= ∞ −∞= ∞ −∞= − −== 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 ωωαβ
  97. 97. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 97 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:
  98. 98. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 98 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
  99. 99. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 99 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 ω. 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
  100. 100. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 100 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 ωωω
  101. 101. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 101 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
  102. 102. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 102 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:

×