Processamento Digital de Sinais Prof. Claudio José Bordin Jr. - UFABC 2018 1 Conteúdo 1 Sistemas e Sinais de Tempo Discreto 1.1 Sequências . . . . . . . . . . . . . . . . . . . . . 1.2 Sistemas de Tempo Discreto . . . . . . . . . . . 1.3 Sistemas Lineares Invariantes no Tempo (SLIT) 1.4 Propriedades de SLITs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Representação de Sistemas e Sinais de Tempo Discreto no Domínio Frequência 2.1 Representação de Sequências por Transformadas de Fourier . . . . . . 2.2 Propriedades da Transformada de Fourier . . . . . . . . . . . . . . . . 2.3 Propriedades de Simetria da TFTD . . . . . . . . . . . . . . . . . . . . 2.4 Pares Transformados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . 4 . 6 . 8 . 10 da . . . . . . . . . . . . 13 15 18 20 21 3 Amostragem de Sinais de Tempo Contínuo 24 3.1 Definição da TFTD a partir do sinal de tempo contínuo . . . . . . . . . . . 25 3.2 Conversão Digital-Analógico: Considerações Práticas . . . . . . . . . . . . . 26 3.3 Reamostragem de Sinais de Tempo Discreto . . . . . . . . . . . . . . . . . . 27 4 A Transformada Z 4.1 Outros Pares Transformados . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Propriedades da ROC para a TZ . . . . . . . . . . . . . . . . . . . . . . . . 4.3 A Transformada Z inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Propriedades da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Solução de Equações de Diferenças Lineares a Coeficientes Constantes usando a Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Transformada Z Unilateral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 31 32 32 37 5 Transformada Discreta de Fourier 5.1 Propriedades de X[k] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 DFT - Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Propriedades da Transformada Discreta de Fourier . . . . . . . . . . . . . 5.4 Convolução (Linear) usando a DFT . . . . . . . . . . . . . . . . . . . . . . 5.5 Implementação de uma Convolução Circular usando o Operador Convolução Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Estimação Espectral usando a DFT . . . . . . . . . . . . . . . . . . . . . 5.7 Cálculo da DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 42 43 44 . . . . 39 40 . 46 . 46 . 46 6 Análise de SLITs através de Transformadas 49 6.1 Resposta em Frequência de um SLIT . . . . . . . . . . . . . . . . . . . . . . 49 6.2 Resposta ao Impulso de um Passa-Baixas Ideal . . . . . . . . . . . . . . . . 49 2 3 CONTEÚDO 6.3 6.4 6.5 6.6 6.7 6.8 6.9 Sistemas caracterizados por equações de diferenças . . . . . . . . . Estabilidade e Causalidade . . . . . . . . . . . . . . . . . . . . . . Sistema Inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resposta ao Impulso de Sistemas descritos por Funções Racionais . Sistemas Passa-Tudo . . . . . . . . . . . . . . . . . . . . . . . . . . Sistemas de Mínima Fase . . . . . . . . . . . . . . . . . . . . . . . SLITs com Fase Linear . . . . . . . . . . . . . . . . . . . . . . . . . 7 Projeto de Filtros Digitais 7.1 Projeto de Filtros por Janelamento . . . 7.2 Método de Amostragem em Frequência . 7.3 Aproximação Ótima de Filtros FIR . . . 7.4 Projeto de Filtros IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 50 51 51 52 52 53 . . . . . . . . . . . . . . . . . . . . 55 55 58 58 59 Capítulo 1 Sistemas e Sinais de Tempo Discreto 1.1 Sequências Sinais de tempo discreto são representados matematicamente como sequências de números x, em que o n-ésimo número da sequência é denotado x[n]. Num cenário prático, uma sequência pode ser obtida através da amostragem periódica de um sinal de tempo contínuo xa (t): x[n] , xa (nT ), n ∈ Z. T ∈ R é chamado “período de amostragem” e 1/T a “frequência de amostragem”. Observe que x[n] não é definido para n ∈ / Z. 1.1.1 Operações sobre sequências • z[n] = x[n] + y[n] ⇒ a soma é efetuada amostra por amostra • w[n] = α x[n] ⇒ multiplicação amostra por amostra • y[n] = x[n − n0 ] n0 ∈ Z ⇒ y[n] é uma versão atrasada ou deslocada de x[n]. 1.1.2 Sequências “Básicas” • Amostra Unitária (impulso) ( δ[n] , 4 1, n = 0 0, n = 6 0 CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 5 Propriedade: Qualquer sequência pode ser expressa como uma soma de impulsos deslocados: x[n] = +∞ X x[k]δ[n − k] k=−∞ • Degrau Unitário ( u[n] , 1, n ≥ 0 0, n < 0 Note que: n X u[n] = δ[k] k=−∞ =δ[n] + δ[n − 1] + δ[n − 2] + · · · = +∞ X δ[n − k]. k=0 Além disso: δ[n] = u[n] − u[n − 1]. 1.1.3 Sequências Exponenciais (Reais) x[n] , A αn , A, α ∈ R • Se A e α forem reais, x[n] é real. • Se 0 < α < 1 e A > 0, x[n] é positiva e decrescente. • Se −1 < α < 0, x[n] é oscilante. Porém, |x[n]| é decrescente. • Se |α| > 1, |x[n]| cresce com n. 1.1.4 Sequências Senoidais x[n] , A cos(ω0 n + φ), em que ω0 é a frequência (rad/amostra). Diferentemente do caso contínuo, uma sequência senoidal pode não ser periódica. Definição: Uma sequência é periódica se x[n] = x[n + N ], ∀n, para algum N inteiro fixo. (N é o período da sequência). No caso senoidal: x[n] = A cos(ω0 n + φ) = A cos(ω0 n + ω0 N + φ) = x[n + N ] ⇐⇒ ω0 N = 2πk, k ∈ Z ⇐⇒ ω0 = 2πk/N. que Vale observar que sequencias com ω̂ e ω̂ + 2πr, r ∈ Z, são indistinguíveis, ∀ω̂ ∈ R, já A cos(ω̂n + φ) = A cos(ω̂n + 2πrn + φ). CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 6 Em consequência, existem somente N valores de ω0 que resultam em sequências periódicas: 2π 4π N −1 0, , ,··· , 2π N N N 1.1.5 Sequências Exponenciais Complexas x[n] , A αn , A, α ∈ C Definindo A , |A|ejφ e α , |α|ejω0 , segue que x[n] = |A| |α|n ej(φ+nω0 ) . Como ej(φ+nω0 ) = cos(φ + nω0 ) + j sin(φ + nω0 ) (Fórmula de Euler), x[n] = |A| |α|n cos(φ + nω0 ) + j|A| |α|n sin(φ + nω0 ). Observe que, se |α| < 1, |x[n]| −−−→ 0. n→∞ 1.2 Sistemas de Tempo Discreto Um sistema de tempo discreto é definido matematicamente como um operador que mapeia uma sequência de entrada x[n] numa sequência de saída y[n], i.e., y[n] = T {x[n]}. Em geral, o valor de y[n] pode depender de x[n], ∀n. Exemplos: 1) Sistema “atraso ideal” y[n] = x[n − nd ], −∞ < n < ∞, nd ∈ N. 2) Média Móvel M y[n] = 2 X 1 x[n − k] M1 + M2 + 1 k=−M 1 1.2.1 Sistemas sem memória Um sistema é dito “sem memória” se y[n] depender somente de x[n]. Exemplo: y[n] = (x[n])2 , ∀n ∈ Z CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 1.2.2 7 Sistemas Lineares Um sistema é dito linear se obedecer o princípio da sobreposição, i.e., T {x1 [n] + x2 [n]} = T {x1 [n]} + T {x2 [n]} T {ax[n]} = a T {x[n]}, ∀ ∈ R Exemplos: 1) Atraso ideal Se x[n] , x1 [n] + x2 [n], então T {x[n]} = x[n − nd ] = x1 [n − nd ] + x2 [n − nd ]. 2) Média Movel M T {x1 [n] + x2 [n]} = 2 X 1 x1 [n − k] + x2 [n − k] = T {x1 [n]} + T {x2 [n]}. M1 + M2 + 1 k=−M 1 3) Sistema não-linear T {x[n]} = (x[n])2 =⇒ T {x1 [n]+x2 [n]} = x21 [n]+2x1 [n]x2 [n]+x22 [n] 6= T {x1 [n]}+T {x2 [n]}. 1.2.3 Sistemas invariantes no tempo (S.I.T.) Um S.I.T. ou “sistema invariante a deslocamentos” é um sistema para o qual um deslocamento na sequência de entrada provoca um deslocamento correspondente na sequência de saída. Exemplos: • Atraso Ideal Defina x1 [n] , x[n − n0 ] (entrada atrasada de n0 amostras). A resposta do sistema a esta entrada é y1 [n] = x1 [n − nd ] = x[(n − nd ) − n0 ]. Calculando y[n − n0 ] (resposta atrasada do sistema à entrada x[n]), segue que y[n − n0 ] = x[(n − n0 ) − nd ] = y1 [n]. Assim, o sistema é “invariante no tempo”. O mesmo ocorre para o sistema Média Móvel. • Sistema Compressor y[n] = x[M n], −∞ < n < +∞, M > 0. A resposta do sistema a x1 [n] é y1 [n] = x1 [M n] = x[M n − n0 ]. Ocorre, porém, que y[n − n0 ] = x[M (n − n0 )] 6= y1 [n]. Assim, este sistema é “variante no tempo”. 1.2.4 Causalidade Um sistema é causal se, para todo n, y[n] = T {x[n]} for função de {x[m]}, m ≤ n, ou seja, apenas de entradas “passadas”. Exemplo: O sistema Forward Difference, definido pela relação y[n] = x[n + 1] − x[n] não é causal. CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 1.2.5 8 Estabilidade Um sistema é estável no sentido BIBO (Bounded Input, Bounded Output) se, e somente se, toda entrada limitada produzir saída limitada, i.e., |x[n]| < BX < ∞ =⇒ |y[n]| < BY < ∞, ∀n, em que BX e BY são constantes. Exemplo: O sistema “acumulador” y[n] = Por exemplo, se x[n] = u[n], então y[n] = n X Pn k=−∞ x[k] ( não é estável no sentido BIBO. 0, n<0 n + 1, n ≥ 0 u[k] = k=−∞ Como não existe BY finito tal que y[n] < BY , ∀n, o sistema não é estável. 1.3 Sistemas Lineares Invariantes no Tempo (SLIT) Pelo princípio da sobreposição, pode-se escrever: y[n] = T {x[n]} = T = +∞ X +∞ X x[k]δ[n − k] k=−∞ x[k]T {δ[n − k]} , k=−∞ +∞ X x[k]hk [n], k=−∞ em que hk [n] , T {δ[n − k]} é a resposta ao impulso do sistema no instante k. A propriedade de invariância temporal implica que, se h0 [n] for a resposta a δ[n], então a resposta a δ[n − k] será h0 [n − k]. Assim y[n] = +∞ X +∞ X x[k]hk [n] = k=−∞ x[k]h[n − k], k=−∞ em que h[n] , h0 [n] é a resposta ao impulso do sistema (igual em todos os instantes). Como consequência, um SLIT é completamente caracterizado pela sua resposta ao impulso. Isto é, dado h[n], é possível calcular y[n] para qualquer x[n]. Definição: Somatório de Convolução y[n] = x[n] ∗ h[n] ⇐⇒ y[n] = +∞ X x[k]h[n − k] k=−∞ Exemplo: Considere o sistema com resposta ao impulso ( h[n] = u[n] − u[n − N ] = 1, 0 ≤ n ≤ N − 1 0, caso contrário CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 9 Seja x[n] = an u[n]. Então: +∞ X y[n] = = = x[k]h[n − k] k=−∞ +∞ X ak u[k](u[n − k] − u[n − k − N ]) k=−∞ +∞ X k +∞ X k=0 k=0 a u[n − k] − ak u[n − k − N ], pois u[k] é nulo para todo k < 0. Com o mesmo raciocínio, observamos que na somatória da esquerda só serão considerados os termos para os quais k ≤ n; para a somatória da direita, só serão considerados os termos com k ≤ n − N . Disto segue que y[n] = n X ak − k=0 = n−N X ak k=0 0 n X , n<0 , 0≤n<N ak k=0 n X ak , n ≥ N k=n−N +1 Para calcular o resultado das somas, note que N2 X k=N1 αk = αN1 − αN2 +1 , N2 ≥ N1 . 1−α 10 CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO Verificação: αN1 + αN1 +1 + · · · + αN2 −1 + αN2 (1 − α) = αN1 + αN1 +1 + · · · + αN2 −1 + αN2 − αN1 +1 + · · · + αN2 + αN2 +1 = αN1 − αN2 +1 Assim, n X y[n] = ak − n−N X k=0 = k=0 0 1 − an+1 1−a an−N +1 − an+1 1−a 1.4 ak , n<0 , 0≤n<N , n≥N Propriedades de SLITs Um SLIT é completamente descrito por uma soma de convolução. Suas propriedades, portanto, decorrem das propriedades dessa soma. Por exemplo, a operação de convolução é comutativa. Para se verificar isso, note que: y[n] = +∞ X +∞ X x[k]h[n − k] = x[n − m]h[m], m , n − k m=−∞ k=−∞ =⇒ x[n] ∗ h[n] = h[n] ∗ x[n]. Da mesma forma, pode-se verificar que a operação de convolução é distributiva sobre a adição: +∞ X x[n] ∗ (h1 [n] + h2 [n]) = = +∞ X x[k](h1 [n − k] + h2 [n − k] = k=−∞ +∞ X x[k]h2 [n − k] = x[n] ∗ h1 [n] + x[n] ∗ h2 [n]. x[k]h1 [n − k] + k=−∞ k=−∞ e associativa: +∞ X (x ∗ (h1 ∗ h2 ))[n] = x[k](h1 ∗ h2 )[n − k] k=−∞ = +∞ X x[k] k=−∞ = +∞ X +∞ X h1 [l]h2 [(n − k) − l] l=−∞ +∞ X x[k]h1 [m − k]h2 [n − m], m,k+l k=−∞ m=−∞ = +∞ X +∞ X m=−∞ = +∞ X m=−∞ x[k]h1 [m − k] h2 [n − m] k=−∞ (x ∗ h1 )[m]h2 [n − m] = ((x ∗ h1 ) ∗ h2 )[n]. CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 11 Uma consequência da comutatividade do operador convolução é que a resposta ao impulso de uma associação em série de SLITs é igual independentemente da ordem em que os sistemas são associados. Da mesma forma, a associação paralela de SLITs é equivalente, pela propriedade distributiva, à resposta de um único sistema: Um SLIT é estável no sentido BIBO se, e somente se, a sua resposta ao impulso for absolutamente somável, i.e., S= +∞ X |h[k]| < ∞. k=−∞ Isto vale porque, pela Desigualdade Triangular, |y[n]| = +∞ X h[k]x[n − k] ≤ +∞ X |h[k]| |x[n − k]|. k=−∞ k=−∞ Se x[n] for limitado, ou seja, |x[k]| < BX < ∞, então |y[n]| < BX +∞ X |h[k]| < ∞. k=−∞ Observação: A condição acima é necessária. Para verificar isto, note que se S = ∞, a sequencia limitada ( h∗ [−n]/|h[n]|, h[n] 6= 0 x[n] = 0, h[n] = 0 provoca saída ilimitada em n = 0. Um SLIT é causal se, e somente se, h[n] = 0, ∀n < 0. Por esta razão, uma sequência com essas propriedades é chama de sequência causal. CAPÍTULO 1. SISTEMAS E SINAIS DE TEMPO DISCRETO 1.4.1 Determinação da Resposta ao Impulso de SLITs 1) Atraso Ideal: h[n] = δ[n − nd ] +∞ X y[n] = +∞ X x[k]h[n − k] = k=−∞ x[k]δ[n − k − nd ] = x[n − nd ]. k=−∞ M 2 X 1 2) Média Móvel: h[n] = δ[n − k] M1 + M2 + 1 k=−M 1 y[n] = M +∞ X x[k]h[n − k] = k=−∞ = +∞ 2 X X 1 x[k]δ[n − k − l] M1 + M2 + 1 k=−∞ l=−M 1 M2 X 1 x[n − l]. M1 + M2 + 1 l=−M 1 3) Acumulador: h[n] = +∞ X δ[n − k] k=0 +∞ X y[n] = k=−∞ = +∞ X +∞ X +∞ X x[k]h[n − k] = x[k]δ[n − k − l] k=−∞ l=0 x[n − l]. l=0 4) Diferença (causal): h[n] = δ[n] − δ[n − 1] y[n] = +∞ X x[k]h[n − k] = k=−∞ +∞ X x[k](δ[n − k] − δ[n − k − 1]) k=−∞ = x[n] − x[n − 1]. 5) Diferença (anti-causal): h[n] = δ[n + 1] − δ[n] y[n] = +∞ X x[k]h[n − k] = k=−∞ = x[n + 1] − x[n]. +∞ X k=−∞ x[k](δ[n + 1 − k] − δ[n − k]) 12 Capítulo 2 Representação de Sistemas e Sinais de Tempo Discreto no Domínio da Frequência (Oppenheim, Sec. 2.6) Fundamento: sequências exponenciais complexas são autofunções de SLITs. Isto é, se x[n] = ejωn , ∀n ∈ Z, então: y[n] = h[n] ∗ x[n] = +∞ X k=−∞ h[k] |ejω(n−k) {z } x[n−k] = ejωn +∞ X h[k]e−jωk k=−∞ = x[n] · H(ejω ) |{z} | {z } autofunção autovalor Em geral, H(ejω ) , P+∞ −jωk k=−∞ h[k]e é uma função complexa. Exemplos: a) Atraso Ideal: h[n] = δ[n − nd ] H(e ) = jω +∞ X h[k]e −jωk = k=−∞ ( Observe que +∞ X δ[k − nd ]e−jωk = e−jωnd . k=−∞ |H(ejω )| = |e−jωnd | = 1 ∠H(ejω ) = ∠e−jωnd = −ωnd , ∀ω. Veremos a seguir que uma ampla classe de sinais (mas não todos!) pode ser representada por uma combinação linear de exponenciais complexas: +∞ X x[n] = αk ejωk n . k=−∞ Pelo princípio da sobreposição, a saída de um SLIT com entrada x[n] é dada por y[n] = +∞ X αk ejωk n H(ejωk ). k=−∞ 13 CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 14 b) Sinal Senoidal: x[n] = A cos (ω0 n + φ) A jω0 n jφ A −jω0 n −jφ e e + e e 2 2 A A ∴ y[n] = ejω0 n H(ejω0 )ejφ + e−jω0 n H(e−jω0 )e−jφ . 2 2 x[n] = Pode-se mostrar que se h[n] for real, H(e−jω ) = H ∗ (ejω ), ou seja, possui a chamada Simetria Hermitiana. Este fato decorre de que e−jθ = cos(−θ) + j sin(−θ) = cos(θ) − j sin(θ) = (ejθ )∗ , em que ()∗ denota o conjugado de um número complexo. Assim: A jω0 n A e H(ejω0 )ejφ + e−jω0 n H ∗ (ejω0 )e−jφ 2 2 = A <{H(ejω0 )ej(ω0 n+φ) } y[n] = = A <{|H(ejω0 )|ej(ω0 n+φ+θ) } = A |H(ejω0 )| <{ej(ω0 n+φ+θ) }, pois |H(ejω0 )| ∈ <+ = A |H(ejω0 )| cos (ω0 n + φ + θ), em que θ = ∠H(ejω0 ). ( c) Média Móvel: h[n] = H(ejω ) = +∞ X 1 M1 +M2 +1 , 0, −M1 ≤ n ≤ M2 caso contrário . +M h[k]e−jωk = k=−∞ X2 1 (e−jω )k M1 + M2 + 1 k=−M 1 1 ejωM1 − e−jω(M2 +1) = · M 1 + M2 + 1 1 − e−jω M1 −M2 −1 2 1 ejω = · M 1 + M2 + 1 e−jω/2 · ejω M1 +M2 +1 2 M1 +M2 +1 2 − e−jω ejω/2 − e−jω/2 M1 −M2 sin (ω(M1 + M2 + 1)/2) ejω 2 = , (função “sinc” periódico) M 1 + M2 + 1 sin (ω/2) pois sin(β) = (eβ − e−β )/2j. A figura a seguir mostra o gráfico de |H(ejω )| e de ∠H(ejω ) para M1 = 0 e M2 = 4. CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 15 Observação: H ej(ω+2π) = +∞ X h[k]e−j(ω+2π)k k=−∞ +∞ X = k=−∞ jω h[k]e−jωk e| −j2πk , ∀h[n], {z } = H e =1, ∀k ou seja, H ejω é uma função periódica de ω, com período 2π. Assim, é suficiente determiná-la em qualquer intervalo de tamanho 2π, por exemplo, π ≤ ω ≤ π ou 0 ≤ ω ≤ 2π. 2.1 Representação de Sequências por Transformadas de Fourier Muitas (mas nem todas!) sequências x[n] podem ser representadas pela Integral de Fourier 1 x[n] = 2π π X(ejω )ejωn dω, [Transformada Inversa] −π em que X(ejω ) , +∞ X x[n]e−jωn [Transf. de Fourier de Tempo Discreto] n=−∞ Em geral, X(ejω ) é uma função complexa de ω ∈ R. CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 16 Observe que, se a soma infinita anterior convergir (uniformemente), pode-se escrever: 1 2π π +∞ X x[m]e ejωn dω = m=−∞ −π π +∞ X = ! −jωm 1 m=−∞ x[m] 2π ejω(n−m) dω −π +∞ X 1 ejπ(n−m) − e−jπ(n−m) x[m] = · 2π j(n − m) m=−∞ +∞ X = x[m] m=−∞ ! sin(π(n − m)) = x[n]. π(n − m) A última igualdade vale porque, para n 6= m, sin(π(n − m)) = 0, e, para n = m, sin(πz) z→0 πz lim π cos(πz) = 1, z→0 π = |{z} lim L’Hôpital ou seja sin(π(n − m)) = δ[n − m]. π(n − m) Pode-se verificar que X(ejω ) sempre existirá se x[n] for absolutamente somável (condição suficiente). Exemplos: a) x[n] = an u[n] X(e ) = jω +∞ X n −jωn a e n=0 +∞ X = ae−jω n n=0 = 1 , 1 − ae−jω se |ae−jω | < 1 ⇒ |a| < 1. ( b) H(ejω ) = 1, |ω + 2πk| < ωc , k ∈ Z. (Passa-baixas ideal) 0, caso contrário 1 h[n] = 2π = π 1 H(ejω )ejωn dω = 2π −π ωc jωn e 1 2π jn ω=−ωc = 1 · πn ejωc n ωc ejωn dω = −ωc − e−jωc n sin(ωc n) = . 2j πn CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 17 c) x[n] = 1 Neste caso, a somatória que define X(ejω ) não converge (verifique!). Pode-se, no entanto, verificar que a Transformada de Fourier desta sequência é dada por X(ejω ) = +∞ X 2πδ(ω + 2πr) (“Trem de Impulsos”). r=−∞ já que 1 x[n] = 2π = π +∞ X −π π +∞ X 2πδ(ω + 2πr)ejωn dω r=−∞ δ(ω + 2πr)ejωn dω = 1. r=−∞ −π A última igualdade decorre do fato de que há apenas um impulso no intervalo de integração (em ω = 0). d) X(ejω ) = +∞ X 2πδ(ω − ω0 + 2πr), |ω0 | < π r=−∞ 1 x[n] = 2π = +∞ X π +∞ X −π π 2πδ(ω − ω0 + 2πr)ejωn dω r=−∞ δ(ω − ω0 + 2πr)ejωn dω = ejω0 n . r=−∞ −π Novamente, a última igualdade decorre do fato de haver apenas um impulso no intervalo de integração (em ω = ω0 ). O caso em que ω0 = π pode ser tratado mudando o intervalo de integração para [0 2π]. CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 2.2 Propriedades da Transformada de Fourier 1. 2. 3. 4. Sequência x[n], y[n] ax[n] + by[n] x[n − nd ] ejω0 n x[n] x[−n] 5. nx[n] 6. x[n] ∗ y[n] 7. Transformada X(ejω ), Y (ejω ) aX(ejω ) + bY (ejω ) e−jωnd X(ejω ) X(ej(ω−ω0 ) ) X(e−jω ) dX(ejω ) j dω X(ejω )Y (ejω ) 1 2π x[n]y[n] π X(ejθ )Y (ej(ω−θ) )dθ −π Relações de Parseval: 8. 9. 2.2.1 +∞ X 1 |x[n]|2 = 2π n=−∞ +∞ X π |X(ejω )|2 dω −π 1 x[n]y [n] = 2π n=−∞ π ∗ X(ejω )Y ∗ (ejω )dω −π Verificação 1) TFTD{ax[n] + by[n]} = +∞ X = (ax[n] + by[n]) e−jωn n=−∞ +∞ X +∞ X x[n]e−jωn + b =a y[n]e−jωn n=−∞ n=−∞ jω = aX(e ) + bY (e ). jω 2) TFTD{x[n − nd ]} = = = +∞ X x[n − nd ]e−jωn n=−∞ +∞ X x[m]e−jω(m+nd ) m=−∞ = e−jωnd +∞ X x[m]e−jωm = e−jωnd X(ejω ). m=−∞ 3) TFTD{ejω0 n x[n]} = = = +∞ X n=−∞ +∞ X n=−∞ x[n]ejω0 n e−jωn x[n]e−j(ω−ω0 )n = X(ej(ω−ω0 ) ). 18 CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA +∞ X 4) TFTD{x[−n]} = x[−n]e−jωn = n=−∞ +∞ X = x[m]e−j(−ω)m = X(e−jω ). m=−∞ +∞ X 5) TFTD{nx[n]} = nx[n]e−jωn = n=−∞ +∞ X =j (−jn)x[n]e−jωn n=−∞ d =j dω +∞ X dX(ejω ) . dω ! x[n]e −jωn =j n=−∞ +∞ X 6) TFTD{x[n] ∗ y[n]} = (x[n] ∗ y[n])e−jωn = n=−∞ = +∞ X +∞ X x[k]y[n − k]e−jωn n=−∞ k=−∞ = +∞ X +∞ X x[k]y[m]e−jω(k+m) k=−∞ m=−∞ = +∞ X +∞ X −jωk x[k]e ! −jωm y[m]e m=−∞ k=−∞ = X(ejω )Y (ejω ). 7) (Convolução Periódica) 1 2π π X(ejθ )Y (ej(ω−θ) )dθ = −π 1 = 2π = π +∞ X x[k]e −jθk +∞ X x[k]y[m]e k=−∞ m=−∞ 1 Na Seção 2.1, mostrou-se que 2π = = +∞ X +∞ X ! −j(ω−θ)m y[m]e −jωm 1 2π π e−jθ(k−m) dθ = . −π π e−jθ(k−m) dθ = δ[k − m]. Assim −π +∞ X k=−∞ m=−∞ +∞ X x[k]y[m]e−jωm δ[k − m] x[k]y[k]e−jωk = TFTD{x[k]y[k]}. k=−∞ dθ m=−∞ k=−∞ −π +∞ X 19 CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 20 8) Observe que |x[n]|2 = x[n]x∗ [n]. Como +∞ X ∗ TFTD{x [n]} = ∗ x [n]e −jωn !∗ +∞ X = x[n]e −j(−ω)n = X ∗ (e−jω ), n=−∞ n=−∞ segue que (Propriedade 7) +∞ X |x[n]|2 = TFTD{x[n]x∗ [n]}|ω=0 = n=−∞ 1 = 2π π ∗ X(e )X (e jθ j(θ−ω) 1 = 2π )dθ −π ω=0 π |X(ejθ )|2 dθ. −π ∗ ∗ 9) Note que +∞ n=−∞ x[n]y [n] = TFTD{x[n]y [n]}|ω=0 = 4. Novamente, pela Propriedade 7, temos que P 1 4= 2π 2.3 X(ejθ )Y ∗ (ejθ )dθ. −π Propriedades de Simetria da TFTD 1. 2. 3. 4. 5. 6. 2.3.1 π Sequência x∗ [n] x∗ [−n] <{x[n]} j={x[n]} xe [n] xo [n] TFTD X ∗ (e−jω ) X ∗ (ejω ) Xe (ejω ) (even) Xo (ejω ) (odd) <{X(ejω )} ={X(ejω )} Verificação +∞ X 1) TFTD{x∗ [n]} = x∗ [n]e−jωn = n=−∞ ∗ 2) TFTD{x [−n]} = x[n]e+jωn = X ∗ (e−jω ). n=−∞ +∞ X ∗ x [−n]e n=−∞ 3) <{x[n]} = )∗ ( +∞ X −jωn = ( +∞ X )∗ x[m]e −jωm = X ∗ (ejω ). m=−∞ 1 1 (x[n] + x∗ [n]) ⇒ TFTD{<{x[n]}} = X(ejω ) + X ∗ (e−jω ) , 2 2 Xe (ejω ) | {z } Parte Par (even) Observe que Xe∗ (e−jω ) = 21 X ∗ (e−jω ) + X(ejω ) = Xe (ejω ). 4) j={x[n]} = 1 1 (x[n] − x∗ [n]) ⇒ TFTD{={x[n]}} = X(ejω ) − X ∗ (e−jω ) , 2 2 Observe que Xo∗ (e−jω ) = Xe (ejω ) = X(ejω ). 1 2 X(ejω ) − X(ejω ) = −Xo (ejω ). Além disso, Xo Xo (ejω ) | {z } Parte Ímpar (odd) (ejω ) + 1 1 5) TFTD{xe [n]} = TFTD (x[n] + x∗ [−n]) = X(ejω ) + X ∗ (ejω ) = <{X(ejω )}. 2 2 CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 21 1 1 X(ejω ) − X ∗ (ejω ) = ={X(ejω )}. 6) TFTD{xo [n]} = TFTD (x[n] − x∗ [−n]) = 2 2 Como consequência de 1-6, se x[n] for uma sequência real: 7) x[n] = x∗ [n] ⇒ X(ejω ) = X ∗ (e−jω ) (ou seja, X(ejω ) é uma função hermitiana). 8) |X(ejω )| = |X ∗ (e−jω )| = |X(e−jω )| (a magnitude é par). 9) ∠X(ejω ) = ∠X ∗ (e−jω ) = −∠X(e−jω ) (a fase é ímpar). 2.4 Pares Transformados 1) δ[n] ←→ 1 ∞ X δ[n]e−jωn = 1. n=−∞ 2) δ[n − n0 ] ←→ e−jωn0 ∞ X δ[n − n0 ]e−jωn = e−jωn0 . n=−∞ 3) 1 ←→ 2π ∞ X δ(ω + 2πk) k=−∞ 1 2π π 2π ∞ X δ(ω + 2πk) ejωn dω = 1 k=−∞ −π pois somente o impulso (em ω = 0) está no intervalo de integração. 4) an u[n] (|a| < 1) ←→ 1 1 − ae−jω +∞ X an u[n]e−jωn = n=−∞ 5) u[n] ←→ +∞ X (ae−jω )n = n=0 1 1 − ae−jω ∞ X 1 + π δ(ω + 2πk) 1 − e−jω k=−∞ Inicialmente, defina ( w[n] = 1/2, n ≥ 0 −1/2, n < 0 Observe agora que w[n] − w[n − 1] = δ[n], o que implica que W (ejω ) − e−jω W (ejω ) = 1, 1 ou seja, W (ejω ) = . 1 − e−jω Como u[n] = w[n] + 12 , segue o resultado. 6) (n + 1)an u[n] (|a| < 1) ←→ 1 (1 − ae−jω )2 CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA 22 Derivando a transformada do item 4 acima em relação a ω e usando a Propriedade 5, obtemos: d j dω 1 1 − ae−jω =j −jae−jω ae−jω = ←→ nan u[n]. (1 − ae−jω )2 (1 − ae−jω )2 Isto implica que e−jω ←→ nan−1 u[n]. (1 − ae−jω )2 Usando a propriedade de deslocamento temporal, segue agora que: 1 ←→ (n + 1)an u[n + 1] = (n + 1)an u[n], (1 − ae−jω )2 em que a última igualdade decorre do fato de n + 1 = 0 se n = −1. 2.4.1 Exemplos 1) x[n] = an u[n − 5] ←→ ? an u[n − 5] = a5 (an−5 u[n − 5]) ←→ a5 e−j5ω 2) X(ejω ) = 1 . 1 − ae−jω 1 (1 − ae−jω )(1 − be−jω ) A B A(1 − be−jω ) + B(1 − ae−jω ) + = = 1 − ae−jω 1 − be−jω (1 − ae−jω )(1 − be−jω ) (A + B) − (Ab + Ba)e−jω = . (1 − ae−jω )(1 − be−jω ) X(ejω ) ≡ Isto implica que ( A+B = 1 A = a/(a − b) ⇐⇒ . Ab + Ba = 0 B = −b/(a − b) Assim: X(ejω ) = ( 3) Seja X(e ) = jω a/(a − b) b/(a − b) a n b n − ←→ a u[n] − b u[n]. −jω −jω 1 − ae 1 − be a−b a−b e−jωnd , ωc < |ω| < π , com período 2π subentendido. 0, |ω| < ωc Esta função pode ser representada como X(ejω ) = e−jωnd (1−R(ejω )), em que R(ejω ) = ( 1, ωc < |ω| < π . 0, |ω| < ωc sin(ωc n) . Assim: πn sin(ωc (n − nd )) − e−jωnd R(e−jω ) ←→ δ[n − nd ] − . π(n − nd ) Como mostrado na Seção 2.1, Exemplo b, R(ejω ) ←→ X(ejω ) = e−jωnd CAPÍTULO 2. REPRESENTAÇÃO DE SISTEMAS E SINAIS DE TEMPO DISCRETO NO DOMÍNIO DA FREQUÊNCIA a 23 a 1 e 2 Listas de Exercícios Faça os seguintes exercícios do livro “Discrete-Time Signal Processing”, Oppenheim & Schafer, Ed. 2, 1998: 2.1, 2.2, 2.3, 2.7, 2.8, 2.10, 2.11, 2.13, 2.14, 2.15, 2.17, 2.18, 2.19. Apêndice: O Delta de Dirac O Delta de Dirac (ou impulso unitário), denotado por δ(t − α), α ∈ R, é uma distribuição (i.e. uma generalização do conceito de função), definido de forma que δ(t−α) = 0, ∀ t 6= α e que: ( f (α), se α ∈ I, f (t) δ(t − α) dt = 0, caso contrário. I em que I denota o intervalo de integração. Note, porém, que para xc (t) definido com uma função (ou sinal) de tempo contínuo, a multiplicação xc (t)δ(t − α), é um impulso multiplicado pela constante xc (α). Essa constante é comumente chamada de área do impulso. Apêndice: Transformada de Fourier de Tempo Contínuo A transformada de Fourier de um sinal s(t) de tempo contínuo é definida como +∞ S(Ω) , s(t)e−jΩt dt, t=−∞ em que Ω ∈ R é a frequência (em rad/s). A função S(Ω) recebe comumente o nome de espectro. A antitransformada, por sua vez, é definida como 1 s(t) , 2π +∞ S(Ω)ejΩt dΩ. Ω=−∞ Capítulo 3 Amostragem de Sinais de Tempo Contínuo Seja xc (t) um sinal de tempo contínuo. Define-se xs (t), o sinal amostrado (sampled) como xs (t) , xc (t)s(t), em que s(t) é o “trem de impulsos” s(t) , +∞ X δ(t − nT ), n=−∞ em que T é o período de amostragem. Observe que, pela sua definição, xs (t) somente difere de zero em instantes múltiplos de T . O processo de amostragem pode acarretar em perda de informação. Para quantificá-la, podemos calcular a Transformada de Fourier (de tempo contínuo) do sinal amostrado, que 1 é dada por Xs (Ω) = F{xc (t)s(t)} = Xc (Ω) ∗ S(Ω). 2π Como s(t) é um sinal periódico, isto é, s(t) = s(t+T ), recorremos à sua Série de Fourier para determinar S(Ω): s(t) = +∞ X cn ej2πnt/T ←→ S(Ω) = 2π n=−∞ +∞ X cn δ(Ω − 2πn/T ), (verifique!) n=−∞ em que os cn , os coeficientes da série, são dados por: 1 cn , T T /2 T /2 1 s(t)e−j2πnt/T dt = T −T /2 δ(t)e−j2πnt/T dt = 1 , T −T /2 pois no intervalo de integração (igual a um período do sinal) há apenas um impulso. Como resultado, obtemos que 1 1 Xs (Ω) = Xc (Ω) ∗ S(Ω) = 2π 2π 1 = 2π +∞ α=−∞ +∞ S(α)Xc (Ω − α)dα α=−∞ ∞ 2π X 2πn δ(α − )Xc (Ω − α)dα T n=−∞ T ∞ 1 X 2πn = Xc Ω − . T n=−∞ T 24 CAPÍTULO 3. AMOSTRAGEM DE SINAIS DE TEMPO CONTÍNUO 25 Note que Xs (Ω) contém infinitas replicações do espectro original, deslocadas de 2π/T radianos/s (1/T Hz). Disto, pode-se deduzir que, para que o processo de amostragem não produza perda de informação, xc (t) deve ter o espectro limitado. Caso xc (t) seja um sinal passa-baixa, i.e., Xc (Ω) = 0, |Ω| > Ωc , deve valer que Ωc < Tπ (Teorema da Amostragem de Nyquist). Caso esta última condição não seja obedecida, as réplicas do espectro original se sobrepõem, no fenômeno conhecido com aliasing, fazendo com que Xc (Ω) não possa ser recuperado a partir de Xs (Ω). Na ausência de aliasing, o sinal de tempo contínuo original xc (t) pode ser recuperado filtrando-se xs (t) com um filtro de reconstrução passa-baixas ideal (Por quê?) com resposta em frequência ( 1, |Ω| < π/T . Hr (Ω) = 0, caso contrário No domínio do tempo, tal operação equivale a interpolar as amostras por funções sinc, pois 1 hr (t) = 2π +∞ HR (Ω)e jΩt −∞ 1 dΩ = 2π π/T ejΩt dΩ = −π/T 1 ejπt/T − e−jπt/T = 2π jt 1 sin(πt/T ) 1 = , sinc(t/T ), T πt/T T e xs (t) ∗ hr (t) = = = 3.1 1 T 1 T +∞ +∞ xs (α)hr (t − α)dα = α=−∞ +∞ X xc (α)δ(α − nT )sinc α=−∞ n=−∞ +∞ X xc (nT )sinc n=−∞ t − nT T t−α dα T . Definição da TFTD a partir do sinal de tempo contínuo Conforme visto na seção anterior, o sinal amostrado é dado por xs (t) = +∞ X n=−∞ δ(t − nT )xc (t). CAPÍTULO 3. AMOSTRAGEM DE SINAIS DE TEMPO CONTÍNUO 26 Calculando-se diretamente a TF deste sinal, obtemos que +∞ −jΩt Xs (Ω) , xs (t)e dt = = xc (t)δ(t − nT )e−jΩt dt = n=−∞ t=−∞ t=−∞ +∞ X +∞ +∞ X xc (nT )e−jΩT n . n=−∞ Observe que o resultado acima coincide com a definição da TFTD (Capítulo 1) se x[n] , xc (nT ) e ω , ΩT . 3.2 Conversão Digital-Analógico: Considerações Práticas Muitos conversores digital-analógico práticos têm resposta do tipo zero-order hold (ZOH), ou seja, mantêm a saída constante durante o intervalo de amostragem. Isto equivale (verifique!) a utilizar um filtro de reconstrução com resposta ao impulso ( hr (t) = 1/T, 0 < t < T . 0, caso contrário Como +∞ Hr (Ω) = = 1 T hr (t)e t=−∞ −jΩT e −1 −jΩ −jΩt 1 dt = T = e−jΩT /2 · T e−jΩt dt = t=0 jΩT e /2 − e−jΩT /2 jΩT = e−jΩT /2 · sin(ΩT /2) , ΩT /2 o sinal na saída do ZOH difere de xc (t) (Por quê?). Para recuperar o sinal original, basta tratar a saída do ZOH com o filtro h̃(t), com resposta em frequência ( H̃(Ω) = 1 HR (Ω) = ΩT /2 sin(ΩT /2) , |Ω| < π/T . 0, caso contrário Note que Hr (Ω)H̃(Ω) tem uma resposta passa-baixa com frequência de corte π/T (rad/s). Exercício 1: Qual é a resposta em frequência da concatenação de um A/D com um D/A ZOH? CAPÍTULO 3. AMOSTRAGEM DE SINAIS DE TEMPO CONTÍNUO 27 Exercício 2: Quais são os possível resultados da amostragem do sinal cos(Ω0 t) ? Exercício 3: Considere um sinal passa-faixa, com espectro não nulo entre Ω1 < Ω < Ω2 . a) Obtenha X(ejω ) para T = π/Ω2 . b) Qual é o mínimo T para que não haja aliasing? c) Projete um bloco para recuperar xc (t) usando a taxa de amostragem mínima. 3.3 Reamostragem de Sinais de Tempo Discreto 3.3.1 Subamostragem (Downsampling - ↓ M ) Seja M ∈ N e xd [n] , x[nM ] = xc (nM T ). Explorando-se os fatos de que X(ejω ) = Xs ω T e de que Xd (e ) = Xs jω ω MT = X 1 +∞ ω 2πk Xc − T k=−∞ T T X 1 +∞ ω 2πk = Xc − M T k=−∞ MT MT e fazendo k = i + k 0 M , −∞ < k 0 < +∞, 0 ≤ i ≤ M − 1, pode-se escrever −1 1 1 MX Xd (ejω ) = M i=0 T −1 1 MX 1 = M i=0 T = +∞ X +∞ X k0 =−∞ Xc k0 =−∞ Xc ω − 2π(i + k 0 M ) MT (ω − 2πi) /M 2πk 0 − T T −1 ω−2πi 1 MX X ej ( M ) M i=0 Observe que se X(ejω ) contiver componentes com frequência ωc > π/M o processo de subamostragem produzirá aliasing: 3.3.2 Sobreamostragem (Upsampling - ↑ L) O sinal sobreamostrado xi [n] pela taxa L é definido como ( xi [n] = x[n/L] = xc (nT /L), n = 0, ±L, ±2L, · · · , 0, caso contrário CAPÍTULO 3. AMOSTRAGEM DE SINAIS DE TEMPO CONTÍNUO ou seja, xi [n] = +∞ X 28 x[k]δ[n − kL]. k=−∞ No domínio da frequência, temos: Xi (ejω ) = +∞ X xi [n]e−jωn = n=−∞ = +∞ X +∞ X +∞ X x[k]δ[n − kL]e−jωn = n=−∞ k=−∞ x[k]e−jωkL = X(ejωL ). k=−∞ Diferentemente do caso anterior, o processo de sobreamostragem não produz aliasing. Ocorre, porém, o surgimento de réplicas do espectro original deslocadas de 2π/L (rad/amostra): Exercício: Qual é a resposta em frequência da associação, em série, de uma operação de downsampling seguida por uma de upsampling, ambas com taxa M = 2? 3a Lista de Exercícios Faça os Exercícios 4.1 a 4.20 do livro “Discrete-Time Signal Processing”, Oppenheim & Schafer , Ed. 2, 1998. Capítulo 4 A Transformada Z A transformada Z (TZ) de uma sequência é definida pela soma X(z) , Z{x[n]} , +∞ X x[n]z −n . n=−∞ A TZ mapeia uma sequência numa função de variável complexa; usando a notação polar z , rejω , segue que +∞ X X(z) , (x[n]r−n )e−jωn , n=−∞ que pode ser interpretada como a TFTD da sequência x[n]r−n . Se r = 1, ambas as transformadas coincidem (se existirem e forem contínuas). Similarmente à TFTD, a TZ não converge para todas as sequências ou para todos os valores de z; dada uma sequência, o conjunto de valores de z para os quais a TZ converge é chamado de região de convergência (ROC - Region of Convergence). A convergência absoluta da TZ ocorre se (condição suficiente) +∞ X |x[n]r−n | < ∞. n=−∞ Esta condição só depende de r = |z| (e não de ∠z = ejω ), uma vez que |X(z)| = +∞ X x[n]r −n ≤ +∞ X |x[n]r −n |= n=−∞ n=−∞ +∞ X |x[n]| · |r−n |. n=−∞ A TZ é mais útil quando X(z) for uma função racional na ROC, i.e., X(z) = raízes de P (z) são os zeros e as de Q(z) os polos de X(z). Exemplo 1: x[n] = an u[n]. X(z) = +∞ X n=−∞ an z −n u[n] = +∞ X (az −1 )n = n=0 1 z = , −1 1 − az z−a se |az −1 | < 1 =⇒ |z| > |a|. Note que a TFTD existe se |a| < 1. 29 P (z) Q(z) . As 30 CAPÍTULO 4. A TRANSFORMADA Z Exemplo 2: x[n] = −an u[−n − 1]. X(z) = − +∞ X −1 X an z −n u[−n−1] = − (az −1 )n = − n=−∞ n=−∞ −1 1 − az −1 se |az −1 | > 1 =⇒ |z| < |a|. A TFTD existe se |a| > 1. Importante: observe que a TZ das sequências dos Exemplos 1 e 2 têm a mesma expressão; elas diferem apenas na ROC. Exemplo 3: x[n] = X(z) = = 2 n 1 2 n=−∞ n +∞ X 1 −1 2 n=0 = +∞ X n 1 z 1 1 − 12 z −1 + + u[n] + u[n] + −1 −1 z 3 1 1 + 13 z −1 −1 3 −1 3 n n u[n]. u[n] z −n n = 2 − 16 z −1 1 − 12 z −1 A ROC é a intersecção das regiões |z| > ou seja, |z| > 12 . Exemplo 4: x[n] = − 31 X(z) = = n=−∞ +∞ X −1 −1 z 3 n=0 = +∞ X 1 1 + 13 z −1 − −1 3 n u[n] − n − 2 1 2 n u[n] − n n 1 1 + 13 z −1 1 2 . e |z| > 13 , u[−n − 1]. u[−n − 1] z −n −1 X 1 −1 n z n=−∞ 2 2 − 16 z −1 −1 . = 1 − 12 z −1 1 − 12 z −1 1 + 13 z −1 A ROC é a intersecção das regiões |z| > 13 e |z| < 21 , ou seja, 13 < |z| < 12 . Como a ROC não contém o círculo unitário, não existe TFTD para a sequência x[n]. 31 CAPÍTULO 4. A TRANSFORMADA Z ( an , 0 ≤ n ≤ N − 1 0, caso contrário Exemplo 5: x[n] = X(z) = = N −1 X an z −n = n=0 (az −1 )N 1− 1 − az −1 = N −1 X z zN az −1 n n=0 zN − aN 1 z N − aN = N −1 . z−a z z−a Como a soma acima é finita, a ROC é todo o plano complexo exceto z = 0. Note que z = a não é um polo, pois N z N −1 z N − aN = lim = N aN −1 . z→a z→a z − a 1 lim Os zeros se localizam em √ j2πk N z = aN = ae N , k ∈ N, 0 ≤ k < N. 4.1 Outros Pares Transformados +∞ X a) Z{δ[n]} = δ[n]z −n = 1, ROC = {C} \ {0}. n=−∞ +∞ X b) Z{δ[n − m]} = ( δ[n − m]z −n =z −m , ROC = {C} \ n=−∞ c) Z{e jω0 n } = +∞ X ejω0 z −1 n z = 0, m > 0 . z = ∞, m < 0 =⇒ não converge. Observe que esta sequência possui n=−∞ TFTD (que não converge uniformemente). d) Z{e jω0 n u[n]} = |z| > 1}. +∞ X n=0 ejω0 z −1 n = 1 , |ejω0 z −1 | < 1 =⇒ ROC = {z ∈ C : 1 − ejω0 z −1 o 1 n e) Z{cos(ω0 n)u[n]} = Z ejω0 n + e−jω0 n u[n] 2 1 1 1 1 2 − (ejω0 + e−jω0 )z −1 = + = 2 1 − ejω0 z −1 1 − e−jω0 z −1 2 (1 − ejω0 z −1 )(1 − e−jω0 z −1 ) −1 1 − cos(w0 )z , ROC = {z ∈ C : |z| > 1}. = 1 − 2 cos(w0 )z −1 + z −2 f) Z{sin(ω0 n)u[n]} = o 1 n jω0 n Z e − e−jω0 n u[n] 2j 1 1 (ejω0 − e−jω0 )z −1 − = 1 − e−jω0 z −1 2j (1 − ejω0 z −1 )(1 − e−jω0 z −1 ) 1 1 = jω 2j 1 − e 0 z −1 sin(w0 )z −1 = , ROC = {z ∈ C : |z| > 1}. 1 − 2 cos(w0 )z −1 + z −2 g) Z{rn x[n]} = +∞ X n=−∞ x[n](z/r)−n = X(z/r). 32 CAPÍTULO 4. A TRANSFORMADA Z 4.2 Propriedades da ROC para a TZ Supondo que |x[n]| < ∞ e X(z) seja uma função racional, seque que: 1) A ROC é um anel ou disco no plano Z centrados na origem, i.e., 0 < rdisco < |z| < ranel < ∞. 2) A TFTD de x[n] converge absolutamente se, e somente se, a ROC de Z{x[n]} contiver o círculo unitário. 3) A ROC não pode conter nenhum polo. 4) Se x[n] tiver duração finita, a ROC é o plano Z inteiro, exceto z = 0 ou z = ∞ possivelmente. 5) Se x[n] for uma sequência não-nula à direita, a ROC se estende do polo com maior magnitude até z = ∞ (possivelmente incluindo este ponto). 6) Se x[n] for uma sequência não-nula à esquerda, a ROC se estende do polo com menor magnitude até z = 0 (possivelmente incluindo este ponto). 7) Uma sequência bilateral terá uma ROC na forma de anel, contido entre polos interiores e exteriores. 8) A ROC deve ser uma região conectada. 4.3 4.3.1 A Transformada Z inversa Método de Inspeção Consultando uma tabela de pares transformados, temos que: Z an u[n] ← → 1 , |z| > |a|. 1 − az −1 Assim, se precisarmos encontrar a transformada inversa de X(z) = 1 1− 1 −1 , 2z podemos reconhecer “por inspeção” que x[n] = 4.3.2 |z| > n 1 2 1 2 u[n]. Expansão em Frações Parciais Pelo Teorema Fundamental da Álgebra, podemos escrever M X X(z) = bk z −k k=0 N X k=0 b0 = ak z −k a0 M Y (1 − ck z −1 ) k=1 N Y , (1 − dk z −1 ) k=1 em que ck são os zeros não-nulos de X(z) e dk são os polos de X(z). 33 CAPÍTULO 4. A TRANSFORMADA Z Pode-se mostrar que X(z) pode ser reescrito como: X(z) = MX −N Br z −r + r=0 s X Cm Ak + , −1 1 − dk z (1 − di z −1 )m m=1 k=1 N X k6=i | {z } se M ≥N | | {z polos simples } | {z } polo de multiplicidade s (se houver) {z } ,Ψ(z) em que • Br pode ser obtido dividindo-se o numerador pelo denominador (se M ≥ N ). , em que dk são os polos simples. • Ak = (1 − dk z −1 )Ψ(z) z=dk • Cm 1 = (s − m)!(−di )s−m ( ) i ds−m h s −1 (1 − d w) Ψ(w ) i dws−m em que di é o (único) w=d−1 i polo de multiplicidade s; se houver mais de um polo múltiplo, o último termo da expansão se repetirá para cada um deles. Exemplo 1: Seja X(z) = 1 + 2z −1 + z −2 . 1 − 32 z −1 + 21 z −2 3 1 3 1 2 ∴ 1 − z −1 + z −2 = Determinação dos polos: x2 − x + 1 = 0 ⇐⇒ x = 1 2 2 2 2 1 −1 1− z 1 − z −1 . 2 A2 A1 Disto conclui-se que X(z) = B0 + 1 −1 + 1 − z −1 . Para determinar B0 , observe 1 − 2z que, através da divisão longa dos polinômios, obtemos ( X(z) = 5z −1 − 1 1 + 2z −1 + z −2 = 2 + . 1 − 32 z −1 + 21 z −2 1 − 21 z −1 (1 − z −1 ) | {z Ψ(z) } Assim, 1 A1 = 1 − z −1 Ψ(z) 2 z −1 =2 A2 = 1 − z −1 Ψ(z) z −1 =1 = −9. = 8. −9 8 1 −1 + 1 − z −1 . Para se calcular a antitransformada, 1 − 2z note que a posição dos polos (z = 1/2 e z = 1) estabelece três ROCs possíveis: Desta forma, X(z) = 2 + 1) |z| > 1 : x[n] = 2δ[n] − 9 2) n 1 2 u[n] + 8u[n]. (sequência causal, metaestável) 1 1 < |z| < 1 : x[n] = 2δ[n]−9 2 2 n u[n]−8u[−n−1]. (sequência bilateral, metaestável) 34 CAPÍTULO 4. A TRANSFORMADA Z 3) |z| < 1 1 : x[n] = 2δ[n] + 9 2 2 n u[−n − 1] − 8u[−n − 1]. (sequência anticausal, instável) Note que nenhuma das antitransformadas é estável, pois o círculo unitário não faz parte da ROC. Exemplo 2: Seja X(z) = 1 1− um polo duplo (s = 2) em z = 1 −1 3z 1− 1 −1 5z 1 2 . Há um polo simples em z = 3 e , d2 . Como M < N , Ψ(z) = X(z). 1 5 Assim, 1 A1 = 1 − z −1 Ψ(z) 3 1 C1 = 1!(−1/5)1 ( = −5 C2 = = z −1 =3 " 1 1− w 5 dw1 d 1 dw 1 − 13 w 1 1 − 13 w Portanto, X(z) = d1 " 1 0!(−1/5)0 ( ( ( d0 w=5 2 #) Ψ(w−1 ) w=(1/5)−1 #) = −5 w=5 " dw0 ) 25 . 4 = 1 1− w 5 1/3 1 − 1w 3 #) 2 2 =− 15 . 4 w=5 Ψ(w−1 ) w=(1/5)−1 3 =− . 2 25/4 −15/4 −3/2 2 . (Confira!) 1 −1 + 1 −1 + 1 − 3z 1 − 5z 1 − 15 z −1 Devido às posições dos polos, há 3 ROCs possíveis: 1) |z| < 51 : h[n] = − 25 4 (anticausal, instável). n 1 3 2) 15 < |z| < 13 : h[n] = − 25 4 instável). 3) |z| > 31 : h[n] = 25 4 n 1 3 u[−n − 1] + n 1 3 u[n] − u[−n − 1] − 15 4 n 1 5 n 15 4 1 5 u[−n − 1] + n 1 15 4 5 u[n] − 3 2 u[n] − n 1 5 3 2 3 2 n n 1 5 1 5 (n + 1)u[−n − 1] (n + 1)u[n] (bilateral, (n + 1)u[n] (causal, estável). (A antitransformada do termo quadrático é calculada na Seção 4.4, Item 4). 4.3.3 Expansão em Série de Potência Se for possível representar X(z) por uma série de potências, a antitransformada x[n] é dada pelos coeficientes da série, já que, por definição X(z) = ∞ X n=−∞ Exemplo: X(z) = ln(1 + az −1 ), |z| > |a|. x[n]z −n . 35 CAPÍTULO 4. A TRANSFORMADA Z Expandindo a função ln(1 + x) em Série de Taylor em torno de x = 0, temos: +∞ X xr dr ln(1 + x) = ln(1 + x) r! dxr r=0 = [ln(1 + x)]x=0 + x4 −6 + 4! (1 + x)4 =x− x2 2 3 − + ··· + x=0 3 x x4 + x=0 1 1! 1 + x x1 4 + x2 −1 2! (1 + x)2 − 1)! # x=0 " xn (−1)n−1 (n (1 + x)n n! (−1)n−1 xn + ··· + n x=0 + x3 2 3! (1 + x)3 + x=0 x=0 . +∞ X (−1)n−1 an −n z . A antitransformada é então n n=1 (−1)n−1 an dada pelos coeficientes da série, i.e., x[n] = u[n − 1]. n Fazendo x = az −1 , segue que X(z) = 4.3.4 Transformada Z inversa usando integrais de linha A TZ inversa pode ser calculada através da expressão 1 x[n] = 2πj X(z)z n−1 dz C em que C é qualquer contorno contido na ROC que envolva a origem. ∞ X Demonstração: Tomando a igualdade X(z) = x[k]z −k , multiplicando ambos os k=−∞ lados por z n−1 e integrando, segue que 1 2πj X(z)z n−1 C 1 dz = 2πj +∞ X x[k]z n−k−1 C k=−∞ +∞ X 1 dz = x[k] 2πj k=−∞ z n−k−1 dz. C Pelo Teorema Integral de Cauchy, sabe-se que 1 2πj Assim, 1 2πj ( z n−k−1 dz = C 1, n = k = δ[n − k]. 0, caso contrário X(z)z n−1 dz = C +∞ X x[k]δ[n − k] = x[n]. k=−∞ Cálculo da Integral de Contorno A integral de contorno pode ser calculada pelo Teorema dos Resíduos de Cauchy, i.e., 1 x[n] = 2πj X(z)z n−1 dz = Xn o resíduos de X(z)z n−1 nos polos internos a C . C n−1 num polo em z = d de multiplicidade s é dado Por sua vez, o resíduo 0 " # de X(z)z s−1 1 d ψ(z) , em que ψ(z) , X(z)z n−1 (z − d0 )s . por (s − 1)! dz s−1 z=d 0 CAPÍTULO 4. A TRANSFORMADA Z 36 1 , |z| > |a|. −1 1 − az zn Para n ≥ 0, X(z)z n−1 = só tem um polo em z = a. Como o contorno C deve z−a zn estar na ROC (|z| > |a|), ele circundará o polo z = a. O resíduo de no único polo z−a interno ao contorno é dado por [X(z)z n (z − a)]z=a = [z n ]z=a = an . zn terá um polo em z = a e um polo de Para n < 0, no entanto, X(z)z n−1 = z−a multiplicidade −n em z = 0. A integral, portanto, será igual à soma dos resíduos nesses dois polos: Exemplo: Seja X(z) = d−n−1 1 X(z)z n (z − 0)−n z=0 −n−1 (−n − 1)! dz 1 z − a z=0 x[n] = [X(z)z n (z − a)]z=a + = an + Como 1 d−n−1 (−n − 1)! dz −n−1 d−n−1 1 (−1)−n−1 (−n − 1)! = (verifique!), segue que dz −n−1 z − a (z − a)−n x[n] = an + (−1)−n−1 = an − an = 0. (−a)−n 37 CAPÍTULO 4. A TRANSFORMADA Z 4.4 Propriedades da Transformada Z 1) Linearidade Z ax1 [n] + bx2 [n] ← → aX1 (z) + bX2 (z) A ROC da soma contém ROC{x1 [n]} ∩ ROC{x2 [n]}, pois a soma pode provocar o cancelamento de polos. 2) Deslocamento Temporal Z x[n − n0 ] ← → z −n0 X(z) A ROC{x[n − n0 ]} é igual à ROC{x[n]}, acrescentando ou retirando os pontos z = 0 e z = ∞ a depender do sinal de n0 . Verificação: Y (z) = +∞ X x[n − n0 ]z −n +∞ X = n=−∞ ! x[m]z z −n0 . −m m=−∞ {z | } X(z) 3) Multiplicação por uma função exponencial Z z0n x[n] ← → X(z/z0 ), ROC{z0n x[n]} = ROC{x[n]}|z0 |. 4) Derivada em z −z dX(z) Z ← → nx[n] dz +∞ +∞ X X dX(z) dX(z) −n−1 = x[n](−n)z ⇐⇒ −z = nx[n]z −n = Z{nx[n]}. Verificação: dz dz n=−∞ n=−∞ Exemplo: X(z) = −z 1 , |z| > |a| 1 − az −1 dX(z) az −1 1 Z Z = ← → nan u[n] =⇒ ← → (n+1)an u[n+1] = (n+1)an u[n]. dz (1 − az −1 )2 (1 − az −1 )2 5) Conjugação no tempo Z x∗ [n] ← → X ∗ (z ∗ ), ROC{x[n]} = ROC{x∗ [n]}. +∞ X ∗ Verificação: Z{x [n]} = ∗ x [n]z −n = " +∞ X n=−∞ #∗ ∗ −n x[n](z ) = X ∗ (z ∗ ). n=−∞ 6) Inversão no tempo Z x[−n] ← → X(1/z), Verificação: Z{x[−n]} = +∞ X n=−∞ ROC{x[−n]} = 1/ROC{x[n]}. x[−n]z −n = +∞ X m=−∞ x[m](1/z)−m = X(1/z). 38 CAPÍTULO 4. A TRANSFORMADA Z 7) Convolução de duas sequências Z y[n] = x1 [n]∗x2 [n] ← → Y (z) = X1 (z)X2 (z), ROC{y[n]} ⊃ ROC{x1 [n]}∩ROC{x2 [n]}. Verificação: Y (z) = +∞ X = +∞ X +∞ X x1 [k]x2 [m − k]z −m m=−∞ k=−∞ m=−∞ +∞ X +∞ X y[m]z −m = x1 [k]z −k x2 [n]z −n = X1 (z)X2 (z). n=−∞ k=−∞ 8) Teorema do valor inicial Se x[n] for uma sequência causal, então x[0] = lim X(z). z→∞ Verificação: X(z) = +∞ X x[n]z −n =⇒ lim X(z) = x[0]. z→∞ n=0 9) Teorema da convolução complexa Se w[n] = x1 [n]x2 [n], então: 1 X1 (z/v)X2 (v)v −1 dv W (z) = 2πj C2 1 = X1 (v)X2 (z/v)v −1 dv, 2πj C1 em que C1 é um contorno fechado que engloba a ROC de X1 (v)X2 (z/v) e C2 é outro contorno que engloba a ROC de X1 (z/v)X2 (v). Se ROC{x1 [n]} = {rR1 < |z| < rL1 } e ROC{x2 [n]} = {rR2 < |z| < rL2 }, pode-se verificar que ROC{w[n]} = {rR1 rR2 < |z| < rL1 rL2 }. Exemplo: Seja x1 [n] = an u[n] e x2 [n] = bn u[n]. Segue então que X1 (z) = 1 |a| e que X2 (z) = 1−bz −1 , |z| > |b|. Desta forma, 1 W (z) = 2πj 1 , 1−az −1 |z| > X1 (z/v)X2 (v)v −1 dv, C2 em que C2 engloba a ROC de X1 (z/v)X2 (v), que é dada pela intersecção das regiões em que |z/v| > |a| e |v| > |b|, ou seja, |b| < |v| < |z/a|. Assim 1 W (z) = 2πj |b|<|v|<|z/a| 1 1 1 v −1 dv = 1 − av/z 1 − b/v 2πj |b|<|v|<|z/a| 1 1 dv 1 − av/z v − b Pelo Teorema dos Resíduos, a integral acima é dada pela soma dos resíduos do integrando no polo interno ao contorno, que fica em v = b. Portanto: W (z) = 1 , |z| > |ab|. 1 − abz −1 39 CAPÍTULO 4. A TRANSFORMADA Z 10) Relação de Parseval +∞ X x1 [n]x∗2 [n] = Z{x1 [n]x∗2 [n]}z=1 n=−∞ 1 X1 (1/v)X2∗ (v ∗ )v −1 dv 2πj C2 1 = X1 (v)X2∗ (1/v ∗ )v −1 dv, 2πj C1 = em que C1 e C2 são contornos definidos como no item 9). 4.5 Solução de Equações de Diferenças Lineares a Coeficientes Constantes usando a Transformada Z Uma Equação de Diferenças Linear a Coeficientes Constantes (EDLCC) tem a forma X ak y[n − k] = k X bl x[n − l], l em que ak e bl são os coeficientes da equação e x[n] e y[n] são sequências de entrada e de saída, respectivamente. Tomando-se a TZ de ambos os lados da equação acima, segue que ! X ak z −k ! Y (z) = X k bl z −l X(z). l Assim, soluções da EDLCC podem ser determinadas como ! X Y (z) = bl z −l l X ! X(z). ak z −k k Exemplo: Considere a equação y[n] = 12 y[n − 1] + x[n], com x[n] = u[n] e y[n] = 0, n < 0. Então: 1 1 −1 2 Y (z) = 1 −1 · 1 − z −1 = 1 −1 + 1 − z −1 . 1 − 2z 1 − 2z | {z } X(z) Como y[n] = 0, n < 0, buscamos uma antitransformada causal para Y (z). A região de convergência, então, será externa ao polo mais externo de Y (z), ou seja, |z| > 1. Desta forma, n 1 y[n] = − u[n] + 2u[n]. 2 Supondo, por outro lado, que x[n] = −u[−n − 1] e y[n] = 0, n ≥ 0, a solução da EDLCC é dada pela antitransformada anticausal de Y (z), cuja região de convergência é |z| < 12 (interna ao polo mais interno). Assim, y[n] = Note que esta solução é instável. 1 2 n u[−n − 1] − 2u[−n − 1]. 40 CAPÍTULO 4. A TRANSFORMADA Z 4.6 Transformada Z Unilateral A TZ unilateral é definida como X(z) , +∞ X x[n]z −n . n=0 Note que X(z) coincide com a TZ (bilateral) de x[n] se esta for uma sequência causal. O principal uso dessa transformada é analisar sistemas descritos por equações de diferenças com condições iniciais não-quiescentes. Para isto, defina y[n] = x[n − m], m > 0. Então: Y(z) = x[−m] + x[−m + 1]z −1 + · · · + x[−1]z −m+1 + x[0]z −m + x[1]z −m−1 + · · · + x[n]z −m+n + · · · = m−1 X x[k − m]z −k +z −m X(z). k=0 | {z condições iniciais } Exemplo: Considere a equação y[n] = 21 y[n − 1] + x[n], com x[n] = u[n] e y[−1] = 1 (condição inicial). Então: Y(z) − 1 1 y[−1] + z −1 Y(z) = X(z) = 2| 1 − z −1 {z } TZ Unilateral de y[n−1] 2 −1/2 + −1 1−z 1 − z −1 /2 n 1 1 ∴ y[n] = 2u[n] − u[n]. 2 2 ⇐⇒ Y(z) = 4a e 5a Listas de Exercícios Faça os Exercícios 3.1, 3.2, 3.4 a 3.9, 3.10, 3.11 a 3.20 do livro “Discrete-Time Signal Processing”, Oppenheim & Schafer , Ed. 2, 1998. Capítulo 5 Transformada Discreta de Fourier Considere uma sequência x[n] com TFTD X(ejω ). A Transformada Discreta de Fourier (DFT - Discrete Fourier Transform) é definida como = X(ej2πk/N ), X[k] , X(ejω ) ω=2πk/N N ∈ N∗ . Como X(ejω ) tem período 2π, X[k] tem período N . Note ainda que X[k] = +∞ X x[n]e− j2πkn N n=−∞ 5.1 Propriedades de X[k] −1 j2πkn 1 NX X[k]e N . Expressando x̃[n] em função de x[n], obtemos Defina x̃[n] , N k=0 −1 1 NX x̃[n] = N k=0 +∞ X x[m]e − j2πkm N ! e j2πkn N = m=−∞ | {z 1 N +∞ X x[m] m=−∞ N −1 X e j2πk(n−m) N . k=0 } X[k] Observe agora que N −1 X e j2πk(n−m) N = k=0 1 − ej2π(n−m) 1−e j2π(n−m) N = |{z} lim = n N, n−m=rN 0, n−m6=rN , pois 1 − ej2πx lim x→rN 1−e j2πx N L’Hôpital x→rN −j2πej2πx − j2π N e j2πx N = N. Assim, N −1 X k=0 e j2πk(n−m) N =N +∞ X δ[m − (n − rN )], r=−∞ em que r ∈ Z. Portanto, x̃[n] = +∞ X m=−∞ x[m] +∞ X δ[m − (n − rN )] = x[n] ∗ r=−∞ +∞ X r=−∞ 41 δ[n − rN ] = +∞ X r=−∞ x[n − rN ]. 42 CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER Note que x̃[n] é uma sequência periódica, formada pela convolução de x[n] com um pente de impulsos de período N . Assim, se x[n] não for uma sequência nula fora do intervalo 0 ≤ n < N , x̃[n] é o resultado de sobreposições periódicas de x[n], no fenômeno conhecido como aliasing no domínio do tempo. Por outro lado, se x[n] = 0 para n < 0 e n ≥ N , então x̃[n] = x[n] para 0 ≤ n ≤ N − 1 (Verifique!). Em outras palavras, se x[n] for nula fora do intervalo 0 ≤ n < N , X[k] representa unicamente x[n]. 5.2 DFT - Definição Formal Seja x[n] uma sequência não-nula apenas no intervalo 0 ≤ n ≤ N − 1. Então, pode-se estabelecer o par transformado N −1 X X[k] = x[n] = x[n]WNkn , 0 ≤ k ≤ N − 1, n=0 N −1 X 1 N X[k]WN−kn , 0 ≤ n ≤ N − 1, k=0 em que WN , e−j2π/N . Observação: A DFT pode ser representada através de uma operação matricial WN0 WN0 WN0 = .. . WN0 WN1 WN2 .. . WN0 WN2 WN4 .. . WNN −1 2(N −1) WN X[0] X[1] X[2] .. . X[N − 1] WN0 | ··· WN0 · · · WNN −1 2(N −1) · · · WN .. . (N −1)2 WN ··· {z x[0] x[1] x[2] .. . x[N − 1] } ,F A matriz que implementa a DFT possui uma estrutura especial (chamada matriz Vandermonde): os elementos das colunas são potências dos elementos da segunda coluna (o mesmo ocorre para a linhas). Esta propriedade pode ser explorada para o desenvolvimento de algoritmos rápidos (Fast Fourier Transform - FFT) para o cálculo da DFT. Pode-se verificar também (F∗ )T F = N · IN , em que IN denota uma matriz identidade N × N e (·)T denota a operação de transposição de uma matriz. Disto segue que F−1 = N1 (F∗ )T . ( Exemplo: Seja x[n] = X[k] = N −1 X 1, 0 ≤ n ≤ N − 1 . Calcule a sua DFT de ordem N = 5. 0, caso contrário x[n]e − j2πnk N n=0 = 1 − e−j2πk 1−e − j2πk N ( = N, k = 0 0, 1 ≤ k < N Por outro lado, +∞ X X(ejω ) = x[n]e−jωn = n=−∞ = − jωN 2 e − jω 2 e e jωN 2 e jω 2 N −1 X e−jωn = n=0 −e − jωN 2 −e − jω 2 =e −jω(N −1) 2 1 − e−jωN 1 − e−jω sin(ωN/2) . sin(ω/2) 43 CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER 5.3 Propriedades da Transformada Discreta de Fourier 1) Linearidade DFT ax1 [n] + bx2 [n] ←−→ aX1 [k] + bX2 [k]. 2) Deslocamento Circular no Tempo DFT x[((n − m))N ] ←−→ e− j2πkm N X[k]. em que operador “resto da divisão” ((n − m))N , n − m − rN, para algum r ∈ Z de modo que 0 ≤ n − m − rN ≤ N − 1. Verificação: De início, observe que, por definição, DFT{x[((n − m))N ]} = N −1 X x[((n − m))N ]e− j2πkn N . n=0 Usando o fato de que n = ((n − m))N + m + rN , segue que DFT{x[((n − m))N ]} = N −1 X x[((n − m))N ]e− j2πk((n−m))N N e− j2πk(m+rN ) N . n=0 Como, ∀m ∈ Z, ((n − m))N assume uma única vez cada um dos os valores entre 0 e N − 1 para 0 ≤ n ≤ N − 1 (Tente fazer um exemplo numérico com N pequeno para se convencer disto!), obtem-se que DFT{x[((n − m))N ]} = X[k]e− j2πk(m+rN ) N = X[k]e− j2πkm N . 3) Dualidade Se X[k] = DFT{x[n]}, então x[((−n))N ] = 1 N · DFT{X[k]} para 0 ≤ n ≤ N − 1. ( 0, n=0 . Passando o fator N N − n, 1 ≤ n ≤ N − 1 para o lado esquerdo da última equação e tomando a DFT inversa de ambos os lados, segue que Verificação: Temos que ((−n))N = −1 N −1 X j2πnk j2πnk 1 NX IDFT{N x[((−n))N ]} , N x[((−n))N ]e N = x[0] + x[N − n]e N |{z} N n=0 n=1 " # x[0]e0 = x[0] + N −1 X x[l]e− l=1 = N −1 X l=0 x[l]e− j2πlk N j2πN k e| {zN } (l , N − n =⇒ n = N − l) =1, ∀k j2πlk N = X[k]. 44 CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER 4) Propriedades de Simetria N −1 X ∗ DFT{x [n]} = ∗ x [n]e − j2πkn N = "N −1 X = x[n]e − #∗ n=0 n=0 "N −1 X x[n]e j2πkn N j2π(N −k)n N #∗ = X ∗ [((−k))N ] , 0 ≤ k, l ≤ N − 1. n=0 Da mesma forma, ∗ DFT{x [((−n))N ]} = N −1 X ∗ x [((−n))N ]e − j2πkn N " = x[0] + = x[0] + N −1 X x[N − n]e j2πkn N #∗ n=1 n=0 N −1 X ∗ x[m]e − j2πkn N m=1 j2πN k N ∗ |e {z } = X [k], 0 ≤ k, l ≤ N − 1. =1 5) Convolução Circular Se X3 [k] = X1 [k]X2 [k], então x3 [n] = x1 [n] N x2 [n], ou seja, x3 [n] = N −1 X x1 [m]x2 [((n − m))N ] = N −1 X n o Verificação: X3 [k] = DFT x1 [n] N x2 [n] = N −1 N −1 X X " n=0 N −1 N −1 X X " = m=0 x2 [m]x1 [((n − m))N ]. m=0 m=0 x2 [((n − m))N ]e # x1 [m]x2 [((n − m))N ] e− j2πkn N m=0 j2πk((n−m))N − N # x1 [m]e− j2πk(m+rN ) N n=0 pois ((n − m))N = (n − m) − rN, para algum r ∈ Z, = X2 [k] N −1 X m=0 x1 [m]e− j2πmk N j2πkrN e| − {zN } = X1 [k]X2 [k]. =1, ∀m Exemplo: Seja x1 [n] = δ[n − n0 ] e x2 [n] uma sequência arbitrária definida para 0 ≤ n ≤ N − 1. Deseja-se calcular x3 [n] = x1 [n] N x2 [n]. Observe inicialmente que X3 [k] = DFT{x1 [n] N x2 [n]} = X1 [k]X2 [k]. Como X1 [k] = j2πkn0 j2πkn0 e− N , segue que X3 [k] = X2 [k]e− N , e, pela propriedade de deslocamento circular, obtemos que x3 [n] = x2 [((n − n0 ))N ]. 5.4 Convolução (Linear) usando a DFT Se x1 [n] tiver comprimento L e x2 [n] comprimento P , a convolução linear dessas sequências pode ser calculada da seguinte forma: • Calcule a DFT de x1 [n] e de x2 [n] completadas com zeros à direita de forma com que ambas as sequências tenham N ≥ L + P − 1 elementos. • Calcule x3 [n] = IDFT{DFT{x1 [n]}DFT{x2 [n]}}. CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER 45 Figura 5.1: Exemplo de cálculo de uma convolução linear usando uma convolução circular. (Como exercício, refaça os cálculos com N = 2). Observe que o procedimento determina x3 [n] = x̂1 [n] N x̂2 [n], em que x̂i [n] é a sequência xi [n] completada com zeros à direita de forma a ter N elementos. Pode-se verificar (graficamente, por exemplo) que a condição em N garante que x3 [n] = N −1 X m=0 x̂1 [m]x̂2 [((n − m))N ] = L−1 X x1 [m]x2 [n − m]. m=0 Exemplo: ( 1, 0 ≤ n ≤ 1 . Neste caso, L = P = 2 e, assim, para 0, caso contrário que o resultado da convolução circular para 0 ≤ n ≤ L + P coincida com o resultado da convolução (linear), é necessário que N ≥ 3. Na Figura 5.1 estão mostrados os cálculos por meio gráfico da convolução linear e da convolução circular correspondente. Como se vê nessa figura, os resultados coincidem para 0 ≤ n ≤ 3. Sejam x1 [n]x2 [n] = CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER 5.5 46 Implementação de uma Convolução Circular usando o Operador Convolução Linear Para que isto ocorra, deve valer que x3 [n] = N −1 X em que x̂1 [m] = x̂1 [m]x̃2 [n − m], m=−∞ m=0 ( +∞ X x1 [m]x2 [((n − m))N ] = x1 [m], 0 ≤ n ≤ N − 1 e x̃2 [l] = x2 [((l))N ] é a extensão periódica de 0, caso contrário x2 [l]. 5.6 Estimação Espectral usando a DFT Seja x[n] = ejω0 n . A DFT deste sinal é dada por X[k] = N −1 X −ω0 ) −jn( 2πk N e n=0 = e−j ( ) (N −1) 2πk −ω0 N 2 1 − e−jN ( N −ω0 ) = 2πk 1 − e−j ( N −ω0 ) 2πk sin(πk − ω0 N/2) . sin(πk/N − ω0 /2) Caso ω0 não seja múltiplo de 2π/N , a DFT terá a forma de um “sinc periódico” amostrado. Por outro lado, caso ω0 = 2πl/N , 0 ≤ l < N , sin(πk − ω0 N/2) |X[k]| = = sin(πk/N − ω0 /2) ( N, k = l . 0, caso contrário Note também que se l < 0, a “raia” espectral aparecerá em N + l. 5.7 Cálculo da DFT Há diversas famílias de algoritmos rápidos (FFT - Fast Fourier Transform) para o cálculo da DFT. Para uma referência geral, veja o Capítulo 9 de Oppenheim & Schafer ou o e-book grátis de Douglas L. Jones (clique aqui para baixá-lo). Um dos primeiros algoritmos FFT inventados foi o de decimação no tempo, descrito abaixo. Este algoritmo se aplica na situação em que N é uma potência de 2. (Há outras famílias de algoritmos rápidos em que esta restrição não se aplica). Suponha que N = 2ν . Assim, X[k] = N −1 X x[n]WNnk = X x[n]WNnk + n par n=0 X x[n]WNnk , n ímpar j2π em que WN , e− N . Escrevendo os índices pares como 2r e os ímpares como 2r + 1, obtém-se que N/2−1 X[k] = X N/2−1 x[2r]WN2rk + r=0 N/2−1 = X r=0 x[2r]WN2rk + WNk X (2r+1)k x[2r + 1]WN r=0 N/2−1 X r=0 x[2r + 1]WN2rk . 47 CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER −r(N/2) r(k−N/2) = WN/2 rk e W rk = W rk W Como WN2rk = WN/2 N/2 N/2 N/2 | N , segue que {z =1,∀r X N/2−1 rk x[2r]WN/2 + WNk r=0 = G[((k))N/2 ] | para 0 ≤ k < } N/2−1 X[k] = r((k))N/2 = WN/2 {z } DFT de ordem N/2 dos elementos pares + X rk x[2r + 1]WN/2 , r=0 WNk H[((k))N/2 ] |{z} | {z } “twiddle-factor” DFT de ordem N/2 dos elementos ímpares O algoritmo de FFT resultante (Radix-2 Decimation-in-time) é representado graficamente na Figura 5.2. Observe que o cálculo de uma DFT de ordem N pela sua definição demanda N 2 multiplicações e N (N − 1) = N 2 − N adições. O cálculo da DFT pela expressão acima, por sua vez, requer 2(N/2)2 + N = N 2 /2 + N multiplicações e 2(N/2)(N/2 − 1) + N = N 2 /2 adições, ou seja, aproximadamente a metade para N 1. Figura 5.2: Exemplo de FFT com N = 8. (Fonte: Wikipedia) (N/2) Pode-se ainda simplificar a expressão anterior para X[k] observando que, como WN e −j2π(N/2) N = e−jπ = = −1, pode-se escrever para N/2 ≤ k < N (k−N/2) X[k] = G[((k))N/2 ] + WN k−N/2 = G[((k))N/2 ] − WN (N/2) WN H[((k))N/2 ] H[((k))N/2 ], ou seja, podem-se calcular apenas N/2 “twiddle factors”. Aplicando-se o mesmo raciocínio de redução de complexidade recursivamente, isto é, calculando a FFT de ordem N/2 como uma combinação de FFTs de ordem N/4 e assim sucessivamente, é possível calcular uma DFT de ordem N utilizando log2 (N ) estágios de decimação no tempo, como mostrado na Figura 5.3. Como cada um desses estágios requer N multiplicações e adições, a complexidade total se reduz a N log2 (N ) operações. Se N = 1024 = 210 , por exemplo, a redução de complexidade é de N 2 = 220 ≈ 106 para N log2 (N ) = 210 · 10 ≈ 104 operações. CAPÍTULO 5. TRANSFORMADA DISCRETA DE FOURIER 48 Figura 5.3: Exemplo de FFT com N = 8. (Fonte: Wikipedia) 6a Lista de Exercícios Faça os Exercícios 8.5 a 8.15 do livro “Discrete-Time Signal Processing”, Oppenheim & Schafer , Ed. 2, 1998. Capítulo 6 Análise de SLITs através de Transformadas Um SLIT é completamente caracterizado no domínio do tempo pela sua resposta ao impulso h[n]: +∞ X y[n] = x[n] ∗ h[n] = x[k]h[n − k]. k=−∞ A mesma relação pode ser expressa através das TFTDs Y (ejω ) = X(ejω )H(ejω ), caso as transformadas existam, ou das Transformadas Z Y (z) = X(z)H(z), nas suas regiões de convergência. 6.1 Resposta em Frequência de um SLIT Se Y (ejω ) = X(ejω )H(ejω ), então |Y (ejω )| = |X(ejω )| · |H(ejω )|, ∠Y (ejω ) = ∠X(ejω ) + ∠H(ejω ). Define-se também o atraso de grupo τ (ω) , grd[H(ejω )] , − | 6.2 {z group delay } d d ∠H(ejω ) , − arg H(ejω ) dω dω Resposta ao Impulso de um Passa-Baixas Ideal O sistema passa-baixas ideal tem resposta em frequência ( HLP (e ) = jω 1, |ω| < ωC , 0, ωC < |ω| ≤ π 49 |ω| ≤ π, CAPÍTULO 6. ANÁLISE DE SLITS ATRAVÉS DE TRANSFORMADAS subentendo-se a extensão periódica de HLP (ejω ) (já que HLP (ejω ) = HLP (ej(ω+2πr) ), Z). A resposta ao impulso então é dada por 1 hLP [n] = 2π = +π HLP (e )e jω −π +ω C ejωn 1 2π jn = −ωC jωn 1 dω = 2π 50 r∈ +ω C ejωn dω −ωC ejωC n − e−jωC n sin(ωC n) = . 2jπn πn O sistema passa-baixas ideal não é causal e a sua resposta ao impulso é infinita. Por isso, ele não é realizável fisicamente. 6.3 Sistemas caracterizados por equações de diferenças Considere uma classe de sistemas cuja relação entrada-saída satisfaça N X ak y[n − k] = k=0 M X bl x[n − l]. l=0 Tomando-se a Transformada Z de ambos os lados N X M X ! ak z −k Y (z) = bl z X(z) l=0 k=0 | ! −l {z A(z) ⇒ Y (z) = } | A(z) X(z) , B(z) {z B(z) } H(z) X(z). | {z } função racional de z Exemplo: H(z) = (1 + z −1 )2 Y (z) 1 −1 3 −1 = X(z) (1 − 2 z )(1 + 4 z ) 3 1 ⇐⇒ X(z)(1 + 2z −1 + z −2 ) = Y (z)(1 + z −1 − z −2 ) 4 8 1 3 ⇐⇒ y[n] + y[n − 1] − y[n − 2] = x[n] + 2x[n − 1] + x[n − 2]. 4 8 6.4 Estabilidade e Causalidade Uma equação de diferenças não caracteriza unicamente h[n]. Se for imposto que h[n] seja causal e estável, H(z) deve convergir no exterior de um círculo de raio r < 1. 5 y[n] − y[n − 1] + y[n − 2] = x[n] 2 1 1 ⇐⇒H(z) = = 5 −1 1 −1 −2 1 − 2z + z (1 − 2 z )(1 − 2z −1 ) Como H(z) tem polos em z = 1/2 e z = 2, a equação de diferenças possui três tipos de soluções: Exemplo: • causal, instável • bilateral, estável • anticausal, instável. CAPÍTULO 6. ANÁLISE DE SLITS ATRAVÉS DE TRANSFORMADAS 6.5 51 Sistema Inverso Hi (z) é o sistema inverso de H(z) se Z H(z)Hi (z) = 1 ⇐⇒ h[n] ∗ hi [n] = δ[n]. Nem todos os sistemas H(z) possuem um sistema inverso. Para que a equação acima seja satisfeita, as ROCs de H(z) e de Hi (z) devem se sobrepor. Supondo que H(z) seja uma função racional, M Y H(z) = b0 a0 (1 − ck z −1 ) k=1 N Y , (1 − dk z −1 ) k=1 segue que N Y Hi (z) = a0 b0 (1 − dk z −1 ) k=1 M Y . (1 − ck z −1 ) k=1 Para que hi [n] seja causal e estável, |ck | < 1, ou seja, todos os zeros de H(z) devem estar no interior do círculo unitário. Um SLIT com resposta ao impulso causal e estável com todos os zeros no interior do círculo unitário é dito de mínima fase. 6.6 Resposta ao Impulso de Sistemas descritos por Funções Racionais Para todo H(z) com N polos simples e numerador de ordem M vale H(z) = MX −N Br z −r + r=0 | | {z FIR N X Ak 1 − dk z −1 k=1 } {z IIR } Os termos da direita são responsáveis por parcelas da resposta ao impulso com duração infinita (IIR - Infinite Impulse Response) da forma Ak (dk )n u[n]. Os termos da direita, por sua vez, correspondem a parcelas com duração finita (FIR - Finite Impulse Response), da forma Br δ[n − r]. A condição para que um sistema seja IIR é que algum polo em z 6= 0 não seja cancelado por algum zero no mesmo ponto. Exemplos: 1) y[n] − ay[n − 1] = x[n] =⇒ H(z) = 1 =⇒ h[n] = an u[n], |z| > |a| (IIR). 1 − az −1 CAPÍTULO 6. ANÁLISE DE SLITS ATRAVÉS DE TRANSFORMADAS 2) H(z) = M X bk z −k =⇒ h[n] = k=0 ( 3) h[n] = M X 52 bk δ[n − k] (FIR). k=0 M M X X 1 − (az −1 )M +1 an , 0 ≤ n ≤ M = an δ[n − m] =⇒ H(z) = an z −n = 0, caso contrário 1 − az −1 m=0 n=0 ⇐⇒ y[n] − ay[n − 1] = x[n] − aM +1 x[n − M − 1] (FIR!). 6.7 Sistemas Passa-Tudo Considere funções racionais da forma z −1 − a∗ = −a∗ HAP (z) = 1 − az −1 1 − a−∗ z −1 1 − az −1 ! , em que a−∗ , (a−1 )∗ = (a∗ )−1 . Substituindo z = ejω , obtemos que HAP (ejω ) = −jω )∗ e−jω − a∗ −jω (1 − ae = e =⇒ |HAP (ejω )| = 1, ∀ω. 1 − ae−jω (1 − ae−jω ) De forma mais geral, um sistema passa-tudo com resposta ao impulso real tem função de transferência da forma HAP (z) = M z −1 − dk YC (z −1 − e∗k )(z −1 − ek ) 1 − dk z −1 k=1 (1 − ek z −1 )(1 − e∗k z −1 ) k=1 M R Y | {z } Polos Reais | {z } Polos Complexos Para que o sistema seja causal e estável, |dk | < 1 e |ek | < 1. 6.8 Sistemas de Mínima Fase A magnitude da resposta em frequência de um SLIT não determina unicamente H(z). Para que um SLIT seja causal e estável, basta que os seus polos estejam contidos no círculo unitário. Não há restrição porém quanto aos zeros. Impondo-se adicionalmente que os zeros de H(z) estejam contidos no círculo unitário, resulta que existe o sistema inverso Hi (z) causal e estável. Neste caso, H(z) é chamado de um sistema de mínima fase. Em geral, para qualquer sistema, pode-se escrever H(z) = HMIN (z) HAP (z) . Disto, | {z } | {z } zeros com demais zeros |ck |<1 segue que ∠H(z) = ∠HMIN (z) + ∠HAP (z). Pode-se mostrar que um SLIT de mínima fase exibe o menor atraso de grupo possível fixado |H(ejω )|. Exemplo: Considere o sistema H(z) = (1−0, 9ej0,6π z −1 )(1−0, 9e−j0,6π z −1 )(1−1, 25ej0,8π z −1 )(1− 1, 25e−j0,8π z −1 ). Então: HMIN (z) = (1, 25)2 (1−0, 9ej0,6π z −1 )(1−0, 9e−j0,6π z −1 )(1−0, 8ej0,8π z −1 )(1−0, 8e−j0,8π z −1 ) HAP (z) = (z −1 − 0, 8e−j0,8π )(z −1 − 0, 8ej0,8π ) . (1 − 0, 8ej0,8π z −1 )(1 − 0, 8e−j0,8π z −1 ) CAPÍTULO 6. ANÁLISE DE SLITS ATRAVÉS DE TRANSFORMADAS 6.9 53 SLITs com Fase Linear Considere H(ejω ) = e−jωα , |ω| < π. Então |H(ejω )| = 1, ∠H(ejω ) = −ωα e τ (ω) = α. Pode-se verificar que sin(π(n − α)) h[n] = , ∀n ∈ Z. π(n − α) Se α ∈ Z, então h[n] = δ[n − α]. Considere agora um filtro passa-baixas ideal com fase linear ( HLP (e ) = jω e−jωα , |ω| < ωc . 0, ωc < |ω| ≤ π Pode-se verificar também que hLP [n] = sin(ωc (n − α)) . π(n − α) Note que se α ∈ Z, hLP [2α − n] = sin(ωc (α − n)) = hLP [n], π(α − n) ou seja, a resposta é simétrica em relação a n = α. 6.9.1 Sistemas com Fase Linear Generalizada ∈R+ z }| { Considere SLITs com resposta em frequência da forma H(ejω ) , A(ejω ) e−jαω+jβ . O d atraso de grupo correspondente é dado por τ (ω) = − dω ∠H(ejω ) = α. Pelo fato de A(ejω ) ser real, podemos escrever H(ejω ) = A(ejω ) cos(β − αω) + jA(ejω ) sin(β − αω). Supondo adicionalmente que h[n] ∈ R, a definição da TFTD implica que H(ejω ) = +∞ X h[n] cos(ωn) − j n=−∞ +∞ X h[n] sin(ωn). n=−∞ Multiplicando a penúltima expressão pelo conjugado da última e igualando a parte imaginária do produto a zero (o que deve valer se as expressões forem iguais), obtemos a seguinte condição necessária para que o sistema seja de mínima fase +∞ X h[n] sin(ω(n − α) + β) = 0, n=−∞ que impõe simetrias sobre h[n]. Por exemplo, se β = 0 ou π e 2α ∈ Z, segue que h[n] = h[2α − n]. Alternativamente, se β = π/2 ou 3π/2, h[n] = −h[2α − n]. CAPÍTULO 6. ANÁLISE DE SLITS ATRAVÉS DE TRANSFORMADAS 6.9.2 54 Sistemas com Fase Linear Generalizada FIR Causais Repetindo o raciocínio da seção anterior, impondo agora que h[n] = 0 para n < 0 e n > M , obtêm-se as seguintes condições (suficientes) para que sistemas FIR sejam de fase linear generalizada: ( h[M − n], 0 ≤ n ≤ M h[n] = , 0, caso contrário ou ( h[n] = −h[M − n], 0 ≤ n ≤ M . 0, caso contrário Considerando estes dois tipos de simetria, são possíveis quatro classes de sistemas FIR com fase linear: a) Sistemas de fase linear FIR do Tipo I h[n] = h[M − n], M par − jωM 2 ⇒ H(e ) = e jω M/2 ( a[k] cos(ωk), a[k] , X k=0 h[M/2], k=0 . 2h[(M − 2) − k], k = 6 0 |H(ejω )| possui simetria par em relação a ω = 0. b) Sistemas de fase linear FIR do Tipo II h[n] = h[M − n], M ímpar − jωM 2 ⇒ H(e ) = e jω (M +1)/2 X k=1 1 b[k] cos ω k − 2 , b[k] , 2h[(M + 1)/2 − k]. c) Sistemas de fase linear FIR do Tipo III h[n] = −h[M − n], M par ⇒ H(e ) = je jω − jωM 2 M/2 X c[k] sin (ωk) , c[k] , 2h[M/2 − k]. k=1 |H(ejω )| possui simetria par em relação a ω = π/2 + kπ, k ∈ Z. d) Sistemas de fase linear FIR do Tipo IV h[n] = −h[M − n], M ímpar ⇒ H(ejω ) = je− jωM 2 (M +1)/2 X k=1 d[k] sin ω k − 1 2 , d[k] , 2h[(M + 1)/2 − k]. |H(ejω )| possui simetria par em relação a ω = π + 2kπ, k ∈ Z. Capítulo 7 Projeto de Filtros Digitais 7.1 Projeto de Filtros por Janelamento Problema: deseja-se determinar a resposta h[n] de um sistema causal que aproxime a resposta em frequência desejada Hd (ejω ). Para isto, note que 1 hd [n] = 2π +π Hd (ejω )ejωn dω. −π Em geral, hd [n] não tem um número finito de termos não-nulos. Assim 1 h[n] = hd [n] w[n] ←−−→ H(e ) = | {z } 2π TFTD +π Hd (ejθ )W (ej(ω−θ) )dθ. jω window −π No domínio da frequência, a convolução periódica pela resposta em frequência da janela produz os seguintes efeitos: i) vazamentos espúrios na banda de rejeição, ii) oscilação da resposta na banda de passagem (estes dois últimos efeitos são causados pelos lóbulos laterais da resposta da janela) e iii) aparecimento de uma banda de transição, causado pela largura não-nula do lóbulo principal. 7.1.1 Janelas Comumente Usadas Janela Retangular ( w[n] = sin[(ω(M + 1)/2] 1, 0 ≤ n ≤ M TFTD ←−−→ e−jωM/2 . 0, caso contrário sin(ω/2) 55 56 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS Janela de Bartlett (triangular) w[n] = 2n/M, 0 ≤ n ≤ M/2 2 − 2n/M, M/2 < n ≤ M 0, caso contrário Janela de Hanning ( w[n] = 0, 5 − 0, 5 cos(2πn/M ), 0 ≤ n ≤ M 0, caso contrário Janela de Hamming ( w[n] = 0, 54 − 0, 46 cos(2πn/M ), 0 ≤ n ≤ M 0, caso contrário Janela de Blackman ( w[n] = Tipo de Janela Retangular Bartlett Hanning Hamming Blackman 0, 42 − 0, 5 cos(2πn/M ) + 0, 08 cos(4πn/M ), 0 ≤ n ≤ M 0, caso contrário Lóbulo Lateral Máximo (dB) -13 -25 -31 -41 -57 Largura do Lóbulo Principal 4π/(M + 1) 8π/M 8π/M 8π/M 12π/M Máximo Erro de Aproximação (20 log10 δ) -21 -25 -44 -53 -74 Exemplo 1: Projetar um passa-baixas por janelamento Seja a resposta em frequência desejada dada por ( Hd (ejω ) = e−jωM/2 , |ω| < ωc . 0, ωc < |ω| ≤ π (com extensão periódica subentendida). 57 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS A resposta ao impulso do filtro será h[n] = sin[ωc (n − M/2)] w[n]. π(n − M/2) | 7.1.2 {z } hd [n] Janela de Kaiser No projeto de uma janela, há um compromisso entre a largura do lóbulo principal e a área dos lóbulos laterais. A Janela de Kaiser é uma solução quase-ótima para este problema, definida como ( w[n] = h i I0 β(1 − [(n − α)/α]2 )1/2 /I0 (β), 0 ≤ n ≤ M , 0, caso contrário. em que α = M/2 e I0 é a função de Bessel do 1o tipo modificada de 0−ésima ordem. Dados ∆ω , ωstop − ωpass , a largura da região de transição, e A , −20 log10 δ, os parâmetros da janela podem ser calculados como M= β= A−8 , 2, 285∆ω 0, 1102(A − 8, 7), A > 50 0, 5842(A − 21)0,4 + 0, 07886(A − 21), 21 ≤ A ≤ 50 0, A < 21. Exemplo 1 (continuação): Projete, por janelamento, um filtro passa-baixas com fase linear, ωc = 0, 5π (rad/s), ∆ω = 0, 1π (rad/s) e δ = 10−3 . Como visto anteriormente, a resposta ao impulso do filtro deve ser da forma h[n] = sin[ωc (n − M/2)] ωc wc w[n] = sinc (n − M/2) w[n]. π(n − M/2) π π Como 20 log10 δ = −60, podem-se utilizar as Janelas de Blackman e de Kaiser (pois as demais janelas exibem erros de aproximação maiores que o desejado). Para a Janela de Blackman, a ordem adequada do filtro M pode ser determinada igualando-se a largura da região de transição desejada à largura do lóbulo principal da janela encontrada na tabela, i.e. ∆ω = 12π/M ⇒ M = 12π/∆ω = 120. Para a Janela de Kaiser, tem-se de início que A , −20 log10 δ = 60. Assim, usando as fórmulas acima, M = 72, 44 ≈ 73 (pois M deve ser inteiro) e β = 5, 65. Observe que o número de coeficientes do filtro determinado pela Janela de Kaiser é bem menor que o determinado pela Janela de Blackman. A razão para isto é que a última janela produz um erro de aproximação menor que o parâmetro de projeto. A Janela de Kaiser, por sua vez, permite que o erro seja ajustado para o valor desejado (através do parâmetro β). Vale ressaltar que os principais softwares numéricos para engenharia (p.ex. MATLAB, Scilab, Octave) possuem funções prontas para o cálculo das janelas citadas neste texto. 58 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS 7.2 Método de Amostragem em Frequência A principal limitação do método de projeto de filtros por janelamento é a necessidade de se conhecer a forma analítica da TFTD inversa da resposta desejada hd [n]. O método de amostragem em frequência consiste de aproximar hd [n] pela transformada discreta inversa h̃d [n] , IDFT{Hd [k]}, em que Hd [k] , Hd (ejω ) ω= 2πk . L Observe que h̃d [n] = +∞ r=−∞ hd [n − rL]. Assim, para que a aproximação seja boa, é necessário que L seja suficientemente grande. P Exemplo 2: No Exemplo 1, ao invés de se determinar hd [n] analiticamente calculando a TFTD inversa de Hd (ejω ), uma aproximação h̃d [n] pode ser obtida numericamente calculando-se a DFT inversa da sequência de amostras da resposta em frequência desejada, i.e. Hd [k] = Hd (ejω ) ( = ω= 2πk L e−jπkM/L , 0 ≤ 2πk L ≤ ωc , 0, caso contrário 2π − ωc ≤ 2πk L < 2π , para 0 ≤ k ≤ L − 1. A qualidade da aproximação será melhor quanto maior for o valor de L. 7.3 Aproximação Ótima de Filtros FIR A janela retangular provê a melhor aproximação no sentido de mínimos quadrados para uma resposta em frequência desejada Hd (ejω ) para um valor fixo de M , i.e. ( h[n] = minimiza a expressão 1 = 2π hd [n], 0 ≤ n ≤ M , 0, caso contrário π 2 Hd (ejω ) − H(ejω ) dω. 2 −π Esta aproximação, porém, tem comportamento problemático próximo a descontinuidades de Hd (ejω ). Considere a resposta em frequência de um filtro de fase linear generalizada He (ejω ) = Ae (ejω )e−jωL , em que Ae (ejω ) é uma função real. Um critério de otimização alternativo (ao de mínimos quadrados) pode ser dado por E(ω) = W (ω)[Hd (ejω ) − Ae (ejω )], em que W (ω) > 0 é uma função de peso; Ae (ejω ), por sua vez, pode ser determinado de forma que min max |E(ω)| , ae [n] ω∈F em que F é um subconjunto fechado de 0 ≤ ω ≤ π tal que 0 ≤ ω ≤ ωp ou ωs ≤ ω ≤ π. Este procedimento equivale a minimizar δ na figura abaixo. Para se resolver este problema de otimização, pode-se recorrer ao Teorema da Alternação, do qual decorre que os coeficiente ae [n] corresponderão ao filtro representando a 59 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS única melhor aproximação se e somente se E(ω) exibir ao menos L+2 alternações, ou seja, E(ω) = ± max |E(ω)| por ao menos L + 2 vezes. Uma aproximação deste tipo é chamada de equiripple. Na figura é ilustrado o comportamento de uma aproximação equiripple com L = 7. Na prática, para se determinar ae [n] por este método deve-se recorrer a um algoritmo numérico, como o de Parks-McClellan. 7.4 Projeto de Filtros IIR O paradigma para o projeto de filtros IIR, diferententemente do caso FIR, consiste de adaptar uma função de transferência de tempo contínuo com propriedades conhecidas para tempo discreto. 7.4.1 Projeto por Invariância ao Impulso Seja hc (t) a resposta ao impulso de um filtro IIR de tempo contínuo. Definindo h[n] , Td hc (nTd ), em que Td é um intervalo de amostragem, segue que H(ejω ) = ∞ X k=−∞ Hc jω j2π + k , Td Td ou seja, a amostragem no tempo provoca aliasing em frequência. Observe que se Hc (Ω) decair rapidamente (ou seja, for desprezível para Ω > 2π/Td ), este aliasing pode ser tolerável. Para se determinar a função de transferência H(z), suporemos que a função de transferência Hc (s) tenha polos simples. Disto decorre que Hc (s) = N X N X Ak =⇒ hc (t) = Ak esk t u(t). s − s k k=1 k=1 60 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS Assim, h[n] , Td hc (nTd ) = temente, PN k=1 Td Ak e H(z) = sk nTd u[n] = sk Td )n u[n], k=1 Td Ak (e PN e, consequen- N X Td Ak , |z| > |esk Td |. sk Td z −1 1 − e k=1 Desta forma, os polos em s = sk são mapeados em z = esk Td . Assim, se sk estiver no semiplano esquerdo, |zk | < 1, ou seja, um filtro causal e estável em tempo contínuo será mapeado num filtro causal e estável em tempo discreto. 7.4.2 Transformação Bilinear 2 A transformação bilinear é definida como a transformação simbólica s = Td jω Fazendo z = e , segue que 2 s= Td 1 − e−jω 1 + e−jω ! −jω jω −jω 1 − z −1 . 1 + z −1 ! 2 e 2 e 2 − e 2 2j ω = , = · −jω tan jω −jω Td e 2 Td 2 e 2 +e 2 ou seja, o círculo unitário (z = ejω ) na “z” é mapeado no eixo imaginário (s = jΩ) variável 2 ω d na variável “s”, em que Ω = tan , ou, equivalentemente ω = 2 arctan ΩT . 2 Td 2 O inverso da transformação bilinear é dado por z= 1 + σ(Td /2) + jΩ(Td /2) 1 + (Td /2)s = , 1 − (Td /2)s 1 − σ(Td /2) − jΩ(Td /2) em que s , σ + jΩ. Note que se σ < 0, |z| < 1, pois |z| = [1 + σ(Td /2)]2 + [Ω(Td /2)]2 , [1 − σ(Td /2)]2 + [Ω(Td /2)]2 e, neste caso, [1 − σ(Td /2)]2 > 1 + σ(Td /2)]2 . Para se determinar uma função de transferência H(z) usando a transformação bilinear, basta substituir a expressão de “s” definida pela transformação na função de transferência Hc (s) do filtro protótipo. As propriedades da transformação bilinear mostradas acima garantem que polos de Hc (s) localizados no semi-plano esquerdo sejam mapeados em polos de H(z) no interior do círculo unitário, ou seja, funções de transferência causais e estáveis em tempo contínuo são mapeadas em funções com as mesmas propriedades em tempo discreto. Observe, porém, que a resposta em frequência resultante será H(ejω ) = Hc T2d tan ω2 , ou seja, haverá uma distorção não linear no eixo de frequência, que pode, no entanto, ser compensada no projeto do filtro protótipo. 1 . Trata-se de uma resposta passa-baixas 1+s com frequência de corte Ω = 1. O polo está localizado em s1 = −1. Fazendo Td = 1, obtém-se pelo método de “invariância ao impulso” a função de transferência 1 , H(z) = 1 − e−1 z −1 que tem frequência de corte ω ≈ 1, 0965. A diferença em relação ao protótipo se deve ao aliasing, uma vez que Hc (Ω) decai lentamente. Exemplo: Considere o protótipo Hc (s) = 61 CAPÍTULO 7. PROJETO DE FILTROS DIGITAIS Pelo transformação bilinear, obtém-se H(z) = 1 1+2 = −1 1−z 1+z −1 1 + z −1 3 1 − 31 z −1 , cuja frequência de corte é ω = 2 tan−1 (0, 5) ≈ 0, 927. 7.4.3 Filtros Butterworth Passa-Baixas Os filtros Butterworth possuem resposta em magnitude maximamente plana na banda de passagem, ou seja, as (2N-1) derivadas de |Hc (jΩ)|2 são nulas em Ω = 0. A resposta em magnitude desses filtros é monotônica e a fase é quase linear na banda de passagem. A função de transferência dos filtros Butterworth satisfaz Hc (s)Hc (−s) = 1 , 1 + (s/jΩc )2N ou seja, sk = Ωc e(jπ/2N )(2k+N −1) , k = 0, 1, · · · , 2N − 1. 7.4.4 Filtros Chebyshev Há dois tipos de filtros Chebyshev. Os filtros do tipo I possuem resposta equiripple na banda de passagem e monotônica na banda de rejeição. A função de transferência desses filtros é dada por 1 |Hc (s)|2 = 2 2 1 + VN (−js/Ωc ) em que VN (x) é o polinômio de Chebyshev de N-ésima ordem, definido pela recursão V0 (x) = 1, V1 (x) = x, · · · , VN +1 (x) = 2xVN (x) − VN −1 (x). Os filtros do tipo II, por sua vez, possuem resposta em frequência monotônica na banda de passagem e equiripple na banda de rejeição. A função de transferência desses filtros é dada por 1 |Hc (s)|2 = −1 . 1 + 2 VN2 (−js/Ωc ) 7.4.5 Filtros Elípticos Os filtros elípticos possuem resposta em frequência equiripple nas bandas de passagem e rejeição. Geralmente, essa família de filtros atinge atenuações mais elevadas na banda de rejeição que as das demais famílias para filtros de mesma ordem. A resposta em fase desses filtros, porém, é bastante não-linear. A resposta em frequência dos filtros elípticos de dada por |Hc (s)|2 = 1 1+ em que Un (Ω) é a função elíptica de Jacobi. 2 (−js/Ω ) 2 UN c , Bibliografia Alan V. Oppenheim, Ronald W. Schafer, “Discrete-Time Signal Processing”, Prentice Hall, 2nd. Ed., 1998. Biblioteca: 621.382 OPPd2. 62