Baixe o app para aproveitar ainda mais
Prévia do material em texto
Processamento Digital de Sinais Carlos Alexandre Mello Centro de Informática – UFPE 2015 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. 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 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 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 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: 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δ 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] 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 deentrada 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: 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 é 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. 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 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: 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)} 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�� |����| ��� � 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 componentesde 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 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. 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 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(e jω) + j.XI(e jω) 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 −= δ Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 21 Assim: ][][][][ ^ nxmnmxnx m =−= ∑ ∞ −∞= δ Exemplo 1: Seja x[n] = anu[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 ][ Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 22 ∞<<−∞= n n nw nh cLPF , )sin( ][ π Exemplo 3: Determine a resposta em frequência H(ejw) de um sistema cuja resposta ao impulso h(n) = (0,9)nu[n]. Plote a magnitude e a fase. ������ =�ℎ��������� �� =��0,9�������� � = ��0,9������� � = 11 − 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'); 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-jwndX(ejw) Deslocamento na Freq ejwonx[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 )( 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'); 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); 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); 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); 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] 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)'); 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 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: 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]'); 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. 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]) = Σnk=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. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 35 a) Determinese 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? 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!! 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 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. 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. 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] ↔ z n 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−= Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 41 c) Multiplicação por uma exponencial discreta: anx[n] ↔ X(z/a), ROC = |a|ROCX Comentários: Essa propriedade é observável substituindo anx[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 -1z) 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: 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: Processamento Digitalde 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. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 44 Exemplo 1: x[n] = anu[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. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 45 Exemplo 2: x[n] = -anu[-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-1z|<1 ⇒ |z|<|a| ||||, 1 1 1)(1)( 1 0 1 az az z za zazX n n < − = − −=−= − ∞ = −∑ Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 46 Exemplo 3: x[n] = (1/2)nu[n] + (-1/3)nu[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. Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 47 Exemplo 4: x[n] = (-1/3)nu[n] – (1/2)nu[-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 Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 48 ROC(i) ROC(ii) ROC: z z z z z zX 21 2 3 1 1 1 21 1 1 3 1 1 1 )( 11 − − + = − −+ + = −− 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] ↔ z n 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: 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. 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. 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: 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 desinais e sistemas, as transformadas Z são funções racionais (i.e., razão entre dois polinômios). Para 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] = -(½)nu[-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 )( 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: 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: 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. 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; 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: 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 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)nu[-n – 1] b. y[n] = (-1/2)nu[n] + (1/3)nu[-n – 1] c. y[n] =2δ[n – 3] + (-1/4)nu[-n - 1] + (1/2)nu[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)nu[n – 2] + (0,9)n-3u[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: 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. 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 Processamento Digital de Sinais – Prof. Carlos Alexandre Barros de Mello Página 64 3. Teorema da AmostragemSinais 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 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. 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). 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. 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. 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. 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: 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 entresinais 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. 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). 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). 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) 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). 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. 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). 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: 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). 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
Compartilhar