Curso de

Processamento Digital de Sinais versão 1.0.4

Prof. Dr. Marcelo de Oliveira Rosa

2 de outubro de 2014

Resumo

Este documento é uma apostila do curso de processamento digital de sinais ministrado em graduação e pós-graduação. De acordo com as qualificações da turma, capítulos poderão ser supridos, assim como algumas demonstrações ao longo do documento.

Este é um trabalho inicial, e sofrerá muitas revisões ao longo dos anos. Qualquer comentário, dúvida, críticas e correções, favor contacte-me pelo email.

Prof. Marcelo de Oliveira Rosa

Sumário

1 Introdução 1

2 Sequências e Sistemas 2 2.1 Sequências discretas . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Sequências e operações básicas . . . . . . . . . . . . . . . . . 5

2.2.1 Reflexão . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.2 Deslocamento (em avanço ou atraso) . . . . . . . . . . 6 2.2.3 Soma e produto de duas sequências . . . . . . . . . . . 7 2.2.4 Produto de valor por sequência . . . . . . . . . . . . . 7 2.2.5 Sequências par e ímpar . . . . . . . . . . . . . . . . . 7 2.2.6 Sequência impulso unitário . . . . . . . . . . . . . . . 9 2.2.7 Sequência degrau unitário . . . . . . . . . . . . . . . . 10 2.2.8 Sequência exponencial . . . . . . . . . . . . . . . . . . 12

2.3 Sistemas discretos . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.1 Sistemas lineares . . . . . . . . . . . . . . . . . . . . . 19 2.3.2 Sistemas invariantes no tempo . . . . . . . . . . . . . 21 2.3.3 Causalidade . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.4 Estabilidade . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.5 Sistemas lineares invariantes no tempo . . . . . . . . . 24 2.3.6 Propriedades de sistemas lineares invariantes no tempo 28 2.3.7 Equações de diferenças lineares com coeficientes cons-

tantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Sequências no Domínio da Freqüência 39 3.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2 Autofunção . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3 Transformada de Fourier Discreta no Tempo . . . . . . . . . . 49

3.3.1 Existência da DTFT . . . . . . . . . . . . . . . . . . . 50 3.3.2 Propriedades da DTFT . . . . . . . . . . . . . . . . . 54

4 Teoria da Amostragem 63 5 Transformada Z 75

5.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.3 Existência da Transformada Z . . . . . . . . . . . . . . . . . . 79 5.4 Causalidade e Estabilidade . . . . . . . . . . . . . . . . . . . 87 5.5 Transformada Inversa de Z . . . . . . . . . . . . . . . . . . . 87

5.5.1 Teoria de Resíduos . . . . . . . . . . . . . . . . . . . . 89 5.5.2 Frações Parciais . . . . . . . . . . . . . . . . . . . . . 92 5.5.3 Expansão em Série de Potências . . . . . . . . . . . . 95

5.6 Propriedades da Transformada Z . . . . . . . . . . . . . . . . 97

6 Análise de Sistemas Lineares Invariantes no Tempo 105 6.1 Magnitude e Fase . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.2 Estabilidade e Causalidade . . . . . . . . . . . . . . . . . . . 108 6.3 Sistemas Inversos . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.4 Resposta em Freqüência para Sistemas baseados em Funções

Racionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.5 Sistemas Passa-Tudo . . . . . . . . . . . . . . . . . . . . . . . 115 6.6 Sistemas de Mínima Fase . . . . . . . . . . . . . . . . . . . . 119

6.6.1 Propriedade de fase mínima . . . . . . . . . . . . . . . 121 6.6.2 Propriedade de energia mínima . . . . . . . . . . . . . 121

6.7 Sistemas de Fase Linear . . . . . . . . . . . . . . . . . . . . . 123 6.7.1 Fase linear generalizada . . . . . . . . . . . . . . . . . 124

7 Transformada Discreta de Fourier 127

7.1 Série Discreta de Fourier . . . . . . . . . . . . . . . . . . . . . 127

7.1.1 Propriedades da DFS . . . . . . . . . . . . . . . . . . 131 7.2 Transformada de Fourier de Sinais Periódicos . . . . . . . . . 135 7.3 Amostragem da DTFT . . . . . . . . . . . . . . . . . . . . . . 138 7.4 Transformada Discreta de Fourier . . . . . . . . . . . . . . . . 141

7.4.1 Propriedades da DFT . . . . . . . . . . . . . . . . . . 142

8 Filtros Digitais 149 8.1 Especificação de um filtro . . . . . . . . . . . . . . . . . . . . 150 8.2 Transformação de sistemas analógicos . . . . . . . . . . . . . 151

8.2.1 Invariância ao Impulso . . . . . . . . . . . . . . . . . . 152 8.2.2 Solução Numérica de EDO . . . . . . . . . . . . . . . 154 8.2.3 Transformação Bilinear . . . . . . . . . . . . . . . . . 155

8.3 Filtros analógicos IIR clássicos . . . . . . . . . . . . . . . . . 158 8.3.1 Filtro Butterworth . . . . . . . . . . . . . . . . . . . . 159 8.3.2 Filtro Chebyshev tipo I . . . . . . . . . . . . . . . . . 164 8.3.3 Filtro Chebyshev tipo II . . . . . . . . . . . . . . . . . 166 8.3.4 Filtro Elíptico . . . . . . . . . . . . . . . . . . . . . . 168 8.3.5 Comparativo . . . . . . . . . . . . . . . . . . . . . . . 169 8.4 Conversões em frequência de filtros . . . . . . . . . . . . . . . 169 8.5 Filtros FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

8.5.1 Fase linear . . . . . . . . . . . . . . . . . . . . . . . . 172 8.5.2 FIR por amostragem em frequência . . . . . . . . . . 175 8.5.3 FIR por janela . . . . . . . . . . . . . . . . . . . . . . 176

Capítulo 1 Introdução^{Introdução}

1

Capítulo 2

Sequências e Sistemas

Primeiramente vamos definir o que é um sinal e um sistema. Intuitivamente, um sistema é o elemento que recebe e produz sinais, e sinais são simplesmente seqüências de números que guardam alguma relação entre si. Definição de SINAL: É uma função que “carrega” informações sobre o

estado ou comportamento do SISTEMA. Definição de SISTEMA: Conjunto de elementos interconectados que

relacionam-se entre si. Os sistemas podem ser classificados em:

• Contínuos: entrada e saída são contínuos no tempo.

• Discretos: entrada e saída são discretos no tempo.

Também podem ser classificados em:

• Analógicos: entrada e saída são analógicos.

• Digitais: entrada e saída são digitais.

Qual a diferença entre Discretos e Digitais? A diferença está na forma pelo qual as amostras (variável dependente) são consideradas.

Figura 2.1: Exemplo de sinal contínuo, e sequências discreta e digital

• Sinal contínuo: contínuo no tempo e na amplitude.

• sequência discreta: contínua na amplitude e discreta no tempo.

• sequência digital: discreta na amplitude e no tempo.

Os sistemas são classificados de maneira análoga aos sinais/sequências.

2.1 Sequências discretas

Matematicamente, uma sequência discreta corresponde a uma conjunto de números, independente do domínio a qual cada número pertence. Também podemos relacionar sequência discreta com uma série de números.

Representamos uma sequência x por:

\begin{aligned}x = \{x[n]\}, & ∀n|n ∈ ℤ, ou \\ & − ∞ < n < +∞ \end{aligned}  (2.1)

Exemplo:

\begin{aligned}x_{0} & = \{ 1, 3, \frac{1}{3}, \sqrt{2}, 7, …\} \\ x_{1} & = \{…, −3, 4, −3, 4, −3, 4, …\} \\ x_{2} & = \{−j, 3 + \sqrt{2}j, \sqrt{2} − 3j, 0\} \end{aligned}

Segue a representação gráfica das sequências. É importante frisar que entre dois instantes n_{1} e n_{2}, quaisquer, não existe definição matemática para a sequência.

Figura 2.2: Representação gráfica de uma sequência discreta qualquer

Lembre-se sempre:

n é o índice da sequência ⟹ não é tempo. n é o um valor inteiro.

Figura 2.3: Verificação de inexistência de amostras entre amostras sucessivas

Em situações práticas, as sequências são obtidas a partir de sinais analógicos que são amostrados em intervalos fixos de tempo (chamados períodos de T segundos).

Assim temos:

y[n] = x_{a}(nT)  (2.2)

onde x_{a} é o sinal analógico e T é o período de amostragem.

Note que usamos [·] para sequências e (·) para sinais ou funções contínuas.

2.2 Sequências e operações básicas

Descreveremos nesta seção as principais sequências usadas em processamento digital de sinais, bem como as operações básicas realizadas entre diferentes sequências.

2.2.1 Reflexão

Assumindo x[n] qualquer, o seu “reflexo” é definido:

x[n] = x[−n],  ∀n|n ∈ ℤ  (2.3)

Representação gráfica:

Figura 2.4: sequência original  Figura 2.5: sequência refletida

Imagine a música de um LP ou de uma fita cassete sendo reproduzido de trás para frente.

2.2.2 Deslocamento (em avanço ou atraso)

Assumindo x[n] qualquer, sua versão atrasada é definido por:

\begin{aligned}y[n] = x[n − n_{d}], & n_{d} ∈ ℤ \\ & ∀n|n ∈ ℤ \end{aligned}  (2.4)

Representação gráfica:

Figura 2.6: sequência original Figura 2.7: sequência deslocada

Este é a sequência que pode ser usado para representar eco. O eco é um som semelhante ao som original que aparece alguns segundos após a emissão do som original. Este “alguns” segundos representam o deslocamento (atraso) no tempo.

Se n_{d} > 0, ocorre o atraso, e se n_{d} < 0, ocorre o avanço, ambos no tempo discreto. É sempre importante lembrar que o tempo discreto é na verdade um índice numérico (inteiro) que referencia uma determinada amostra da sequência.

2.2.3 Soma e produto de duas sequências

Assumindo x[n] e y[n] quaisquer, a soma e o produto dessas sequências é definida, respectivamente, por:

s[n] = x[n] + y[n],  ∀n|n ∈ ℤ  (2.5)
s[n] = x[n] · y[n], ∀n|n ∈ ℤ  (2.6)

Note que as operações soma e produto são feitas amostra a amostra.

2.2.4 Produto de valor por sequência

Assumindo x[n] e α, quaisquer, o produto de α pela sequência é definida por:

y[n] = α · x[n]  (2.7)

Note que todas as amostras da sequência são multiplicadas por α.

2.2.5 Sequências par e ímpar

Assumindo x[n] qualquer, é dito que x[n] é par se, e somente se:

x[n] = x[−n]  (2.8)

e ímpar se, e somente se:

x[n] = −x[−n]  (2.9)

Representação gráfica:

Figura 2.8: sequência par  Figura 2.9: sequência ímpar

Propriedade:

Assuma x[n] qualquer, com x[n] ∈ ℂ. Podemos decompor qualquer sequência em uma parte par e outra parte ímpar através da relação:

x[n]= x_{par}[n] + x_{ímpar}[n]
x_{par}[n]= \frac{1}{2} \{x[n] + x^{∗}[−n]\}
x_{ímpar}[n]= \frac{1}{2} \{x[n] − x^{∗}[−n]\}

(2.10)

Exemplo:

Figura 2.10: sequências qualquer a ser decomposta

Figura 2.11: Porções par e ímpar, respectivamente, de uma dada sequência

Lembrete: Em funções contínuas, a função par é definida por f(x) = f(−x) e a função ímpar é definida por f(x) = −f(−x).

f(x) = x^{2} e f(x) = cos(x)  são funções pares
f(x) = x^{3} e f(x) = sin(x)  são funções ímpares

2.2.6 Sequência impulso unitário

A sequência impulso unitário é definida por:

δ[n] = \{ \begin{matrix}0, & n ≠ 0 \\ 1, & n = 0 \end{matrix}  (2.11)

A sequência impulso unitário tem função análoga no domínio discreto àquela que o Delta de Dirac tem para o domínio contínuo, sem as mesmas restrições matemáticas.

Definição do delta de Dirac:

δ(x) = \{ \begin{matrix}∞, & t = 0 \\ 0, & t ≠ 0 \end{matrix}

∫_{−∞}^{+∞} δ(x) dx = 1  (2.12)
∫_{−∞}^{+∞} δ(x)f(x) dx = f(0)

Representação gráfica:

Figura 2.12: sequência impulso unitário Propriedades:

Podemos decompor qualquer sequência em um somatório ponderada de sequências impulsos unitários deslocados no tempo

Exemplo:

Seja

x[n] = {3, 2, 0, 5, 2, 3, 3}

indexado por

n = {−2, −1, 0, 1, 2, 3, 4},

então

\begin{aligned}x[n] & = 3 δ[n + 2] + 2 δ[n + 1] + 0 δ[n] + 5 δ[n − 1]+ \\ & + 2 δ[n − 2] + 3 δ[n − 3] + 2 δ[n − 4]. \end{aligned}

Genericamente podemos definir a decomposição de uma sequência x[n] qualquer através do seguinte somatório:

x[n] = ∑_{k=−∞}^{+∞} x[k] δ[n − k]  (2.13)

Esta decomposição será útil quando tratarmos de resposta ao impulso de um dado sistema.

2.2.7 Sequência degrau unitário

A sequência degrau unitário é definida por:

u[n] = \{ \begin{matrix}1, & n ≥ 0 \\ 0, & n < 0 \end{matrix}  (2.14)

A sequência degrau é equivalente a uma chave que é subitamente ligada no instante n = 0.

Representação gráfica:

Figura 2.13: sequência impulso unitário

Como já sabemos, podemos definir qualquer sequência usando uma somatória ponderada de sequências impulsos deslocados no tempo. Assim, a sequência impulso é descrito por:

u[n]= δ[n] + δ[n − 1] + δ[n − 2] + ⋯
u[n]= ∑_{k=0}^{+∞} δ[n − k]  (2.15)

Se considerarmos

u[n] − u[n − 1] = δ[n] + δ[n − 1] + δ[n − 2] + ⋯
− δ[n − 1] − δ[n − 2] − ⋯
= δ[n]  (2.16)

Ou seja, a “derivada” (diferença à trás) de u[n] (degrau unitário) é δ[n] (impulso unitário).

Mas,

u[n] = ∑_{k=−∞}^{n} δ[k]  (2.17)

Exemplo:

\begin{aligned}u[−2] & = ⋯+ δ[−4] + δ[−3] + δ[−2] = 0 \\ u[0] & = ⋯+ δ[−3] + δ[−2] + δ[−1] + δ[0] = 1 \\ u[3] & = ⋯+ δ[−1] + δ[0] + δ[1] + δ[2] + δ[3] = 1 \end{aligned}

Ou seja, u[n] é a soma acumulada de impulsos em n.

2.2.8 Sequência exponencial

Possue a forma:

x[n] = A · α^{n}  (2.18)

Se A, α ∈ ℝ então x[n] ∈ ℝ.

Representação gráfica:

Figura 2.14: sequências exponenciais monotonicamente decrescentes e crescentes (x[n] = 0,5^{n} e x[n] = 1,5^{n})

Figura 2.15: sequência decrescente e crescente alternada (x[n] = (−0,5)^{n} e x[n] = (−1,5)^{n})

Figura 2.16: sequência contínua ou alternada (x[n] = 1^{n} e x[n] = (−1)^{n})

E o que acontece se A e α forem complexos? Decompondo A e α em coordenadas polares, temos:

\begin{aligned}A & = |A| e^{jϕ} \\ α & = |α| e^{jω_{0}} \end{aligned}

Então

x[n] = A · α^{n} = |A||α|^{n} e^{j(w_{0}n+ϕ)}

Da relação de Euler, temos:

e^{jθ} = cosθ + j sinθ
e^{−jθ} = cosθ − j sinθ

(2.19)

Aplicando tal relação, reescrevemos x[n] e obtemos:

x[n] = |A||α|^{n} cos(w_{0}n + ϕ) + j |A||α|^{n} sin(w_{0}n + ϕ)

onde:

w_{0} → freqüência da exponencial complexa
ϕ → fase da exponencial complexa

Propriedades importantes:

Se tivermos um sinal contínuo x(t) de onde extraímos x[n] (posteriormente trataremos de teoria da amostragem onde será determinada a melhor maneira de definir uma sequência a partir de um sinal contínuo).

x(t) = |A||α|^{t} cos(w_{0}t + ϕ) + j |A||α|^{t} sin(w_{0}t + ϕ)

Assim, para qualquer sinal exponencial complexo contínuo , temos:

1. aumentando w_{0}, aumentamos a freqüência de oscilação de x(t).

2. x(t) é periódico para todo w_{0}.

Para sinais discretos temos podemos verificar o efeito do aumento da freqüência complexa em 2π radianos:

x[n]= |A||α|^{n} e^{j(w_{0}+2π)n+ϕ}
= |A||α|^{n} e^{jw_{0}n+ϕ} e^{j2πn}
= |A||α|^{n} e^{jw_{0}n+ϕ}

pois

e^{j2πn} = cos(2πn) + j sin(2πn) = 1 + j0 = 1

Genericamente,

x[n]= |A||α|^{n} e^{j(w_{0}+2πr)n+ϕ}
= |A||α|^{n} e^{jw_{0}n+ϕ} e^{j2πrn}
= |A||α|^{n} e^{jw_{0}n+ϕ}

para r ∈ ℤ.

Exemplo:

Considere a função contínua x(t) = cos(w_{0}t) e sua “versão” discreta x[n] = cos(w_{0}n). Ambas serão representadas graficamente com diversas freqüências w_{0} para avaliarmos seu comportamento oscilatório.

Figura 2.17: sequências e funções contínuas exponenciais reais para w_{0} = 0 e w_{0} = π/4 Figura 2.18: sequências e funções contínuas exponenciais reais para w_{0} = π/2 e w_{0} = π

Figura 2.19: sequências e funções contínuas exponenciais reais para w_{0} = 3π/2 e w_{0} = 7π/4

Figura 2.20: sequência e função contínua exponenciais reais para w_{0} = 2π

Analisando o comportamento da sequência discreta em função da freqüência w_{0} (conforme fizemos para o sinal contínuo), observamos que quando w_{0} → 2πr, a sequência discreta possui baixa freqüência de oscilação, e quando w_{0} → πr, a sequência discreta possui com alta freqüência de oscilação (curva em azul). Note que na função contínua, o aumento de w_{0} sempre provoca aumento da oscilação (curva em vermelho).

Pelo fato de que a cada período de 2π radianos encontramos uma repetição do padrão da curva discreta contida no período [0, 2π], podemos avaliar a oscilação da curva apenas nesse intervalo, extrapolando os valores fora deste intervalo.

Quanto a periodicidade, sabemos que um sinal exponencial complexo contínuo tem período igual a 2π/f. Em sinais discretos, trabalhamos com instantes n inteiros (n ∈ ℤ), definimos que uma sequência discreto é periódico se:

x[n] = x[n + N]

ou seja, existe uma quantidade N (N ∈ ℤ) de amostras da sequência x[n] que se repete indefinidamente. Assim N é o período da sequência x[n].

Considerando uma sequência exponencial complexa qualquer:

x_{1}[n] = B cos(w_{0}n + ϕ)

E aplicando o critério de periodicidade de sequências discretas, temos:

\begin{aligned}x_{1}[n] & = x_{1}[n + N] \\ B cos(w_{0}n + ϕ) & = B cos(w_{0}n + w_{0}N + ϕ) \end{aligned}

Como já vimos, a periodicidade de um sinais exponencial complexo é igual a 2π. Assim, exige-se que w_{0}N = 2πr, ou seja:

\frac{w_{0}}{2π} = \frac{r}{N}

Logo, dependendo da freqüência w_{0} escolhida para a componente exponencial complexo da sequência discreta x[n], este pode nunca ser periódica. Isto significa que existem:

w_{r} = \frac{2πr}{N} , r = 0,1, ⋯N − 1

freqüências cujas sequências são periódicas com período N, pois w_{0} e w_{0} + 2πr são não-distintas e produzem as mesmas sequências exponenciais complexas.

Exemplo:

Seja:

x[n] = cos( \frac{π}{6}n)

Como

w_{0} = \frac{π}{6} ⟹ \frac{w_{0}}{2π} = \frac{π/6}{2π} = \frac{1}{12} = \frac{r}{N}

Então são necessárias N = 12 amostras para representar r = 1 ciclos completos de x[n].

Figura 2.21: sequências discreta periódica com N = 12 e r = 1 Seja:

x[n] = cos( \frac{4π}{7} n)

Como

w_{0} = \frac{4π}{7} ⟹ \frac{w_{0}}{2π} = \frac{4π/7}{2π} = \frac{2}{7} = \frac{r}{N}

Então são necessárias N = 7 amostras para representar r = 2 ciclos completos de x[n].

Figura 2.22: sequências discreta periódica com N = 7 e r = 2 Seja:

x[n] = cos( \frac{n}{2})

Como

w_{0} = \frac{1}{2} ⟹ \frac{w_{0}}{2π} = \frac{1}{4π} = \frac{r}{N}

Então r/N ∉ ℚ e x[n] não é periódico.

Figura 2.23: sequências discreta aperiódica

Podemos considerar que o período fundamental de uma sequência exponencial complexa é definida por:

N = r \frac{2π}{w_{0}}

2.3 Sistemas discretos

Definido matematicamente como a transformação (ou mapeamento) de uma sequência de entrada x[n] em uma sequência de saída y[n].

y[n] = T {x[n]}  (2.20)

Exemplo:

Sistema em atraso ideal

y[n] = x[n − n_{d}], n_{d} ∈ ℤ

Sistema média móvel

y[n] = \frac{1}{M_{1} + M_{2} + 1} ∑_{k=−M_{1}}^{M_{2}} x[n − k]

Sistema sem memória (depende apenas da n-ésima amostra)

y[n] = (x[n])^{2} , ∀n|n ∈ ℤ

2.3.1 Sistemas lineares

São sistemas que obedecem ao princípio de superposição. Tal princípio é baseado em outros dois princípios, a saber:

• Princípio da aditividade (ou soma): Seja x_{1}[n] e x_{2}[n] duas sequências quaisquer, com y_{1}[n] = T {x_{1}[n]}e y_{1}[n] = T {x_{2}[n]}. Logo,

T {x_{1}[n] + x_{2}[n]} = T {x_{1}[n]}+ T {x_{2}[n]}= y_{1}[n] + y_{2}[n]

• Princípio da homogeneidade (ou escala): Seja x[n] uma sequência qualquer, com y[n] = T {x[n]}e a um valor qualquer, tal que a ∈ ℂ. Logo,

T {a · x[n]}= a · T {x[n]}= a · y[n]

Combinando os dois princípios, temos:

\begin{matrix}T \{a · x_{1}[n] + b · x_{2}[n]\} \\ = a · T \{x_{1}[n]\}+ \end{matrix} ; \begin{matrix}b · T \{x_{2}[n]\} \\ = a · y_{1}[n] + b · y_{2}[n] \end{matrix}

O princípio da superposição, que define um sistema linear, pode ser generalizado para múltiplas sequências de entrada x_{k}[n] e de saída y_{k}[n] através de:

x[n] = ∑_{k} a_{k} · x_{k}[n]⟹ y[n] = ∑_{k} a_{k} · y_{k}[n]  (2.21)

Exemplo:

Seja o sistema acumulador definido por:

y[n] = ∑_{k=−∞}^{n} x[k]

Efetivamente somamos todas as amostras até a amostra atual n. Para testar se ele é ou não linear, consideramos duas respostas ao acumulador definidas por:

\begin{aligned}y_{1}[n] & = ∑_{k=−∞}^{n} x_{1}[k] \\ y_{2}[n] & = ∑_{k=−∞}^{n} x_{2}[k] \end{aligned}

Vamos considerar agora uma nova entrada pela combinação linear das entradas x_{1}[n] e x_{2}[n], definida por:

x_{3}[n] = ax_{1}[n] + bx_{2}[n]

Então,

y_{3}[n]= ∑_{k=−∞}^{n} x_{3}[n] =

= ∑_{k=−∞}^{n} {ax_{1}[n] + bx_{2}[n]}=

= a { ∑_{k=−∞}^{n} x_{1}[n]} + B { ∑_{k=−∞}^{n} x_{2}[n]} =

= ay_{1}[n] + by_{2}[n]

Logo o sistema acumulador é linear.

Agora, seja um sistema sem memória definido por:

y[n] = {x[n]}^{2}

Assim, as saídas para duas sequências quaisquer, x_{1}[n] e x_{2}[n] são, respectivamente, definidas por:

\begin{aligned}y_{1}[n] & = \{x_{1}[n]\}^{2} \\ y_{2}[n] & = \{x_{1}[n]\}^{2} \end{aligned}

Novamente vamos considerar agora uma nova entrada pela combinação linear das entradas x_{1}[n] e x_{2}[n], definida por:

x_{3}[n] = ax_{1}[n] + bx_{2}[n]

Então,

y_{3}[n]= {x[n]}^{2} = {ax_{1}[n] + bx_{2}[n]}^{2} =
= a^{2} {x^{1}[n]}^{2} + 2 a b x_{1}[n] x_{2}[n] + b^{2} {x^{2}[n]}^{2} =
= a^{2} y_{1}[n] + 2 a b x_{1}[n] x_{2}[n] + b^{2} y_{2}[n]

Logo, este sistema sem memória não é linear, pois espera-se que:

y_{3}[n] = a y_{1}[n] + b y_{2}[n]

Finalmente, seja um sistema sem memória definido por:

y[n] = log_{10}(|x[n]|)

Usando como entrada duas sequências distintas (e constantes), ou seja:

\begin{aligned}x_{1}[n] & = 1 \\ x_{2}[n] & = 10 \end{aligned}

Obtemos:

\begin{aligned}y_{1}[n] & = 0 \\ y_{2}[n] & = 1 \end{aligned}

Se tal sistema fosse linear, sendo x_{2}[n] = 10·x_{1}[n], deveríamos obter y_{2}[n] = 10 · y_{1}[n], pela propriedade da homogeneidade. Como isso não ocorreu, tal sistema não é linear.

2.3.2 Sistemas invariantes no tempo

É o sistema para o qual um deslocamento na sequência de entrada em n_{0} amostras provoca um deslocamento equivalente na sequência de saída de n_{0} amostras. Ou seja:

\begin{aligned}Se x_{1}[n] & = x_{0}[n − n_{0}] \\ Então y_{1}[n] & = T \{x[n]\}= y_{0}[n − n_{0}],  ∀n|n ∈ ℤ \end{aligned}  (2.22)

Exemplo:

Seja o sistema acumulador definido por:

y[n] = ∑_{k=−∞}^{n} x[k]

Assumindo uma sequência de entrada x_{0}[n] = x[n−n_{0}], para n_{0} ∈ ℤ, temos:

\begin{aligned}y_{0}[n] & = ∑_{k=−∞}^{n} x_{0}[k] \\ & = ∑_{k=−∞}^{n} x[k − n_{0}] \end{aligned}

Trocando variáveis (k_{0} = k − n_{0}) e atualizando os intervalos do somatório (para k = ∞ temos k_{0} = ∞ − n_{0} = ∞, e para k = n temos k_{0} = n − n_{0}), obtemos:

\begin{aligned}y_{0}[n] & = ∑_{k_{0}=−∞}^{n−n_{0}} x[k_{0}] \\ & = y[n − n_{0}] \end{aligned}

Logo, o sistema acumulador é invariante no tempo.

Agora, seja o sistema acumulador definido por:

y[n] = x[M · n], m ∈ ℤ_{+}^{∗}

Tal sistema basicamente descarta M − 1 amostras a cada M amostras da sequência de entrada. Para uma entrada x_{0}[n] tal que:

x_{0}[n] = x[n − n_{0}]

Obtemos com resposta do sistema a sequência y_{0}[n] tal que:

y_{0}[n] = x_{0}[M · n] = x[M · n − n_{0}]

Entretanto, se atrasarmos a saída do sistema em n_{0} amostras, obtemos:

y[n − n_{0}] = x[M · (n − n_{0})] ≠ y_{0}[n]

Logo, o sistema compressor não é invariante no tempo.

2.3.3 Causalidade

Um sistema é dito causal se sua saída para um instante n_{0}, ∀n_{0}|n_{0} ∈ ℤ, depende somente as amostras n, tal que n ≤ n_{0}, da sequência de entrada. Tal sistema também é conhecido por ser não antecipativo.

Um sistema causal é um sistema que pode ser implementado em problemas de tempo real, pois o cálculo da amostra no instante n_{0} jamais dependerá de alguma informação da(s) sequência(s) de entrada em algum instante n_{1} > n_{0}.

Exemplo:

O sistema diferença à frente (forward difference), definido por:

y[n] = x[n + 1] − x[n]

não é causal, pois depende de informação de x[n] no instante n+1.

Já o sistema diferença a trás (backward difference), definido por:

y[n] = x[n] − x[n − 1]

é causal.

Para o sistema compressor, definido por:

y[n] = x[M · n]

não é causal se M > 1. Note que a causalidade, neste caso, é condicional a algum parâmetro do sistema (no caso, M).

2.3.4 Estabilidade

Um sistema é dito estável se para qualquer sequência de entrada “limitada” (ou seja, nenhuma amostra é infinita), a sequência de saída também será “limitada”. É o conceito chamado BIBO (bounded in, bounded out).

\begin{aligned}Se |x[n]| & ≤ B_{x} < ∞ \\ Então |y[n]| & ≤ B_{y} < ∞,  ∀n|n ∈ ℤ \end{aligned}  (2.23)

onde y[n] = T {x[n]}, e B_{x} e B_{y} são limites superiores diferentes de ∞.

Exemplo:

Seja o sistema definido por:

y[n] = {x[n]}^{2}

Assumindo uma sequência qualquer x_{0}[n] tal que |x_{0}[n]|≤ B_{x_{0}} < ∞ e aplicando o critério de estabilidade, temos:

|y_{0}[n]|= |{x_{0}[n]}^{2}| = |x_{0}[n]|^{2} = B_{x_{0}}^{2} = B_{y_{0}}

Logo este sistema é estável.

Seja o sistema definido por:

y[n] = log_{10}(|x[n]|)

Usando a sequência de entrada x_{0}[n] = 0, que é “limitada”, pois |x_{0}[n]| ≤ B_{x_{0}} = 0. Mas y_{0}[n] = log_{10}(|x_{0}[n]|) = log_{10}(0) = ∞. Isto implica em B_{y_{0}} ≰ ∞.

Logo este sistema não é estável.

Seja o sistema acumulador definido por:

y[n] = ∑_{k=−∞}^{n} x[k]

Usando a sequência de entrada x_{0}[n] = u[n], que é “limitada”, pois |x_{0}[n]|≤ B_{x_{0}} = 1. Assim,

y_{0}[n] = \{ \begin{matrix}0, & n ≠ 0 \\ (n + 1), & n ≥ 0 \end{matrix}

Assim, para n → ∞, temos y_{0}[n] → ∞ e B_{y_{0}} ≰ ∞. Logo o sistema acumulador não é estável.

2.3.5 Sistemas lineares invariantes no tempo

A idéia básica é lembrar que um sistema linear implica no conhecimento de que qualquer sequência é a combinação linear de impulsos deslocados no tempo (conforme a Equação 2.13), ou seja:

x[n] = ∑_{k=−∞}^{+∞} x[k] δ[n − k]

Admitindo um sistema linear T {·}qualquer e calculando a resposta desse sistema para a sequência de entrada x[n], temos:

y[n] = T {x[n]}= T { ∑_{k=−∞}^{+∞} x[k] δ[n − k]}

Pelo princípio da sobreposição (considerando que x[k] é uma constante em relação à variável n), temos:

y[n] = ∑_{k=−∞}^{+∞} x[k] T {δ[n − k]}

Podemos definir h_{k}[n] = T {δ[n − k]} como a resposta do sistema T {·} ao impulso deslocado δ[n − k]. Assim, reescrevemos y[n] por:

y[n] = ∑_{k=−∞}^{+∞} x[k] h_{k}[n]

Note que h_{k}[n] depende de n e de k. Ou seja, a resposta do sistema depende do deslocamento adotado para cada sinal impulso.

Assumindo agora que T {·}é invariante no tempo, ou seja:

\begin{aligned}h[n] & = T \{δ[n]\} \\ h[n − k] & = T \{δ[n − k]\} \end{aligned}

Então,

\begin{aligned}y[n] & = ∑_{k=−∞}^{+∞} x[k] T \{δ[n − k]\} = \\ & = ∑_{k=−∞}^{+∞} x[k] h[n − k] \end{aligned}

Isto significa que um sistema linear e invariante no tempo é completamente representado por sua resposta ao impulso h[n], ou seja:

y[n] = ∑_{k=−∞}^{+∞} x[k] h[n − k]  (2.24)

é a convolução soma entre duas sequências, podendo ser representada por:

y[n] = x[n] ∗ h[n]  (2.25)

Lembrete:

A convolução para funções contínuas é definida por:

y(t) = ∫_{−∞}^{+∞} x(τ) h(t − τ) dτ

Exemplo:

Neste exemplo, consideramos duas sequências distintas, x[n] e h[n], que serão convoluídas através do procedimento de cálculo apresentado anteriormente. Para cada iteração de k na convolução soma, uma sequência y_{k}[n] será produzida. Ao final, todas essas sequências y_{k}[n] serão somadas para que obtenhamos y[n].

Figura 2.24: sequências x[n] e h[n]

Figura 2.25: sequências parciais y_{k}[n] e y[n]

Pelo exemplo, notamos que a convolução soma é resultado direto da linearidade e da invariância no tempo, pois o resultado final é a sobreposição de diversos termos x[k] h[n − k]. Para tornar eficiente este cálculo, podemos calcular o resultado para cada y[n] refletindo a sequência h[n] e a deslocando de acordo com o índice n de tempo.

Exemplo:

Neste exemplo, a sequência h[n] será refletida (h[−n]) e deslocada (h[−(n − k)]) para que possamos obter o valor de y[h] para cada n distinto. Isso evita que tenhamos de obter várias sequências antes de calcular tal amostra, como ocorre no exemplo anterior.

Figura 2.26: Procedimento de cálculo de y[n] para instantes n distintos

Finalmente, podemos obter y[h] através de um método inteiramente analítico. Tal método é dependente do modo como representamos matematicamente x[n] e h[n]. Muitas vezes não é possível obter uma representação dita fechada de y[h], pois é possível que não exista uma expressão algébrica para o somatório envolvido na convolução soma.

Exemplo:

Seja uma sequência x[n] e uma resposta linear invariante no tempo h[n] descritos por:

x[n]= a^{n}u[n],  0 < a < 1
h[n]= u[n] − u[n − N] = \{ \begin{matrix}1, & 0 ≤ n < N,  N ∈ ℤ \\ 0, & caso contrário \end{matrix}

Observamos primeiramente que y[n] = 0 para n < 0.

Para o intervalo 0 ≤ n ≤ N − 1, temos que:

x[k] · h[n − k] = a^{k}

Logo:

y[n] = ∑_{k=0}^{n} a^{k}

Mas, pela fórmula do somatório de uma P.G. (progressão geométrica) com razão a, temos que:

∑_{k=N_{1}}^{N_{2}} a^{k} = \frac{a^{N_{1}} − a^{N_{2}+1}}{1 − a} ,  N_{2} ≥ N_{1}  (2.26)

Assim,

y[n] = \frac{1 − a^{n+1}}{1 − a}

Para o intervalo n > N − 1, temos que:

x[k] · h[n − k] = a^{k}

Ou seja,

y[n] = ∑_{k=n−N+1}^{n} a^{k} = \frac{a^{n−N+1} − a^{n+1}}{1 − a} = a^{n−N+1} ( \frac{1 − a^{N}}{1 − a} )

Assim,

y[n] = \{ \begin{matrix}0, & n < 0 \\ \frac{1−a^{n+1}}{1−a} , & 0 ≤ n ≤ N − 1 \\ a^{n−N+1} ( \frac{1−a^{N}}{1−a} ) , & n > N − 1 \end{matrix}

2.3.6 Propriedades de sistemas lineares invariantes no tempo

Considerando que a resposta ao impulso completamente caracteriza um sistema linear invariante no tempo, podemos obter uma série de propriedades envolvendo convolução entre vários destes sistema com sinais.

Propriedade comutativa

A propriedade comutativa indica que a convolução de uma sequência de entrada em relação a um sistema linear e invariante no tempo é igual a convolução desse sistema pelo sinal de entrada. Isto significa que na implementação, podemos refletir e deslocar uma das sequências sobre a outra, independente de quem sejam (sequência ou sistema).

Seja

y[n] = x[n] ∗ h[n]

Logo

\begin{matrix}x[n] ∗ h[n] & = ∑_{k=−∞}^{+∞} x[k] · h[n − k] = \\ = ∑_{m=−∞}^{+∞} x[n − m] · h[m] = h[n] ∗ x[n] \end{matrix}

que é obtido por troca de variáveis (m = n − k).

Isso implica em:

x[n] ∗ h[n] = h[n] ∗ x[n]

Propriedade distributiva em relação a soma

Na propriedade distributiva, a sequência convoluída sobre a soma de dois sistemas é exatamente igual a soma do resultado da convolução dessa sequência por cada dos sistemas individualmente. Ou seja:

x[n] ∗ (h_{1}[n] + h_{2}[n]) = x[n] ∗ h_{1}[n] + x[n] ∗ h_{2}[n]

Propriedade de cascateamento

O cascateamento é aplicado quando aplicamos uma sequência de entrada em um sistema, e o resultado dessa convolução é aplicado sobre um segundo sistema. Considerando que os sistemas são lineares e invariantes no tempo, podemos convoluir ambos os sistemas e obter um sistema que reflete a operação desses dois sistemas.

Isso significa que podemos aplicar a sequência de entrada sobre o resultado da convolução desses dois sistemas em cascata. Ou seja:

\begin{aligned}y_{1}[n] & = x[n] ∗ h_{1}[n] \\ y[n] & = y_{1}[n] ∗ h_{2}[n] \end{aligned}

Reescrevendo, temos:

y[n] = y_{1}[n] ∗ h_{2}[n] = (x[n] ∗ h_{1}[n]) ∗ h_{2}[n]

Propriedade de paralelismo

A propriedade de paralelismo permite que dois sistemas que estejam em paralelo sejam somados para produzir um sistema linear invariante no tempo equivalente. O paralelismo se dá porque podemos aplicar a convolução de uma sequência de entrada em paralelo a dois sistemas distintos e somar o seu resultado.

Isso é equivalente a somar ambos os sistemas e aplicar a convolução da sequência de entrada sobre o sistema resultante. Ou seja:

x[n] ∗ (h_{1}[n] + h_{2}[n]) = x[n] ∗ h_{1}[n] + x[n] ∗ h_{2}[n]

Estabilidade

Como vimos anteriormente, pelo critério BIBO, se a sequência de entrada é limitada, a sequência de saída também deve ser limitada para que o sistema seja considerado estável. Matematicamente isso significa que:

|y[n]|= | ∑_{k=−∞}^{+∞} h[k] x[n − k]|

≤ ∑_{k=−∞}^{+∞} |h[k] x[n − k]|

≤ ∑_{k=−∞}^{+∞} |h[k]| |x[n − k]|

conforme a inequação de Cauchy-Schwarz, onde:

|a⃗ · b⃗| ≤ |a⃗||b⃗|  (2.27)

Assumindo que a sequência de entrada é limitada, ou seja:

|x[n]|≤ B_{x} < ∞, ∀n|n ∈ ℤ

Isso implica que:

|y[n]|≤ B_{x} ∑_{k=−∞}^{+∞} |h[k]|

Assim, para que a sequência de saída também seja limitada, é necessário e suficiente que:

∑_{k=−∞}^{+∞} |h[k]|≤ B_{h} < ∞  (2.28)

Para que um sistema linear e invariante no tempo seja limitado, pois:

|y[n]|≤ B_{x} B_{h} ≤ B_{y} < ∞

Assim, para que um sistema linear e invariante no tempo seja estável, a soma de todas as amostras da sequência que define sua resposta ao impulso (h[n]) deve ser absolutamente somável.

Causalidade

Sabemos que um sistema qualquer é causal se y[n_{0}], para n_{0} qualquer, depende somente de amostras x[n] para n ≤ n_{0}.

Pela definição, em um sistema linear e invariante no tempo temos:

y[n] = ∑_{k=−∞}^{+∞} x[k] h[n − k]

Como y[n] deve depender apenas de x[k] para −∞ ≤ k ≤ n, podemos alterar o intervalo da convolução soma para:

y[n] = ∑_{k=−∞}^{n} x[k] h[n − k]

Esse somatório não depende dos valores de h[n − k] para k > n. Isso implica matematicamente em termos de:

h[n − k] = 0,  k > n
n − k < 0
h[m] = 0,  m < 0  (2.29)

Ou seja, para que um sistema linear e invariante no tempo seja causal, sua resposta ao impulso deve ser nula (h[n] = 0) para todo n < 0, independente das características das sequências de entrada.

Exemplos de sistemas:

Seguem alguns exemplos de sistemas (já apresentados anteriormente), que são lineares e invariantes no tempo, e dessa forma, podem ser representados completamente pela suas respectivas respostas ao impulso h[n].

Atrasador ideal −→ h[n] = δ[n − n_{d}], n_{d} ∈ ℤ
Média móvel −→ h[n] = \frac{1}{M_{1}+M_{2}+1} ∑ _{k=−M_{1}}^{M_{2}} δ[n − k]
Acumulador −→ h[n] = ∑ _{k=−∞}^{+∞} δ[k] = u[n]
Diferença à frente −→ h[n] = δ[n + 1] − δ[n]
Diferença à trás −→ h[n] = δ[n] − δ[n − 1]

Considerando a propriedade de cascateamento de sistemas lineares e invariantes no tempo, podemos construir outros sistemas a partir de sistemas mais básicos, como:

h[n]= diferença à frente ∗ atraso ideal de 1 amostra

= (δ[n + 1] − δ[n]) ∗ δ[n − 1] = δ[n] − δ[n − 1] = diferença à trás

Com esse mesmo argumento, temos:

h[n]= acumulador ∗ diferença à trás

= u[n] ∗ (δ[n] − δ[n − 1])

= u[n] − u[n − 1]

= δ[n] = impulso

Como o resultado é um sistema impulso, definimos que o sistema acumulador é um sistema inverso do sistema diferença à trás, e viceversa.

2.3.7 Equações de diferenças lineares com coeficientes constantes

No domínio das variáveis contínuas, tinhamos que um sistema qualquer poderia ser descrito pela sua equação diferencial. Assumindo que tal equação fosse linear e com coeficientes constantes, tinhamos que:

∑_{k=0}^{N} a′_{k} \frac{d^{k}y(t)}{dt^{k}} = ∑_{k=0}^{M} b′_{k} \frac{d^{k}x(t)}{dt^{k}}

onde a′_{k} e b′_{k} são coeficientes constantes.

Analogamente (sem qualquer relação com a equação diferencial apresentada) podemos definir no domínio discreto uma equação dita equação de diferenças linear com coeficientes constantes para representar um sistema discreto. Ou seja:

∑_{k=0}^{N} a_{k}y[n − k] = ∑_{k=0}^{M} b_{k}x[n − k]  (2.30)

onde a_{k} e b_{k} são coeficientes constantes.

A importância das equações de diferenças lineares com coeficientes constantes é que qualquer sistema pode ser representado a partir de ponderações de amostras atrasadas das saídas y[n] e entradas x[n] de um dado sistema. Algumas vezes tal representação pode usar menor quantidade de memória de um dispositivo eletrônico na sua implementação do que uma representação usando a resposta ao impulso h[n].

Exemplos de sistemas:

Um sistema acumulador pode ser escrito por:

y[n] = ∑_{k=−∞}^{n} x[k]

ou

y[n − 1] = ∑_{k=−∞}^{n−1} x[k]

Isso implica em:

\begin{aligned}y[n] & = x[n] + ∑_{k=−∞}^{n−1} x[k] \\ & = x[n] + y[n − 1] \end{aligned}

Logo, outra forma de representar um sistema acumulador é:

y[n] − y[n − 1] = x[n]

Assim, um sistema acumulador implica em N = 1, a_{0} = 1, a_{1} = −1, M = 0 e b_{0} = 1 quando nos referenciamos à Equação 2.30.

Um sistema média móvel (assumindo que seja causal, ou seja, M_{1} = 0) é descrito por:

y[n] = \frac{1}{M_{2} + 1} ∑_{k=0}^{M_{2}} x[n − k]

Note que quando comparamos essa equação com a Equação 2.30, percebemos que o sistema média móvel implica em N = 0, a_{0} = 1, M = M_{2} e b_{k} = \frac{1}{M_{2}+1} para 0 ≤ k ≤ M_{2}.

Sua resposta ao impulso pode ser reescrita tem termos de sequências degraus u[n], ou seja:

h[n] = \frac{1}{M_{2} + 1} (u[n] − u[n − M_{2} − 1])

ou, em termos de convolução, por:

h[n] = \underbrace{\overbrace{\frac{1}{M_{2} + 1}}^{atenuador} \overbrace{(δ[n] − δ[n − M_{2} − 1])}^{amostra - atrasador}}_{h_{1}[n]}∗ \overbrace{u[n]}^{integrador}

Sabemos da propriedade de cascateamento que podemos alterar a ordem das sequências de entrada e dos sistemas sem alterar o resultado final. Assim, assumindo uma sequência x[n] que alimenta o sistema h_{1}[n], obtemos:

\begin{aligned}y_{1}[n] & = h_{1}[n] ∗ x[n] \\ & = \frac{1}{M_{2} + 1} (x[n] − x[n − M_{2} − 1]) \end{aligned}

Mas sabemos qual é a equação a diferenças lineares com coeficientes constantes de um sistema acumulador (h[n] = u[n]). Assim, temos:

y[n] − y[n − 1] = x_{1}[n]

Então, uma outra equação a diferenças lineares com coeficientes constantes para um sistema média móvel causal é:

y[n] − y[n − 1] = \frac{1}{M_{2} + 1} (x[n] − x[n − M_{2} − 1])

Agora, em comparação com a Equação 2.30, temos N = 1, a_{0} = 1, a_{1} = −1, M = M_{2} − 1, b_{0} = \frac{1}{M_{2}+1} , b_{M_{2}−1} = \frac{1}{M_{2}+1} e b_{k} = 0 para 1 ≤ k ≤ M_{2} − 2.

Os exemplos mostram que um mesmo sistema pode assumir diferentes equações de diferenças lineares com coeficientes constantes; a escolha é totalmente dependente da aplicação.

Para obter a solução total das equações de diferenças lineares com coeficientes constantes devemos considerar a suas soluções particular e homogênea, de modo análogo ao usado em equações diferenciais lineares com coeficientes constantes, ou seja:

y[n] = y_{p}[n] + y_{h}[n]  (2.31)

onde y_{p}[n] e y_{h}[n] são, respectivamente, as soluções particular e homogênea da Equação 2.30.

A solução homogênea corresponde à resposta do sistema às suas condições iniciais assumindo que a entrada x[n] = 0. A solução particular corresponde à resposta do sistema à entrada x[n] assumindo que as condições iniciais do problema são nulas.

A solução homogênea é obtida então através de:

\begin{aligned}∑_{k=0}^{N} a_{k}y_{h}[n − k] & = 0 \\ y_{h}[n] + ∑_{k=1}^{N} \frac{a_{k}}{a_{0}} y_{h}[n − k] & = 0 \end{aligned}

Assumindo que a solução é da forma:

y_{h}[n] = z^{n}

Então:

\begin{aligned}z^{n} + ∑_{k=1}^{N} \frac{a_{k}}{a_{0}} z^{n−k} & = 0 \\ z^{n−N} ( z^{N} + ∑_{k=1}^{N} \frac{a_{k}}{a_{0}} z^{N−k} ) & = 0 \end{aligned}

ou

z^{n−N} ( z^{N} + \frac{a_{1}}{a_{0}} z^{N−1} + \frac{a_{2}}{a_{0}} z^{N−2} + … + \frac{a_{N−1}}{a_{0}} z + \frac{a_{N}}{a_{0}} ) = 0

O polinômio entre parênteses possui ordem N e é chamado de polinômio característico. Sempre possuirá N raízes (reais ou complexas). Com isso, a solução homogênea da Equação 2.30 para o caso de raízes distintas z_{k} (ou seja, z_{k} ≠ z_{l}, ∀k|k ≠ l) é:

y_{h}[n] = ∑_{k=1}^{N} A_{k}z_{k}^{n}  (2.32)

onde A_{k} são coeficientes definidos com base nas condições iniciais do problema.

Caso alguma raíz z_{i} tenha multiplicidade m (repita-se m vezes) e as demais N −m raízes sejam distintas, então a solução homogênea da Equação 2.30 é:

y_{h}[n] = (A_{1} + A_{2}n + … + A_{m}n^{m−1} ) z_{i}^{n} + ∑_{k=m+1}^{N} A_{k}z_{k}^{n}  (2.33)

Como y_{h}[n] possui N coeficientes A_{k}, precisamos de N condições iniciais para sua determinação. Isso é feito a partir do conhecimento de que y[n] = y_{h}[n] + y_{p}[n] = B_{n} é conhecido para instantes n específicos. Ou seja, precisamos encontrar y[n].

É importante verificar se a sequência resultante é absolutamente convergente (estável). Isso implica em definir para quais instante n a solução é válida. A forma de avaliar isso é através da análise das raízes. Se |z_{k}| < 1, então n ≥ 0, e se |z_{k}| > 1, então n ≤ 0. Posteriormente serão feitas considerações sobre esse fato quando tratarmos de transformada Z no capítulo 5.

A determinação da solução particular y_{p}[n] depende do formato de x[n]. Geralmente recorremos a tabelas (como a tabela 2.1) para determinação do formato da solução y_{p}[n] em função do formato de x[n].

Note que na tabela 2.1, aparecem novas constantes (C_{1} e C_{2}) a serem determinadas. Estas constantes são determinadas substituindo y_{p}[n] na equação de diferencas lineares com coeficientes constantes. Isso produzirá uma equação em termos de C_{1} e C_{2}.

x[n]  y_{p}[n]
C  C_{1}
Cn  C_{1}n + C_{2}
Ca^{n}  C_{1}a^{n}
C cos(nω_{0})  C_{1} cos(nω_{0}) + C_{2} sen(nω_{0})
C sen(nω_{0})  C_{1} cos(nω_{0}) + C_{2} sen(nω_{0})
Ca^{n} cos(nω_{0}) C_{1}a^{n} cos(nω_{0}) + C_{2}a^{n} sen(nω_{0})
Cδ[n]  0 (zero)

Tabela 2.1: Solução particular y_{p}[n] para diversas entradas x[n]

Resolução por indução matemática:

Uma das formas de obter a solução de uma equação de diferenças lineares com coeficientes constantes é por indução matemática.

Seja:

y[n] = ay[n − 1] + x[n]

cujas condições de excitação e inicial são:

\begin{aligned}x[n] & = Kδ[n], K ∈ ℝ \\ y[−1] & = C \end{aligned}

Logo, para n ≥ 0, temos:

\begin{aligned}y[0] & = ay[−1] + 1 & = aC + K \\ y[1] & = ay[0] + 0 & = a^{2}C + aK \\ y[2] & = ay[1] + 0 & = a^{3}C + a^{2}K \\ y[3] & = ay[2] + 0 & = a^{4}C + a^{3}K \\ ⋮ & = ⋮ & = ⋮ \\ y[n] & = ay[n − 1] + 0 & = a^{n+1} C + a^{n}K \end{aligned}

Reescrevendo a equação de diferenças para análise de y[n] para n < 0 temos:

\begin{aligned}y[n − 1] & = a^{−1} (y[n] − x[n]) \\ y[n] & = a^{−1} (y[n + 1] − x[n + 1]) \end{aligned}

Logo, para n < 0, temos:

\begin{aligned}y[−2] & = a^{−} 1 (y[−1] + 0) & = a^{−1} C \\ y[−3] & = a^{−} 1 (y[−2] + 0) & = a^{−2} C \\ y[−4] & = a^{−} 1 (y[−3] + 0) & = a^{−3} C \\ ⋮ & = ⋮ & = ⋮ \\ y[n] & = a^{−} 1 (y[n + 1] + 0) & = a^{n+1} C \end{aligned}

Ou seja, a solução para a equação de diferenças lineares com coeficientes constantes, obtida por inferência matemática, é:

y[n] = a^{n+1} C + Ka^{n}u[n], ∀n|n ∈ ℤ

Note que com K = 0, temos x[n] = 0 \underline{mas} y[n] = a^{n+1} C. Isto significa que o sistema apresentado não é linear, pois todo o sistema linear produz y[n] = 0 para x[n] = 0.

Se deslocarmos a entrada x[n] em n_{0} amostras, tal que:

x_{1}[n] = x[n − n_{0}] = Kδ[n − n_{0}]

obtemos

y_{1}[n] = a^{n+1} C + Ka^{n−n_{0}} u[n − n_{0}]

que não é causal.

Logo, as condições iniciais do sistema afetam as propriedades do sistema.

Se as condições iniciais forem tais que o sistema esteja em descanso, então o sistema é linear, invariante no tempo e causal.

Resolução por soluções homogênea e particular:

Considere agora um sistema tal que:

y[n] − 0,25 y[n − 2] = x[n]

cujas condições de excitação e inicial são:

\begin{aligned}x[n] & = u[n] \\ y[−1] & = 1 \\ y[−2] & = 0 \end{aligned}

Primeiramente determinamos o polinômio característico para calcular suas raízes. Ou seja:

z^{2} − 0,25 = 0

Suas raízes são z_{1} = −0,5 e z_{2} = 0,5. Como elas são distintas, a solução homogênea para esse sistema é:

y_{h}[n] = A_{1}(0,5)^{n} + A_{2}(−0,5)^{n}, n ≥ 0

Note que essa equação é válida apenas para n ≥ 0 porque as raízes |z_{k}| < 1. Isso se deve a manutenção de convergência (estabilidade) da sequência y_{h}[n].

A solução particular depende do formato de x[n]. Pela tabela 2.1, verificamos que:

y_{p}[n] = C_{1}

Substituindo y_{p}[n] na equação de diferenças do problema, obtemos:

\begin{matrix}C_{1} − 0,25 C_{1} = 1 \\ C_{1} = \frac{1}{1 − 0,25} = \frac{4}{3} \end{matrix}

Assim, a solução total para esse problema é:

y[n] = \frac{4}{3} + A_{1}(0,5)^{n} + A_{2}(−0,5)^{n}, n ≥ 0

Para determinar os coeficientes A_{1} e A_{2}, usamos as condições iniciais. Considerando que a solução total é válida para n ≥ 0, devemos obter condições auxiliares. No caso y[0] e y[1] são definidos pela solução total e pela equação de diferenças do sistema. Assim, podemos obter um sistema de equações lineares em função dos coeficientes A_{1} e A_{2}:

\begin{aligned}y[0] = 0,25 y[−2] + x[0] = 1 & = \frac{4}{3} + A_{1} + A_{2} \\ y[1] = 0,25 y[−1] + x[1] = 1 & = \frac{4}{3} + A_{1}(0,5)^{1} + A_{2}(−0,5)^{1} \end{aligned}

Logo, A_{1} = −\frac{1}{2} e A_{2} = \frac{1}{6}. A solução total para esse problema é:

y[n] = \frac{4}{3} − \frac{1}{2}(0,5)^{n} + \frac{1}{6}(−0,5)^{n}, n ≥ 0

Note que a exposição sobre equações de diferenças lineares com coeficientes constantes é bastante simplificada. Dada a analogia com equações diferenciais lineares com coeficientes constantes, podemos buscar informação nesse campo da matemática para obter as soluções para as equações de diferenças.

Sequências no Domínio da Freqüência

Até aqui analisamos qual o comportamento de uma sequência ou um sistema em relação às suas propriedades temporais (causalidade, estabilidade, invariância no tempo). Nesse momento usaremos uma ferramenta matemática para avaliar qual o comportamento das sequências em relação às suas componentes espectrais (ou de freqüência).

Análogo às Séries de Fourier e Transformada de Fourier usadas para análise espectral de funções contínuas, construiremos uma expressão que permite decompor sequências em componentes espectrais e vice-versa.

3.1 Preliminares

Relembrando, a Série de Fourier é decompor uma função contínua em componentes de freqüência (senóides e cossenóides) e vice-versa. Rigorosamente falando, dada uma função f(t) tal que f : ℝ → ℂ seja contínua, diferenciável, periódica (com período T = t_{2} − t_{1}) e com energia finita, ou seja:

∫_{t_{1}}^{t_{2}} |f(t)|^{2} dt < +∞

Então, tal função pode ser decomposta em uma série de senos (ou cossenos) da forma:

f(t) = \frac{1}{2}a_{0} + ∑_{n=1}^{+∞} [a_{n} cos(Ω_{n}t) + b_{n} sen(Ω_{n}t)]

onde:

Ω_{n} = \frac{2πn}{T} −→ n-ésima freqüência harmônica de f(t) (em radianos)
a_{n} = \frac{2}{T} ∫_{t_{1}}^{t_{2}} f(t) cos(Ω_{n}t) dt −→ n-ésimo coeficiente par
b_{n} = \frac{2}{T} ∫_{t_{1}}^{t_{2}} f(t) sen(Ω_{n}t) dt −→ n-ésimo coeficiente ímpar

ou, em termos de variáveis complexas, para simplificar a expressão:

f(t) = ∑_{n=−∞}^{+∞} c_{n}e^{jΩ_{n} t}

onde:

c_{n} = \frac{1}{T} ∫_{t_{1}}^{t_{2}} f(t) e^{−jΩ_{n} t} dt

Note que os coeficientes a_{n}, b_{n} e c_{n} podem ser entendidos como sequências, pois só existem para n ∈ ℤ. Logo, podemos entender que a Série de Fourier (ou Integral de Fourier) decompõe funções contínuas em sequências, e vice-versa.

Para lidar com funções não periódicas, usamos a Transformada de Fourier, cuja derivação implica em T → +∞. Matematicamente significa que dada uma função f(t) tal que f : ℝ → ℂ seja contínua e diferenciável, seu par Transformada de Fourier é:

\begin{aligned}F (Ω) & = \frac{1}{\sqrt{2π}} ∫_{−∞}^{+∞} f(t) e^{−jΩt} dt \\ f(t) & = \frac{1}{\sqrt{2π}} ∫_{−∞}^{+∞} F (Ω) e^{+jΩt} dt \end{aligned}  (3.1)

Note que o par Transformada de Fourier decompõem funções contínuas, no domínio do tempo, em funções contínuas, no domínio da freqüência (e vice-versa), pois intuitivamente são necessárias infinitas componentes espectrais para representar uma função temporal não periódica.

3.2 Autofunção

Definidas as transformações de funções contínuas para o domínio espectral, vamos definir uma propriedade importante que serve como base para a definição das transformações de sequências para o domínio espectral.

Quando excitamos um sistema discreto linear com um sequência de entrada senoidal, a sequência de saída será senoidal, com a mesma freqüência da sequência de entrada.

Assim, um sistema linear altera apenas a magnitude e a fase da sequência senoidal, mas nunca sua freqüência. Tal propriedade é chamada de autofunção.

Assuma a seguinte sequência exponencial complexa para uma única freqüência ω (esta freqüência não tem relação com a freqüência contínua Ω da seção anterior, onde tratamos de funções contínuas no domínio do tempo):

x[n] = e^{jωn} , n ∈ ℤ, ω ∈ ℝ

Note que a freqüência ω é dita freqüência normalizada e é expressa em radianos. É uma grandeza diferente da que estamos acostumados na vida prática (dada em Hz). Posteriormente relacionaremos tais freqüências quando falarmos de teoria da amostragem no capítulo 4.

Considere h[n] como sendo a resposta ao impulso de um sistema linear e invariante no tempo. A saída y[n] desse sistema quando convoluido com a sequência x[n], obtida por convolução, é:

\begin{aligned}y[n] & = ∑_{k=−∞}^{+∞} h[k] e^{ȷω(n−k)} \\ & = e^{ȷωn} \underbrace{[ ∑_{k=−∞}^{+∞} h[k] e^{−ȷωk} ]}_{H(e^{ȷω} )} \end{aligned}

Ou seja:

y[n]= H(e^{ȷω})e^{ȷωn}
H(e^{ȷω}) = ∑_{k=−∞}^{+∞} h[k] e^{−ȷωk}  (3.2)

Note que e^{ȷωn} é a autofunção do sistema, pois ao excitarmos o sistema h[n] com uma sequência formada a partir dessa função, podemos isolá-la na sequência de saída. Assim, o termo H(e^{ȷω}) é o autovalor associado à autofunção. É importante salientar que H(e^{ȷω}) é uma função contínua em ω.

Matematicamente, a autofunção de um operador linear A (no caso, h[n]) qualquer definido em algum espaço de funções (conjunto de funções de um dado tipo, que mapeia um conjunto X e um conjunto Y, sendo X e Y quaisquer) é qualquer função f, não nula, do espaõ de funções, que ao ser aplicada ao operador A retorna intacta, multiplicada por um fator de escala denominado autovalor.

Como H(e^{ȷω}) é complexo, esse pode ser decomposto em termos de componentes real e complexa (representação cartesiana) ou em componentes de magnitude e fase (representação polar), ou seja:

H(e^{ȷω}) = ℜ{H(e^{ȷω})} + ȷℑ{H(e^{ȷω})}  (3.3)
= |H(e^{ȷω})| e^{∠H(e^{ȷω} )}  (3.4)

Exemplo:

Considere o sistema em atraso ideal descrito pela seguinte equação de diferenças lineares e invariante no tempo:

y[n] = x[n − n_{d}], n_{d} ∈ ℤ

Sua resposta ao impulso é:

h[n] = δ[n − n_{d}]

Assumindo um sinal senoidal em uma freqüência ω qualquer tal que:

x[n] = e^{ȷωn}

Então, a saída desse sistema será:

y[n] = e^{ȷω(n−n_{d})} = \underbrace{e^{−ȷωn_{d}}}_{autovalor} · \underbrace{e^{ȷωn}}_{autofunção}

Assim, a resposta em freqüência de um sistema do tipo atraso ideal (que é definido pelo seu autovalor) é:

H(e^{ȷω}) = e^{−ȷωn_{d}}

Decompondo em componentes cartesianas e polares (levando em conta a relação de Euler dada pela equação 2.19), temos:

\begin{aligned}H(e^{ȷω}) & = cos(ωn_{d}) − j sen(ωn_{d}) \\ & = 1 e^{−jωn_{d}} \end{aligned}

Como a magnitude desse sistema é constante (|H(e^{ȷω})| = 1) em toda a faixa de freqüência normalizada, e como a fase é proporcional ao seu atraso (∠H(e^{ȷω}) = −ωn_{d}), esse sistema é ao mesmo tempo um atrasador ideal e um deslocador de fase (phase shift, em inglês), pois sua função restringe-se a deslocar uma dada frequência ω em −ωn_{d} graus (em radiano).

Considere agora a seguinte sequência, que é uma cossenóide:

\begin{aligned}x[n] & = A cos(ω_{0}n + ϕ) \\ & = \frac{A}{2}e^{jϕ} e^{ȷω_{0}n} + \frac{A}{2}e^{−jϕ} e^{−ȷω_{0}n} \end{aligned}

onde A(∈ ℂ), w_{0} e ϕ independem de n.

Convoluindo tal sequência com um sistema h[n], que é linear e invariante no tempo (para facilitar considere que x[n] é a soma de suas sequências em termos de e^{ȷω_{0}n}), temos:

y[n] = \frac{A}{2} [H(e^{ȷω_{0}})e^{jϕ} e^{ȷω_{0}n} + H(e^{−ȷω_{0}} )e^{−jϕ} e^{−ȷω_{0}n} ]

onde H(e^{ȷω_{0}}) é definido pela equação 3.2.

Se h[n] é real (h[n] ∈ ℝ), então H(e^{−ȷω_{0}} ) = H^{∗}(e^{ȷω_{0}}) (tal demonstração será vista posteriormente). Assim:

\begin{aligned}y[n] & = \frac{A}{2} [H(e^{ȷω_{0}})e^{jϕ} e^{ȷω_{0}n} + H^{∗}(e^{ȷω_{0}})e^{−jϕ} e^{−ȷω_{0}n} ] \\ & = \frac{A}{2} [|H(e^{ȷω_{0}})| e^{jθ}e^{jϕ} e^{ȷω_{0}n} + |H(e^{ȷω_{0}})| e^{−jθ} e^{−jϕ} e^{−ȷω_{0}n} ] \end{aligned}

pois usamos a representação polar de H(e^{ȷω_{0}}) e θ = ∠H(e^{ȷω_{0}}).

Finalmente, empregando a relação de Euler, temos:

y[n] = A |H(e^{ȷω_{0}})| cos(ω_{0}n + θ + ϕ)

Assim, quando excitamos um sistema linear e invariante no tempo h[n] qualquer com uma sequência senoidal (ou cossenoidal) qualquer, obtemos a mesma sequência com suas componentes em freqüência alteradas em magnitude e em fase.

Este será um resultado importante, e que corrobora a propriedade de autofunção descrita anteriormente.

Para avaliar o comportamento da freqüência ω (que é dada em radianos), calcularemos o valor da resposta em freqüência caso adicionassemos 2π graus a ela. Assim:

H(e^{ȷ(ω+2π)} ) = ∑_{k=−∞}^{+∞} h[n] e^{−j(w+2π)k}

Mas como e^{±j2πk} = 1, ∀n|n ∈ ℤ, então:

H(e^{ȷ(ω+2π)} ) = ∑_{k=−∞}^{+∞} h[n]e^{−ȷωk} = H(e^{ȷω})

ou, de maneira mais geral:

H(e^{ȷ(ω+2πr)} ) = H(e^{ȷω})  (3.5)

Isso significa que a resposta em freqüência H(e^{ȷω}) é periódica, com período igual a 2π, sendo que os seus valores são indistinguíveis para freqüências ω e ω + 2π.

Resposta em freqüência para sistema de média móvel

Considere um sistema de média móvel descrito por:

h[n] = \{ \begin{matrix}\frac{1}{M_{1}+M_{2}+1} , & −M_{1} ≤ n ≤ M_{2} \\ 0, & c.c. \end{matrix}

Calculando a resposta em freqüência conforme a equação 3.2, obtemos:

H(e^{ȷω}) = \frac{1}{M_{1} + M_{2} + 1} ∑_{n=−M_{1}}^{M_{2}} e^{−ȷωn}

Como o somatório envolve uma sequência geométrica cuja razão é e^{−ȷω} , podemos aplicar a equação 2.26 para obter sua soma, ou seja:

H(e^{ȷω}) = \frac{1}{M_{1} + M_{2} + 1} \frac{e^{ȷωM_{1}} − e^{−ȷω(M_{2}+1)}}{1 − e^{−ȷω}}

= \frac{1}{M_{1} + M_{2} + 1} \frac{e^{ȷω(\frac{M1+M2+1}{2} )} − e^{−ȷω(\frac{M1+M2+1}{2} )}}{1 − e^{−ȷω}} e^{−ȷω( \frac{M_{2}−M_{1}+1}{2} )}

= \frac{1}{M_{1} + M_{2} + 1} \frac{e^{ȷω(\frac{M1+M2+1}{2} )} − e^{−ȷω(\frac{M1+M2+1}{2} )}}{e^{ȷω(\frac{1}{2})} − e^{−ȷω(\frac{1}{2})}} e^{−ȷω( \frac{M_{2}−M_{1}}{2} )}

= \frac{1}{M_{1} + M_{2} + 1} \frac{sen(ω \frac{(M_{1}+M_{2}+1)}{2} )}{sen(\frac{ω}{2})} e^{−ȷω( \frac{M_{2}−M_{1}}{2} )}

Para melhor avaliar sua resposta em freqüência, decompomos H(e^{ȷω}) em sua representação polar e obtemos os seguintes gráficos:

Figura 3.1: Resposta em freqüência de sistemas média móvel (magnitude e fase)

Note particularmente que a magnitude da resposta em freqüência é nula exatamente quando a freqüência normalizada ω é igual a \frac{2π}{M_{1}+M_{2}+1} . Nesse mesmo ponto ocorre uma “quebra” no ângulo da resposta em freqüência. Essa quebra é na realidade fruto da função arctan que é indefinida para magnitudes nulas.

Para obter a curva correta da fase, é necessário “desdobrar” (unwrap) a curva obtida através de arctan somando-se (ou subtraindo-se) pi radianos dos segmentos particionados. Fazendo isso, verificaremos que a fase de um sistema de média móvel é linear.

Notamos em nossas análises sobre a sequência exponencial complexa x[n] = e^{ȷωn} que seu intervalo para n extende-se de −∞ até +∞. Entretanto, situações práticas exigem que o mesmo seja aplicado repentinamente em um instante específico n_{0} (geralmente n_{0} = 0), e assim, tenha amostras x[n] = 0 para instantes anteriores a n_{0}.

Assim, vamos considerar agora a seguinte sequência que representa uma entrada exponencial complexa aplicada repentinamente, e analisar os efeitos dessa excitação súbita:

x[n] = e^{ȷωn} u[n]

Convoluindo tal sequência com um sistema cuja resposta ao impulso é h[n] temos:

y[n] = ∑_{k=−∞}^{+∞} h[k] e^{ȷω(n−k)} u[n − k]

Como u[n − k] = 0 para n − k < 0 (ou n < k), então o somatório pode ser reavaliado como:

y[n] = ∑_{k=−∞}^{n} h[k] e^{ȷω(n−k)}

Assumindo que o sistema h[n] seja causal (o que implica em uma saída causal em função da entrada também ser causal), temos:

y[n] = \{ \begin{matrix}( ∑_{k=0}^{n} h[k] e^{−ȷωk} ) e^{ȷωn}, & n ≥ 0 \\ 0, & n < 0 \end{matrix}

Se analisarmos a saída y[n] apenas para n ≥ 0, reescrevemos y[n] como:

y[n]= ( ∑_{k=0}^{+∞} h[k] e^{−ȷωk} ) e^{ȷωn} − ( ∑_{k=n+1}^{+∞} h[k] e^{−ȷωk} ) e^{ȷωn}

= H(e^{ȷω})e^{ȷωn}  − ( ∑_{k=n+1}^{+∞} h[k] e^{−ȷωk} ) e^{ȷωn}
= y_{estacionário} [n]  + y_{transiente} [n]

Note que foi possível, por manipulação algébrica, extrair duas componentes da sequência de saída y[n]: a componente estacionária y_{estacionário} [n], que é numericamente igual ao comportamento que o sistema produziria caso uma entrada exponencial complexa de duração infinita fosse empregada.

Cabe então analisar o comportamento da componente transiente y_{transiente} [n]. Usando o critério de estabilidade (equação 2.23) e as inequações de Cauchy-Schwarz (equação 2.27) aplicados a tal componente, obtemos:

|y_{transiente} [n]|= | ∑_{k=n+1}^{+∞} h[k] e^{ȷω(n−k)} |

≤ ∑_{k=n+1}^{+∞} |h[k]|

Note que o comportamento desse transiente depende exclusivamente do comportamento do somatório absoluto (ou estabilidade) de h[n] (lembrando que assumiu-se que o mesmo é causal).

Caso h[n] tenha duração finita M + 1 (ou seja, h[n] = 0 para n ∉ {0 ≤ n ≤ M}), isso implica em y_{transiente} [n] = 0 para n + 1 > M ou para n > M − 1. Logo:

y[n] = y_{estacionário} [n] = H(e^{ȷω})e^{ȷωn}, n > M − 1

Note que y[n], a partir do instante M (inclusive), exibe comportamento estacionário indicando que a partir desse instante todos os efeitos transitórios provocados pelo degrau de excitação são eliminados. A figura 3.2 evidencia esse fato justamente quando, na convolução, h[n] sobrepõe unicamente as amostras de x[n].

Figura 3.2: Exemplo de passo de convolução de sistema de duração finita h[n] com sequência x[n] = ℜ{e^{ȷωn} u[n]}

Caso h[n] tenha duração infinita, podemos reescrever a equação de estabilidade da componente transitória como:

|y_{transiente} [n]|≤ ∑_{k=n+1}^{+∞} |h[k]|≤ ∑_{k=0}^{+∞} |h[k]|

Note que acrescentamos as amostras h[k] para 0 ≤ k ≤ n para dentro do somatório de modo a obter exatamente o critério de estabilidade desse sistema linear e invariante no tempo (equação 2.28), que é causal como admitimos anteriormente. Neste caso,

y[n] → y_{estacionário} [n] e h[n] → 0, n → +∞

Ou seja, caso o sistema h[n] seja estável (condição suficiente), os efeitos do transitório se dissipam a medida que avançamos o índice n. Isso fica evidente na figura 3.3, na qual percebemos que os efeitos do transitório quando parte de h[n] convolui-se com as amostras “faltantes” de e^{ȷωn} que existiram caso não ocorre o chaveamento abrupto de u[n].

Figura 3.3: Exemplo de passo de convolução de sistema de duração infinita h[n] com sequência x[n] = ℜ{e^{ȷωn} u[n]}

Um resultado interessante, que deriva da análise de estabilidade de um sistema linear e invariante no tempo, é:

|H(e^{ȷω})| = | ∑_{k=−∞}^{+∞} h[k] e^{−ȷωk} |

≤ ∑_{k=−∞}^{+∞} |h[k] e^{−ȷωk} |

≤ ∑_{k=−∞}^{+∞} |h[k]|

Sabendo que para um sistema linear e invariante no tempo ser estável exige-se que a inequação 2.23 seja válida, logo a estabilidade de um sistema garante a existência de H(e^{ȷω}) (propriedade de autofunção), pois:

|H(e^{ȷω})| ≤ ∑_{k=−∞}^{+∞} |h[k]|≤ +∞ ⇒ ∃H(e^{ȷω})  (3.6)

que é a mesma condição para que os efeitos transitórios produzidos por um sistema de resposta impulso com duração infinita se dissipem quando n → +∞.

Este resultado será extremamente útil para caracterizar a existência da transformada de Fourier discreta no tempo, na seção 3.3.

3.3 Transformada de Fourier Discreta no Tempo

Até agora apresentamos H(e^{ȷω}) como sendo o autovalor obtida a partir da convolução entre a resposta ao impulso de um sistema linear e invariante no tempo h[n] com uma sequência de entrada x[n] do tipo exponencial complexa para uma única freqüencia ω. Nesse caso, definimos que esse autovalor é equivalente a resposta em freqüência do sistema.

No início deste capítulo, relembramos a Integral de Fourier que decompõe uma função contínua em uma série contendo as componentes complexas (senóides e cossenóides) que descrevem espectralmente tal função contínua.

Definimos a representação de Fourier de uma sequência x[n], ou par Transformada de Fourier Discreta no Tempo às seguintes equações:

FT_{DT}\{x[n]\}= X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} FT_{DT}^{−1}\{X(e^{ȷω})\} = x[n] = \frac{1}{2π} ∫_{−π}^{+π} X(e^{ȷω}) e^{ȷωn} dω ,  ω ∈ ℝ  (3.7)

A primeira equação é denominada Transformada de Fourier Discreta no Tempo (ou, simplesmente, DTFT), enquanto a segunda equação é denominada Transformada Inversa de Fourier Discreta no tempo (ou, simplesmente, IDTFT).

Demonstração. Demonstração da reversibilidade entre x[n] e X(e^{ȷω}). Considere a DTFT da sequência x[m] como sendo:

X(e^{ȷω}) = ∑_{m=−∞}^{+∞} x[m] e^{−ȷωm}

Também considere que a IDTFT de X(e^{ȷω}) seja:

x̂[n] = \frac{1}{2π} ∫_{−π}^{+π} X(e^{ȷω}) e^{ȷωn} dω

Queremos provar que x[n] = x̂[n]. Para isso, substituímos X(e^{ȷω}) na equação que define x̂[n], ou seja:

x̂[n] = \frac{1}{2π} ∫_{−π}^{+π} ∑_{m=−∞}^{+∞} x[m] e^{−ȷωm} e^{ȷωn} dω

Assumindo que:

∑_{m=−∞}^{+∞} x[m] e^{−ȷωm} < ∞

que é a condição da série ser absolutamente somável, garantindo a existência da integral. Assim, por manipulação algébrica, temos que:

x̂[n] = ∑_{m=−∞}^{+∞} x[m] ( \frac{1}{2π} ∫_{−π}^{+π} e^{ȷω(m−n)} dω)

Mas, a integral definida pode ser resolvida, e seu resultado é:

\frac{1}{2π} ∫_{−π}^{+π} e^{ȷω(m−n)} dω = \frac{sen(π(n − m))}{π(n − m)} = \{ \begin{matrix}1, & m = n \\ 0, & m ≠ n \end{matrix}

Tal resultado corresponde exatamente a sequência δ[n − m]. Assim:

x̂[n] = ∑_{m=−∞}^{+∞} x[m]δ[n − m] = x[n]

Se compararmos essas expressões com aquelas da Transformada de Fourier (equação 3.1) notamos que X(e^{ȷω}) é periódico (conforme a equação 3.5, tem período igual a 2π), e desta forma, a integral da equação 3.7 ocorrem em qualquer trecho de comprimento 2π (convenciona-se usar os intervalos 0 e 2π, ou −π e +π, nessa integral).

3.3.1 Existência da DTFT

Precisamos agora definir para que classe de sequências a DTFT existe. Analogamente à análise da existência da autofunção, temos:

|X(e^{ȷω})| < ∞, ∀ω ∈ ℝ

Pela definição da DTFT para uma determinada sequência x[n], temos:

|X(e^{ȷω})| = | ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} |

≤ ∑_{n=−∞}^{+∞} |x[n]| \underbrace{|e^{−ȷωn} |}_{=1}

≤ ∑_{n=−∞}^{+∞} |x[n]|< ∞

ou seja:

|X(e^{ȷω})| < ∞ ⇒ ∑_{n=−∞}^{+∞} |x[n]|< ∞  (3.8)

Isso significa que a condição suficiente para existência de X(e^{ȷω}) é que a sequência seja absolutamente somável. Consequentemente a sequência (ou série) convergirá assintoticamente para qualquer valor de ω. Se tratarmos de sistemas, a resposta ao impulso de um sistema linear e invariante no tempo deve ser estável (ver equação 2.28), o que implica na sequência que descreve tal resposta ao impulso ser absolutamente somável. Logo a resposta em freqüência do sistema existe, e é obtida pela DTFT.

DTFT de exponencial aplicada repentinamente:

Seja x[n] uma sequência exponencial aplicada repentinamente e definida por:

x[n] = a^{n} u[n],

A DTFT dessa sequência é:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} a^{n} u[n] e^{−ȷωn} = ∑_{n=0}^{+∞} a^{n}e^{−ȷωn} = ∑_{n=0}^{+∞} (ae^{−ȷω} )^{n}

Este resultado é uma soma de termos de uma série em progressão geométrica com razão (ae^{−ȷω} ). Tal soma existe se, e somente se:

|ae^{−ȷω} | < 1 ou |a| < 1

Logo, usando a equação 2.26 para obter o somatório da progressão geométrica, temos:

X(e^{ȷω}) = \frac{1}{1 − (ae^{−ȷω} )}

Pela condição de existência da DTFT, temos que:

∑_{n=0}^{+∞} |a^{n}| < ∑_{n=0}^{+∞} |a|^{n} = \frac{1}{1 − |a|} < +∞, se|a| < 1

Note que as condições para existência da DTFT para uma dada sequência (sequência absolutamente somável) concorda com as condições para obtenção do somatório da progressão geométrica que leva a uma forma fechada para X(e^{ȷω}). Entretanto, do ponto de vista estritamente matemático, devemos sempre verificar se a sequência é absolutamente somável antes de obter sua DTFT.

Existem sequências que não são absolutamente somáveis mas que são quadraticamente somáveis, ou seja:

∑_{n=−∞}^{+∞} |x[n]|^{2} , ∀n|n ∈ ℤ

Para obter sua DTFT precisamos relaxar os requisitos de convergência assintótica (pois elas não são absolutamente somáveis). Para fazer isso, construiremos uma aproximação com convergência média quadrática. Se FT_{DT}{x[n]} é definida por:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

Então, sua versão aproximada (em função de um parâmetro M) é:

X_{M}(e^{ȷω}) = ∑_{n=−M}^{+M} x[n] e^{−ȷωn}

Logo, a aproximação média quadrática (em função de M) é tal que:

lim_{M→+∞} ∫_{−π}^{+π} |X(e^{ȷω}) − X_{M}(e^{ȷω})| ^{2} dω = 0  (3.9)

Ou seja, truncamos o somatório que define a DTFT, e definimos um intervalo de comprimento 2M de tal forma a reduzir o erro de aproximação média quadrática (conceitualmente chamada de minimização de “energia”) para todas as freqüências ω, representado na equação 3.9.

DTFT para um sistema passa-baixa ideal:

Um sistema (ou filtro) passa-baixa ideal é definido, no domínio da freqüência, pela seguinte equação:

H_{lp}(e^{ȷω}) = \{ \begin{matrix}1, & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| ≤ π \end{matrix}  (3.10)

Pela definição, obtemos sua IDTFT, que é:

\begin{aligned}h_{lp}[n] & = \frac{1}{2π} ∫_{−ω_{c}}^{+ω_{c}} e^{ȷωn}dω = \frac{1}{j2πn} [e^{ȷωn}]_{−ω_{c}}^{+ω_{c}} = \frac{1}{j2πn} (e^{ȷω_{c}n} − e^{−ȷω_{c}n} ) \\ & = \frac{sen(ω_{c}n)}{πn} , ∀n|n ∈ ℤ \end{aligned}

A sequência que descreve o sistema passa-baixa ideal, h_{lp}[n], além de não ser causal, não é absolutamente somável, pois oscila indefinidamente. Logo, não existe DTFT (estritamente falando) para o sistema passa-baixa ideal. Entretanto, podemos aproximar a DTFT pela truncagem da sequência h_{lp}[n] obtida. Ou seja:

H_{M}(e^{ȷω}) = ∑_{n=−M}^{+M} \frac{sen(ω_{c}n)}{πn} e^{−ȷωn}

= \frac{1}{2π} ∫_{−ω_{c}}^{+ω_{c}} \frac{sen[\frac{(2M+1)(ω−θ)}{2} ]}{sen[\frac{(ω−θ)}{2} ]}dθ

Para avaliar o comportamento da aproximação, determinamos as curvas H_{M}(e^{ȷω}) para diversos valores de M.

Figura 3.4: Aproximações H_{M}(e^{ȷω}) com M = 1, M = 3, M = 7 e M = 19

Para um determinado M, a amplitude das oscilações de H_{M}(e^{ȷω}) na descontinuidade ω = ω_{c} é maior do que em outras regiões. A medida que M aumenta (M → +∞), o número de oscilações aumenta, sem que H_{M}(e^{ȷω}) convirja para H(e^{ȷω}). A amplitude máxima das oscilações jamais torna-se nula. Tal comportamento é definido como fenômeno de Gibbs, e advém de efeitos de truncagem e operação com sequências que são quadraticamente somáveis. É um fenômeno comumente encontrado em dispositivos eletrônicos como osciloscópios e geradores de funções.

Existem entretanto algumas sequências especiais que não são nem absolutamente e nem quadraticamente somáveis. Tais sequências são de interesse especial para processamento digital de sinais. Uma análise mais precisa será feita no capítulo 5.

DTFT de sequência constante:

Considere a seguinte sequência constante, com amplitude unitária:

x[n] = 1, ∀n|n ∈ ℤ

Note que tal sequência não é absolutamente nem quadraticamente somável. Entretanto, podemos definir FT_{DT}{x[n]} como sendo:

X(e^{ȷω}) = ∑_{r=−∞}^{+∞} δ(ω + 2πr)

onde δ(t) é a função impulso ou função Delta de Dirac (definida pela equação 2.2.6).

Note que a DTFT da sequência constante é um trem de impulsos periódicos, o que mantém a propriedade de periodicidade (com período igual a 2π) de X(e^{ȷω}) conforme visto anteriormente. Esta DTFT só existe porque formalmente podemos obtê-la quando calculamos a sua IDTFT para obter a sequência constante.

3.3.2 Propriedades da DTFT

A seguir serão listadas várias propriedades da DTFT. O intuito é mostrar que podemos encontrar rapidamente a DTFT de sequência com características especiais, com base em suas propriedades matemáticas. Tais propriedades terão ligação estreita com as propriedades da Transformada Z, do capítulo 5.

Assuma inicialmente as seguintes sequências (que são as equações 2.10):

\begin{aligned}x[n] & = x_{p}[n] + x_{i}[n] \\ x_{p}[n] & = \frac{1}{2} (x[n] + x^{∗}[−n]) = x_{p}^{∗}[−n] \\ x_{i}[n] & = \frac{1}{2} (x[n] − x^{∗}[−n]) = −x_{i}^{∗}[−n] \end{aligned}

onde x_{p}[n] é chamada de sequência conjugada simétrica de x[n], e x_{i}[n] é chamada de sequência conjugada anti-simétrica de x[n].

Um caso particular dessa definição é que se x[n] ∈ ℝ, então x_{p}[n] = x_{p}[n] e x_{i}[n] = −x_{i}[−n]. Nesse caso particular, x_{p}[n] é uma sequência par e x_{i}[n] é uma sequência ímpar (maiores detalhes, veja a seção 2.2.5).

A DTFT dessas sequências é:

X(e^{ȷω}) = X_{par}(e^{ȷω}) + X_{ímpar}(e^{ȷω})
X_{par}(e^{ȷω}) = \frac{1}{2} [X(e^{ȷω}) + X^{∗}(e^{−ȷω} )]
X_{ímpar}(e^{ȷω}) = \frac{1}{2} [X(e^{ȷω}) − X^{∗}(e^{−ȷω} )]

(3.11)

Da equação 3.11, podemos obter (trocando ω por −ω) as seguintes relações:

X_{par}(e^{ȷω}) = X_{par}^{∗}(e^{−ȷω} )
X_{ímpar}(e^{ȷω}) = −X_{ímpar}^{∗}(e^{−ȷω} )

(3.12)

Esssas propriedades (ditas de simetria) são úteis na simplificação de operações matemáticas. Posteriormente servirão como peça-chave na definição de algorítmos rápidos para obtenção de componentes espectrais de sequências.

As propriedades a seguir assumem que se conhecemos X(e^{ȷω}) para uma dada sequência x[n], então podemos obter rapidamente sua FT_{DT}{x[n]} de uma dada sequência que apresente alguma características específica em relação x[n] (o mesmo é válido para obter a sequência cuja DTFT possui alguma relação com X(e^{ȷω})).

DTFT de sequência conjugada

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x^{∗}[n] ⟷^{FT_{DT}} X^{∗}(e^{−ȷω} )  (3.13)

Demonstração. A partir de FT_{DT}{x[n]}, temos:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

Aplicando o conjugado em ambos os termos, temos:

\begin{aligned}[X(e^{ȷω})]^{∗} & = [ ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} ]^{∗} \\ & = ∑_{n=−∞}^{+∞} x^{∗}[n] e^{ȷωn} \end{aligned}

Substituindo ω = −ω′ temos finalmente:

X^{∗}(e^{−ȷω′} ) = ∑_{n=−∞}^{+∞} x^{∗}[n] e^{−ȷω′n}

DTFT de sequência conjugada refletida

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x^{∗}[−n] ⟷^{FT_{DT}} X^{∗}(e^{ȷω})  (3.14)

DTFT da parte real de uma sequência

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ ℜ{x^{∗}[n]} ⟷^{FT_{DT}} X_{p}(e^{ȷω})  (3.15)

Demonstração. A partir da equação 3.11 temos:

X_{p}(e^{ȷω}) = \frac{1}{2} \{X(e^{ȷω}) + X^{∗}(e^{−ȷω} )\}

= \frac{1}{2} \{ ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} + [ ∑_{n=−∞}^{+∞} x[n] e^{ȷωn}]^{∗}\}

= \frac{1}{2} \{ ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} + ∑_{n=−∞}^{+∞} x^{∗}[n] e^{−ȷωn} \}

= ∑_{n=−∞}^{+∞} \{ \frac{x[n] + x^{∗}[n]}{2}\} e^{−ȷωn} = ∑_{n=−∞}^{+∞} ℜ\{x[n]\} e^{−ȷωn}

DTFT da parte imaginária de uma sequência

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ jℑ{x^{∗}[n]} ⟷^{FT_{DT}} X_{i}(e^{ȷω})  (3.16)

DTFT da parte par de uma sequência

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x_{p}[n] ⟷^{FT_{DT}} X_{ℜ} (e^{ȷω}) = ℜ{X(e^{ȷω})}  (3.17)

Demonstração. A partir da equação 2.10 temos:

X_{p}(e^{ȷω}) = ∑_{n=−∞}^{+∞} \{ \frac{1}{2} (x[n] + x^{∗}[−n]) \} e^{−ȷωn}

= \frac{1}{2} ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn} + \frac{1}{2} ∑_{n=−∞}^{+∞} x^{∗}[−n] e^{−ȷωn}

= \frac{1}{2}X(e^{ȷω}) + \frac{1}{2} ∑_{k=−∞}^{+∞} x^{∗}[k] e^{ȷωk}

= \frac{1}{2}X(e^{ȷω}) + \frac{1}{2} \{ ∑_{k=−∞}^{+∞} x[k] e^{−ȷωk} \}^{∗}

= \frac{1}{2}X(e^{ȷω}) + \frac{1}{2}X^{∗}(e^{ȷω}) = ℜ\{X(e^{ȷω})

DTFT da parte ímpar de uma sequência

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x_{i}[n] ⟷^{FT_{DT}} X_{ℑ} (e^{ȷω}) = jℑ{X(e^{ȷω})}  (3.18)

DTFT de uma sequência real

Se x[n] ∈ ℝ:

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ X(e^{ȷω}) = X^{∗}(e^{−ȷω} )  (3.19)
⟺ X_{ℜ} (e^{ȷω}) = X_{ℜ} (e^{−ȷω} )  (3.20)
⟺ X_{ℑ} (e^{ȷω}) = −X_{ℑ} (e^{−ȷω} )  (3.21)
⟺ |X(e^{ȷω})| = |X(e^{−ȷω} )|  (3.22)
⟺ ∠X(e^{ȷω}) = −∠X(e^{−ȷω} )  (3.23)

Note que para uma sequência real, a DTFT é conjugada simétrica, sua parte real é par, sua parte imaginária é ímpar, sua magnitude é par e sua fase é ímpar, sempre.

Linearidade

Seja uma sequência qualquer x[n] que pode ser decomposta linearmente na soma ponderada de duas outras sequências (x_{1}[n] e x_{2}[n]), com a, b ∈ ℂ. Sua DTFT é linear, pois:

x[n] = a x_{1}[n] + b x_{2}[n] ⟷^{FT_{DT}} X(e^{ȷω}) = aX_{1}(e^{ȷω}) + bX_{2}(e^{ȷω})  (3.24)

Demonstração. Calculando FT_{DT}{x[n]}, obtemos:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

= ∑_{n=−∞}^{+∞} {a x_{1}[n] + b x_{2}[n]} e^{−ȷωn}

= a { ∑_{n=−∞}^{+∞} x_{1}[n] e^{−ȷωn} } + b { ∑_{n=−∞}^{+∞} x_{2}[n] e^{−ȷωn} }

= aX_{1}(e^{ȷω}) + bX_{2}(e^{ȷω})

Deslocamento no tempo

Seja uma sequência qualquer x[n], com DTFT conhecida. Se deslocarmos suas amostras em n_{d} amostras (n_{d} ∈ ℤ), FT_{DT}{x[n − n_{d}]} é:

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x[n − n_{d}] ⟷^{FT_{DT}} e^{−ȷωn_{d}} X(e^{ȷω})  (3.25)

Demonstração. Calculando a DTFT de x′[n] = x[n − n_{d}], temos:

X′(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n − n_{d}] e^{−ȷωn}

Trocando de variáveis (m = n − n_{d}, ou seja, n = m + n_{d}), temos:

\begin{aligned}X′(e^{ȷω}) & = ∑_{(m+n_{d}) =−∞}^{+∞} x[m] e^{−ȷω(m+n_{d})} \\ & = e^{−ȷωn_{d}} ∑_{m=−∞}^{+∞} x[m] e^{−ȷωm} = e^{−ȷωn_{d}} X(e^{ȷω}) \end{aligned}

Deslocamento em freqüência

Seja uma sequência qualquer x[n], com DTFT conhecida. Se a modularmos por uma sequência exponencial complexa, com freqüência ω_{0}, (ω_{0} ∈ ℝ), sua DTFT é:

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ e^{ȷω_{0}n}x[n] ⟷^{FT_{DT}} X(e^{ȷ(ω−ω_{0})} )  (3.26)

Demonstração. Calculando a DTFT da sequência modulada, temos:

X′(e^{ȷω}) = ∑_{n=−∞}^{+∞} e^{ȷω_{0}n}x[n] e^{−ȷωn} = ∑_{n=−∞}^{+∞} x[n] e^{−ȷ(ω−ω_{0}) n} = X(e^{ȷω−ω_{0}} )

Reversão temporal

Seja uma sequência qualquer x[n], com DTFT conhecida. Se revertermos tal sequência, sua DTFT é:

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ x[−n] ⟷^{FT_{DT}} X(e^{−ȷω} )

⟺ x[−n] ⟷^{FT_{DT}} X^{∗}(e^{ȷω}), x[n] ∈ ℝ

(3.27)

Diferenciação em freqüência

Seja uma sequência qualquer x[n], com DTFT conhecida. Se a modularmos por uma sequência linearmente crescente, sua DTFT é:

x[n] ⟷^{FT_{DT}} X(e^{ȷω}) ⟺ n x[n] ⟷^{FT_{DT}} j \frac{dX(e^{ȷω})}{dω}  (3.28)

Demonstração. Considere DTFT de x[n]:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

Diferenciando ambos os termos da igualdade em relação a ω, temos:

\frac{dX(e^{ȷω})}{dω} = ∑_{n=−∞}^{+∞} x[n] \{−jn\} e^{−ȷωn}

j \frac{dX(e^{ȷω})}{dω} = j ∑_{n=−∞}^{+∞} \{−jn x[n]\} e^{−ȷωn}

= ∑_{n=−∞}^{+∞} {n x[n]} e^{−ȷωn}

onde n x[n] é a sequência modulada.

Teorema da convolução

O teorema da convolução diz que a convolução de duas sequências no domínio do tempo é equivalente a modulação das DTFT’s dessas duas sequências no domínio da freqüência.

Ou seja, se:

x_{1}[n] ⟷^{FT_{DT}} X_{1}(e^{ȷω})
x_{2}[n] ⟷^{FT_{DT}} X_{2}(e^{ȷω})

Então:

x[n] = x_{1}[n] ∗ x_{2}[n] ⟷^{FT_{DT}} X(e^{ȷω}) = X_{1}(e^{−ȷω} )X_{2}(e^{ȷω})  (3.29)

Demonstração. Considere FT_{DT}{x[n]}:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

= ∑_{n=−∞}^{+∞} { ∑_{k=−∞}^{+∞} x_{1}[k]x_{2}[n − k]} e^{−ȷωn}

= ∑_{k=−∞}^{+∞} x_{1}[k] { ∑_{n=−∞}^{+∞} x_{2}[n − k] e^{−ȷωn} }

Por troca de variáveis (n − k = m, ou seja, n = k + m), temos:

X(e^{ȷω}) = ∑_{k=−∞}^{+∞} x_{1}[k] { ∑_{m=−∞}^{+∞} x_{2}[n] e^{−ȷωm} } e^{−ȷωk}

= X_{2}(e^{ȷω}) ∑_{k=−∞}^{+∞} x_{1}[k] e^{−ȷωk}

= X_{2}(e^{ȷω})X_{1}(e^{ȷω})

Teorema da modulação

Analogamente ao teorema da convolução, temos que a modulação de duas sequências no domínio do tempo é equivalente a convolução (periódica) de suas DTFTś no domínio da freqüência.

Ou seja, se:

x_{1}[n] ⟷^{FT_{DT}} X_{1}(e^{ȷω})
x_{2}[n] ⟷^{FT_{DT}} X_{2}(e^{ȷω})

Então:

x[n] = x_{1}[n]x_{2}[n] ⟷^{FT_{DT}} X(e^{ȷω}) = \frac{1}{2π} ∫_{−π}^{+π} X(e^{ȷθ})X(e^{ȷ(ω−θ)} )dθ  (3.30)

Teorema de Parseval

O teorema de Parseval define que a energia total de um sistema é a soma das contribuições das energias distribuídas em cada uma das freqüências normalizadas ω. É esse teorema que permite definirmos a densidade de potência espectral de uma dada sequência ou sistema.

∑_{n=−∞}^{+∞} |x[n]|^{2} = \frac{1}{2π} ∫_{−π}^{+π} |X(e^{ȷω})|^{2} dω  (3.31)

A importância é atribuída a sua relação com estimação espectral, uma área de processamento digital de sinais ligada a tentativa de determinar as características espectrais de uma sequência com base em avaliações probabilísticas do fenônemo físico representado pela sequência.

Demonstração. Inicialmente provaremos a forma geral do Teorema de Parseval, considerando duas sequências distintas cujas DTFT’s são moduladas.

Seja x_{1}[n] e x_{2}[n] tal que:

x_{1}[n] ⟷^{FT_{DT}} X_{1}(e^{ȷω})
x_{2}[n] ⟷^{FT_{DT}} X_{2}(e^{ȷω})

Então:

X(e^{ȷω}) = X_{1}(e^{ȷω})X_{2}(e^{ȷω})

= { ∑_{m=−∞}^{+∞} x_{1}[m] e^{−ȷωm} } { ∑_{n=−∞}^{+∞} x_{2}^{∗}[n] e^{ȷωn}}

= ∑_{m=−∞}^{+∞} ∑_{n=−∞}^{+∞} x_{1}[m]x_{2}^{∗}[n]e^{−ȷω(m−n)}

Fazendo troca de variáveis (k = m − n), temos:

X(e^{ȷω}) = ∑_{k=−∞}^{+∞} \underbrace{∑_{n=−∞}^{+∞} x_{1}[n + k]x_{2}^{∗}[n]}_{x[k]} e^{−ȷωk}

onde x[k] corresponde a função de correlação cruzada entre duas sequências, com atraso de k amostras.

Ou seja:

x[k] = ∑_{n=−∞}^{+∞} x_{1}[n + k]x_{2}^{∗}[n] ⟷^{FT_{DT}} X(e^{ȷω}) = X_{1}(e^{ȷω})X_{2}^{∗}(e^{ȷω})  (3.32)

Se x_{1}[n] = x_{2}[n] = y[n] e x[k] = z[k], temos:

z[k] = ∑_{n=−∞}^{+∞} y[n + k]y^{∗}[n] ⟷^{FT_{DT}} Z(e^{ȷω}) = Y (e^{ȷω})Y^{∗}(e^{ȷω})

Calculando z[0], temos:

z[0] = ∑_{n=−∞}^{+∞} y[n]y^{∗}[n] = ∑_{n=−∞}^{+∞} |y[n]|^{2}

Mas FT_{DT}^{−1}{Z(e^{ȷω})}, com n = 0, é:

\begin{aligned}z[0] & = \frac{1}{2π} ∫_{−π}^{+π} Y (e^{ȷω})Y^{∗}(e^{ȷω})e^{−ȷω(0)} dω \\ & = \frac{1}{2π} ∫_{−π}^{+π} |Y (e^{ȷω})|^{2} dω \end{aligned}

Pares de transformadas

Segue agora uma relação de diversas transformadas de Fourier de tempo discreto, cuja prova pode ser obtida diretamente das equações 3.7.

δ[n] ⟷^{FT_{DT}} 1

δ[n − n_{d}] ⟷^{FT_{DT}} e^{−ȷωn_{0}}

1, n|n ∈ ℤ ⟷^{FT_{DT}} ∑_{k=−∞}^{+∞} 2πδ(ω + 2πk)

a^{n}u[n], |a| < 1 ⟷^{FT_{DT}} \frac{1}{1 − ae^{−ȷω}}

u[n] ⟷^{FT_{DT}} \frac{1}{1 − e^{−ȷω}} + ∑_{k=−∞}^{+∞} πδ(ω + 2πk)

(n + 1)a^{n}u[n] ⟷^{FT_{DT}} \frac{1}{(1 − ae^{−ȷω} ) ^{2}}

\frac{sen(ω_{c}n)}{πn} ⟷^{FT_{DT}} X(e^{ȷω}) = \{ \begin{matrix}1, & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| ≤ π \end{matrix}

x[n] = \{ \begin{matrix}1,  0 ≤ n ≤ M \\ 0,  c.c. \end{matrix}  ⟷^{FT_{DT}} \frac{sen(ω(M + 1)/2)}{sen(ω/2)} e^{−ȷωM/2}

e^{ȷω_{0}n} ⟷^{FT_{DT}} ∑_{k=−∞}^{+∞} 2πδ(ω − ω_{0} + 2πk)

cos(ω_{0}n + ϕ) ⟷^{FT_{DT}} ∑_{k=−∞}^{+∞} [πe^{jϕ} δ(ω − ω_{0} + 2πk) + πe^{−jϕ} δ(ω + ω_{0} + 2πk)]

Teoria da Amostragem

Até agora tratamos de sequências discretas, onde não existe qualquer informação sobre o intervalo de tempo físico existente entre a i-ésima amostra e suas vizinhas imediatas i − 1 e i + 2.

Para relacionarmos um sinal contínuo (ou analógico) com uma sequência discreta, introduzimos agora o conceito de período (ou freqüência) de amostragem. Ou seja, a cada intervalo fixo de tempo coletaremos o valor do sinal instantâneo. Matematicamente temos:

x[n] = x_{a}(nT),  −∞ < n < +∞  (4.1)

onde T é o período de amostragem, e f_{s} = \frac{1}{T} é a freqüência de amostragem.

[figure: x_{c}(t); x[n]; T; A/D]

Figura 4.1: Representação gráfica do conversor A/D

Esta é uma operação irreversível, ou seja, pois uma vez realizada, não é possível obter o exatamente sinal contínuo x_{a}(t) a partir das amostras x[n]. Isso significa que a operação não é inversível.

Matematicamente, tratamos a amostragem (ou discretização) em dois estágios:

1. Um gerador de trem de impulsos (delta de Dirac)

2. Um conversor de impulsos para sequências

Tais estágios são apresentados na figura 4.2, onde fica claro a modulação entre o sinal contínuo x_{a}(t) e o trem de impulsos s(t). O conversor na verdade é um dispositivo eletrônico do tipo “sample-and-hold”.

[figure: x_{a}(t); s(t); x_{s}(t); x[n]; conversor]

Figura 4.2: Estágios de uma amostragem (A/D)

A figura 4.3 mostra o que acontece quando usamos um conversor A/D com período de amostragem muito pequeno em relação as características espectrais do sinal contínuo. Podemos notar que quando o freqüência de amostragem é pequeno, perdemos informação do sinal contínuo, e dessa forma, temos uma sequência que pouca relação com esse sinal.

Figura 4.3: Exemplo de um mesmo sinal amostrado através de trens de pulsos com períodos de amostragem distintos.

O trem de pulsos é definido matematicamente por:

s(t) = ∑_{n=−∞}^{+∞} δ(t − nT)

Modulando o sinal contínuo x_{a}(t) com o trem de pulsos s(t), temos um sinal “amostrado” no domínio contínuo:

\begin{aligned}x_{s}(t) & = x_{a}(t) · s(t) = x_{a}(t) ∑_{n=−∞}^{+∞} δ(t − nT) \\ & = ∑_{n=−∞}^{+∞} x_{a}(nT)δ(t − nT) \end{aligned}

Agora analisaremos os efeitos dessa modulação (primeiro passo da amostragem) nas componentes espectrais do sinal x_{s}(t). Aplicando a Transformada de Fourier (Equação 3.1) sobre a função trem de pulsos s(t), temos:

S(ȷΩ) = \frac{2π}{T} ∑_{k=−∞}^{+∞} δ(Ω − kΩ_{s}), Ω_{s} = \frac{2π}{T}

Como modulamos no domínio do tempo, implicitamente convoluímos na freqüência, ou seja:

X_{s}(ȷΩ) = \frac{1}{2π} X_{a}(ȷΩ) ∗ S(ȷΩ) = \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a}(ȷ(Ω − kΩ_{s}))

levando em conta que a função delta de Dirac δ(t) possui propriedades especiais (Equação 2.2.6).

Figura 4.4: Relação entre X_{a}(ȷΩ), X_{s}(ȷΩ) e S(ȷΩ), para diferentes freqüências de amostragem

Note que X_{s}(ȷΩ) é uma função contínua (em Ω) composta de uma soma de infinitas réplicas de X_{a}(ȷΩ), deslocadas kΩ_{s} radianos entre si.

Para que as réplicas não se sobreponham, é necessário que:

\begin{aligned}Ω_{s} − Ω_{N} & > Ω_{N} \\ Ω_{s} & > 2Ω_{N} \end{aligned}

Dessa forma, podemos recuperar x_{a}(t) a partir de x_{s}(t) usando um filtro passa-baixas ideal com uma freqüência de corte Ω_{c} (Ω_{N} < Ω_{c} < Ω_{s} − Ω_{N}) que elimine as réplicas de X_{s}(ȷΩ). Essa eliminação pode ser impossível devido a sobreposições das réplicas oriunda de uma amostragem incorreta do sinal contínuo x_{a}(t). Quando tais sobreposições ocorrem, temos o fenômeno conhecido por espalhamanto espectral ou aliasing.

Figura 4.5: Recuperação de sinal original (no domínio da freqüência) a partir de X_{s}(ȷΩ) usando filtro passa-baixas

A freqüência Ω_{N}, que é a componente espectral de maior valor (em radianos) é chamada de freqüência de Nyquist. Ela define qual o limite de freqüência de amostragem Ω_{s}.

Teorema 4.1 (Teorema de Nyquist). Seja x_{a}(t) um sinal de banda limitada com X_{a}(ȷΩ) = 0 para |Ω| ≥ Ω_{N}. Então x_{a}(t) é unicamente determinado por x[n] = x_{a}(nT) para n ∈ ℤ se, e somente se:

Ω_{s} = \frac{2π}{T} ≥ 2Ω_{N}  (4.2)

Podemos relacionar a Transformada de Fourier Discreta no Tempo (DTFT) com as Transformadas de Fourier (contínuas) dos sinais contínuos x_{a}(t) e x_{s}(t), ou seja X(e^{ȷω}) com X_{s}(ȷΩ) e X_{a}(ȷΩ).

Pela definição,

x_{s}(t) = ∑_{n=−∞}^{+∞} x_{a}(nT)δ(t − nT)

Então

X_{s}(ȷΩ) = ∫_{−∞}^{+∞} x_{s}(t)e^{−jΩt} dt = ∑_{n=−∞}^{+∞} x_{a}(nT)e^{−jΩT n}

Pela definição de amostragem de uma sinal, temos x[n] = x_{a}(nT) e:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

Por comparação, temos:

X_{s}(ȷΩ) = X(e^{ȷω})|_{ω=ΩT} = X(e^{ȷΩT})

Logo,

\begin{aligned}X(e^{ȷΩT}) & = \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a}(ȷ(Ω − kΩ_{s})) \\ X(e^{ȷω}) & = \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a}( ȷ ( \frac{ω}{T} − \frac{2πk}{T} ) ) \end{aligned}  (4.3)

Ou seja, X(e^{ȷω}) é uma versão “escalada” em freqüência de X_{s}(ȷΩ) (escala definida por ω = ΩT. Apenas reforçando, quando discretizamos o sinal x_{a}(t) em x_{s}(t) (e consequentemente x[n]), a sua DTFT corresponde a soma de réplicas da Transformada de Fourier do sinal contínuo original x_{a}(t), espaçadas a cada 2π radianos, o que mantém a periodicidade implícita da DTFT.

Exemplo:

Considere sinal contínuo x_{a}(t) = cos(Ω_{0}t) = cos(4000πt) amostrado a 6000 Hz. Isso implica em T = \frac{1}{6000} (Ω_{s} = \frac{2π}{T} = 12000π). Discretizandoo, temos:

x[n] = x_{a}(nT) = cos(4000πT n) = cos(ω_{0}n) = cos(2πn/3)

Aplicando a Transformada de Fourier em x_{a}(t), obtemos:

X_{a}(ȷΩ) = πδ(Ω − 4000π) + πδ(Ω + 4000π)

Graficamente, quando amostramos um sinal contínuo, sabemos que são produzidas réplicas ao redor das freqüências múltiplas da freqüência de amostragem (Ω_{s}), como vemos na figura a seguir.

Figura 4.6: Componentes espectrais do sinal x_{a}(t) = cos(16000πt), quando amostrado a T = 1/6000 Hz.

Considerando agora o sinal contínuo x_{a}(t) = cos(Ω_{1}t) = cos(16000πt) amostrado a 6000 Hz (Ω_{s} = \frac{2π}{T} = 12000π). Discretizandoo, temos:

x[n] = x_{a}(nT) = cos(16000πT n) = cos(2πn + ω_{1}n) = cos(2πn/3)

Quando consideramos a Transformada de Fourier de x_{s}(t) e a DTFT de x[n], notaremos que os resultados são idênticos àqueles obtidos para um sinal cuja maior componente espectral é 4 vezes menor do que a do sinal agora analisado. Isso também fica evidente quando calculamos x[n].

Finalmente, considere o sinal contínuo x_{a}(t) = cos(Ω_{2}t) = cos(4000πt) amostrado a 1500 Hz (Ω_{s} = \frac{2π}{T} = 3000π). Discretizando-o, temos:

x[n] = x_{a}(nT) = cos(4000πT n) = cos(2πn + ω_{1}n) = cos(2πn/3)

Em comparação ao primeiro sinal desse exemplo, suas Transformada de Fourier de x_{s}(t) (versão “amostrada” de x_{a}(t), no domínio contínuo) possuem componentes espectrais bastante distintas. Entretanto, ambas as DTFT das respectivas sequências são idênticas, como vemos na figura a seguir.

Figura 4.7: Componentes espectrais do sinal x_{a}(t) = cos(4000πt), quando amostrado a T = 1/1500 Hz.

Note que em todos os casos, FT_{DT}{x[n]} produz os mesmos resultados, pois a combinação entre Ω_{0}, Ω_{1} e Ω_{2} com relação a Ω_{s} acaba gerando a mesma sequência x[n].

Também fica evidente que a manipulação da freqüência de amostragem Ω_{s} e da freqüência da mais alta componente espectral pode produzir as mesmas sequências (e DTFT’s).

Até agora, analisamos os aspectos matemáticos da discretização de um sinal contínuo para uma sequência, a partir de um período fixo de amostragem T. Nesse instante definiremos os aspectos relativos a conversão de uma sequência em um sinal contínuo, com base no seu período de amostragem.

Sabemos que a modulação de um sinal contínuo x_{a}(t) por um trem de impulsos s(t) (definido a partir de T) produz um sinal x_{s}(t) cujas componentes espectrais correspondem a uma soma de infinitas réplicas de X_{a}(ȷΩ). Se não ocorrer aliasing, podemos isolar exatamente X_{a}(ȷΩ) a partir de X_{s}(ȷΩ) a partir de um filtro passa-baixas com freqüência de corte (Ω_{c}) igual a π/T.

Pela definição, podemos gerar um sinal x_{s}(t) contínuo a partir de suas sequências x[n], ou seja:

x_{s}(t) = ∑_{n=−∞}^{+∞} x[n] δ(t − nT)

Chamaremos de h_{r}(t) ao filtro passa-baixas. Quando aplicamos tal filtro, por convolução, obtemos o sinal reconstruído x_{r}(t) (que é uma aproximação de x_{a}(t)):

\begin{aligned}x_{r}(t) & = x_{s}(t) ∗ h_{r}(t) \\ & = ∑_{n=−∞}^{+∞} x[n] h_{r}(t − nT) \end{aligned}

Pela definição apresentada para o filtro passa-baixas (ideal), a Transformada de Fourier de h_{r}(t) é:

H_{r}(ȷΩ) = \{ \begin{matrix}T, & −\frac{π}{T} < Ω < \frac{π}{T} \\ 0, & |Ω| > \frac{π}{T} \end{matrix}  (4.4)

Calculando sua Transformada Inversa de Fourier, temos:

h_{r}(t) = \frac{sen(πt/T)}{πt/T}  (4.5)

Assim, o sinal reconstruído pode ser escrito como:

\begin{aligned}x_{r}(t) & = ∑_{n=−∞}^{+∞} x[n] \frac{sen(π(t − nT)/T)}{π(t − nT)/T} \\ & = ∑_{n=−∞}^{+∞} x[n] sinc(t − nT) \end{aligned}

Precisamos verificar se x_{r}(nT) = x_{a}(nT), pois não conhecemos os valores para instantes t ≠ nT. Assim,

\begin{aligned}h_{r}(0) & = 1 \\ h_{r}(nT) & = 0, n = ±1, ±2, ⋯ \end{aligned}

Isso implica em x_{r}(nT) = x_{a}(nT) = x[n]. Graficamente, o filtro passabaixa h_{r}(t) (ou H_{r}(ȷΩ)) é apresentado na figura 4.8.

Figura 4.8: Filtro passa-baixas reconstrutor (resposta temporal e espectral

Tal filtro interpola valores entre x_{s}(t) (definido a partir de x[n] e do período de amostragem T) para formar x_{r}(t), que é uma aproximação de x_{a}(t). Esse filtro também é chamado de filtro reconstrutor. Simbolicamente essa operação é descrita pela figura 4.9.

[figure: x[n]; x_{s}(t); x_{r}(t); conversor; δ[n] → δ(t); filtro; H_{r}(ȷΩ); T]

Figura 4.9: Estágios de reconstrução de sinal a partir de sequência (D/A)

Considerando agora que temos um modo para discretizar e reconstruir um sinal contínuo, podemos considerar o uso de sistemas discretos para processar sinais contínuos usando computadores digitais, por exemplo, ao invés de operar exclusivamente com sistemas contínuos.

Matematicamente tal operação significa:

\begin{aligned}x[n] & = x_{a}(nT) \\ X(e^{ȷω}) & = \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a} ( ȷ ( \frac{ω}{T} − \frac{2πk}{T} ) ) \end{aligned}

A sequência x[n] é então convoluída por um sistema qualquer produzindo como saída y[n], que é então reconstruído por um filtro passa-baixa ideal h_{r}(t) através das expressões:

y_{r}(t) = ∑_{n=−∞}^{+∞} y[n] \frac{sen(π(t − nT)/T)}{π(t − nT)/T}

Y_{r}(ȷΩ) = X(e^{ȷΩT}) · H_{r}(ȷΩ) = \{ \begin{matrix}T Y (e^{ȷΩT}), & |Ω| < \frac{π}{T} \\ 0, & |Ω| > \frac{π}{T} \end{matrix}

[figure: x_{a}(t); x[n]; y[n]; y_{r}(t); T; T; A/D; sistema; discreto; D/A]

Figura 4.10: Representação gráfica da aplicação de um sistema discreto sobre um sinal contínuo, usando discretização e reconstrução de sinais e sequências.

Graficamente esse processo é apresentado na figura 4.10. Caso o sistema seja linear e invariante no tempo, podemos incorporar na expressão anterior a resposta em freqüência do sistema (H(e^{ȷω})), ou seja:

X(e^{ȷω}) = H(e^{ȷω}) · X(e^{ȷω})

Mas:

Y_{r}(Ω) = X(e^{ȷΩT}) · H_{r}(ȷΩ)

= {X(e^{ȷΩT}) · H(e^{ȷΩT})} · H_{r}(ȷΩ)

= H_{r}(ȷΩ) · H(e^{ȷΩT}) \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a} ( ȷ ( Ω − \frac{2πk}{T} ) )

Como X_{a}(ȷΩ) = 0 para |Ω| ≥ \frac{π}{T} e H_{r}(ȷΩ) = T para |Ω| < \frac{π}{T}, então:

Y_{r}(ȷΩ) = \{ \begin{matrix}H(e^{ȷΩT}) · X_{a}(ȷΩ), & |Ω| < \frac{π}{T} \\ 0, & |Ω| > \frac{π}{T} \end{matrix}

Caso X_{a}(ȷΩ) obedeça o Teorema de Nyquist (teorema 4.1), podemos calcular a resposta em freqüência analógica do sistema em termos da resposta em freqüência do sistema digital, ou seja:

Y_{r}(ȷΩ) = H_{eff}(ȷΩ) · X_{a}(ȷΩ)

onde:

H_{eff}(ȷΩ) = \{ \begin{matrix}H(e^{ȷΩT}), & |Ω| < \frac{π}{T} \\ 0, & |Ω| > \frac{π}{T} \end{matrix}

Dessa forma, definimos qual é o sistema “analógico” efetivo que está sendo realizado com a operações de discretização, aplicação do filtro e reconstrução das sequências e sinais contínuos envolvidos.

Transformada Z

A Transformada Z é baseada na teoria de funções analíticas, que são funções localmente definidas por séries de potências convergentes. Em termos de engenharia, equivale à Transformada de Laplace para sequências.

A Transformada Z foi desenvolvida para lidar com sequências que, do ponto de vista estritamente matemático, não são absolutamente somáveis e, desta forma, não possuem Transformada de Fourier Discreta no Tempo (DTFT).

5.1 Preliminares

Nas teorias de circuitos elétricos e de controle, tivemos contato com a Transformada de Laplace, que permite o mapeamento entre os domínios do tempo e s, ambos contínuos. Tal transformada é definida pelo seguinte par de equações:

\begin{aligned}F (s) & = ∫_{0}^{+∞} f(t)e^{−st} dt \\ f(t) & = \frac{1}{2πj} ∫_{σ−j∞}^{σ+j∞} F (s)e^{st}ds \end{aligned}  (5.1)

Onde s é uma variável complexa definida por s = σ + jω. Se considerarmos apenas a parte imaginária de s na Equação 5.1, temos a Transformada de Fourier (Equação 3.1. Note aqui que estamos tratando da versão unilateral da Transformada de Laplace. A sua versão bilateral exige que a integral de F (s) seja calculada no intervalo aberto ] − ∞, +∞[.

Cálculo de Transformada de Laplace

Vamos primeiramente calcular a Transformada de Fourier e depois traçar um paralelo entre tal transformada e a Transformada de Laplace.

Seja

x(t) = e^{−at} u(t)

onde u(t) é uma função degrau ou função de Heaviside.

Sua Tranformada de Fourier é:

\begin{aligned}X(jω) & = ∫_{−∞}^{+∞} e^{−at} u(t)e^{−jωt} dt = ∫_{0}^{+∞} e^{−at} e^{−jωt} dt \\ & = \frac{−1}{a + jω} [e^{−(a+jω) t} ]_{0}^{+∞} = \frac{−1}{a + jω} [e^{−a∞} e^{−jω∞} − 1] \end{aligned}

Se a > 0, então X(jω) = −1. Entretanto, se a ≤ 0, a integral não converge, e X(jω) não existe.

Analogamente, sua Transformada de Laplace é:

\begin{aligned}X(s) & = ∫_{0}^{+∞} e^{−at} u(t)e^{−st} dt = ∫_{0}^{+∞} e^{−at} e^{−st} dt \\ & = \frac{−1}{s + a} [e^{−(a+s) t} ]_{0}^{+∞} = \frac{−1}{s + a} [e^{−(a+s) ∞} − 1] \end{aligned}

Tal integral somente converge (e, consequentemente, existe) se:

(s + a) > 0 ⟹ (σ + jω + a) > 0 ⟹ σ > −a ⟹ ℜ(s) > −a

Nesse caso, a região de convergência de X(s) são todos os valores s no plano complexo cuja parte real seja maior do que −a.

Outra consideração importante, baseada nas operações apresentadas, é que se a < 0, não existe Transformada de Fourier de x(t), mas existe Transformada de Laplace de x(t). Essa relação de existência será verificada quando tratarmos de Transformada Z.

Note que associado a Transformada de Laplace de uma dada função (contínua e diferenciável), existe uma região de convergência para o qual os valores de s garantem a existência da transformada.

Para calcular a Transformada Inversa de Laplace, podemos usar a integração direta (Equação 5.1, ou técnicas baseadas em frações parciais ou soluções tabeladas.

5.2 Definição

Da mesma maneira que a Transformada de Laplace está para a Transformada de Fourier, a Transformada Z está para a Transformada de Fourier Discreta no Tempo. Posteriormente veremos como relacionar as Transformadas Z e Laplace.

Uma das diferenças que existem entre elas (para facilitar a compreensão, sem entrar no rigor matemático) é que enquanto a Transformada de Laplace opera sobre um domínio temporal contínuo, a Transformada Z opera sobre sequências no domínio do tempo.

A Transformada Z de uma sequência x[n] é definida por:

X(z) = 𝒵 {x[n]} = ∑_{n=−∞}^{+∞} x[n] z^{−n}  (5.2)

Tal transformada é dita Transformada Z bilateral pelo fato dos limites do somatório envolver a grandeza ∞. Um caso particular é a Transformada Z unilateral, que é definida por:

X(z) = ∑_{n=0}^{+∞} x[n] z^{−n} , z ∈ ℂ

Neste trabalho focaremos unicamente no caso bilateral. Entretanto, veremos que em muitas situações práticas, as manipulações algébricas envolvendo as sequências levarão ao caso unilateral.

Pela definição de FT_{DT}{x[n]} (assumindo que x[n] é absolutamente somável), temos:

X(e^{ȷω}) = ∑_{n=−∞}^{+∞} x[n] e^{−ȷωn}

Comparando X(e^{ȷω}) com X(z), temos que z = e^{ȷω}. Isso significa que se uma sequência x[n] possui DTFT, pois isso implica na sequência ser absolutamente somável; então tal sequência possuirá Transformada Z. Ou seja:

X(e^{ȷω}) = X(z)|_{z=e^{ȷω}}  (5.3)

Note que, quando mantemos a relação z = e^{ȷω}, estamos restringindo valores válidos para z de tal forma que todos eles localizam-se sobre um círculo de raio unitário. Isso pode ser melhor compreendido pela figura 5.1.

Figura 5.1: Representação de z = e^{ȷω}, ou |z| = 1.

Além disso, o cálculo da DTFT envolve a variação de ω no intervalo ]−∞,+∞[ sobre um eixo linear. Como X(e^{ȷω}) é uma função periódica (com período igual a 2π), podemos restringir a análise para qualquer intervalo de comprimento igual a 2π (como [−π, + π[ ou, [0, + 2π[).

Com a Transformada Z para z = e^{ȷω} - que é X(e^{ȷω}) - seus valores são obtidos sobre pontos do círculo de raio unitário (|z| = 1) variando o ângulo ω em qualquer intervalo de comprimento igual a 2π (como [−π, + π[ ou [0, + 2π[). Mesmo que calculássemos X(z) para qualquer outro ângulo fora desses intervalos, evidenciaríamos a periodicidade implícita de X(z) para z = e^{ȷω}.

Assim, uma das propriedades importantes para X(e^{ȷω}) é facilmente compreendida quando pensamos em X(z) para pontos sobre o círculo de raio unitário. É como se a DTFT fosse “dobrada” (warped) sobre o círculo de raio unitário, no plano complexo.

Entretanto, como z ∈ ℂ, podemos generalizá-la para:

z = re^{ȷω}, r ∈ ℝ

Assim, através do parâmetro r (raio), podemos descrever todos os valores complexos. Assim, podemos reescrever X(z) como:

\begin{aligned}X(z) = X(re^{ȷω}) & = ∑_{n=−∞}^{+∞} x[n] (re^{ȷω})^{−n} \\ & = ∑_{n=−∞}^{+∞} (x[n]r^{−n} ) e^{−ȷωn} \end{aligned}

ou seja, X(z) é a DTFT de uma sequência (x[n]r^{−n} ).

5.3 Existência da Transformada Z

Precisamos avaliar quais as condições para que uma sequência x[n] admita Transformada Z. Usando o critério existência da DTFT, que exige que a sequência seja absolutamente somável (o que implica na sequência convergir assintoticamente para n ← ±∞), para a nova sequência x′[n] = (x[n]r^{−n} ) temos que:

\begin{aligned}|x′[n]| & < ∞ \\ |x[n]r^{−n} | & < ∞ \end{aligned}

Exemplo:

A sequência degrau unitário, x[n] = u[n], não é absolutamente somável. Entretanto, x′[n] = x[n]r^{−n} = u[n]r^{−n} é absolutamente somável se, e somente se, r > 1.

Ou seja,

∃𝒵 {u[n]} ∀ |z| > 1

Este critério apenas indica que caso a taxa de crescimento assintótico de x[n] seja inferior a taxa de crescimento assintótico de r^{n}, então, (x[n]r^{−n} )decrescerá assintoticamente, garantindo que tal sequência seja absolutamente somável e que sua DTFT exista.

Avaliaremos agora se a Transformada Z existe. Seja:

\begin{aligned}|X(z)| & < ∞ \\ | ∑_{n=−∞}^{+∞} x[n] z^{−n} | & < ∞ \\ ∑_{n=−∞}^{+∞} |x[n]z^{−n} | & < ∞ \end{aligned}

Usando a inequação de Cauchy-Schwarz (2.27), temos:

∑_{n=−∞}^{+∞} |x[n]||z^{−n} | < ∞

∑_{n=−∞}^{+∞} |x[n]||z|^{−n} < ∞  (5.4)

Ou seja, a existência da Transformada Z depende de valores de z (ou mais precisamente, |z| (além dos valores de x[n]). Assim, somos obrigados a definir a região no plano complexo onde os valores z = z_{i} daquela região validam a inequação 5.4. Tal região é definida como região de convergência da Transformada Z, ou ROC.

Como a existência da Transformada Z depende de |z|, se um determinado z = z_{i}|z_{i} ∈ ROC, então qualquer ponto no círculo descrito por z_{i} pertencerá à região de convergência (ou seja z = z_{i} ⇒ |z| = |z_{i}| | z_{i} ∈ ROC).

Transformada Z para diferentes sequências:

A primeira sequência avaliada aqui será a sequência dita à direita (rightsided sequence), que é uma sequência causal. Considere a seguinte sequência à direita:

x[n] = a^{n}u[n]

Sua Transformada Z é:

X(z) = ∑_{n=−∞}^{+∞} a^{n}u[n] z^{−n} = ∑_{n=0}^{+∞} a^{n} z^{−n}

Para que X(z) exista, é necessário que:

∑_{n=0}^{+∞} |a|^{n} |z^{−1} |^{n} < ∞

Isso implica em:

|a| |z^{−1} | < 1 ⇒ |z| > |a|

Logo, usando a Equação 2.26 para cálculo da soma de uma progressão geométrica, temos:

X(z) = \frac{1}{1 − az^{−1}} = \frac{z}{z − a} , |z| > |a|

Graficamente a ROC é:

Figura 5.2: ROC (área hachurada) para sequência à direita, com a = 0,8.

Note que o pólo da equação X(z) define o raio do círculo concêntrico e limítrofe da ROC. Um pólo de uma equação é o valor que zera o seu denominador.

A próxima sequência que analisaremos é a sequência dita à esquerda (left-sided sequence), que é uma sequência não-causal. Considere a seguinte sequência à direita:

x[n] = −a^{n}u[−n − 1]

Sua Transformada Z é:

\begin{aligned}X(z) & = ∑_{n=−∞}^{+∞} −a^{n}u[−n − 1] z^{−n} = − ∑_{n=−∞}^{−1} a^{n}z^{−n} = − ∑_{n=1}^{∞} a^{−n} z^{n} \\ & = 1 − ∑_{n=0}^{+∞} a^{n} z^{−n} \end{aligned}

Para que X(z) exista, é necessário que:

∑_{n=0}^{+∞} |a^{−1} |^{n} |z|^{n} < ∞

Isso implica em:

|a^{−1} | |z| < 1 ⇒ |z| < |a|

Logo, usando a Equação 2.26 para cálculo da soma de uma progressão geométrica, temos:

X(z) = \frac{1}{1 − az^{−1}} = \frac{z}{z − a} , |z| < |a|

Graficamente a ROC é:

Figura 5.3: ROC (área hachurada) para sequência à direita, com a = 1,2.

Note que tanto uma sequência causal como uma não-causal podem produzir a mesma Transformada Z. A única diferença entre elas é a região de convergência (ROC). Assim, a Transformada Z depende da ROC para caracterizá-la completamente.

Combinando as duas sequências anteriores, obtemos a sequência de dois lados (two-sided sequence) ou sequência mista. Considere a seguinte sequência mista:

x[n] = (−0,5)^{n}u[n] + (0,75)^{n}u[n]

Sua Transformada Z é:

X(z) = ∑_{n=−∞}^{+∞} (−0,5)^{n}u[n] z^{−n} + ∑_{n=−∞}^{+∞} 0,75^{n}u[n] z^{−n}

= ∑_{n=0}^{+∞} (−0,5)^{n} z^{−n} + ∑_{n=0}^{+∞} 0,75^{n} z^{−n}

= \frac{1}{1 + 0,5z^{−1}} + \frac{1}{1 − 0,75z^{−1}} = \frac{2z(z − 0,375)}{(z + 0,5)(z − 0,75)}

Para que X(z) exista, é necessário que:

∑_{n=0}^{+∞} |(−0,5)| ^{n} |z^{−1} |^{n} + ∑_{n=0}^{+∞} |0,75|^{n} |z^{−1} |^{n} < ∞

Isso implica em, simultaneamente:

\begin{aligned}|(−0,5)| |z^{−1} | < 1 & ⇒ |z| > 0,5 \\ |0,75| |z^{−1} | < 1 & ⇒ |z| > 0,75 \end{aligned}

Graficamente a ROC é:

Figura 5.4: ROC (área hachurada) para sequência mista.

Novamente os pólos da equação X(z) definem raios de círculos concêntricos no plano complexo. Entretanto, sua região de convergência exige que as restrições impostas por duas inequações sejam simultaneamente validadas. Assim, a ROC para essa sequência corresponde a intersecção de duas ROC individuais.

Considere agora outra sequência mista:

x[n] = (−0,5)^{n}u[n] + −(0,75)^{n}u[−n − 1]

Sua Transformada Z é:

X(z) = \frac{2z(z − 0,375)}{(z + 0,5)(z − 0,75)}

Para que X(z) exista, é necessário que:

∑_{n=0}^{+∞} |(−0,5)| ^{n} |z^{−1} |^{n} + ∑_{n=0}^{+∞} |0,75^{−1} |^{n} |z|^{n} < ∞

Isso implica em, simultaneamente:

\begin{aligned}|(−0,5)| |z^{−1} | < 1 & ⇒ |z| > 0,5 \\ |0,75^{−1} | |z| < 1 & ⇒ |z| < 0,75 \end{aligned}

Graficamente a ROC é:

Figura 5.5: ROC (área hachurada) para sequência mista.

Como em exemplos anteriores, diferentes sequências produzem X(z) iguais, com diferentes ROC. E novamente, a ROC dessa sequência mista pode ser obtido pela intersecção de duas ROC distintas.

Finalmente, considere a seguinte sequência finita:

x[n] = \{ \begin{matrix}a^{n}, & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

Sua Transformada Z é:

\begin{aligned}X(z) & = ∑_{n=0}^{N−1} a^{n}z^{−n} = ∑_{n=0}^{N−1} (az^{−1} ) ^{n} \\ & = \frac{1 − a^{N}z^{−N}}{1 − az^{−1}} = \frac{1}{z^{N}} \frac{z^{N} − a^{N}}{z − a} \end{aligned}

Para que X(z) exista, é necessário que:

∑_{n=0}^{N−1} |a|^{n} |z^{−1} |^{n} < ∞

Como o número de termos é finito, isso significa que:

\begin{aligned}|a| |z^{n−1} | < ∞ ⇒ & |a| < ∞ \\ & z ≠ 0 \end{aligned}

Graficamente a ROC é:

Figura 5.6: ROC para sequência finita.

Note que a única restrição imposta aqui é z ≠ 0, que configura um pólo exatamente em z = 0. Existe também um pólo em z = a, que é cancelado por um dos zeros de z_{k} = ae^{j2πk/N} , que são raízes de z^{N} = a^{N}.

Existe uma segunda restrição (z ≠ ∞), que origina-se quando a sequência finita é não-causal. Isso pode ser determinado analiticamente a partir da definição da Transformada Z.

Sumarizando, podemos determinar algumas relações envolvendo a ROC de 𝒵 {x[n]} (ou X(z):

1. A ROC sempre será um anel ou disco com centro na origem. A equação descritiva do anel é 0 ≤ r_{direita} < |z| < r_{esquerda} ≤ +∞, e a equação descritiva do disco é |z| < r_{esquerda} ≤ +∞.

2. A DTFT de x[n] convergirá absolutamente se, e somente se, a ROC de 𝒵 {x[n]} incluir o círculo unitário.

3. A ROC nunca inclui qualquer pólo em seu domínio de definição.

4. Se x[n] tem duração finita, então a ROC de 𝒵 {x[n]} é todo plano complexo exceto z = 0 ou z = ∞.

5. Se x[n] é uma sequência à direita (causal), então a ROC de 𝒵 {x[n]} é externo ao círculo definido pelo pólo mais externo de X(z).

6. Se x[n] é uma sequência à esquerda (não-causal), então a ROC de 𝒵 {x[n]} é interna ao círculo definido pelo pólo mais interno de X(z).

7. Se x[n] é uma sequência mista, então a ROC de 𝒵 {x[n]} é um anel delimitado por círculos definidos por um único par de seus pólos, sem que haja qualquer pólo interno ao anel.

8. A ROC de 𝒵 {x[n]} é uma região conectada.

A figura 5.7 mostra um conjunto de possíveis ROC para três pólos de um X(z) qualquer (no caso, reais) definidos no plano complexo. Todos eles obedecem as relações apresentadas.

Note que em todos os casos, os zeros de X(z) não afetam a sua existência (ou convergência da sequência). Posteriormente avaliaremos situações nas quais tais zeros serão restringidos de forma a atender uma propriedade específica.

Figura 5.7: Exemplo de ROC para um mesmo X(z).

5.4 Causalidade e Estabilidade

Considerando h[n] como um sistema linear e invariante no tempo, podemos calcular a 𝒵 {h[n]} e determinar características como causalidade e estabilidade no domínio z.

Das seções 2.3.3 e 2.3.6, h[n] é causal se h[n] = 0 para n < 0. Pelos exemplos apresentados na seção anterior, H(z) será causal se sua ROC for |z| > |a|, ∀a ∈ ℂ. Caso contrário, o sistema será não-causal.

A estabilidade de um sistema está ligado a inclusão do círculo de raio unitário (|z| = 1) dentro do domínio de definição da ROC de H(z), independente da ROC ser um anel ou um círculo. Como o círculo de raio unitário representa os pontos no plano complexo onde H(e^{ȷω}) é obtido, isso significa que se um sistema H(z) é estável, ele possui DTFT, pois da Equação 2.28 temos:

∑_{n=−∞}^{+∞} |h[n]|< ∞

Combinando essas duas propriedades, um sistema h[n] será causal e estável se, e somente se, sua ROC for |z| > |a|, com |a| < 1.

5.5 Transformada Inversa de Z

Diferente das definições da Transformada de Fourier Discreta no Tempo (cuja simetria na transformação de domínios entre x[n] e X(e^{ȷω}) facilita as manipulações algébricas), a Transformada Inversa de Z é mais complexa por envolver a ROC (como vimos, diferentes sequências geram X(z) iguais, diferindo apenas na região de convergência.

A Transformada Inversa de Z de X(z) (com ROC R é:

x[n] = \frac{1}{2πj} ∳_{C} X(z)z^{n−1} dz  (5.5)

onde C é um caminho fechado que circunda a origem (z_{0} = 0 ∈ C) e está contido em R (C ⊂ R), percorrido no sentido anti-horário.

Demonstração. Pelo teorema de Cauchy (ou Integral de Cauchy), temos:

\frac{1}{2πj} ∳_{C} z^{k−1} dz = \{ \begin{matrix}1, & k = 0 \\ 0, & k ≠ 0 \end{matrix}  (5.6)

Pela definição de Transformada Z (Equação 5.2), sabemos que:

X(z) = ∑_{n=−∞}^{+∞} x[n] z^{−n}

Multiplicando ambos os lados dessa equação por z^{k−1} \frac{1}{2πj} e calculando a integral de linha em um caminho fechado C percorrido em sentido antihorário, temos:

\begin{aligned}\frac{1}{2πj} ∳_{C} X(z)z^{k−1} dz & = \frac{1}{2πj} ∳_{C} ∑_{n=−∞}^{+∞} x[n]z^{−n+k−1} dz \\ & = ∑_{n=−∞}^{+∞} x[n]\frac{1}{2πj} ∳_{C} z^{−n+k−1} dz \end{aligned}

Pela Equação 5.6, temos que quando −n + k = 0, ou n = k, a integral de linha é não-nula. Ou seja:

\frac{1}{2πj} ∳_{C} X(z)z^{k−1} dz = x[k]

Demonstração. Outra forma de demonstrar a Transformada Inversa de Z consiste em analisar a relação entre Transformadas Z e de Fourier Discreta no Tempo. Ou seja:

X(z) = FT_{DT}{x[n]r^{−n} }
X(re^{jω} ) = FT_{DT}{x[n]r^{−n} }

Isso implica em:

x[n]r^{−n} = FT_{DT}^{−1}{X(re^{jω} )}
x[n]= r^{n} \frac{1}{2π} ∫_{−π}^{+π} X(re^{jω} )e^{ȷωn}dω

= \frac{1}{2π} ∫_{−π}^{+π} X(re^{jω} ) (re^{jω} ) ^{n} dω

Sabemos que:

\begin{aligned}z & = re^{ȷω} \\ dz & = jre^{ȷω}dω \\ dω & = \frac{1}{j} \frac{1}{re^{ȷω}} dz \end{aligned}

Note que uma variação de −π até +π, na integral da IDTFT significa variar ao redor do círculo de raio r (em sentido anti-horário) no plano z, pois agora estamos substituindo as variáveis ω pela variável complexa z. Ou seja:

\begin{aligned}x[n] & = \frac{1}{2πj} ∳_{C} X(z)\frac{z^{n}}{z} dz \\ & = \frac{1}{2πj} ∳_{C} X(z)z^{n−1} dz \end{aligned}

onde C é o caminho fechado descrito pelo círculo de raio r, cujos pontos z ∈ ROC, para que exista a integral.

5.5.1 Teoria de Resíduos

Para calcular a Transformada Inversa de Z, nos valemos da Teoria de Resíduos de Funções Analíticas. Isso significa que:

x[n]= \frac{1}{2πj} ∳_{C} X(z)z^{n−1} dz
= ∑_{i} [resíduos de X(z)z^{n−1} para pólos z_{i} internos a C]

(5.7)

Os resíduos são calculados através de:

Res[X(z)z^{n−1} para z = z_{i}] = \frac{1}{(s − 1)!} [ \frac{d^{s−1} Ψ(z)}{dz^{s−1}} ]_{z=z_{i}}  (5.8)

onde s é a multiplicidade do i-ésimo pólo z_{i} para o qual o resíduo é calculado, e:

\frac{Ψ(z)|_{z=z_{i}}}{(z − z_{i}) ^{s}} = X(z)z^{n−1} ⟹ Ψ(z)|_{z=z_{i}} = [X(z)z^{n−1} ] (z − z_{i}) ^{s}

Exemplo de cálculo da Transformada Inversa de Z:

Seja:

X(z) = \frac{1}{1 − az^{−1}} , |z| > |a|

Pela Equação 5.5, temos:

x[n] = \frac{1}{2πj} ∳_{C} \frac{z^{n−1}}{1 − az^{−1}} dz = \frac{1}{2πj} ∳_{C} \frac{z^{n}}{z − a} dz

Vamos agora determinar C. Como a ROC de X(z) é |z| > |a|, então o caminho fechado de integração C deve ser, no mínimo, um círculo de raio maior do que a.

Primeiramente calcularemos x[n] (pela Equação 5.5) para n ≥ 0. Nessas condições teremos apenas um pólo interno ao caminho C, em z_{0} = a. Assim:

\begin{aligned}x[n] & = Res\{Ψ(z)|_{z=z_{0}} \}_{z_{0}=a} = Res\{ [ \frac{z^{n}}{z − a} ] (z − a)\} _{z_{0}=a} \\ & = \frac{1}{0!} [z^{n}]_{z_{0}=a} = a^{n} \end{aligned}

Para n < 0, entretanto, além do pólo em z_{0} = a, temos pólos em z_{1} = 0 cuja multiplicidade varia de acordo com n. Assim, temos que calcular x[n] para cada n nesse intervalo. Para n = −1, temos:

x[n]= Res\{ [ \frac{1}{z(z − a)} ] (z − a)\} _{z_{0}=a} + Res\{ [ \frac{1}{z(z − a)} ] (z)\} _{z_{1}=0}

= \frac{1}{0!} [ \frac{1}{z}]_{z_{0}=a} + \frac{1}{0!} [ \frac{1}{z}]_{z_{1}=0}

= a^{−1} − a^{−1} = 0

Para n = −2, temos novamente 2 pólos. Entretanto, o pólo z_{1} = 0 agora possui multiplicidade 2. Assim, temos:

x[n]= Res\{ [ \frac{1}{z^{2}(z − a)} ] (z − a)\} _{z_{0}=a} + Res\{ [ \frac{1}{z^{2}(z − a)} ] (z^{2})\} _{z_{1}=0}

= \frac{1}{0!} [ \frac{1}{z^{2}} ]_{z_{0}=a} + \frac{1}{1!} [ \frac{d ( \frac{1}{z−a} )}{dz} ]_{z_{1}=0}

= a^{−2} − a^{−2} = 0

Por indução, x[n] = 0 para n < 0. Como resultado final temos x[n] = a^{n}u[n].

Uma maneira fácil de lidar com valores de x[n] para n < 0 é alterar a relação entre x[n] e X(z) no cálculo da Transformada Inversa de Z. Fazendo z = \frac{1}{p}, onde p também é uma variável complexa, temos p = e^{−ȷω} \frac{1}{r} e:

x[n] = \frac{1}{2πj} \underbrace{_{∲C′}}_{z=e^{ȷω} r} X( \frac{1}{p}) p^{−n+1} \underbrace{(−1)p^{−2} dp}_{dz}

Note que a integral de linha agora é no sentido horário. Reorganizando tal equação, temos:

x[n] = \frac{1}{2πj} ∳_{C′} X( \frac{1}{p}) p^{−n−1} dp  (5.9)

Com a troca de variáveis (p por z), os pólos que eram internos ao círculo de raio r (caminho fechado C) passam a ser externos ao círculo de raio \frac{1}{r} (caminho fechado C′) e vice-versa. O cálculo dos resíduos, então, restringese aos pólos internos ao caminho fechado C′ através de:

Res[X( \frac{1}{p}) p^{−n−1} para p = p_{i}] = \frac{1}{(s − 1)!} [ \frac{d^{s−1} Ψ′(p)}{dp^{s−1}} ]_{p=p_{i}}  (5.10)

com:

\frac{Ψ′(p)|_{p=p_{i}}}{(p − p_{i})^{s}} = X( \frac{1}{p}) p^{−n−1} ⟹ Ψ′(p)|_{p=p_{i}} = [X( \frac{1}{p}) p^{−n−1} ] (p − p_{i})^{s}

Na prática, a Equação 5.9 só é empregada para n < 0, enquanto que a Equação 5.5 para n ≥ 0.

continuação do exemplo anterior:

Calculando novamente x[n] para n < 0, usando 5.5 temos:

x[n] = \frac{1}{2πj} ∳_{C′} \frac{p^{−n−1}}{1 − ap} dz

Para n < 0, não existem pólos internos a C′. Logo x[n] = 0 para n < 0, confirmando os resultados usando a força-bruta.

Como vimos, o processo consiste em determinar a equação final X(z)z^{n−1} e determinar seus pólos. Com base nesses pólos e sua localização em relação ao caminho fechado C (obtido a a partir da ROC de X(z), podemos calcular os resíduos, que diretamente fornecem as componentes para x[n].

Exemplos de cálculo de Transformada Inversa de Z:

Neste primeiro exemplo, seja:

X(z) = \frac{3z^{2} − \frac{5}{6}z}{(z − \frac{1}{4}) (z − \frac{1}{3})} , |z| > \frac{1}{3}

Para n ≥ 0 encontramos 2 pólos internos de X(z)z^{n−1} em C (ou seja, z = \frac{1}{4} e z = \frac{1}{3}). Logo:

x[n]= Res \{ [ \frac{(3z − \frac{5}{6}) z^{n}}{(z − \frac{1}{4}) (z − \frac{1}{3})} ] ( z − \frac{1}{3}) \} _{z_{0}= \frac{1}{3}}

+ Res \{ [ \frac{(3z − \frac{5}{6}) z^{n}}{(z − \frac{1}{4}) (z − \frac{1}{3})} ] ( z − \frac{1}{4}) \} _{z_{0}= \frac{1}{4}}

= \frac{1}{0!} [ \frac{(3z − \frac{5}{6})z^{n}}{(z − \frac{1}{4})} ]_{z_{0}= \frac{1}{3}} + \frac{1}{0!} [ \frac{(3z − \frac{5}{6})z^{n}}{(z − \frac{1}{3})} ]_{z_{0}= \frac{1}{4}}

= 2 ( \frac{1}{3}) ^{n} − ( \frac{1}{4}) ^{n}

Para n < 0, não há pólos externos de X(z)z^{n−1} em C. Logo, a solução final é:

x[n] = [2 ( \frac{1}{3}) ^{n} − ( \frac{1}{4}) ^{n}] u[n]

Agora considere:

X(z) = \frac{(z − \frac{1}{2})}{(z − \frac{1}{4}) (z − \frac{1}{3})} |z| > \frac{1}{3}

Para n < 0, não há pólos externos de X(z)z^{n−1} em C. Entretanto, para n ≥ 0, temos 3 pólos internos de X(z)z^{n−1} em C (ou seja, z = \frac{1}{4}, z = \frac{1}{3} e z = 0). Logo:

x[n]= Res \{ [ \frac{(z − \frac{1}{2}) z^{n}}{(z − \frac{1}{4}) (z − \frac{1}{3}) z} ] ( z − \frac{1}{4}) \} _{z_{0}= \frac{1}{4}}

+ Res \{ [ \frac{(z − \frac{1}{2}) z^{n}}{(z − \frac{1}{4}) (z − \frac{1}{3})} ] ( z − \frac{1}{4}) \} _{z_{0}= \frac{1}{4}}

+ Res \{ [ \frac{(z − \frac{1}{2}) z^{n}}{(z − \frac{1}{4}) (z − \frac{1}{3})} ] z\} _{z_{0}=0}

= \{ 12 ( \frac{1}{4}) ^{n} − 6 ( \frac{1}{3}) ^{n}\} u[n] − 6δ[n]

Note que o valor −6δ[n] vem do fato de que para quando n = 0 o último resíduo é igual a −6(0)^{0} = −6, ao passo que para n ≠ 0, é −6(0)^{n} = 0.

Em todos os exemplos apresentados até aqui, operamos com potências positivas de z, inclusive para determinação dos zeros de diversos polinômios (que resultam em pólos de X(z) ou X(z)z^{n−1} .

5.5.2 Frações Parciais

Da mesma forma que na Transformada de Laplace, podemos usar a técnica de frações parciais para calcular a Transformada Inversa de Z, basicamente decompondo X(z), geralmente formada a partir de uma razão entre dois polinômios, em somatório de frações cujas transformadas no domínio Z são facilmente obtidas.

Podemos representar qualquer razão entre polinômios por potências positivas ou negativas de z. Ou seja:

X(z) = \frac{∑_{k=0}^{M} b_{k}z^{−k}}{∑_{k=0}^{N} a_{k}z^{−k}} = \frac{z^{N} ∑_{k=0}^{M} b_{k}z^{M−k}}{z^{M} ∑_{k=0}^{N} a_{k}z^{N−k}} = \frac{b_{0} ∏_{k=1}^{M} (1 − c_{k}z^{−1} )}{a_{0} ∏_{k=1}^{N} (1 − d_{k}z^{−1} )}

onde c_{k} e d_{k} são os zeros e pólos de X(z).

Tendo em vista tal decomposição, podemos assumir algumas situações práticas para M e N. Se M < N e todos os pólos de X(z) são de primeira ordem, então:

X(z) = ∑_{k=1}^{N} \frac{A_{k}}{1 − d_{k}z^{−1}}  (5.11)

com:

A_{k} = [X(z) (1 − d_{k}z^{−1} ) ]_{z=d_{k}}

Exemplo:

Seja:

X(z) = \frac{1}{(1 − \frac{1}{4}z^{−1} ) (1 − \frac{1}{2}z^{−1} )} , |z| > \frac{1}{2}

Facilmente determinamos que as raízes de X(z) são \frac{1}{4} e \frac{1}{2}. Logo:

X(z) = \frac{A_{1}}{(1 − \frac{1}{4}z^{−1} )} + \frac{A_{2}}{(1 − \frac{1}{2}z^{−1} )}

com:

\begin{aligned}A_{1} & = [X(z) ( 1 − \frac{1}{4}z^{−1} ) ]_{z= \frac{1}{4}} = −1 \\ A_{2} & = [X(z) ( 1 − \frac{1}{2}z^{−1} ) ]_{z= \frac{1}{2}} = 2 \end{aligned}

Por inspeção em valores tabelados de pares de Transformada Z, temos que a Transformada Inversa de Z de X(z) é:

x[n] = − ( \frac{1}{4}) ^{n} u[n] + 2 ( \frac{1}{2}) ^{n} u[n]

Assumindo agora que M ≥ N e alguns pólos de X(z) possuem ordem superior, temos:

X(z) = ∑_{r=0}^{M−N} B_{r}z^{−r} + ∑_{k=1,k≠i}^{N} \frac{A_{k}}{(1 − d_{k}z^{−1} )} + ∑_{m=1}^{S} \frac{C_{m}}{(1 − d_{i}z^{−1} ) ^{m}}  (5.12)

onde d_{i} são os pólos com multiplicidade s, d_{k} (k ≠ i) são os pólos de ordem 1, A_{k} é definido a partir da Equação 5.11, e:

C_{m} = \frac{1}{(s − m)!(−d_{i})^{s−m}} \{ \frac{d^{s−m}}{dw^{s−m}} [(1 − d_{i}w)^{s}X(w^{−1} )] \} _{w=d_{i}^{−1}}

Para determinar B_{r}, lançamos mão de divisão longa entre polinômios. Com base na ROC de X(z) e em algumas Transformadas Z tabeladas, como:

\begin{matrix}B_{r}z^{−r} ⟷^{𝒵} & B_{r}δ[n − r] \\ \frac{A_{k}}{1 − d_{k}z^{−1}} ⟷^{𝒵} & A_{k}(d_{k})^{n}u[n] ou −A_{k}(d_{k})^{n}u[−n − 1] \end{matrix}

Exemplo:

Seja

\begin{aligned}X(z) & = \frac{1 + 2z^{−1} + z^{−2}}{1 − \frac{3}{2}z^{−1} + \frac{1}{2}z^{−2}} , |z| > 1 \\ & = \begin{matrix}(1 + z^{−1} ) & 2 \\ (1 − \frac{1}{2}z^{−1} ) & (1 − z^{−1} ) \end{matrix} \end{aligned}

Como M = N = 2, então aplicamos a divisão longa para obter o termo B_{0}. Como a ROC envolve |z| > 1 então a série converge para potências negativas de z. Assim, a divisão fica:

z^{−2} + z^{−1} + 1 \frac{1}{2}z^{−2} − \frac{3}{2}z^{−1} + 1
\underline{−[z^{−2} − 3z^{−1} + 1]} 2
5z^{−1} − 1

Note que essa divisão longa foi feita de tal forma que a potência do resto seja maior do que a potência do denominador. Esse é o critério de parada para a divisão longa. Assim:

\begin{aligned}X(z) & = 2 + \frac{−1 + 5z^{−1}}{(1 − \frac{1}{2}z^{−1} ) (1 − z^{−1} )} \\ & = 2 + \frac{A_{1}}{(1 − \frac{1}{2}z^{−1} )} + \frac{A_{2}}{(1 − z^{−1} )} \end{aligned}

com:

\begin{aligned}A_{1} & = [X(z) ( 1 − \frac{1}{2}z^{−1} ) ]_{z= \frac{1}{2}} = −9 \\ A_{2} & = [X(z) (1 − z^{−1} ) ]_{z=1} = 8 \end{aligned}

Por inspeção em valores tabelados de pares de Transformada Z, temos que a Transformada Inversa de Z de X(z) é:

x[n] = 2δ[n] − 9 ( \frac{1}{2}) ^{n} u[n] + 8u[n]

Note que em frações parciais operamos com potências negativas de z, pois os pares tabelados de Transformada Z são fornecidos dessa forma. No entanto, para encontrar os pólos de X(z), fica mais fácil operar com potências positivas de z.

5.5.3 Expansão em Série de Potências

A expansão em série de potências atende a X(z) que não podem ser definidos por uma razão de polinômios. Existem funções em z que podem ser descritas a partir da sua Série de Taylor.

Tal técnica se baseia na definição de 𝒵 {x[n]} (Equação 5.2), ou seja:

\begin{aligned}X(z) & = ∑_{n=−∞}^{+∞} x[n] z^{−n} \\ & = ⋯+ x[−2]z^{2} + x[−1]z^{1} + x[0] + x[1]z^{−1} + x[2]z^{−2} + ⋯ \end{aligned}  (5.13)

Assim, por inspeção podemos determinar x[n] que se encaixa na definição. Tal abordagem também é bastante útil para sequências finitas.

Exemplos:

Seja X(z) definida pela expressão transcendental:

X(z) = log(1 + az^{−1} )

Sabemos que a Série de Taylor de log(1 + x) é definida como:

log(1 + x) = ∑_{n=1}^{+∞} \frac{(−1)^{n+1} x^{n}}{n}

Logo:

X(z) = ∑_{n=1}^{+∞} \frac{(−1)^{n+1} a^{n}}{n} z^{−n}

Ou seja, por inspeção em relação a Equação 5.13, a Transformada Inversa de Z de X(z) é:

x[n] = \{ \begin{matrix}(−1)^{n+1} \frac{a^{n}}{n} , & n ≥ 1 \\ 0 & c.c. \end{matrix}

Considere agora X(z) tal que:

X(z) = \frac{1}{1 − az^{−1}} , |z| > |a|

Vamos agora realizar uma divisão longa de tal forma que a potência do resto seja sempre menor do que a potência do denominador. Assim, quando |z| ≫ |a|, o resto tende a zero, assintoticamente.

1  1 − az^{−1}
−[1 −az^{−1} ]  1 + az^{−1} + a^{2}z^{−2} + ⋯
+az^{−1}
−[az^{−1} −a^{2}z^{−2} ]
+a^{2}z^{−2}
−[a^{2}z^{−2} −a^{3}z^{−3} ]
⋮

Assim, X(z) = 1 + az^{−1} + a^{2}z^{−2} + · · ·. Por inspeção em relação a Equação 5.13, a Transformada Inversa de Z de X(z) é x[n] = a^{n}u[n].

Finalmente considere X(z) tal que:

X(z) = \frac{1}{1 − az^{−1}} , |z| < |a|

Vamos agora realizar uma divisão longa de tal forma que a potência do resto seja sempre maior do que a potência do denominador. Assim, quando |z| ≪ |a|, o resto tende a zero, assintoticamente.

1  1 − az^{−1}
−[1 −a^{−1} z^{1}]  −a^{−1} z^{1} − a^{−2} z^{2} + a^{−3} z^{3} ⋯
+a^{−1} z^{1}
−[a^{−1} z^{1} −a^{−2} z^{2}]
+a^{−2} z^{2}
−[a^{−2} z^{2} −a^{−3} z^{3}]
⋮

Assim, X(z) = −a^{−1} z^{1} − a^{−2} z^{2} + · · ·. Por inspeção em relação a Equação 5.13, a Transformada Inversa de Z de X(z) é x[n] = −a^{n}u[−n − 1].

A diferença dessas duas divisões longas reside nos valores permissíveis de z - ROC - que garantem convergência assintótica (ou existência) de X(z). Dessa forma, tais restrições impõe que com o aumento das potências de z do resto no processo de divisão longa, o resto deverá convergir para zero.

5.6 Propriedades da Transformada Z

A seguir serão listadas várias propriedades da Transformada Z. O intuito é mostrar que podemos encontrar rapidamente tal transformada de sequência com características especiais, com base em suas propriedades matemáticas. Tais propriedades terão ligação estreita com as propriedades da Transformada de Fourier Discreta no Tempo, da seção 3.3.

As propriedades a seguir assumem que se conhecemos X(z) para uma dada sequência x[n], então podemos obter rapidamente sua 𝒵 {x[n]} de uma dada sequência que apresente alguma características específica em relação x[n], ou seja:

x[n] ⟷^{𝒵} X(z), ROC : R_{x}

Transformada Z de sequência conjugada

\begin{aligned}x[n] ⟷^{𝒵} X(z) & ⟺ x^{∗}[n] ⟷^{𝒵} X^{∗}(z^{∗}) \\ ROC : R_{x} & ⟺ ROC : R_{x} \end{aligned}  (5.14)

Demonstração. A partir de 𝒵 {x[n]}, temos:

X(z) = ∑_{n=−∞}^{+∞} x[n] z^{−n}

Aplicando o conjugado em ambos os termos, temos:

[X(z)]^{∗} = [ ∑_{n=−∞}^{+∞} x[n] z^{−n} ]^{∗} = ∑_{n=−∞}^{+∞} x^{∗}[n] (z^{−n} )^{∗} = ∑_{n=−∞}^{+∞} x^{∗}[n] (z^{∗})^{−n}

Substituindo w = z^{∗} temos finalmente:

X^{∗}(w^{∗}) = ∑_{n=−∞}^{+∞} x^{∗}[n] w^{−n}

Linearidade

Seja uma sequência qualquer x[n] que pode ser decomposta linearmente na soma ponderada de duas outras sequências (x_{1}[n] e x_{2}[n]), com a, b ∈ ℂ e:

\begin{matrix}x_{1}[n] & ⟷^{𝒵} X_{1}(z),  ROC : R_{x_{1}} \\ x_{2}[n] & ⟷^{𝒵} X_{2}(z),  ROC : R_{x_{2}} \end{matrix}

A Transformada Z é linear, pois:

\begin{matrix}x[n] = a x_{1}[n] + b x_{2}[n] ⟷^{𝒵} X(z) = aX_{1}(z) + bX_{2}(z) \\ ROC : R_{x_{1}} ∩ R_{x_{2}} \end{matrix}  (5.15)

Demonstração. Calculando 𝒵 {x[n]}, obtemos:

X(z) = ∑_{n=−∞}^{+∞} x[n] z^{−n}

= ∑_{n=−∞}^{+∞} {a x_{1}[n] + b x_{2}[n]} z^{−n}

= a { ∑_{n=−∞}^{+∞} x_{1}[n] z^{−n} } + b { ∑_{n=−∞}^{+∞} x_{2}[n] z^{−n} }

= aX_{1}(z) + bX_{2}(z)

A ROC de X(z) deve ser tal que um valor z_{0} qualquer deve pertencer simultaneamente à ROC de X_{1}(z) e X_{2}(z). Assim, a ROC de X(z) é a interseção das ROC’s de X_{1}(z) e X_{2}(z).

É importante salientar que na determinação da ROC de X(z) alguns pólos de X_{1}(z) podem ser cancelados com zeros de X_{2}(z) (e vice-versa), fazendo com que a ROC de X(z) tenha maior dimensão do que as ROC’s individuais de X_{1}(z) e X_{2}(z).

Deslocamento no tempo

Considere a sequência x[n], cuja Transformada Z é conhecida. Se deslocarmos suas amostras em n_{d} amostras (n_{d} ∈ ℤ), 𝒵 {x[n − n_{d}]} é:

\begin{aligned}x[n] ⟷^{𝒵} X(z) & ⟺ x[n − n_{d}] ⟷^{𝒵} z^{−n_{d}} X(z) \\ ROC : R_{x} & ⟺ ROC : R_{x}^{∗} \end{aligned}  (5.16)

A ROC R_{x}^{∗} pode ser uma versão simplificada de R_{x}, pois o termo z^{−n_{d}} pode eliminar ou adicionar pólos em z = 0 ou z = ∞.

Demonstração. Calculando a Transformada Z de x′[n] = x[n − n_{d}], temos:

X′(z) = ∑_{n=−∞}^{+∞} x[n − n_{d}] z^{−n}

Trocando de variáveis (m = n − n_{d}, ou seja, n = m + n_{d}), temos:

\begin{aligned}X′(z) & = ∑_{(m+n_{d}) =−∞}^{+∞} x[m] z^{−(m+n_{d})} \\ & = z^{−n_{d}} ∑_{m=−∞}^{+∞} x[m] z^{−m} = z^{−n_{d}} X(z) \end{aligned}

Quando a ROC de X(z), o termo z^{−n_{d}} pode adicionar ou remover pólos em z = 0 ou z = ∞, dependendo de X(z) e de n_{d}.

Deslocamento em z

Considere a sequência x[n], cuja Transformada Z é conhecida. Se a modularmos por uma sequência z_{0}^{n} complexa, sua Transformada Z é:

\begin{aligned}x[n] ⟷^{𝒵} X(z) & ⟺ z_{0}^{n}x[n] ⟷^{𝒵} X( \frac{z}{z_{0}} ) \\ ROC : R_{x} & ⟺ ROC : |z_{0}|R_{x} \end{aligned}  (5.17)

Demonstração. Calculando a Transformada Z da sequência modulada, temos:

X′(z) = ∑_{n=−∞}^{+∞} z_{0}^{n} x[n] z^{−n} = ∑_{n=−∞}^{+∞} x[n] ( \frac{z}{z_{0}} ) ^{−n} = X( \frac{z}{z_{0}} )

Para o cálculo da ROC de X(z/z_{0}), levamos em conta que originalmente a ROC de X(z) pode ser descrita pelo seguinte anel:

raio_{e} < |z| < raio_{d}

Como trocamos de variável (pela modulação), a ROC de X(z/z_{0}) é:

raio_{e} < | \frac{z}{z_{0}} | < raio_{d} ⟹ raio_{e} < \frac{|z|}{|z_{0}|} < raio_{d} ⟹
|z_{0}|raio_{e} < |z| < |z_{0}|raio_{d}

Modulação de degrau por cossenóide:

Seja a seguinte sequência

x[n] = r^{n} cos(ω_{0}n)u[n]

Aplicando a relação de Euler (Equação 2.19), temos:

x[n] = \frac{1}{2} (re^{jω_{0}} ) ^{n} + \frac{1}{2} (re^{−jω_{0}} ) ^{n}

Logo, z_{0} = re^{jω_{0}} . Assim, 𝒵 {x[n]} é (por essa propriedade):

X(z) = \frac{\frac{1}{2}}{1 − z_{0}z^{−1}} + \frac{\frac{1}{2}}{1 − z_{0}^{∗}z^{−1}}

= \frac{1 − ( \frac{1}{2}z_{0}^{∗} + \frac{1}{2}z_{0}) z^{−1}}{1 − (z_{0} + z_{0}^{∗}) z^{−1} + z_{0}z_{0}^{∗}z^{−2}}

= \frac{1 − r ( \frac{e^{−jω_{0}} +e^{jω_{0}}}{2} ) z^{−1}}{1 − 2r ( \frac{e^{−jω_{0}} +e^{jω_{0}}}{2} ) + r^{2} [e^{(−jω_{0}+jω_{0})} ] z^{−2}}

= \frac{1 − r cos(ω_{0})z^{−1}}{1 − r cos(ω_{0}) + r^{2}z^{−2}}

com a ROC de X(z) igual a |z| > r, pois a ROC de 𝒵 {u[n]} é |z| > r.

Reversão temporal

Considere a sequência x[n], cuja Transformada Z é conhecida. Se revertermos tal sequência, sua Transformada Z é:

\begin{aligned}x[n] ⟷^{𝒵} X(z) & ⟺ x[−n] ⟷^{𝒵} X^{∗}(1/z^{∗}) \\ ROC : R_{x} & ⟺ ROC : \frac{1}{R_{x}} \end{aligned}  (5.18)

Se x[n] ∈ ℝ, então,

x[−n] ⟷^{𝒵} X(1/z), ROC = \frac{1}{R_{x}}

Diferenciação em z

Seja uma sequência qualquer x[n], cuja Transformada Z é conhecida. Se a modularmos por uma sequência linearmente crescente, sua Transformada Z é:

\begin{aligned}x[n] ⟷^{𝒵} X(z) & ⟺ n x[n] ⟷^{𝒵} −z \frac{dX(z)}{dz} \\ ROC : R_{x} & ⟺ ROC : R_{x} \end{aligned}  (5.19)

Demonstração. Considere a Transformada Z de x[n]:

X(z) = ∑_{n=−∞}^{+∞} x[n] z^{−n}

Diferenciando ambos os termos da igualdade em relação a z, temos:

\frac{dX(z)}{dz} = ∑_{n=−∞}^{+∞} x[n] z^{−n−1} (−n)

Multiplicando por −z, temos:

−z \frac{dX(z)}{dz} = j ∑_{n=−∞}^{+∞} \{n x[n]\} z^{−n}

onde n x[n] é a sequência modulada.

Teorema da convolução

O teorema da convolução diz que a convolução de duas sequências no domínio do tempo é equivalente a modulação das Transformadas Z dessas duas sequências, no domínio z.

Ou seja, se:

\begin{matrix}x_{1}[n] & ⟷^{𝒵} X_{1}(z),  ROC : R_{x_{1}} \\ x_{2}[n] & ⟷^{𝒵} X_{2}(z),  ROC : R_{x_{2}} \end{matrix}

Então:

x[n] = x_{1}[n] ∗ x_{2}[n] ⟷^{𝒵} X(z) = X_{1}(z)X_{2}(z), ROC ⊃ {R_{x_{1}} ∩ R_{x_{2}} }

(5.20)

Demonstração. Considere 𝒵 {x[n]}:

X(z) = ∑_{n=−∞}^{+∞} x[n] z^{−n}

= ∑_{n=−∞}^{+∞} { ∑_{k=−∞}^{+∞} x_{1}[k]x_{2}[n − k]} z^{−n}

= ∑_{k=−∞}^{+∞} x_{1}[k] { ∑_{n=−∞}^{+∞} x_{2}[n − k] z^{−n} }

Por troca de variáveis (n − k = m, ou seja, n = k + m), temos:

X(z) = ∑_{k=−∞}^{+∞} x_{1}[k] { ∑_{m=−∞}^{+∞} x_{2}[n] z^{−m} } z^{−k}

= X_{2}(z) ∑_{k=−∞}^{+∞} x_{1}[k] z^{−k}

= X_{2}(z)X_{1}(z)

Teorema da modulação

Analogamente ao teorema da convolução, temos que a modulação de duas sequências no domínio do tempo é equivalente a convolução de suas Transformadas Z, no domínio z.

Ou seja, se:

\begin{matrix}x_{1}[n] & ⟷^{𝒵} X_{1}(z),  ROC : R_{x_{1}−} < |z| < R_{x_{1}+} \\ x_{2}[n] & ⟷^{𝒵} X_{2}(z),  ROC : R_{x_{2}−} < |z| < R_{x_{2}+} \end{matrix}

(Agora definimos as regiões de convergência através da descrição de um anel. Tal definição pode ser expandida para círculos quando não há limite inferior nas inequações).

Então:

\begin{aligned}x[n] = x_{1}[n]x_{2}[n] ⟷^{𝒵} & X(z) = \frac{1}{2πj} ∳_{C} X_{1}(z/v)X_{2}(v)v^{−1} dv \\ & X(z) = \frac{1}{2πj} ∳_{C} X_{1}(v)X_{2}(z/v)v^{−1} dv \\ ROC : & R_{x_{1}−} · R_{x_{2}−} < |z| < R_{x_{1}+} · R_{x_{2}+} \end{aligned}  (5.21)

Demonstração. Pela definição de 𝒵 {x[n]}, temos:

X(z) = ∑_{n=−∞}^{+∞} x_{1}[n]x_{2}[n] z^{−n}

Mas, pela definição de 𝒵^{−1} {X_{2}(z)} (Equação 5.5), ou seja:

x_{2}[n] = \frac{1}{2πj} ∳_{C} X_{2}(v)v^{n−1} dv

Então:

X(z) = ∑_{n=−∞}^{+∞} x_{1}[n] \{ \frac{1}{2πj} ∳_{C} X_{2}(v)v^{n−1} dv\} z^{−n}

= \frac{1}{2πj} ∳_{C} ∑_{n=−∞}^{+∞} x[n] X_{2}(v) ( \frac{z}{v}) ^{−n} v^{−1} dv

= \frac{1}{2πj} ∳_{C} [ ∑_{n=−∞}^{+∞} x[n] ( \frac{z}{v}) ^{−n} ] X_{2}(v)v^{−1} dv

= \frac{1}{2πj} ∳_{C} X_{1}(z/v)X_{2}(v)v^{−1} dv

A definição da ROC de X(z) depende da simplificação que pólos de X_{1}(z) podem produzir quando sobrepostos com zeros de X_{2}(z), e vice-versa, podendo expandir a definição da ROC apresenta nessa propriedade.

Teorema de Parseval

Como vimos anteriormente (seção 3.3.2), o teorema de Parseval define que a energia total de um sistema é a soma das contribuições das energias distribuídas em cada uma das freqüências normalizadas ω considerando z = re^{jω} .

∑_{n=−∞}^{+∞} x_{1}[n] x_{2}^{∗}[n] = \frac{1}{2πj} ∳_{C} X_{1}(v)X_{2}^{∗}(1/v^{∗})v^{−1} dv  (5.22)

Ou, para x_{1}[n] = x_{2}[n] = x[n]:

∑_{n=−∞}^{+∞} |x[n]|^{2} = \frac{1}{2πj} ∳_{C} X(v)X^{∗}(1/v^{∗})v^{−1} dv  (5.23)

Teorema do valor inicial

O teorema do valor inicial lida com a condição assintótica de X(z). Se x[n] é causal, então:

x[0] = lim_{z→+∞} X(z)  (5.24)

Pares de transformadas

Segue agora uma relação de diversas Transformadas Z, cuja prova pode ser obtida diretamente das equações 5.2.

\begin{matrix}δ[n] ⟷^{𝒵} & 1 & z ∈ ℂ \\ u[n] ⟷^{𝒵} & \frac{1}{1 − z^{−1}} & |z| > 1 \\ −u[−n − 1] ⟷^{𝒵} & \frac{1}{1 − z^{−1}} & |z| < 1 \\ δ[n − n_{d}] ⟷^{𝒵} & z^{−n_{d}} & z ≠ 0, n_{d} > 0 \\ δ[n − n_{d}] ⟷^{𝒵} & z^{−n_{d}} & z ≠ ∞, n_{d} < 0 \\ a^{n}u[n] ⟷^{𝒵} & \frac{1}{1 − az^{−1}} & |z| > |a| \\ −a^{n}u[−n − 1] ⟷^{𝒵} & \frac{1}{1 − az^{−1}} & |z| < |a| \end{matrix}

na^{n}u[n] ⟷^{𝒵} \frac{az^{−1}}{(1 − az^{−1} ) ^{2}}  |z| > |a|

−na^{n}u[−n − 1] ⟷^{𝒵}  \frac{az^{−1}}{(1 − az^{−1} ) ^{2}}  |z| < |a|

[cos(ω_{0}n)] u[n] ⟷^{𝒵} \frac{1 − [cos(ω_{0})]z^{−1}}{1 − [2 cos(ω_{0})]z^{−1} + z^{−2}}  |z| > 1

[sin(ω_{0}n)] u[n] ⟷^{𝒵} \frac{1 − [sin(ω_{0})]z^{−1}}{1 − [2 cos(ω_{0})]z^{−1} + z^{−2}}  |z| > 1

[r^{n} cos(ω_{0}n)] u[n] ⟷^{𝒵} \frac{1 − [r cos(ω_{0})] z^{−1}}{1 − [2r cos(ω_{0})] z^{−1} + r^{2}z^{−2}}  |z| > r

[r^{n} sin(ω_{0}n)] u[n] ⟷^{𝒵} \frac{[r sin(ω_{0})] z^{−1}}{1 − [2r cos(ω_{0})] z^{−1} + r^{2}z^{−2}}  |z| > r

\{ \begin{matrix}a^{n}, & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix} ⟷^{𝒵} \frac{1 − a^{N}z^{−N}}{1 − az^{−1}}  |z| > 0

Análise de Sistemas Lineares Invariantes no Tempo

Neste capítulo analisaremos qual o comportamento de um sistema linear e invariante no tempo em relação a diversos parâmetros. A restrição a tal sistema é motivada pelo fato de que nesse sistema podemos facilmente isolar os efeitos do mesmo sobre o sinal na forma de uma resposta ao impulso e consequente resposta em freqüência.

Em nossas análises, usaremos tanto a Transformada Z como a Transformada de Fourier Discreta no Tempo, pois já sabemos que elas são intercambiáveis de acordo com condições específicas.

6.1 Magnitude e Fase

Como vimos anteriormente, a resposta em freqüência de um sistema linear e invariante no tempo h[n] é H(e^{ȷω}). Pelo teorema da convolução (Seção 3.3.2), sabemos que dado um sinal de entrada x[n], sua saída é definida, no domínios temporal e espectral, por:

\begin{aligned}y[n] & = x[n] ∗ h[h] \\ Y (e^{ȷω}) & = X(e^{ȷω}) H(e^{ȷω}) \end{aligned}

Podemos decompor a resposta em freqüência da sequência de saída em relação a magnitude e fase das respostas em freqüência da sequências de entrada e da resposta ao impulso do sistema, ou seja:

\begin{aligned}|Y (e^{ȷω})| & = |X(e^{ȷω})| |H(e^{ȷω})| \\ ∠Y (e^{ȷω}) & = ∠X(e^{ȷω}) + ∠H(e^{ȷω}) \end{aligned}

Demonstração. Pela definição:

Y (e^{ȷω}) = |Y (e^{ȷω})| e^{∠Y (e^{ȷω} )}

A convolução no tempo implica em modulação em freqüência. Assim:

\begin{aligned}X(e^{ȷω}) H(e^{ȷω}) & = |X(e^{ȷω})| e^{∠X(e^{ȷω} )} |H(e^{ȷω})| e^{∠H(e^{ȷω} )} \\ & = |X(e^{ȷω})| |H(e^{ȷω})| e^{∠X(e^{ȷω} )+∠H(e^{ȷω} )} \end{aligned}

Com essa decomposição da saída, podemos analisar quais os efeitos que o sistema produzirá, em termos de magnitude e fase, nessa sequência de entrada, cujas características espectrais são conhecidas. Logo, convencionase chamar tais efeitos de distorção em magnitude e fase.

Exemplos:

Considere um filtro passa-baixas ideal, definido por:

H_{lp}(e^{ȷω}) = \{ \begin{matrix}1, & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| ≤ π \end{matrix}

Calculando FT_{DT}^{−1}{H_{lp}(e^{ȷω})}, temos:

h_{lp} = \frac{sen(ω_{c}n)}{πn} , n ∈ ℤ

Analisando as características desse sistema, notamos que:

• Não é causal;

• Sua resposta ao impulso não é computacionalmente realizável;

• Sua resposta em fase é zero (ou nula).

Outro sistema conhecido é o atrasador ideal, definido por:

h_{id} = δ[n − n_{d}]

Sua resposta em freqüência é:

H_{id}(e^{ȷω}) = e^{−ȷωn_{d}}

Em termos de magnitude e freqüência, o atrasador ideal é definido por:

\begin{aligned}|H_{id}(e^{ȷω})| & = 1 \\ ∠H_{id}(e^{ȷω}) & = −ωn_{d} \end{aligned} |ω| < π

Uma rápida análise da magnitude e fase desse sistema mostra que sua fase é linear (em relação a ω).

Finalmente, se combinarmos ambos os sistemas em cascata (filtro passa-baixas e atrasador, ambos ideais), temos (lembrando que convolução no tempo é modulação em freqüência) como resposta em freqüência:

H(e^{ȷω}) = H_{lp}(e^{ȷω}) H_{id}(e^{ȷω}) = \{ \begin{matrix}e^{−ȷωn_{d}} , & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| < π \end{matrix}

E como resposta ao impulso:

h[n] = \frac{sen(ω_{c}(n − n_{d}))}{π(n − n_{d})} , n ∈ ℤ

As características desse novo sistema são:

• É um filtro passa-baixas com fase linear;

• Ainda não é causal (independente de n_{d}).

Considerando agora que qualquer sistema pode ser reescrito através de uma equação de diferença linear com coeficientes constantes (Seção 2.3.7), podemos analisar qual a influência dos pólos e zeros na magnitude e fase do sistema.

Pela Equação 2.30, temos:

∑_{k=0}^{N} a_{k}y[n − k] = ∑_{k=0}^{M} b_{k}x[n − k]

Aplicando a Transformada Z em ambos os lados dessa equação, e usando as propriedades de linearidade e deslocamento no tempo, temos:

\begin{aligned}∑_{k=0}^{N} a_{k}z^{−k} Y (z) & = ∑_{k=0}^{M} b_{k}z^{−k} X(z) \\ Y (z) [ ∑_{k=0}^{N} a_{k}z^{−k} ] & = X(z) [ ∑_{k=0}^{M} b_{k}z^{−k} ] \end{aligned}

Isolando Y (z) e X(z) em um lado da equação, temos:

\frac{Y (z)}{X(z)} = H(z) = \frac{∑ _{k=0}^{M} b_{k}z^{−k}}{∑ _{k=0}^{N} a_{k}z^{−k}}

Se fatorarmos os polinômios do numerador e do denominador em termos de z^{−} 1, temos:

H(z) = \frac{∏ _{k=1}^{M} (1 − c_{k}z^{−1} )}{∏ _{k=1}^{N} (1 − d_{k}z^{−1} )}

onde c_{k} é o k-ésimo zero de H(z) e d_{k} é o k-ésimo pólo de H(z).

Essa fatoração tem por objetivo permitir que analisemos os efeitos dos pólos e zeros de um sistema linear e invariante no tempo em sua magnitude e fase, analogamente ao que ocorre quando analisamos o diagrama de Bode para sistemas contínuos.

6.2 Estabilidade e Causalidade

Como sabemos da Transformada Z, diversos sistemas podem apresentar uma mesma equação descritiva para H(z) com diferentes ROC’s. Como vimos na Seção 5.4, podemos definir a estabilidade e causalidade de um determinado sistema H(z) através das características de sua ROC, ou seja:

Um sistema será causal se, e somente se, sua ROC incluir |z| = ∞. De maneira análoga, um sistema será estável se, e somente se, sua ROC incluir |z| = 1.

Exemplo:

Considere o seguinte sistema definido por sua equação de diferenças lineares com coeficientes constantes:

y[n] − \frac{5}{2}y[n − 1] + y[n − 2] = x[n]

com y[−1] = 0 e y[−2] = 0. Usando a Transformada Z, como vimos anteriormente, temos:

H(z) = \frac{1}{1 − \frac{5}{2}z^{−1} + z^{−2}} = \frac{1}{(1 − \frac{1}{2}z^{−1} ) (1 − 2z^{−1} )}

Tal expressão implica em três possíveis ROC’s:

• |z| > 2 produz um sistema causal e instável;

• \frac{1}{2} < |z| < 2 produz um sistema não causal e estável;

• |z| < \frac{1}{2} produz um sistema não causal e instável.

Assim, dependendo da definição do tipo de sistema em relação a causalidade e estabilidade, podemos determinar a resposta do impulso (h[n]) desse sistema a partir de seu H(z).

Considere agora um sistema descrito por:

H(z) = ∑_{r=0}^{M−N} B_{r}z^{−r} + ∑_{k=1}^{N} \frac{A_{k}}{1 − d_{k}z^{−1}}

Assumindo que o sistema é causal, temos:

h[n] = ∑_{r=0}^{M−N} B_{r}δ[n − r] + ∑_{k=1}^{N} A_{k}d_{k}^{n}u[n]

Com essas suposições, chegamos a duas classes de sistemas:

1. Pelo menos 1 (um) pólo não-nulo não é cancelado por um zero. Assim, existirá pelo menos 1 (um) termo da forma A_{k}d_{k}^{n}u[n], e, consequentemente, h[n] terá duração infinita.

2. Não há pólos, exceto em z = 0. Assim teremos apenas polinômios da forma b_{r}z^{−r} , e, consequentemente, h[n] terá duração finita.

Classes de sistemas:

Seja h[n] definido pela seguinte equação de diferenças finitas:

y[n] − ay[n − 1] = x[n]

Sua transformada Z produz:

H(z) = \frac{1}{1 − az^{−1}} = \frac{z}{z − a} , |z| < |a|

Nesse sistema, temos 1 pólo em z = a e 1 zero em z = 0. Se garantirmos que o sistema é estável, |a| < 1. Logo:

h[n] = a^{n}u[n]

Tal sistema é notadamente de resposta infinita, contendo 1 pólo não-nulo. Considere agora o sistema descrito pela seguinte resposta ao impulso:

h[n] = \{ \begin{matrix}a^{n},  0 ≤ n ≤ M \\ 0,  c.c \end{matrix}

Neste caso, sua transformada Z produz:

H(z) = ∑_{n=0}^{M} a^{n}z^{−n} = \frac{1 − a^{M+1} z^{−M−1}}{1 − az^{−1}} = \frac{z^{M+1} − a^{M+1}}{z^{M} (z − a)}

Uma análise preliminar indica que temos M + 1 zeros dispostos uniformemente ao redor do círculo de raio a conforme a expressão:

z_{k} = a e^{j \frac{2πk}{M+1}} , k = 0, 1, ⋯, M

Também temos, preliminarmente, pólos em z = 0 (com multiplicidade M) e em z = a. Entretanto esse último pólo simplifica-se com um dos zeros (zero em z = a). Logo temos:

y[n] = ∑_{k=0}^{M} a^{k}x[n − k]

ou

y[n] − ay[n − 1] = x[n] − a^{M+1} x[n − (M + 1)]

Cuja resposta ao impulso é finita.

6.3 Sistemas Inversos

Um sistema H_{i}(z) é dito ser inverso de um sistema H(z) se, e somente se:

\begin{matrix}H(z) · H_{i}(z) = 1 \\ H_{i}(z) = \frac{1}{H(z)} \end{matrix}  (6.1)

Aplicando a Transformada inversa de Z, temos que tal relação no domínio do “tempo” é dada por:

h[n] ∗ h_{i}[n] = δ[n]  (6.2)

Considerando a relação existente entre Transformada Z e a DTFT temos que:

H_{i}(e^{ȷω}) = \frac{1}{H(e^{ȷω})}

Logo:

\begin{aligned}log(|XejwH_{i}|^{2}) & = − log|XejwH_{i}|^{2} \\ ∠H_{i}(e^{ȷω}) & = −∠H_{i}(e^{ȷω}) \end{aligned}

Percebemos pela relação anterior que um sistema inverso (h_{i}[n]) produz magnitude e fase negativas em relação a magnitude e fase dos sistema original (h[n]).

Entretanto, nem todos os sistemas possuem sistema inverso. Sistemas como os filtros passa-baixas, por exemplo, anulam componentes espectrais impedindo sua restauração por qualquer sistema inverso que seja projetado.

Considerando que existem sistemas podem ser reescritos em termos de pólos e zeros, como:

H(z) = ( \frac{b_{0}}{a_{0}}) \begin{matrix}∏_{k=1}^{M} & (1 − c_{k}z^{−} 1) \\ ∏_{k=1}^{N} & (1 − d_{k}z^{−} 1) \end{matrix}

Então, seu inverso é definido por:

H_{i}(z) = ( \frac{a_{0}}{b_{0}}) \begin{matrix}∏_{k=1}^{N} & (1 − d_{k}z^{−} 1) \\ ∏_{k=1}^{M} & (1 − c_{k}z^{−} 1) \end{matrix}

Intuitivamente os pólos e zeros de H(z) tornam-se zeros e pólos de H_{i}(z), respectivamente. Assim, o sistema inverso tem sua estabilidade definida pela posição dos zeros de H(z). Logo, um sistema inverso é estável se todos os zeros do sistema original forem internos ao círculo unitário.

Para avaliar a ROC de H_{i}(z) consideramos a teoria da convolução, pois sabemos que H(z) · H_{i}(z) = 1. Com base nos pólos de ambos os sistemas, a ROC de H_{i}(z) deve ser tal que as ROC’s de H(z) e H_{i}(z) produzam um conjunto em z não-nulo (ou seja, que ambas as ROC’s se sobreponham no plano complexo).

Mais ainda, se H(z) for causal, então a ROC deve incluir a restrição de que |z| > max_{k} |c_{k}|.

Exemplo:

Considere o seguinte sistema:

H(z) = \frac{1 − 0,5z^{−1}}{1 − 0,9z^{−1}} , ROC : |z| > 0,9

O sistema inverso é obtido através da Equação 6.1, ou seja:

H_{i}(z) = \frac{1 − 0,9z^{−1}}{1 − 0,5z^{−1}} = \frac{1}{1 − 0,5z^{−1}} − 0,9z^{−1} \frac{1}{1 − 0,5z^{−1}}

As possíveis ROC’s de H_{i}(z) são |z| > 0,5 e |z| < 0,5. Para que haja sobreposição entre as ROC’s de H(z) e H_{i}(z) é necessário que a ROC de H_{i}(z) seja tal que |z| > 0,5. Dessa forma, a resposta ao impulso do sistema inverso é:

h_{i}[n] = 0,5^{n}u[n] − 0,9(0,5)^{n−1} u[n − 1]

Logo, tal sistema é estável (por incluir o círculo unitário em sua ROC) e é causal.

Considere agora o seguintes sistema:

H(z) = \frac{z^{−1} − 0,5}{1 − 0,9z^{−1}} , ROC : |z| > 0,9

Seu inverso é:

H_{i}(z) = \frac{1 − 0,9z^{−1}}{z^{−1} − 0,5} = \frac{−2}{1 − 2z^{−1}} + 1,8z^{−1} \frac{1}{1 − 2z^{−1}}

As possíveis ROC’s de H_{i}(z) são |z| > 2 e |z| < 2. Ambas garantem que haja sobreposição entre as ROC’s de H(z) e H_{i}(z). Dessa forma, as respostas ao impulso do sistema inverso são:

\begin{aligned}h_{i}[n] & = 2(2)^{n}u[−n − 1] − 1.8(2)^{n−1} u[−n], & |z| < 2 \\ h_{i}[n] & = −2(2)^{n}u[n] + 1,8(2)^{n−1} u[n − 1], & |z| > 2 \end{aligned}

Para |z| < 2, temos um sistema que é estável e não-causal, enquanto que para |z| > 2, temos um sistema que é instável e causal. Assim, o sistema H(z) admite dois sistemas inversos.

Generalizando, temos que dado um sistema H(z), que seja causal, com zeros c_{k} (1 ≤ k ≤ M), o seu sistema inverso, H_{i}(z), será causal se, e somente se, a ROC de H_{i}(z) for tal que |z| > max_{k} |c_{k}|.

Se H(z) também é estável, H_{i}(z) será estável se, e somente se, a ROC de H_{i}(z) incluir o círculo unitário, ou seja, max_{k} |c_{k}| < 1.

Em termos de zeros e pólos, tais condições exigem que todos os zeros e pólos de H(z) estejam dentro do círculo unitário. Tal sistema também é dito ser de mínima fase, consideração que faremos na Seção 6.6.

6.4 Resposta em Freqüência para Sistemas baseados em Funções Racionais

Para analisar melhor o comportamento de sistemas em termos de sua resposta em freqüencia, vamos analisar a relação entre pólos e zeros em relação a sua magnitude e fase.

Considere o seguinte sistema genérico definido pela razão entre dois polinômios.

H(z) = \frac{∑ _{k=0}^{M} b_{k}z^{−k}}{∑ _{k=0}^{N} a_{k}z^{−k}}

Se o analisarmos em pontos z do círculo unitário, obtemos rapidamente sua DTFT, ou seja:

H(e^{ȷω}) = \frac{∑ _{k=0}^{M} b_{k}e^{−ȷωk}}{∑ _{k=0}^{N} a_{k}e^{−ȷωk}}

Expressando H(e^{ȷω}) em termos de pólos (d_{k} e zeros (c_{k}) (por fatoração), temos:

H(e^{ȷω}) = ( \frac{b_{0}}{a_{0}}) \begin{matrix}∏ & {M \atop k=1} & (1 − c_{k}e^{−ȷω} ) \\ ∏ & {M \atop k=1} & (1 − d_{k}e^{−ȷω} ) \end{matrix}

A magnitude desse sistema é definida por:

|H(e^{ȷω})| = | \frac{b_{0}}{a_{0}} | \begin{matrix}∏ & {M \atop k=1} & |(1 − c_{k}e^{−ȷω} ) | \\ ∏ & {M \atop k=1} & |(1 − d_{k}e^{−ȷω} ) | \end{matrix}

Como |H(e^{ȷω})|^{2} = H(e^{ȷω}) H^{∗}(e^{ȷω}), então:

|H(e^{ȷω})|^{2} = | \frac{b_{0}}{a_{0}} |^{2} \begin{matrix}∏ & {M \atop k=1} & (1 − c_{k}e^{−ȷω} ) & (1 − c_{k}^{∗}e^{ȷω}) \\ ∏ & {M \atop k=1} & (1 − d_{k}e^{−ȷω} ) & (1 − d_{k}^{∗}e^{ȷω}) \end{matrix}

Aplicando o log para obter a magnitude em decibéis (não esquecendo que usamos efetivamente 10 log_{10} para obter valores em dB), temos:

20 log_{10} |H(e^{ȷω})| = 20 log_{10} | \frac{b_{0}}{a_{0}} |

+ ∑_{k=1}^{M} 20 log_{10} |1 − c_{k}e^{−ȷω} |

− ∑_{k=1}^{M} 20 log_{10} |1 − d_{k}e^{−ȷω} |

(6.3)

É bom salientar algumas propriedades básicas do logaritmo (log_{10}()) para as análises de resposta em freqüência. Particularmente:

\begin{matrix}|H(e^{ȷω})| = 1 & −→ & 0 dB \\ |H(e^{ȷω})| = 10^{m} & −→ & 20m dB \\ |H(e^{ȷω})| = 2^{m} & −→ & 6m dB \end{matrix}

Em relação a fase, temos que:

∠H(e^{ȷω}) = ∠\frac{b_{0}}{a_{0}} + ∑_{k=1}^{M} ∠ (1 − c_{k}e^{−ȷω} ) − ∑_{k=1}^{M} ∠ (1 − d_{k}e^{−ȷω} )  (6.4)

O cálculo do ângulo é realizado através da função arctan(), que fornece apenas o assim chamado valor principal, ou seja:

−π < arctanH(e^{ȷω}) < +π

Assim, o valor efetivo do ângulo de H(e^{ȷω}) é:

∠H(e^{ȷω}) = arctanH(e^{ȷω}) + 2πr(ω)

Todas essas análises nos levam a alguns resultados importantes. Os pólos de um sistema linear e invariante no tempo amplificam componentes espectrais da sequência de entrada, pois se observarmos a Equação 6.3 notaremos a medida que nos aproximamos de um pólo d_{k}, temos:

e^{−ȷω} = z^{−1} ≈ d_{k}^{−1} ⟹ −20 log_{10}(1 − d_{k}e^{−ȷω} ) → +∞

Analogamente, os zeros de um sistema linear e invariante no tempo atenuam componentes espectrais da sequência de entrada, pois a medida que nos aproximamos de um zero c_{k}, temos:

e^{−ȷω} = z^{−1} ≈ c_{k}^{−1} ⟹ +20 log_{10}(1 − c_{k}e^{−ȷω} ) → −∞

Note que a atenuação torna-se um valor positivo quanto sua magnitude |H(e^{ȷω})| é menor que a unidade (< 1). Por exemplo, uma atenuação de -60 dB em uma dada freqüência ω_{0} significa que |H(e^{ȷω_{0}})| = 0,001.

Pólos e zeros também são úteis para compensar (atrasando ou adiantando) componentes espectrais de acordo suas posições ao longo do círculo unitário, conforme mostra a Equação 6.4. Com relação a fase, é importante notar que os cálculos numéricos usando arctan podem produzir descontinuidades. Assim, a cada descontinuidade, devemos somar múltiplos de 2π para obter a curva de fase corrigida de um sistema em análise.

Exemplo:

Considere o termo (1 − z_{0}z^{−1} ) , que pode ser tanto um pólo quanto um zero. Decompondo z_{0} em coordenadas polares, ou seja, z_{0} = re^{jθ}, e analisando o termo sobre o círculo unitário, temos:

(1 − z_{0}z^{−1} ) = (1 − re^{jθ}e^{−jω} )

A magnitude desse termo é descrita (em função de ω) por:

10 log_{10} |(1 − re^{jθ}e^{−jω} ) |^{2} = 10 log_{10} [(1 − re^{−jθ} e^{+jω} ) (1 − re^{jθ}e^{−jω} ) ]
= 10 log_{10} [(1 + r^{2} − 2r cos(ω − θ)) ]

Sua fase é descrita por:

arctan[1 − re^{jθ}e^{−jω} ] = arctan[ \frac{r sin(ω − θ)}{1 − r cos(ω − θ)} ]

Graficamente temos que esse termo possui a seguinte resposta em magnitude e fase:

Figura 6.1: Resposta em magnitude e fase de (1 − z_{0}z^{−1} ) , com θ = π.

Note que a máxima atenuação ocorre exatamente em ω = θ, pois:

ω = θ ⇒ cos(ω − θ) = 1 ⇒ 10 log_{10} (1 + r^{2} − 2r) será mínimo.

Já a amplificação máxima ocorre exatamente em ω − θ = π, pois:

ω − θ = π ⇒ cos(ω − θ) = −1 ⇒ 10 log_{10} (1 + r^{2} + 2r) será máxima.

6.5 Sistemas Passa-Tudo

O sistema passa-tudo leva esse nome porque não atenua nem amplifica qualquer componente espectral de uma sequência de entrada. Sua ação é alterar a fase da sequência de entrada.

Matematicamente um sistema passa-tudo de primeira ordem é definido por:

H_{ap}(z) = \frac{z^{−1} − a^{∗}}{1 − az^{−1}}  (6.5)

onde a ∈ ℂ.

Reescrevendo a Equação 6.5 em termos de ω (ou seja, z = e^{ȷω}), temos:

H_{ap}(e^{ȷω}) = \frac{e^{−ȷω} − a^{∗}}{1 − ae^{−ȷω}} = e^{−ȷω} \frac{(1 − a^{∗}e^{−ȷω} )}{(1 − ae^{−ȷω} )}  (6.6)

Calculando a magnitude de H_{ap}(e^{ȷω}), temos:

|H_{ap}(e^{ȷω})|^{2} = 1\begin{matrix}(1 − a^{∗}e^{ȷω}) & (1 − ae^{−ȷω} ) \\ (1 − ae^{−ȷω} ) & (1 − a^{∗}e^{ȷω}) \end{matrix} = 1

Logo,

|H_{ap}(e^{ȷω})| = 1  (6.7)

Geometricamente (no plano z), um sistema passa-tudo de primeira ordem é representado por um pólo em a e um zero em 1/a^{∗} (no recíproco do conjugado de a) conforme Figura 6.2.

Figura 6.2: Representação dos pólos e zeros de um sistema passa-tudo de primeira ordem.

A fase desse sistema passa-tudo de primeira ordem é definida por:

∠H_{ap}(e^{ȷω}) = ∠[ \frac{e^{−ȷω} − re^{−jθ}}{1 − re^{jθ}e^{−ȷω}} ] = −ω − 2 arctan(\frac{r sen(ω − θ)}{1 − r cos(ω − θ)} )  (6.8)

onde a = re^{−jθ} na Equação 6.6.

Demonstração. Considere um sistema passa-tudo de primeira ordem cuja resposta em freqüência é definida pela Equação 6.6, com a = re^{−jθ} .

Sua fase é descrita por:

∠H_{ap}(e^{ȷω}) = ∠[ \frac{e^{−ȷω} − re^{−jθ}}{1 − re^{jθ}e^{−ȷω}} ]

= ∠ \{ e^{−ȷω} [ \frac{1 − re^{j(ω+θ)}}{1 − re^{−j(ω+θ)}} ]\} =

= ∠e^{−ȷω} + ∠ (1 − re^{j(ω+θ)} ) − ∠ (1 − re^{−j(ω+θ)} )

Decompondo no plano complexo, temos:

∠H_{ap}(e^{ȷω}) = −ω + ∠ [1 − r cos(ω + θ) − jr sen(ω + θ)]
− ∠ [1 − r cos(ω + θ) + jr sen(ω + θ)]

Logo,

∠H_{ap}(e^{ȷω}) = −ω + arctan(\frac{−r sen(ω + θ)}{1 − r cos(ω + θ)} ) − arctan(\frac{r sen(ω + θ)}{1 − r cos(ω + θ)} )

= −ω − 2 arctan(\frac{r sen(ω + θ)}{1 − r cos(ω + θ)} )

A forma mais geral de um sistema passa-tudo pode envolver múltiplos pares de pólos e zeros reais (em total M_{r}) e múltiplos pares de pólos e zeros complexos (em total M_{c}). A separação entre reais e complexos se deve ao fato que sua aplicação se dará sobre sequëncias reais, cujas representações espectrais apresentam simetria em relação ao eixo das abscissas. Dessa forma, uma alteração espectral nas componentes espectrais de 0 até π também deve ser realizada naquelas simétricas localizadas entre π e 2π.

Assim,

H_{ap}(z) = ∏_{k=1}^{M_{r}} ( \frac{z^{−1} − d_{k}}{1 − d_{k}z^{−1}} ) ∏_{k=1}^{M_{c}} ( \frac{(z^{−1} − e_{k}^{∗})(z^{−1} − e_{k})}{(1 − e_{k}z^{−1} )(1 − e_{k}^{∗}z^{−1} )} )  (6.9)

onde d_{k} ∈ ℝ, c_{k} ∈ ℂ.

Para que este sistema seja causal e estável, devemos garantir que |d_{k}| < 1 e |e_{k}| < 1.

Se considerarmos um sistema de segunda ordem baseado na Equação 6.9, contendo um par de pólos complexos em e_{0} = re^{jθ}, sua fase é analiticamente descrita por:

∠H_{ap}(e^{ȷω}) = ∠[ \begin{matrix}(e^{−ȷω} − re^{−jθ} ) & (e^{−ȷω} − re^{+jθ} ) \\ (1 − re^{jθ}e^{−ȷω} ) & (1 − re^{−jθ} e^{−ȷω} ) \end{matrix} ]

= −2ω − 2 arctan(\frac{r sen(ω − θ)}{1 − r cos(ω − θ)} ) − 2 arctan(\frac{r sen(ω + θ)}{1 − r cos(ω + θ)} )

(6.10)

Geometricamente (no plano z), um sistema passa-tudo de terceira ordem (envolvendo dois pares de pólos-zeros complexos e um par de pólos-zeros real) conforme Figura 6.3.

Figura 6.3: Representação dos pólos e zeros de um sistema passa-tudo de terceira ordem.

Note que a adição de novos pares de pólos e zeros produz naturamente reduções do ângulo (para qualquer freqüência ω) quando analisamos as Equações 6.8 e 6.10. Este resultado será útil quando falamos de sistemas de fase mínima.

Exemplo:

Considere dois sistemas passa-tudo de primeira ordem (Equação 6.5) definidos por a_{1} = 0.9 e a_{2} = −0.9. Isso implica em r_{1} = r_{2} = 0.9 com θ_{1} = 0 e θ_{2} = π. Como sabemos que |H_{ap}(ω)| = 1, podemos analisar então como é fase desses sistemas através da Figura 6.4.

Figura 6.4: Fase de um sistema passa-tudo de primeira ordem (com e sem limitação de intervalo igual a 2π).

Ambos os gráficos na Figura 6.4 são os mesmos. A diferença é que o primeiro é obtido usando a função arctan(), cuja imagem é −π < ω < +π e apresenta uma descontinuidade em ω = π. Efetivamente, se "desdobrarmos"essa curva descontínua, obtemos a função do ângulo de fase do sistema passa-tudo.

A primeira utilidade de um sistema de passa-tudo é representar compensadores para distorção de fase. Como vimos, uma cuidadosa alocação dos pares de pólos e zeros pode resultador em correção de atrasos e avanços da sequëncia ou sistema analisados.

Outra utilidade é permitir transformar sistemas passa-baixas em outros sistemas (como passa-baixas em diferentes freqüências de corte, passa-altas, passa-banda e rejeita-banda). Posteriormente tais transformações serão melhor definidas.

6.6 Sistemas de Mínima Fase

Considere primeiramente um sistema que é causal e estável. Tal sistema tem seus pólos dentro do círculo unitário, de tal forma que sua região de convergência (que é externa ao pólo de maior módulo, pela causalidade) inclua |z| < 1.

Note que os critérios de estabilidade e causalidade apenas afetam os pólos do sistema. Nada é mencionado a respeito dos seus zeros. Adicionamos restrições à posição dos zeros quando exigimos que esse sistema seja inversível, o que implica em todos os zeros situarem-se dentro do círculo unitário.

Tal sistema (que é estável e causal) também é chamado sistema de mínima fase quando esse sistema possui todos os zeros dentro do círculo unitário.

Qualquer sistema H(z) pode ser decomposto em:

H(z) = H_{min}(z) · H_{ap}(z)  (6.11)

onde H_{ap}(z) é um sistema passa-tudo e H_{min}(z) é a versão de mínima fase do sistema H(z).

Demonstração. Demonstração da Equação 6.11

Assuma H(z) sendo estável e causal, e contendo um zero (z = 1/c^{∗} com |c| < 1) fora do círculo unitário e demais pólos e zeros dentro do círculo unitário. Isso implica na seguinte representação:

H(z) = H_{1}(z) · (z^{−1} − c^{∗})

Pela definição, H_{1}(z) é um sistema de fase mínima.

Podemos reescrever H(z) como:

\begin{aligned}H(z) & = H_{1}(z) · (z^{−1} − c^{∗}) · \frac{(1 − cz^{−1} )}{(1 − cz^{−1} )} \\ & = H_{1}(z) · (1 − cz^{−1} ) · \frac{(z^{−1} − c^{∗})}{(1 − cz^{−1} )} \end{aligned}

A partir dessa manipulação algébrica temos que:

• H_{1}(z) · (1 − cz^{−1} ) é um sistema de fase mínima (pois todos os seus pólos e zeros, incluindo o zero z = c, são internos ao círculo unitário.

• \frac{(z^{−1} − c^{∗})}{(1 − cz^{−1} )} é um sistema passa-tudo.

Logo

H(z) = H_{min}(z) · H_{ap}(z)

Da definição, decorre que:

|H(z)| = |H_{min}(z)| · |H_{ap}(z)|
= |H_{min}(z)|

Ou seja, o sistema qualquer possui a mesma resposta em freqüência do seu equivalente de mínima fase. Isso decorre também do fato de que a magnitude espectral não é condição suficiente para definir um sistema linear e invariante no tempo, pois:

|H(e^{ȷω})| = H(e^{ȷω}) · H^{∗}(e^{ȷω})
= H(z) · H^{∗}(1/z^{∗})|_{z=e^{jω}}
= C(z)|_{z=e^{jω}}

onde C(z), que representa a resposta em freqüência de H(z) quando consideramos z = e^{jω} , contém todos os pólos e zeros de H(z), bem como seus conjugados que pertencem a H^{∗}(1/z^{∗}).

Assim, não é possível de H(z) unicamente a partir de C(z), pois podemos escolher qualquer combinação de zeros (assumindo que H(z) é causal e estável, todos os seus pólos são internos ao círculo unitário e os pólos externos ao círculo unitário pertencem a H^{∗}(1/z^{∗})) para compor H(z).

Restringindo a escolha com o intuito de formar um sistema de mínima fase, H(z) possuirá todos os zeros internos ao círculo unitário de C(z), e os zeros remanescentes pertencerão a H^{∗}(1/z^{∗}).

Essa característica de sistemas lineares e invariantes no tempo de incompletude na especificação de H(z) a partir de uma definição de C(z) permite encontrar um sistema H_{min}(z) possa ser obtido a partir qualquer sistema H(z) sem mínima fase, causal e estável, bastando para isso refletir os zeros fora do círculo unitário de H(z) para dentro do círculo unitário.

6.6.1 Propriedade de fase mínima

Também chamado de atraso de fase mínima, deriva-se da definição de fase de um sistema qualquer, que é definido para um sistema qualquer como:

∠H(z) = ∠H_{min}(z) + ∠H_{ap}(z)

Mas na Seção 6.5 sabemos que ∠H_{ap}(z) < 0 para z = e^{jω} . Isto significa que os atrasos impostos às componentes espectrais de uma sequência a ser filtrada por um sistema de mínima fase serão sempre menores que qualquer outro sistema com a mesma magnitude da resposta em freqüência (equivalente sem mínima fase), devido ao efeito imposto por ∠H_{ap}(z).

6.6.2 Propriedade de energia mínima

Como |H(e^{ȷω})| = |H_{min}(e^{ȷω})|, temos que:

|h[0]|≤ |h_{min}[0]|

para qualquer sequência causal e estável.

Demonstração. Demonstração da propriedade de energia mínima. Pela Equação 5.24, temos:

h[0]= lim_{z→∞} H(z)
|h[0]|= | lim_{z→∞} H(z)|

= lim_{z→∞} |H(z)|

A partir da Equação 6.11, temos:

|h[0]|= lim_{z→∞} |H_{min}(z) · H_{ap}(z)|

≤ lim_{z→∞} |H_{min}(z)| · |H_{ap}(z)|

≤ lim_{z→∞} |H_{min}(z)|

|h[0]|≤ |h_{min}[0]|

A partir do teorema de Parseval (Seções 3.3.2 e 5.6), sabemos que:

∑_{n=0}^{∞} |h[n]|^{2} = ∑_{n=0}^{∞} |h_{min}[n]|^{2}

Definindo ‘energia’ como:

E[n] = ∑_{m=0}^{n} |h[m]|^{2}

Temos que:

\begin{aligned}E[n] & ≤ E_{min}[n] \\ ∑_{m=0}^{n} |h[m]|^{2} & ≤ ∑_{m=0}^{n} |h_{min}[m]|^{2} \end{aligned}

Tal expressão significa que a energia das primeiras m amostras é mais concentrada em um sistema de mínima fase do que em um sistema sem tal propriedade. Assim, em um processo de truncagem, a perda de energia (ou “informação”) é mais danosa em um sistema que não seja de mínima fase. É importante salientar que a energia é calculada a partir do instante m = 0, pois h_{min}[m] é causal.

Demonstração. Concentração de energia em h_{min}.

Considere o sistema H(z) e seu equivalente de mínima fase H_{min}(z), sendo descritos por:

\begin{aligned}H_{min}(z) & = Q(z) · (1 − z_{0}z^{−1} ) \\ H(z) & = Q(z) · (z^{−1} − z_{0}^{∗}) \end{aligned}

onde Q(z) é um “subsistema” estável e causal de fase mínima de H_{min}(z) e H(z), e z_{0} é um zero interno ao círculo unitário (|z_{0}| < 0).

Calculando a resposta ao impulso de ambos os sistemas, temos:

\begin{aligned}h_{min}[n] & = q[n] − z_{0}q[n − 1] \\ h[n] & = −z_{0}^{∗}q[n] + q[n − 1] \end{aligned}

Podemos então determinar a energia da resposta ao impulso:

\begin{aligned}|h_{min}[n]|^{2} & = |q[n]|^{2} + |z_{0}|^{2} |q[n − 1]|^{2} \\ |h[n]|^{2} & = |z_{0}|^{2} |q[n]|^{2} + |q[n − 1]|^{2} \end{aligned}

e

\begin{aligned}E_{min}[m] & = ∑_{n=0}^{m} |q[m]|^{2} + |z_{0}|^{2} |q[m − 1]|^{2} \\ E[m] & = ∑_{n=0}^{m} |z_{0}|^{2} |q[m]|^{2} + |q[m − 1]|^{2} \end{aligned}

A diferença termo-a-termo entre as energias das respostas ao impulso de ambos os sistemas é:

|h_{min}[n]|^{2} − |h[n]|^{2} = (1 − |z_{0}|^{2}) |q[n]|^{2} − (1 − |z_{0}|^{2}) |q[n − 1]|^{2}

Assim, temos, pela causalidade de q[n], a seguinte sequência:

|h_{min}[0]|^{2} − |h[0]|^{2} = (1 − |z_{0}|^{2}) |q[0]|^{2}
|h_{min}[1]|^{2} − |h[1]|^{2} = (1 − |z_{0}|^{2}) |q[1]|^{2} − (1 − |z_{0}|^{2}) |q[0]|^{2}
|h_{min}[2]|^{2} − |h[2]|^{2} = (1 − |z_{0}|^{2}) |q[2]|^{2} − (1 − |z_{0}|^{2}) |q[1]|^{2}

Logo, a diferença de energia entre h_{min}[n] e h[n] é:

\begin{aligned}E_{dif}[m] & = ∑_{n=0}^{m} \{|h_{min}[0]|^{2} − |h[0]|^{2}\} \\ & = (1 − |z_{0}|^{2}) |q[m]|^{2} \end{aligned}

Como |z_{0}| < 0, então o termo (1 − |z_{0}|^{2}) |q[m]|^{2} > 0, ∀m|m > 0. Logo:

∑_{n=0}^{m} |h_{min}[0]|^{2} − ∑_{n=0}^{m} |h[0]|^{2} = (1 − |z_{0}|^{2}) |q[m]|^{2}

ou

∑_{n=0}^{m} |h_{min}[0]|^{2} ≥ ∑_{n=0}^{m} |h[0]|^{2}

6.7 Sistemas de Fase Linear

Como vimos anteriormente (Seção 6.1), sistemas ideais (com fase zero) são não causais. Assim, a distorção de fase com menor impacto é a fase linear. Assim, acoplando-se em cascata sistemas atrasadores a sistemas teóricos de fase zero, podemos obter sistemas de fase linear causais que são passíveis de aplicação prática.

Assim, torna-se interessante definir qual é o formato da resposta ao impulso, h[n], de um sistema de fase linear, bem como as condições para que o mesmo tenha tal propriedade.

Um sistema de fase linear tem o seguinte formato algébrico de resposta em freqüência:

H(e^{ȷω}) = |H(e^{ȷω})| e^{−ȷωα}  |ω| < π  (6.12)

onde |H(e^{ȷω})| ∈ ℝ_{+} .

Também podemos encarar |H(e^{ȷω})| como um sistema de fase zero, acoplado em cascata a um sistema atrasador ideal e^{−jωα} , ou seja:

y[n]= h_{fase zero} [n] ∗ h_{atrasador} [n] ∗ x[n]
= h[n] ∗ x[n]

Isto implica em:

h[2α − n] = h[n]

ou

h[N − n] = h[n]

onde N é o número de amostras da resposta ao impulso do sistema h[n].

Exemplos:

Considere um filtro passa-baixas ideal com fase linear, definido por:

H_{lp}(e^{ȷω}) = \{ \begin{matrix}e^{−ȷωn_{d}} , & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| ≤ π \end{matrix}

Calculando FT_{DT}^{−1}{H_{lp}(e^{ȷω})}, temos:

h_{lp}[n] = \frac{sen(ω_{c}(n − n_{d}))}{π(n − n_{d})} , n ∈ ℤ

Mas,

h_{lp}[2n_{d} − n] = \frac{sen(ω_{c}(2n_{d} − n − n_{d}))}{π(2n_{d} − n − n_{d})}

= \frac{sen(ω_{c}(n_{d} − n))}{π(n_{d} − n)}

= h_{lp}[n]

Ou seja, temos simetria da sequência em torno da amostra n_{d} = N/2. Isto implica em N = 2n_{d}.

Quando n_{d} = 0, ĥ_{lp}[n] = ĥ_{lp}[−n].

Note que a fase zero ocorre quanto n_{d} = 0 na Equação 6.12. Logo, quando defasamos a sequência n_{d} amostras, tornamos a sua resposta em freqüência defasada linearmente na proporção de −ωn_{d} radianos.

Qualquer sistema linear e invariante no tempo, h[n], que apresente simetria em relação a um determinado instante n_{d} apresentará distorção de fase linear. Se este instante for zero, então o sistema não apresentará distorção de fase.

6.7.1 Fase linear generalizada

Quando generalizamos a distorção de fase linear para uma equação linear mais genérica, temos:

H(e^{ȷω}) = A(e^{ȷω})e^{−jωα+jβ}

onde α, β ∈ ℝ são constantes, e A(e^{ȷω}) ∈ ℝ é função de ω.

A questão que é verificar quais os efeitos de α e β sobre a simetria das amostras da resposta ao impulso do sistema h[n].

Demonstração. Avaliação de simetria de h[b].

Considere um sistema com fase linear generalizada definido por:

H(e^{ȷω}) = A(e^{ȷω}) cos(β − αω) + jA(e^{ȷω}) sen(β − αω)

Mas

\begin{aligned}H(e^{ȷω}) & = ∑_{n=−∞}^{+∞} h[n] e^{−ȷωn} \\ & = ∑_{n=−∞}^{+∞} h[n] cos(ωn) − j ∑_{n=−∞}^{+∞} h[n] sen(ωn) \end{aligned}

onde assumimos que h[n] ∈ ℝ.

Isto implica em:

tan(β − ωα) = \frac{sen(β − αω)}{cos(β − αω)} = \frac{∑_{n=−∞}^{+∞} h[n] sen(ωn)}{∑_{n=−∞}^{+∞} h[n] cos(ωn)}

Lembrando das propriedades de trigonometria (sen(a ± b) = sen(a) cos(b) ± cos(a) sen(b)), temos:

∑_{n=−∞}^{+∞} h[n] sen(ω(n − α) + β) = 0, ∀ω ∈ ℝ

Esta é uma condição necessária mas não suficiente para definir um sistema de fase linear. Ou seja, não definie quais são os valores de α, β e a sequência h[n], mas apenas indica que se as conhecermos, h[n] terá fase linear se a condição for verdadeira.

Exemplos:

Se β = 0 ou β = π, 2α = N, e h[2α − n] = h[n], então:

∑_{n=−∞}^{+∞} h[n] sen(ω(n − α)) = 0

∑_{n=0}^{+α} h[n] sen(ω(n − α)) + ∑_{n=α+1}^{2α} h[n] sen(ω(n − α)) = 0

∑_{n=0}^{+α} h[n] sen(ω(n − α)) + ∑_{n=0}^{α} h[2α − n] sen(ω(2α − n − α)) = 0

∑_{n=0}^{+α} h[n] sen(ω(n − α)) − ∑_{n=0}^{α} h[2α − n] sen(ω(n − α)) = 0

Logo, h[n] = h[2α − n] apresenta simetria em relação a amostra N/2 = α.

Agora, β = π/2 ou β = 3π/2, 2α = N, e h[2α − n] = −h[n], então:

∑_{n=−∞}^{+∞} h[n] cos(ω(n − α)) = 0

cuja manipulação algébrica implica em h[2α − n] = −h[n].

Note que a combinação de α e β implica em diferentes combinações de assimetria da resposta ao impulso para produzir uma resposta em freqüência H(e^{ȷω}) com distorção de fase linear.

Transformada Discreta de Fourier

Até agora, tratamos qualquer sequência no domínio da freqüência (ou mais genericamente, no domínio Z) sendo ω (e z) variável(is) contínua(s). Ou seja, tais domínios eram analógicos. Mesmo tratando de sequências discretas, sua manipulação no domínio da freqüência só era possível analiticamente.

Neste capítulo trataremos de discretizar o domínio da freqüência ω, e analisar seus efeitos em comparação com resultados obtidos nos Capítulos 3 e 5.

A Transformada Direta de Fourier (ou simplesmente DFT), que é objeto deste capítulo, corresponde a representação de Fourier para sequências de comprimento finito e equivale a amostragem da transformada de Fourier discreta no tempo. Como amostramos a DTFT, definimos intervalos igualmente espaçados em freqüência onde a magnitude e fase dessa componente espectral são obtidos.

Trataremos inicialmente da Série Discreta de Fourier (DFS), para um caso particular de sequências (as periódicas de comprimento N); em seguida discretizaremos a DFT, relacionando-a com a DFS. E finalmente definiremos a Transformada Discreta de Fourier com base em representações periódicas de sequências finitas.

7.1 Série Discreta de Fourier

Assim como domínio contínuo tem-se a Série de Fourier de sinais ou funções periódicas, definiremos a Série de Fourier Discreta (ou DFS) a partir de sequências periódicas.

Assuma x̃[n] uma sequência periódica com período N tal que:

x̃ = x̃[n + rN]  (7.1)

onde n, r, N ∈ ℤ.

A representação da Série de Fourier para uma sequência (que é periódica) é:

x̃[n] = \frac{1}{N} ∑_{k} X̃[k]e^{ȷ(2π/N) k n}  (7.2)

onde e_{k}[n] = e^{ȷ(2π/N) k n} = e_{k}[n + rN].

Tal sequência e_{k}[n] representa a k-ésima exponencial complexa múltipla da freqüência fundamental 2π/N. Assim k representa o índice da freqüência discreta em universo de N freqüências que dividem igualmente o intervalo 2π e portanto a k-ésima freqüência é definida por (2π/N)k.

Note que deixamos o intervalo do somatório da equação 7.2 propositadamente indefinido, pois:

\begin{aligned}e_{0}[n] & = e_{N}[n], \\ e_{1}[n] & = e_{N+1} [n], \\ ⋮ & = ⋮ \\ e_{N−1} [n] & = e_{2N−1} [n] \end{aligned}

Ou seja,

e_{k+lN} [n] = e^{ȷ(2π/N) (k+lN) n} = e^{ȷ(2π/N) k n} e^{j2πln} = e_{k}[n]

Logo, se efetuarmos um somatório de 7.2 para infinitas freqüências discretas k (−∞ < k < +∞) podemos obter como resultado x̃[n] = ±∞. Note que os únicos valores distintos para e_{k}[n] ocorrem para 0 ≤ k < N.

Assim, definimos que a representação da Série de Fourier para uma sequência periódica x̃[n] é:

x̃[n] = \frac{1}{N} ∑_{k=0}^{N−1} X̃[k]e^{ȷ(2π/N) k n}  (7.3)

Para obter, então, a Série de Fourier X̃[k] para a sequência x̃[n], temos:

x̃[n] = \frac{1}{N} ∑_{k=0}^{N−1} X̃[k]e^{ȷ(2π/N) k n}

Multiplicando ambos os lados por e^{−ȷ(2π/N) r n} (que é ortogonal a e^{ȷ(2π/N) k n} ) e aplicando o somatório em n, temos:

\begin{aligned}∑_{n=0}^{N−1} e^{−ȷ(2π/N) r n} x̃[n] & = ∑_{n=0}^{N−1} \frac{1}{N} ∑_{k=0}^{N−1} X̃[k]e^{ȷ(2π/N) (k−r) n} \\ ∑_{n=0}^{N−1} e^{−ȷ(2π/N) r n} x̃[n] & = ∑_{k=0}^{N−1} X̃[k] \{ \frac{1}{N} ∑_{n=0}^{N−1} e^{ȷ(2π/N) (k−r) n} \} \end{aligned}

Pelo princípio da ortogonalidade, ou seja:

\frac{1}{N} ∑_{n=0}^{N−1} e^{ȷ(2π/N) (k−r) n} = \{ \begin{matrix}1, & k − r = mN \\ 0, & caso contrário \end{matrix}

Logo, a Série de Fourier X̃[k] para a sequência x̃[n] é:

X̃[r] = ∑_{n=0}^{N−1} x̃[n]e^{−ȷ(2π/N) r n}  (7.4)

Demonstração. Demonstração do princípio da ortogonalidade.

Seja o somatório de progressão geométrica de e^{j(2π/N) l} :

\frac{1}{N} ∑_{n=0}^{N−1} (e^{j(2π/N) l} )^{n} = \frac{1}{N} \frac{1 − e^{ȷ(2π/N) l N}}{1 − e^{j(2π/N) l}}

Se l = mN, então

\frac{1}{N} \frac{1 − e^{j(2π) m N}}{1 − e^{j(2π) m}} = \frac{1}{N} \frac{0}{0}

Aplicando L’Hospital para remover a indeterminação, temos

\frac{1}{N} \frac{1 − e^{j(2π) m N}}{1 − e^{j(2π) m}} = 1

Se l ≠ N, então

\frac{1}{N} \frac{1 − e^{j(2π) l}}{1 − e^{j(2π/N) l}} = \frac{1}{N} \frac{0}{1 − e^{j(2π/N) l}} = 0

Logo,

\frac{1}{N} ∑_{n=0}^{N−1} (e^{j(2π/N) l} )^{n} = \{ \begin{matrix}1, & l = mN \\ 0, & caso contrário \end{matrix}

Podemos perceber que X̃[k] é periódica, com período N, pois:

X̃[k + N] = ∑_{n=0}^{N−1} x̃[n]e^{−ȷ(2π/N) (k+N) n}

= { ∑_{n=0}^{N−1} x̃[n]e^{−ȷ(2π/N) k n} } e^{−j2πn}

= X̃[k]

Definindo W_{N} = e^{−j(2π/N)} como o exponencial complexo fundamental para uma subdivisão do período 2π em N intervalos, temos o par de transformação da Série de Fourier:

\begin{aligned}X̃[k] & = ∑_{n=0}^{N−1} x̃[n]W_{N}^{kn} \\ x̃[n] & = \frac{1}{N} ∑_{k=0}^{N−1} X̃[n]W_{N}^{−kn} \end{aligned}  (7.5)

Um ponto-chave na análise da Série de Fourier Discreta é que x̃[n] deve ser periódico, para que a análise (obtenção de X̃[k] de N amostras faça sentido. Como consequência disso, como usamos apenas N amostras de x̃[n], tal sequência poderia ser uma sequência finita de comprimento N.

Exemplo:

Considere uma sequência trem de impulsos, com periodicidade N. Ou seja:

x̃[n] = ∑_{r=−∞}^{+∞} δ[n − rN] = \{ \begin{matrix}1, & n = rN \\ 0, & c.c. \end{matrix}

Dentro de um intervalo de comprimento N temos apenas um impulso discreto (x̃[n] = δ[n], para 0 ≤ n ≤ N). Sua DFS é determinada por:

X̃[k] = ∑_{n=0}^{N−1} δ[n]W_{N}^{kn} = W_{N}^{0} = 1

que é um resultado natural se lembrarmos que um impulso no tempo produz um espectro constante.

Uma checagem rápida, via IDFS comprova que:

x̃[n] = \frac{1}{N} ∑_{k=0}^{N−1} W_{N}^{−kn} = \frac{1}{N} ∑_{k=0}^{N−1} e^{ȷ(2π/N) k n} = δ[n − rN]

De modo análogo, se considerarmos uma sequência de impulsos no domínio espectral, sua IDFS deve ser um sinal constante (novamente, lembrando que um impulso na frequência nula significa um sinal DC). Ou seja, para:

Ỹ[k] = ∑_{r=−∞}^{+∞} Nδ[k − rN]

temos:

ỹ[n] = \frac{1}{N} ∑_{k=0}^{N−1} Nδ[k]W_{N}^{−kn} = W_{N}^{−0} = 1

Graficamente temos:

Figura 7.1: DFS de sequência periódica baseada em sequências impulso e constante

7.1.1 Propriedades da DFS

A seguir serão listadas várias propriedades das Séries Discretas de Fourier. É importante considerar a periodicidade das sequências e dos resultados das operações matemáticas aplicadas sobre tais sequências.

Linearidade

x̃_{1}[n]⟷^{FS_{DT}} X̃_{1}[k]
x̃_{2}[n]⟷^{FS_{DT}} X̃_{2}[k] ⟺
ax̃_{1}[n] + bx̃_{2}[n]⟷^{FS_{DT}} aX̃_{1}[k] + bX̃_{2}[k]

(7.6)

Com x̃_{1}[n] e X̃_{1}[k] tendo periodicidade N_{1}, e x̃_{2}[n] e X̃_{2}[k] tendo periodicidade N_{2} resultando em x̃[n] e X̃[k] tendo periodicidade N(= m. m. c.(N_{1}, N_{2})).

Princípio da dualidade

x̃[n] ⟷^{FS_{DT}} X̃[k] ⟺ X̃[n] ⟷^{FS_{DT}} Nx̃[−k]  (7.7)

Este princípio é útil para facilitar os cálculos de DFS ou IDFS. Assumese que X̃[k] é uma sequência genérica qualquer, com k sendo um instante temporal e não de frequência. Sobre tal sinal aplica-se a DFS.

Deslocamento de sequência

Se considerarmos um deslocamento m (−(N − 1) ≤ m ≤ N − 1), temos:

x̃[n] ⟷^{FS_{DT}} X̃[k] ⟺ x̃[n − m] ⟷^{FS_{DT}} W_{N}^{km} X̃[k]  (7.8)

Caso consideremos m qualquer, este pode ser decomposto em m = m_{1} + m_{2}N em relação ao tamanho da sequência N. Logo, demonstra-se que:

x̃[n − m] = x̃[n − m_{1}]

ou

W_{N}^{km} = W_{N}^{k(m_{1}−m_{2}N)} = W_{N}^{km_{1}} W_{N}^{−km_{2}N} = W_{N}^{km_{1}}

Usando a propriedade da dualidade (7.1.1), temos o deslocamento espectral definido por:

W_{N}^{−nl} x̃[n] ⟷^{FS_{DT}} X̃[k − l]  (7.9)

Simetria

Se considerarmos que:

x̃[n] ⟷^{FS_{DT}} X̃[k]

então:

x̃^{∗}[n]⟷^{FS_{DT}} X̃^{∗}[−k]
x̃^{∗}[−n] ⟷^{FS_{DT}} X̃^{∗}[+k]
ℜ{x̃[n]} ⟷^{FS_{DT}} X̃_{par}[k]
ȷℑ{x̃[n]} ⟷^{FS_{DT}} X̃_{ímpar} [k]

(7.10)

Se x̃[n] ∈ ℝ, então:

\begin{aligned}ℜ\{X̃[k]\} & = ℜ\{X̃[−k]\} \\ ℑ\{X̃[k]\} & = −ℑ\{X̃[−k]\} \\ ∥X̃[k]∥ & = ∥X̃[−k]∥ \\ ∠X̃[k] & = −∠X̃[−k] \end{aligned}  (7.11)

Como a maioria das sequências práticas são reais, isso reduz a necessidade de cálculo das DFS e DFS pela metade devido a simetria mostrada.

Convolução periódica

Seja

x̃_{1}[n]⟷^{FS_{DT}} X̃_{1}[k]
x̃_{2}[n]⟷^{FS_{DT}} X̃_{2}[k]

Se efetuarmos uma modulação em frequência discreta k, temos:

x̃_{3}[n] = ∑_{m=0}^{N−1} x̃_{1}[m]x̃_{2}[n − m] ⟷^{FS_{DT}} X̃_{3}[k] = X̃_{1}[k]X̃_{2}[k]  (7.12)

A convolução periódica considera apenas um período N de amostras (para diferentes N’s, seguimos o procedimento apresentado em 7.1.1). Não há convolução “clássica” para sequências periódicas, pois a soma infinita desta operação é não convergente. Lembre-se que as operações com sequências periódicas deve produzir sequências periódicas.

Exemplo:

Abaixo segue um exemplo de convolução periódica de dois sinais periódicos (apenas 3 períodos são apresentados de x̃_{1}[n] e x̃_{2}[n] são apresentados. No caso, a sequência x̃_{2}[n] é refletida e desliza sobre x̃_{1}[n].

Figura 7.2: Sequências x̃_{1}[n], x̃_{2}[n], x̃_{2}[−n], x̃_{2}[1 − n] e convolução periódica (x̃_{3}[n]), respectivamente

Em evidência, o o segmento de comprimento N que se repete indefinidamente.

Pela propriedade da dualidade (7.1.1), temos:

x̃_{3}[n] = x̃_{1}[n]x̃_{2}[n] ⟷^{FS_{DT}} X̃_{3}[k] = \frac{1}{N} ∑_{l=0}^{N−1} X̃_{1}[l]X̃_{2}[k − l]  (7.13)

Reforçando: modulação em um domínio produz convolução (no caso presente, periódica).

Par e ímpar

Seja

x̃[n] ⟷^{FS_{DT}} X̃[k]

Então:

x̃_{par}[n] = \frac{1}{2} (x̃[n] + x̃^{∗}[n]) ⟷^{FS_{DT}} ℜ\{X̃[k]\}
x̃_{ímpar} [n] = \frac{1}{2} (x̃[n] − x̃^{∗}[n]) ⟷^{FS_{DT}} ȷℑ\{X̃[k]\}

(7.14)

7.2 Transformada de Fourier de Sinais Periódicos

Anteriormente discutimos a convergência uniforme da DTFT, que exige sequências absolutamente somáveis, e a convergência quadrática, que exige sequências quadraticamente somáveis. Entre as sequências quadraticamente somáveis estão aquelas que envolvem sen() e cos().

Anteriormente vimos que dado x[n] = 1 tem como X(e^{ȷω}) = ∑ _{r=−∞}^{+∞} 2πδ(ω − 2πr). Ou seja, existem casos em que não há DTFT para algumas sequências que são importantes do ponto de vista prático, e que exigiram a construção de função especial contínua δ(x).

Considere então uma sequência periódica qualquer x̃[n], com período N, cuja DFS é X̃[k]. Podemos montar uma relação envolvendo DFS e DTFT através de

X̃(e^{ȷω}) = ∑_{k=−∞}^{+∞} \frac{2π}{N} X̃[k]δ ( ω − \frac{2πk}{N} )  (7.15)

A equação 7.15 é montada para garantir que X̃(e^{ȷω}) seja periódico, com período 2π, conforme definido pela equação 3.7, e considera que X̃[k] é periódico, com período N. Aqui temos um trem de impulsos - no domínio da frequência ω - cujas amplitudes são proporcionais aos coeficientes da DFS de x̃[n].

Teste da equação 7.15 via IDTFT

Calculado a IDTFT da equação 7.15 produz:

\frac{1}{2π} ∫_{−π}^{+π} X̃(e^{ȷω})e^{ȷωn}dω = \frac{1}{2π} ∫_{−π}^{+π} ∑_{k=−∞}^{+∞} \frac{2π}{N} X̃[k]δ ( ω − \frac{2πk}{N} ) e^{ȷωn}dω

= \frac{1}{N} ∑_{k=−∞}^{+∞} X̃[k] ∫_{−∞}^{+∞} δ ( ω − \frac{2πk}{N} ) e^{ȷωn}dω

= \frac{1}{N} ∑_{k=−∞}^{+∞} X̃[k]e^{ȷ(2π/N) k n}

x̃[n]= x̃[n]

Logo X̃(e^{ȷω}) = FT_{DT}{x̃[n]}.

O til em X̃(e^{ȷω}) indica que é uma DTFT de uma sequência periódica. Considerando o resultado acima, podemos derivar a DTFT de qualquer

sequência periódica a partir de sua DFS. Por exemplo, o trem de pulsos periódico p̃[n], com período N,

p̃[n] = ∑_{r=−∞}^{+∞} δ[n − rN] ⟷^{FS_{DT}} P̃[k] = 1

Logo (por 7.15)

P̃(e^{ȷω}) = ∑_{k=−∞}^{+∞} \frac{2π}{N} (1)δ ( ω − \frac{2πk}{N} )

Agora, podemos construir uma sequência periódica x̃[n] (com período N) a partir de qualquer sequência finita x[n] de comprimento N através da seguinte convolução:

x̃[n]= x[n] ∗ p̃[n]

= x[n] ∗ ∑_{r=−∞}^{+∞} δ[n − rN]

= ∑_{r=−∞}^{+∞} x[n − rN]

Naturalmente, a DTFT de x̃[n] é:

X̃(e^{ȷω}) = X(e^{ȷω})P̃(e^{ȷω})

= X(e^{ȷω}) ∑_{k=−∞}^{+∞} \frac{2π}{N} δ ( ω − \frac{2πk}{N} )

= ∑_{k=−∞}^{+∞} \frac{2π}{N} X (e^{ȷ(2π/N) k} ) δ ( ω − \frac{2πk}{N} )

Logo,

X̃[k] = [X(e^{ȷω})]_{ω= \frac{2π}{N} k}  (7.16)

Ou seja, FS_{DT}{x̃[n]} corresponde a amostragem de FT_{DT}{x[n]}, desde que:

x[n] = \{ \begin{matrix}x̃[n], & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

Exemplo:

Considere o seguinte sinal periódico x̃[n], de período N = 10 obtida a partir da repetição de

x[n] = \{ \begin{matrix}1, & 0 ≤ n ≤ 4 \\ 0, & c.c. \end{matrix}

e graficamente representada por:

Para calcular sua DFS, podemos amostrar diretamente a DTFT de x[n], ou seja:

X(e^{ȷω}) = ∑_{n=0}^{4} e^{−ȷωn} = e^{−ȷω2} \frac{sen(5ω/2)}{sen(ω/2)}

e

X̃[k] = [X(e^{ȷω})]_{ω= \frac{2π}{10} k} = e^{−ȷ \frac{4π}{10} k} \frac{sen(πk/2)}{sen(πk/10)}

Perceba na representação gráfica que se segue a presença de alguns ângulos marcados como zero. Na verdade eles são indefinidos, pois as respectivas magnitudes são nulas. A definição de ângulo nulo é convenção.

7.3 Amostragem da DTFT

Até aqui temos as seguintes relações:

\begin{aligned}x[n] & ⇔ X(e^{ȷω}) \\ x̃[n] & ⇔ [X(e^{ȷω})]_{ω= \frac{2π}{N} k} \end{aligned}

Vamos considerar apenas a primeira relação. Se amostrarmos sua DTFT, para produzir DFS, temos:

X̃[k] = [X(e^{ȷω})]_{ω= \frac{2π}{N} k}

Sabendo que a DTFT é periódica, com período 2π, tal amostragem produz uma DFS de período N (note os intervalos de \frac{2π}{N} usados na amostragem de ω). Se a DTFT de uma dada sequência corresponde a transformada Z calculada em z = e^{ȷω}, então:

X̃[k] = [X(z)]_{z=e^{ȷ(2π/N) k}} = X (e^{ȷ(2π/N) k} )  (7.17)

Entretanto, dado uma DFS, sua inversa será uma sequência periódica (com período N)

x̃[n] = \frac{1}{N} ∑_{k=0}^{N−1} X̃[k]W_{N}^{−k n}

Note que, por enquanto, não há relação entre x[n] e x̃[n] nesta seção. Apenas analisamos a amostragem da FT_{DT}{x[n]}.

Temos também que:

X(e^{ȷω}) = ∑_{m=−∞}^{+∞} x[m] e^{−ȷωm}

Manipulando as duas relações anteriores para obter x̃[n] por:

x̃[n]= \frac{1}{N} ∑_{k=0}^{N−1} [ ∑_{m=−∞}^{+∞} x[m] \underbrace{e^{ȷ2πk m/N}}_{W_{N}^{k m}}] W_{N}^{−k n}

= ∑_{m=−∞}^{+∞} x[m] [ \frac{1}{N} ∑_{k=0}^{N−1} W_{N}^{−k(n−m)} ]

= ∑_{m=−∞}^{+∞} x[m] p̃[n − m]

= x[n] ∗ p[n]

= x[n] ∗ ∑_{r=−∞}^{+∞} δ[n − rN]

x̃[n]= ∑_{r=−∞}^{+∞} x[n − rN]

Reforçando: uma sequência finita possui uma DTFT enquanto que uma sequência periódica (com periodicidade N) possui uma DFS (que é uma amostragem da DTFT). Tanto a DTFT quanto a DFS são funções contínuas e discretas periódicas, respectivamente. E toda vez que amostramos (ou discretizamos) um domínio, isso acarreta em uma periodicidade do contradomínio.

Assim, quando amostramos X(e^{ȷω}) (produzindo X̃[k]), implicitamente consideramos uma sequência periódica x̃[n] constituídas de infinitas réplicas deslocadas de x[n].

Exemplo:

Quando as réplicas se sobrepõe, pela amostragem incorreta da DTFT, podemos produzir o que se chama espalhamento (“aliasing”) temporal. Isso significa que usamos um número insuficiente de raias espectrais (subamostragem espectral) para descrever o sinal que deu origem àquela DTFT.

O tamanho N deve ser tal que se replicarmos a sequência finita, devemos ser capazes de obtê-la isolando um segmento no intervalo fechado [0, N − 1].

Para exemplicar, considere o seguinte sequência finita.

Dependendo da escolha de N, podemos ter ou não sobreposição das réplicas quando amostramos a sua DTFT.

Podemos agora gerar uma forma para interpolar X̃[k] para produzir X(e^{ȷω}).

X(e^{ȷω}) = ∑_{n=0}^{N−1} x[n]e^{−ȷωn}

= ∑_{n=0}^{N−1} [ \frac{1}{N} ∑_{k=0}^{N−1} X̃[k]W_{N}^{−k n} ]e^{−ȷωn}

= \frac{1}{N} ∑_{k=0}^{N−1} X̃[k] [ ∑_{n=0}^{N−1} W_{N}^{−k n} e^{−ȷωn} ]

O somatório da P.G. finita é:

∑_{n=0}^{N−1} W_{N}^{−k n} e^{−ȷωn} = \frac{1 − W_{N}^{−k N} e^{−ȷωN}}{1 − W_{N}^{−k} e^{−ȷω}}

Assim,

\begin{aligned}X(e^{ȷω}) & = \frac{1}{N} ∑_{k=0}^{N−1} X̃[k] [ \frac{1 − W_{N}^{−k N} e^{−ȷωN}}{1 − W_{N}^{−k} e^{−ȷω}} ] \\ & = \frac{1}{N} ∑_{k=0}^{N−1} (1 − e^{−ȷ(ω− \frac{2πk}{N} ) N} ) X̃[k]\frac{1}{1 − e^{−ȷ(ω− \frac{2πk}{N} )}} \end{aligned}

Se considerarmos que e^{x/2}e^{−x/2} = 1 e e^{x/2}e^{x/2} = e^{x}, e definirmos ϕ = ω − \frac{2πk}{N} , temos:

\begin{aligned}X(e^{ȷω}) & = \frac{1}{N} ∑_{k=0}^{N−1} e^{−ȷϕ \frac{N}{2}} [ \frac{e^{+ȷϕ \frac{N}{2}} − e^{−ȷϕ \frac{N}{2}}}{2ȷ} ] X̃[k]e^{+ȷ \frac{ϕ}{2}} [ \frac{2ȷ}{e^{+ȷ \frac{ϕ}{2}} − e^{−ȷ \frac{ϕ}{2}}} ] \\ & = \frac{1}{N} ∑_{k=0}^{N−1} \frac{sen(ϕ\frac{N}{2} )}{sen(\frac{ϕ}{2})} e^{−ȷ \frac{ϕ}{2} (N−1)} X̃[k] \end{aligned}

7.4 Transformada Discreta de Fourier

Agora estamos prontos para definir a Transformada Discreta de Fourier (DFT) de uma sequência finita, e analisar suas peculiaridades. Seja uma sequência finita x[n] com x[n] = 0 para 0 ≤ n ≤ N − 1. Com base nela, podemos construir uma sequência periódica x̃[n] a partir de:

x̃[n] = ∑_{r=−∞}^{+∞} x[n − rN]

Note que a definição de x[n] nulo fora do intervalo [0, N − 1] evita o espalhamento (“aliasing”) temporal, que permite definir x̃[n] a partir da função módulo (a%b - que é o resto da divisão inteira entre a e b), ou seja:

x̃[n] = x[(n%N)] = x[((n))_{N}]

Já que x̃[n] ⇔ X̃[k] (ambas naturalmente periódicas, com período N), definimos a DFT de x[n] a partir da DFS de x̃[n](= x[((n))_{N}]) por:

X[k] = \{ \begin{matrix}X̃[k], & 0 ≤ k ≤ N − 1 \\ 0, & c.c. \end{matrix}

e

X̃[k] = X[((k))_{N}]

Dessa forma, a definição da DFT de uma sequência finita de comprimento N por:

X[k] = ℱ_{DT}\{x[n]\} = \{ \begin{matrix}∑_{k=0}^{N−1} x[n] W_{N}^{+k n} , & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

x[n] = ℱ_{DT}^{−1}\{X[k]\} = \{ \begin{matrix}\frac{1}{N} ∑_{k=0}^{N−1} X[k] W_{N}^{−k n} , & 0 ≤ k ≤ N − 1 \\ 0, & c.c. \end{matrix}

(7.18)

Lembrando que W_{N} = e^{−j(2π/N)} . Perceba que a definição da DFT implica em uma avaliação da DFS de uma sequência periódica (de comprimento N) subjacente. Dessa forma, quando avaliamos as componentes espectrais de um segmento finito de dados, estamos na verdade considerando que tal segmento finito é parte de uma sequência periódica. Além disso, a análise espectral fica restrita a um intervalo de N frequências discretas k, oriunda de uma avaliação de Séries de Fourier.

7.4.1 Propriedades da DFT

A seguir serão listadas várias propriedades das Séries Discretas de Fourier. Devemos reforçar o fato de que estamos imersos em sequências periódicas - seja x̃[n] ou X̃[k], das quais se extrai a janela de resultado que formará a IDFT ou DFT, respectivamente.

Observação: em todas as propriedades (exceto na definição da linearidade), considere n, k ∈ [0, N − 1]

Linearidade

\begin{matrix}x_{1}[n] & ⟷^{ℱ_{DT}} X_{1}[k] \\ x_{2}[n] & ⟷^{ℱ_{DT}} X_{2}[k] ⟺ \\ ax_{1}[n] + bx_{2}[n] & ⟷^{ℱ_{DT}} aX_{1}[k] + bX_{2}[k] \end{matrix}  (7.19)

Se considerarmos que x_{1}[n] e x_{2}[n] têm comprimento N_{x_{1}} e N_{x_{2}} , respectivamente, a combinação linear dessas sequências terá comprimento N = max(N_{x_{1}} , N_{x_{2}} ) e a sequência com menor comprimento deverá ser “completada” com zeros (“zero padding”) até possuir comprimento igual a N. Isso para que as k-ésimas frequências discretas de X_{1}[k] e X_{2}[k] representem a mesma informação (ou seja ω = 2πk/Nrad/s).

Deslocamento circular

Considere uma sequência x[n] que é atrasada ou adiantada m amostras (respectivamente m > 0 ou m < 0).

x[n] ⟷^{ℱ_{DT}} X[k] ⟺ x[((n − m))_{N}] ⟷^{ℱ_{DT}} e^{−ȷ(2π/N) k m} X[k]  (7.20)

Devemos considerar o cálculo em termos de DFS de x̃[n] = x[((n))_{N}], que é X̃[k] = X[((k))_{N}]. De 7.8, temos:

x̃[n]⟷^{FS_{DT}} X̃[k] ⟺ ỹ[n] = x̃[n − m] ⟷^{FS_{DT}} Ỹ[k] = e^{−ȷ(2π/N) k m} X̃[k]

Pela pelas propriedades de ((a))_{B}, temos:

Ỹ[k] = Y [((k))_{N}]= e^{−ȷ(2π/N) m ((k))_{N}} X̃[k]
= e^{−ȷ(2π/N) m ((k))_{N}} X[((k))_{N}]
= e^{−ȷ(2π/N) k m} X[((k))_{N}]

Pela equação-definição 7.18, que diz que devemos observar sempre a janela de dados entre k ∈ [0, N − 1] da DFS para extrair a DTFT, temos:

Y [k] = e^{−ȷ(2π/N) k m} X[k]

desde que

y[n] = \{ \begin{matrix}ỹ[n] = x[((n − m))_{N}], & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

Exemplo:

O termo circular vem de como podemos dispor x[n] em uma circunferência (de qualquer raio) dividida em N partes iguais. x[0] é posicionado na coordenada polar (R, 0), x[1] em (R, 2π1/N), x[2] em (R, 2π2/N), x[3] em (R, 2π3/N), até x[N − 1] em (R, 2π(N − 1)/N).

O deslocamento circular implica em girar x[n] em m posições no sentido anti-horário e coletar os valores de y[n] tal que, por exemplo, y[2] é o valor de x[n] posicionado na coordenada polar (R, 2π2/N). Graficamente temos:

O efeito da movimentação da sequência e suas réplicas pode ser visto quando operamos sobre a sequência finita x[n] e a replicamos (para formar x̃[n]):

Agora aplicamos o deslocamento (de 2 amostras, no caso), ou seja ỹ[n] = x̃[n − 2]. O resultado é a sequência finita (y[n]) a direita na figura abaixo.

Princípio da dualidade

x[n] ⟷^{ℱ_{DT}} X[k] ⟺ X[n] ⟷^{ℱ_{DT}} Nx[((−k))_{N}]  (7.21)

Simetria

Se considerarmos que:

x[n] ⟷^{ℱ_{DT}} X[k]

então:

\begin{matrix}x^{∗}[n] & ⟷^{ℱ_{DT}} X^{∗}[((−k))_{N}] \\ x^{∗}[((−n))_{N}] & ⟷^{ℱ_{DT}} X^{∗}[k] \end{matrix}  (7.22)

Quando lidamos com o conceito de que qualquer sequência pode ser decomposta em porções par e ímpar, devemos considerar que:

x̃[n]= x̃_{par}[n] + { \atop x_{ímpar}}[n]
x̃_{par}[n]= \frac{1}{2} \{x̃[n] + x̃^{∗}[−n]\}
{ \atop x_{ímpar}}[n]= \frac{1}{2} \{x̃[n] − x̃^{∗}[−n]\}

Definindo

x_{par-finito} [n]= \{ \begin{matrix}x̃_{par}[n], & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

x_{ímpar-finito} [n]= \{ \begin{matrix}{ \atop x_{ímpar}}[n], & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

Logo, temos:

x_{par-finito} [n]= \frac{1}{2} \{x[((n))_{N}] + x^{∗}[((−n))_{N}]\}
x_{ímpar-finito} [n]= \frac{1}{2} \{x[((n))_{N}] − x^{∗}[((−n))_{N}]\}

Ou seja:

x[n]= x_{par-finito} [n] + x_{ímpar-finito} [n]
x_{par-finito} [n]= \frac{1}{2} \{x[n] + x^{∗}[N − n]\}
x_{ímpar-finito} [n]= \frac{1}{2} \{x[n] − x^{∗}[N − n]\}

(7.23)

Mais ainda, já que podemos isolar um segmento finito de comprimento n de qualquer sequência,

x_{par-finito} [n]= {x_{par}[n] + x_{par}[N − n]}
x_{ímpar-finito} [n]= {x_{ímpar}[n] − x_{ímpar}[N − n]}

(7.24)

Convolução circular

Seja

\begin{matrix}x_{1}[n] & ⟷^{ℱ_{DT}} X_{1}[k] \\ x_{2}[n] & ⟷^{ℱ_{DT}} X_{2}[k] \end{matrix}

A convolução circular entre tais sequências é uma modulação na frequência discreta k, ou seja:

x[n] = ∑_{m=0}^{N−1} x_{1}[m]x_{2}[((n − m))_{N}] ⟷^{ℱ_{DT}} X[k] = X_{1}[k]X_{2}[k]  (7.25)

Se x_{1}[n] e x_{2}[n] possuirem comprimentos M e N, respectivamente, com N > M, a sequência x_{2}[n] deve ser acrescida de N − M após sua (M − 1)- ésima amostra. Somente após tal transformação de x_{2}[n] (i.e., da sequência mais curta), é que a convolução circular pode ser realizada.

Graficamente, se pensarmos na distribuição das sequências em um círculo, temos x_{1}[m] fixada no eixo circular (no sentido anti-horário para a figura apresentada), enquanto que x_{2}[((−m))_{N}] é distríbuída no sentido horário. x_{2}[((n − m))_{N} representa um giro de n amostras no sentido antihorário, sobre x_{1}[n]. A distribuição dessas duas sequências no eixo circular permite o cálculo de x[n] como uma simples soma dos produtos resultantes.

Figura 7.3: Distribuição de x_{1}[n] e x_{2}[n] para o cálculo da convolução circular em instantes específicos: x[0] e x[2].

Exemplo:

Considere duas sequências retangulares com comprimento L tal que:

x_{1}[n] = x_{2}[n] = \{ \begin{matrix}1, & 0 ≤ n ≤ L − 1 \\ 0, & c.c. \end{matrix}

Calculando a DFT de ambas, assumindo N = L como comprimento de cálculo, temos:

X_{1}[k] = X_{2}[k] = ∑_{n=0}^{L−1} W_{L}^{kn} = \{ \begin{matrix}N, & k = 0 \\ 0, & c.c. \end{matrix}

Note que apesar das sequências finitas serem nulas fora do intervalo 0 ≤ n ≤ L − 1, quando usamos apenas L amostras no cálculo da DFT, o procedimento implicitamente assume que tais sequências se repetem fora do intervalo (indefinidamente), gerando assim sequências constantes, que representam níveis DC na frequência. Logo,

X[k] = X_{1}[k]X_{2}[k] = \{ \begin{matrix}N^{2}, & k = 0 \\ 0, & c.c. \end{matrix}

ou

x[n] = \{ \begin{matrix}N, & 0 ≤ n ≤ L − 1 \\ 0, & c.c. \end{matrix}

Graficamente temos x_{1}[n], x_{2}[n] e x[n], respectivamente:

Se, agora, calcularmos a DFT de ambas, assumindo um comprimento de cálculo N = 2L, temos:

X_{1}[k] = X_{2}[k] = ∑_{n=0}^{2L−1} W_{2L}^{kn} = \frac{1 − W_{2L}^{Lk}}{1 − W_{2L}^{k}}

e

X[k] = X_{1}[k]X_{2}[k] = ( \frac{1 − W_{2L}^{Lk}}{1 − W_{2L}^{k}} )

Graficamente temos x_{1}[n], x_{2}[n] e x[n], respectivamente:

Percebemos que é possível, a partir da convolução circular (implícita no uso da DFT) obter uma convolução linear. Para tanto, basta acrescentar no mínimo N −1 zeros às sequências (assumindo que este é o comprimento da maior sequência) para que o resultado da modulação em frequência corresponda à convolução linear no tempo. No presente exemplo, usamos N zeros às sequências.

O processo de adicionar zeros ao final da sequência finita é tecnicamente chamado de “zero padding”.

A notação para a convolução circular é x_{1}[n]◯Nx_{2}[n].

De modo análogo, uma modulação entre duas sequências (com mesmo comprimento N) corresponde à uma convolução circular no domínio da frequência discreta k:

x[n] = x_{1}[n]x_{2}[n] ⟷^{ℱ_{DT}} X̃[k] = \frac{1}{N} ∑_{l=0}^{N−1} X_{1}[l]X_{2}[k − l]  (7.26)

Filtros Digitais

Primeiramente, um filtro é um sistema que processa um ou mais sequências de entrada para produzir um ou mais sequências de saída. Particularmente estamos interessados em filtros que operem com um sequência de entrada e um sequência de saída.

Os filtros digitais são aqueles que operarão sobre sinais digitais (discretizado tanto em tempo quanto em amplitude). Para tanto, alguns passos são comumente seguidos:

1. Especificação das propriedades desejadas do filtro/sistema

2. Aproximação dessas propriedades usando um sistema causal discreto

3. Realização do filtro usando aritmética de precisão finita

A primeira etapa consiste em definir o que se deseja fazer, e geralmente recai sobre propriedades matemáticas desejadas do filtro e do sequência de saída, em relação ao sequência de entrada. Como é possível que o sistema desejado seja irrealizável ou não-causal, é necessário, em uma segunda etada, aproximá-lo a um sistema causal e discreto. Tal transformação demanda um compromisso, na qual alguma característica do sistema desejado deve ser negligenciada.

Finalmente ajustamos os coeficientes para números de precisão finita (“discretos”), para operação digital. Pode ser necessário alguns ajustes no filtro nessa etapa para evitar instabilidades numéricas pela conversão de precisão infinita para finita. Por exemplo, um pólo muito próximo ao círculo unitário pode acabar sendo reposicionado para fora do círculo unitário devido ao arredondamento dos coeficientes na transformação. Isso naturalmente exige ajustes desses coeficientes para manter a estabilidade do filtro ao mesmo tempo que tenta-se manter as características projetadas na primeira etapa.

Idealmente todas essas etapas estão inter-relacionadas, pois modificações em coeficientes nas etapas 2 e 3 devem atender sempre ao projeto da etapa 1. Para facilitar nosso estudo, focaremos nas etapas 1 e 2 separadamente.

Uma das formas comuns de projeto de filtro digital é a transformação de um filtro analógico já projetado. Isso ocorre por duas razões: primeiramente há muito conhecimento acumulado no projeto de tais filtros; a segunda é a necessidade de operar com processadores digitais (computadores atualmente) sobre sinais analógicos. Dessa forma, como veremos, haverá transformação de parâmetros já que a frequência digital é limitada entre 0 e 2π enquanto que a frequência analógica é ilimitada. Naturalmente as técnicas de transformação devem produzir alguma perda de características do filtro analógico quando realizado digitalmente.

8.1 Especificação de um filtro

O projeto de um fitro produz um conjunto de inequações paramétricas que foram definidas a partir da especificação descrita pela Figura 8.1:

Figura 8.1: Representação gráfica de filtro

A região branca é a região de operação do filtro (o equacionamento deve produzir curvas de magnitude restritas a tal região).

Da banda de passagem temos:

1 − δ_{1} ≤ |H(e^{ȷω})| ≤ 1 + δ_{1}  |ω| ≤ ω_{p}  (8.1)

Como alternativa a essa especificação, temos:

1 − δ_{1} ≤ |H(e^{ȷω})| ≤ 1  |ω| ≤ ω_{p}  (8.2)

Na banda de rejeição temos:

|H(e^{ȷω})| ≤ δ_{2}  ω_{s} ≤ |ω| ≤ π  (8.3)

Os parâmetros δ_{1} e δ_{2} são erros de aproximação. Geralmente tentamos impor valores muito próximo de 0 para eles, mas nunca zero. Tal restrição é feita para que as equações polinomiais que definirão tais filtros não tenham ordem elevada. O mesmo é válido para a banda de rejeição (ω_{p} ≤ ω ≤ ω_{s}), que representa um “espaço” para que a transição entre a banda de passagem e a banda de rejeição ocorra: uma transição muito pequena exigirá filtros de ordem elevada, como veremos.

Note que não há qualquer restrição para fase: a fase funcionará como uma variável livre. Entretanto, nada impede de aplicar restrições para a fase, desde que não resulte em um problema mal definido ou sem resolução.

O fato de analisarmos apenas um filtro (passa-baixas) com as características definidas pelas Inequações 8.1 e 8.3 parecer restritivo, veremos que a partir de transformações algébricas aplicadas sobre o mesmo, poderemos obter outros filtros mais complexos. Logo, ao estudo detalhado do filtro passa-baixa é equivalente ao estudo detalhado de filtros passa-alta, passabanda, rejeita-banda, equalizadores, etc.

Matematicamente temos um problema de aproximação ou minimização, pois o número de parâmetros dessas equações é insuficiente para definir H(e^{ȷω}). Como veremos, adicionaremos condições adicionais como forma das equações que representarão tal filtro, tipo de oscilação permitida na banda de passagem e/ou na banda de rejeição, etc.

8.2 Transformação de sistemas analógicos

Considere um sistema genérico analógico, definido por:

H_{a}(s) = \frac{∑ _{l=0}^{M} d_{l}s^{l}}{∑ _{k=0}^{N} c_{k}s^{k}} = \frac{Y_{a}(s)}{X_{a}(s)}  (8.4)

com x_{a}(t) e y_{a}(t) sendo respectivamente a entrada e saída contínua do sistema, e X_{a}(s) e Y_{a}(s) sendo as transformadas de Laplace da entrada e da saída, respectivamente. No domínio temporal, a relação entre tais sinais é dado por:

∑_{k=0}^{N} c_{k} \frac{d^{k}y_{a}(t)}{dt^{k}} = ∑_{l=0}^{M} d_{l} \frac{d^{l}x_{a}(t)}{dt^{l}}  (8.5)

E sendo linear e invariante no tempo, temos sua resposta ao impulso definida por h_{a}(t) e a relação entre x_{a}(t) e y_{a}(t) obtida a partir da convolução:

y_{a}(t) = ∫_{−∞}^{+∞} x_{a}(τ)h_{a}(t − τ)dτ  (8.6)

Queremos então obter o sistema discreto equivalente descrito por:

H(z) = \frac{∑ _{l=0}^{M} b_{l}z^{−l}}{∑ _{k=0}^{N} a_{k}z^{−k}}  (8.7)

Cuja relação entre x[n] e y[n] é definida pela equação a diferenças:

∑_{k=0}^{N} a_{k}y[n − k] = ∑_{l=0}^{M} b_{l}x[n − l]  (8.8)

E sendo linear e invariante no tempo, temos sua resposta ao impulso definida por h[n] e a relação entre x[n] e y[n] obtida a partir da convolução:

y[n] = ∑_{k=−∞}^{+∞} x[k]h[n − k]  (8.9)

Desejamos então obter a_{k} e b_{l} a partir de c_{k} e d_{k}, mantendo a ordem N e M no processo de transformação. Matematicamente isso implica em:

1. Mapear o eixo imaginário de s dentro círculo unitário de z, para garantir que um sistema analógico estável seja transformado em um sistema discreto estável;

2. Manter as propriedades essenciais na transformação;

3. Manter a estabilidade estabilidade do sistema discreto.

Note que as respostas ao impulso contínua h_{a}(t) e discreta h[n] têm duração infinita para ordem N > 1. Tais filtros são chamados de IIR (“infinite impulse response”). Se N = 1, então os filtros apresentam duração finita e são chamados de FIR (“finite impulse response”)

8.2.1 Invariância ao Impulso

Nesta abordagem faremos uma transformação analógica-discreta da resposta ao impulso através de amostragem simples, ou seja:

h[n] = h_{a}(nT)  (8.10)

onde T é o período de amostragem (que está ligada a taxa de amostragem dos sinais que serão processados pelo filtro).

Da teoria de amostragem, sabemos que amostrando um domínio impomos uma repetição periódica no outro domínio. Logo, conforme a Equação 4.3, temos:

X(e^{ȷω}) = \frac{1}{T} ∑_{k=−∞}^{+∞} X_{a} ( ȷ ( Ω + \frac{2πk}{T} ) )

Podemos ler tal relação como uma avaliação de X_{a}(s) em ȷΩ. Ou seja:

s = ȷΩ = ȷ\frac{ω}{T} ⟹ ȷω = sT

Logo,

H(z)|_{z=e^{sT}} = \frac{1}{T} ∑_{k=−∞}^{+∞} H_{a} ( s + ȷ\frac{2πk}{T} )

ou seja, com a amostragem da resposta ao impulso, realizamos o mapeamento s → z por:

z = e^{sT}  (8.11)

Se considerarmos a resposta em frequência do filtro discreto, dada por:

H(e^{ȷω}) = \frac{1}{T} ∑_{k=−∞}^{+∞} H_{a} ( ȷ ( \frac{ω}{T} + \frac{2πk}{T} ) )

Isso significa que quando discretizamos a resposta ao impulso do filtro analógico desejado, estamos dividindo o espectro do filtro analógico em seções de comprimento \frac{2π}{T} e somando-as para formar H(e^{ȷω}). Ou seja, estamos “desdobrando” o espaço analógico sobre o círculo unitário. Claro que haverá várias situações de “aliasing” nesse mapeamento, pois ações analógicas sobre componentes de alta frequência podem ser traduzidas por ações de baixa frequência no domínio discreto.

Isso pode ser visto na figura a seguir:

Figura 8.2: Mapeamento z = e^{sT}

Entretanto, se nosso filtro analógico for limitado em banda (“bandlimited”) por:

H_{a}(ȷΩ) = 0, |Ω| ≥ \frac{π}{T}

teremos:

H(e^{ȷω}) = \frac{1}{T}H_{a} ( ȷ\frac{ω}{T}) , |ω| ≤ π

Isso significa que precisamos usar um filtro analógico ideal para limitar em banda o sinal analógico de entrada (que também será discretizado com período de amostragem T) para evitar “aliasing” do filtro discreto construído por este método.

8.2.2 Solução Numérica de EDO

Vamos agora reconsiderar o sistema 8.4 na forma de equação diferencial linear e invariante no tempo, com coeficientes constantes. Ou seja:

∑_{k=0}^{N} c_{k} \frac{d^{k}(y_{a}(t)}{dt^{k}} = ∑_{l=0}^{M} d_{l} \frac{d^{l}(x_{a}(t))}{dt^{l}}  (8.12)

O intuito aqui é resolver numericamente tal equação, usando uma aproximação de primeira ordem. Quando a resolvemos numericamente, efetuamos uma discretização dos operadores diferenciais. Assim, considere a seguinte aproximação para as derivadas:

\frac{df(t)}{dt} |_{t=nT} = \frac{f[n] − f[n − 1]}{T} = ∇^{(1)}\{f[n]\}  (8.13)

O operador ∇^{(1)}f[n] representa uma aproximação de primeira ordem atrasada da derivada primeira de uma função contínua f(t).

Analogamente, a aproximação de primeira ordem de uma derivada de ordem superior pode ser obtida recursivamente por:

\begin{aligned}\frac{d^{k}f(t)}{dt^{k}} |_{t=nT} = \frac{d}{dt} \frac{d^{k−1} f(t)}{dt^{k−1}} |_{t=nT} & = ∇^{(1)}\{∇^{k−1} \{f[n]\}\} = ∇^{(k)}\{y[n]\} \\ f(t)|_{t=nT} & = ∇^{(0)}\{f[n]\} = f[n] \end{aligned}

Com estas definições, reescrevemos 8.12 como:

∑_{k=0}^{N} c_{k}∇^{(k)}{y[n]} = ∑_{l=0}^{M} d_{k}∇^{(l)}{x[n]}

Se aplicarmos a transformada Z sobre os operadores ∇^{(1)}{f[n]} e ∇^{(k)}{f[n]}, temos:

\begin{aligned}𝒵 \{∇^{(1)}\{f[n]\}\} & = [ \frac{1 − z^{−1}}{T} ] X(z) \\ 𝒵 \{∇^{(k)}\{f[n]\}\} & = [ \frac{1 − z^{−1}}{T} ]^{k} X(z) \end{aligned}

Logo,

H(z) = \frac{∑ _{l=0}^{M} d_{l} [ \frac{1−z^{−1}}{T} ]^{l}}{∑ _{k=0}^{N} c_{k} [ \frac{1−z^{−1}}{T} ]^{k}}

Se compararmos H(z) com a Equação 8.4, que define a representação de Laplace do sistema que define o filtro, notaremos que:

s = \frac{1 − z^{−1}}{T}  ou z = \frac{1}{1 − sT}  (8.14)

Graficamente, o mapeamento é representado por:

Figura 8.3: Mapeamento z = \frac{1}{1−sT}

Note que o mapeamento garante que um filtro analógico estável será mapeado em um filtro discreto também estável. Entretanto, não há mapeamento completo de ȷΩ para o círculo unitário |z| = 1. Isso significa que a resposta em frequência do filtro analógico é aproximado corretamente apenas para uma estreita faixa de frequência discreta na vizinhança de z = 1.

Se aumentarmos a taxa de amostragem (T → 0) podemos confinar um intervalo de frequência analógica maior na vizinhança de z = 1. Assim, um ponto negativo da abordagem da solução numérica da EDO que define o filtro é que ela exige elevada taxa de amostragem (filtros com resposta ao impulso longa) para garantir uma boa aproximação analógica-discreta. Note, entretanto, que tal abordagem não apresenta problemas com “aliasing”.

8.2.3 Transformação Bilinear

As transformações anteriores são apenas demonstrativas. Pode-se desenvolver outras como invariância ao degrau, na qual a função degrau é discretizada ao invés da função impulso. A transformação bilinear é o modo efetivo para transformação de filtros analógicos para equivalentes discretos, que garante estabilidade e mapeamento completo do plano s para o plano z.

O procedimento é baseado na integração de uma EDO representativa de um sistema analógico de primeira ordem, sendo que sua solução é obtida por aproximação numérica.

Considere o seguinte sistema analógico de primeira ordem

c_{1} \frac{dy_{a}(t)}{dt} + c_{0}y_{a}(t) = d_{0}x_{a}(t)  (8.15)

Sua transformada de Laplace gera:

H_{a}(s) = \frac{d_{0}}{c_{1}s + c_{0}}

Podemos escrever y_{a}(t) a partir da integração de sua derivada primeira (que aparece na EDO que estamos tratando) por:

y_{a}(t) = \{ ∫_{t_{0}}^{t} \frac{dy_{a}(τ)}{dτ}dτ\} + y_{a}(t_{0})

Se t = nT e t_{0} = (n − 1)T então a integração pode ser aproximada pela área de um trapézio de base T e alturas \frac{dy_{a}(τ)}{dτ} em t e t_{0}, ou seja:

y_{a}(nT) = \frac{T}{2} \{ \frac{dy_{a}(t)}{dt}|_{t=nT} + \frac{dy_{a}(t)}{dt}|_{t=(n−1)T} \}

Mas, a partir da Equação 8.15, temos:

\frac{dy_{a}(t)}{dt}|_{t=nT} = −\frac{c_{0}}{c_{1}}y_{a}(nT) + \frac{d_{0}}{c_{1}}x_{a}(nT)

Assumindo que y[n] = y_{a}(nT) e x[n] = x_{a}(nT), temos:

\{y[n] − y[n − 1]\} = \frac{T}{2} \{ −\frac{c_{0}}{c_{1}} (y[n] + y[n − 1]) + \frac{d_{0}}{d_{1}} (x[n] + x[n − 1]) \}

Aplicando a transformada Z sobre tal equação a diferenças e isolando H(z), temos:

H(z) = \frac{d_{0}}{c_{1}} \{ \frac{2}{T} \frac{1 − z^{−1}}{1 + z^{−1}} \} + c_{0}

Comparando com a transformada de Laplace do sistema analógico original (Equação 8.15), temos:

s = \frac{2}{T} \frac{1 − z^{−1}}{1 + z^{−1}}  ou z = \frac{1 + (T/2)s}{1 − (T/2)s}  (8.16)

Graficamente, o mapeamento é representado por:

Figura 8.4: Mapeamento z = \frac{1}{1−sT}

Naturalmente todo o filtro analógico estável gera um filtro discreto estável quando mapeado pela transformação bilinear. Da mesma forma, o eixo imaginário ȷΩ é mapeado para |z| = 1. Para verificar se as propriedades espectrais do filtro analógico são aproximadas corretamente em sua versão discreta, podemos verificar como Ω (frequência no domínio analógico) varia em função de ω (frequência no domínio discreto).

Substituindo s = ȷΩ e z = e^{ȷω} na Equação 8.16, temos:

ȷΩ = \frac{2}{T} \frac{1 − e^{−ȷω}}{1 + e^{−ȷω}}

= \frac{2}{T} \frac{ȷ sen(ω/2)}{cos(ω/2)}

= ȷ tan(ω/2)

Logo, a relação entre Ω e ω, que é não-linear, é:

Ω = \frac{2}{T} tan(ω/2)  (8.17)

Tal relação é, graficamente,

Figura 8.5: Relação ω = 2 arctan(ΩT/2), para T = 1

Há uma região (frequências de baixa magnitude) quasi-linear. Nessa, as propriedades do filtro analógico são praticamente iguais às propriedades do filtro discreto. Entretanto, a medida que a frequência analógica Ω aumenta, as propriedades desse filtro são concentradas na vizinhança da frequência “discreta” ω = ±π.

Para compensar tal distorção, particularmente na definição das propriedades de filtros (frequência de corte, por exemplo, que pode ser elevada e assim, produzir um filtro com propriedade distorcida), devemos pré-distorcer (“pre-warping”) as frequências de interesse de tal forma que quando aplicarmos a transformação bilinear, elas serão resposicionadas corretamente, garantindo assim que as propriedades do sistema analógicos sejam corretamente transcritas para as propriedades do sistema discreto.

Assim, usando a Equação 8.17, calculamos qual a frequência analógica distorcida (Ω_{c}) para a frequência digital (operando em frequência de amostragem 1/T) desejada (ω_{c}), ou seja:

Ω_{c} = \frac{2}{T} tan(ω_{c}/2)

Distorção de frequência

Considere um projeto de filtro passa-baixa, com frequência de corte em 3KHz, operando em dados amostrados a 20KHz. Para garantir que o projeto do filtro digital tenha corte na frequência do projeto quando usamos a transformação bilinear na conversão do projeto da versão analógica do filtro, aplicamos a Equação 8.17.

Assim, a frequência digital para o corte é:

ω = 2π \frac{3000}{20000} = 0,3π

E a frequência de corte distorcida para o projeto será:

Ω = \frac{2}{1/20000} tan(0,3π/2) = 20381,01rad/s

Ou 3243,74Hz. Esta deve ser a frequência para efeitos de projeto quando usamos a transformação bilinear, de tal forma que a frequência de corte do filtro digital seja 3KHz.

8.3 Filtros analógicos IIR clássicos

Como já mencionamos antes, podemos construir filtros digitais convertendo filtros analógicos já projetados. Isso é útil pois podemos nos valer do conhecimento existente sobre as características de tais filtros. Nessa seção apresentaremos os três (ou quatro, dependendo de como se deseja classificálos) tipos de filtros analógicos. Eles distinguem-se, fundamentalmente, em relação a presença ou não de “ripple” nas bandas passantes e de rejeição.

A análise aprofundada desses tipos de filtros não é objetivo dessa apostila. Focaremos na conversão dos mesmos para a sua versão discreta.

Os filtros apresentados serão todos passa-baixa. Veremos posteriormente como efetuar a conversão desse tipo de filtro para um filtro passa-alta, passabanda e rejeita-banda. A literatura geralmente apresenta filtros normalizados passa-baixa, que são filtros cuja frequência de corte é Ω_{c} = 1, sendo posteriormente convertidos para outras frequências de corte ou outro dos filtros citados. Assim, o prioritário é definir um filtro passa-baixa com características desejadas e convertê-lo para outra frequência de corte ou para outro tipo de filtro.

Notaremos que as definições dos filtros são feitas em termos de aproximações analíticas da magnitude quadrática do filtro. O uso de uma aproximação analítica (equação) facilita manipulações algébricas para encontrar parâmetros do filtro que atendam as especificações do projetista.

Outra motivação, mais prática, é que definimos potência ou energia do sinal, o que facilita o uso das aproximações da magnitude quadrática. Definiremos:

|H_{a}(ȷΩ)|^{2} = [H_{a}(s)H_{a}(−s)] _{s=ȷΩ}

pois se H_{a}(ȷΩ) = ℜ{H_{a}(ȷΩ)} + ȷℑ{H_{a}(ȷΩ)}, então:

|H_{a}(ȷΩ)|^{2} = (ℜ{H_{a}(ȷΩ)})^{2} + (ℑ{H_{a}(ȷΩ)})^{2}
= (ℜ{H_{a}(ȷΩ) + ȷℑ{H_{a}(ȷΩ))(ℜ{H_{a}(ȷΩ)} − ȷℜ{H_{a}(ȷΩ)})
= [H_{a}(s)H_{a}(−s)] _{s=ȷΩ}

Reforçando: o termo IIR desta seção refere-se ao fato de que os filtros apresentados são recursivos, pois sua definição no domínio de Laplace é feita por funções racionais (ou razão entre polinômios em s). O termo IIR (resposta ao impulso infinita ou “infinite impulse response”) vem do fato que que a presença de um polinômio no denominador - como vimos - resulta em uma resposta ao impulso de duração infinita, daí o nome.

Matematicamente temos:

H_{a}(s) = \frac{∑ _{k=0}^{M} c_{k}s^{k}}{∑ _{l=0}^{N} d_{l}s^{l}}

que resulta, após a transformação adequada para sua versão digital:

H(z) = \frac{∑ _{k=0}^{M} a_{k}z^{−k}}{∑ _{l=0}^{N} a_{l}z^{−l}}

Note que se assume, nas definições acima, que N > M, como vimos anteriormente.

8.3.1 Filtro Butterworth

A obtenção da representação analítica da magnitude quadrática desse filtro é feita a partir de uma aproximação por séries de Taylor da resposta desejada, avaliando tal expansão em uma única frequência (para um passa-baixa, ao redor de Ω = 0). Com isso, tem-se um filtro que é maximamente “flat” nas bandas de passagem e de rejeição. Isso significa que a magnitude do filtro nessas bandas não apresenta qualquer oscilação (“ripple”). Matematicamente temos sua magnitude quadrática definida por:

|H_{a}(ȷΩ)|^{2} = \frac{1}{1 + ( \frac{ȷΩ}{ȷΩ_{c}} )^{2N}}  (8.18)

para um filtro passa-baixa de ordem N, com corte em Ω_{c}.

Graficamente temos:

Figura 8.6: Comportamento de um filtro passa-baixa de Butterworth

Podemos perceber que o filtro é monotonicamente decrescente (se fosse um passa-alta, seria monotonicamente crescente). Também fica evidente que em Ω = Ω_{c} o filtro atenua o sinal de entrada em meia potência. Como o aumento de N, temos:

• Reduzimos a zona de transição, tornando a queda mais abrupta;

• A banda de passagem apresenta magnitude mais próxima da unidade;

• A banda de rejeição apresenta magnitude mais próxima de zero (ou −∞dB).

Considerando, naturalmente, que

[H_{a}(s) · H_{a}(−s)]_{s=ȷΩ} = \frac{1}{1 + ( \frac{s}{ȷΩ_{c}} )^{2N}} = \frac{(ȷΩ_{c})^{2N}}{s^{2N} + (ȷΩ_{c})^{2N}}

a posição dos pólos de |H_{a}(s)|^{2} será:

s_{p} = (−1)^{\frac{1}{2N}} (ȷΩ_{c})  (8.19)

Ou mais precisamente (lembrando que −1 = e^{ȷ(2k−1)π} , para k ∈ ℤ):

s_{p}_{k} = ȷΩ_{c}e^{\frac{−ȷ(2k−1)π}{2N}} ,  0 ≤ k ≤ 2N − 1  (8.20)

Geometricamente no plano s, estão dispostos de maneira equidistante em um círculo de raio Ω_{c}, como mostra a figura 8.7.

Figura 8.7: Disposição dos pólos em um filtro Butterworth com N = 3 e Ω_{c} = 0.8.

Para que seja um filtro analógico (sistema) estável, devemos assumir que os pólos à esquerda do eixo das ordenadas (eixo imaginário) pertencem a H_{a}(s) enquanto que os pólos à direita pertencem ao seu conjugado H_{a}^{∗}(s). Cabe lembrar que todos os zeros localizam-se no infinito.

Exemplo de projeto de filtro

Projetaremos um filtro digital passa-baixa do tipo Butterworth com máximo de −1dB de atenuação na banda passante (até 0,2πrad/s) e mínimo de −15dB de atenuação na banda de rejeição (a partir de 0,3πrad/s - até, naturalmente, πrad/s). As frequências especificadas estão normalizadas, ou seja, assumimos T (periodo de amostragem) = 1.

Matematicamente, estamos considerando:

\begin{aligned}10 log_{10}(|H_{a}(ȷ0,2π)|^{2}) & ≥ −1 \\ 10 log_{10}(|H_{a}(ȷ0,3π)|^{2}) & ≤ −15 \end{aligned}

O equacionamento das restrições do filtro sempre será feito dessa maneira (independe do tipo de filtro passa-baixa usado). Note que nada foi dito sobre a banda de transição. Fica a critério do projetista e depende do tipo de formulação para H_{a}(ȷΩ): no caso, como usaremos a formulação de Butterworth, sabemos que a transição será monotônica sempre. Outras formulações podem exigir alguma descrição do comportamento dessa banda.

Agora, podemos substituimos a definição do filtro de Butterworth (Equação 8.18 nas inequações), ou seja:

\begin{aligned}1 + ( \frac{0,2π}{Ω_{c}} ) ^{2N} & = 10^{0,1} \\ 1 + ( \frac{0,3π}{Ω_{c}} ) ^{2N} & = 10^{1,5} \end{aligned}

Note que substituimos a inequação por equações, pois nos interessa saber qual valor de N e Ω_{c} atinge os limites impostos pelas inequações originais. Resolvendo as equações, obtemos N = 5,8858 e Ω_{c} = 0,70474.

Lembrando que não existe ordem não inteira, temos que arredondála para N = 6. Fazendo isso, temos que redefinir o valor de Ω_{c}. Se substituirmos N = 6 na primeira equação, obtemos Ω_{c} = 0,7032. Isso significa que a primeira equação será estritamente obedecida, enquanto que relaxamos a segunda.

Na prática estaremos excedendo a especificação da banda de rejeição (basta substituir tais valores - N e Ω_{c} para confirmação). A escolha do relaxamento fica a critério do projetista.

Para encontrar H_{a}(ȷΩ), retornamos a definição dos seus pólos que, para a especificação, são assim definidos:

s_{p} = (−1)^{\frac{1}{12}} (ȷ0,7032)

Como sabemos que os pólos são dispostos de modo equidistante no círculo de raio 0,7032, e que a metade dos pólos posicionadas à esquerda do eixo imaginário pertencem efetivamente à H_{a}(ȷΩ), temos:

\begin{aligned}s_{p}_{1,2} & = −0,1820 ± ȷ0,6792 \\ s_{p}_{3,4} & = −0,4972 ± ȷ0,4972 \\ s_{p}_{5,6} & = −0,6792 ± ȷ0,1820 \end{aligned}

e

\begin{aligned}H_{a}(s) & = \frac{0,12093}{(s^{2} + 0,3640s + 0.4945)(s^{2} + 0.9945s + 0.4945)} \\ & × \frac{1}{(s^{2} + 1.3585s + 0.4945)} \end{aligned}

Agora iniciamos o processo de conversão de H_{a}(s) em H(z). Pelo método da invariância ao impulso e como todos os pólos do sistema analógicos são distintos, basta aplicar o mapeamento descrito pela Equação 8.11:

H(z) = ∑_{k=1}^{6} \frac{A_{k}}{1 − e^{s_{p} ^{k}}z^{−1}}

onde A_{k} são os resíduos associados aos pólos s_{p} de H_{a}(s), temos finalmente:

\begin{aligned}H(z) & = \frac{0,2871 − 0,4466z^{−1}}{1 − 1,2971z^{−1} + 0,6949z^{−2}} + \frac{−2,1428 − 1,1454z^{−1}}{1 − 1,0691z^{−1} + 0,3699z^{−2}} \\ & + \frac{1,8558 − 0,6304z^{−1}}{1 − 0,9972z^{−1} + 0,2570z^{−2}} \end{aligned}

Para projetarmos o mesmo filtro usando a transformação bilinear, é necessário reescalonar as frequências de projeto - “pre-warping” para evitar que as distorções das componentes alta-frequência do método estraguem o projeto.

Assim, as novas inequações do projeto são:

10 log_{10}(|H_{a}(ȷ2 tan(0,2π/2))|^{2}) ≥ −1
10 log_{10}(|H_{a}(ȷ2 tan(0,2π/2))|^{2}) ≤ −15

Quando aplicamos a definição de |H_{a}(ȷΩ)|^{2} de Butterworth, temos:

1 + ( \frac{2 tan(0,1π)}{Ω_{c}}) ^{2N} = 10^{0,1}
1 + ( \frac{2 tan(0,15π)}{Ω_{c}}) ^{2N} = 10^{1,5}

Manipulando algébricamente as duas equações, temos:

N = \frac{1}{2} log_{10} [(10^{1.5} − 1)/(10^{0.1} − 1)] ; log_{10} [tan(0.15π)/ tan(0.1π)] = 5,3047

Arredondando N (N = 6) e relaxando Ω_{c} na segunda equação, temos Ω_{c} = 0,7662.

Obtendo os pólos a partir da divisão equidistante do círculo de raio 0,7662, temos o sistema representativo do filtro descrito por:

\begin{aligned}H_{a}(s) & = \frac{0,20238}{(s^{2} + 0,396s + 0.5871)(s^{2} + 1.083s + 0.5871)} \\ & × \frac{1}{(s^{2} + 1.4802s + 0.5871)} \end{aligned}

Aplicando o mapeamento da transformação bilinear (Equação 8.16), temos:

\begin{aligned}H(z) & = \frac{0,0007378(1 + z^{−1} )^{6}}{(1 − 1,2686z^{−1} + 0.7051z^{−2} )(1 − 1,0106z^{−1} + 0.3583z^{−2} )} \\ & × \frac{1}{(1 − 0,9044z^{−1} + 0.2155z^{−2} )} \end{aligned}

8.3.2 Filtro Chebyshev tipo I

O filtro de Chebyshev é baseado minimização da máxima diferença absoluta entre um modelo racional do filtro e a resposta desejada em toda a banda. Esse erro a ser minimizado é chamado erro de Chebyshev.

Se considerarmos uma minimização do erro de Chebyshev apenas na banda passante e uma aproximação de Taylor na banda de rejeição (em torno de Ω = ∞), o resultado será a seguinte equação da magnitude quadrática:

|H_{a}(ȷΩ)|^{2} = \frac{1}{1 + [ϵC_{N} ( \frac{ȷΩ}{ȷΩ_{c}} ) ]^{2}}  (8.21)

para um filtro passa-baixa de ordem N, com corte em Ω_{c}. O valor ϵ é um parâmetro de controle que se relaciona com δ_{1} apresentado na Inequação 8.2 através da expressão:

1 − δ_{1} = \frac{1}{\sqrt{1 + ϵ^{2}}}

Este parâmetro é usado como referência para a minimização do erro de Chebyshev.

A função C_{N}(Ω) é chamada de polinômio de Chebyshev e é usada em teoria de aproximação. Apesar de ser um polinômio de ordem N, é melhor definida em termos trigonométricos:

C_{N}(Ω) = cos(N cos^{−1} (Ω))  (8.22)

Tal polinômio é uma função de valor real (o que garante que a magnitude quadrática da Equação 8.21 também seja). Tal relação é recursiva, ou seja:

\begin{aligned}C_{0}(Ω) & = 1 \\ C_{1}(Ω) & = Ω \\ C_{N+1} (Ω) & = 2ΩC_{N}(Ω) − C_{N−1} (Ω) \end{aligned}

Por exemplo:

C_{2}(Ω) = 2Ω^{2} − 1
C_{3}(Ω) = 4Ω^{3} − 3Ω
C_{4}(Ω) = 8Ω^{4} − 8Ω^{2} + 1

Graficamente, o filtro de Chebyshev tipo I (descrito pela Equação 8.21) tem o seguinte comportamento:

Figura 8.8: Comportamento de um filtro passa-baixa Chebyshev tipo I

Note a presença de “ripple” na banda passante e o comportamento monotonicamente decrescente a banda de rejeição: Isso deriva naturalmente do comportamento de C_{N} para −1 ≤ (Ω/Ω_{c}) ≤ +1 é cossenoidal, variando assim entre 0 e 1. Para valores de (Ω/Ω_{c}) fora desse intervalo, o comportamento passa a ser hiperbólico, pois cos^{−1} (Ω/Ω_{c}) passa ser imaginário. Tal comportamento faz com que o filtro resultante seja oscilante (“equi-ripple”) na banda de passagem e monotonicamente decrescente na banda de rejeição.

Também observe que para Ω = Ω_{c}, o filtro apresenta atenuação de 1−δ_{1}^{2}. A distribuição dos pólos é obtida de modo análogo ao desenvolvido na

Seção 8.3.1. A posição dos pólos é obtida a partir de:

C_{N} ( \frac{s}{jΩ_{c}} ) = ±\frac{j}{ϵ}

Manipulando algebricamente essa expressão, temos:

s_{p}_{k} = Ω_{c} [− sinh(v_{0}) sin( \frac{(2k + 1)π}{2N} ) ] +ȷΩ_{c} [+ cosh(v_{0}) cos( \frac{(2k + 1)π}{2N} ) ] ,  0 ≤ k ≤ 2N − 1  (8.23)

com

v_{0} = \frac{sinh^{−1} ( \frac{1}{ϵ})}{N}

Geometricamente no plano s, estão dispostos de maneira equidistante em uma elipse como mostra a figura 8.9.

Figura 8.9: Disposição dos pólos em um filtro Chebyshev tipo I com N = 5, Ω_{c} = 0.8 e ϵ = \sqrt{0.1}. Zeros localizados no infinito.

Os raios menor (a) e maior (b) são definidos por:

\begin{aligned}α & = ϵ^{−1} + \sqrt{1 + ϵ^{−2}} \\ a & = \frac{1}{2} (α^{1/N} − α^{−1/N} ) \\ b & = \frac{1}{2} (α^{1/N} + α^{−1/N} ) \end{aligned}

8.3.3 Filtro Chebyshev tipo II

Também chamado de filtro inverso de Chebyshev, considera uma aproximação de Taylor na banda passante (em torno de Ω = 0) e uma minimização do erro de Chebyshev apenas na banda de rejeição. Disso resulta a seguinte equação da magnitude quadrática:

|H_{a}(ȷΩ)|^{2} = \frac{1}{1 + [ϵC_{N} ( \frac{ȷΩ_{c}}{ȷΩ} ) ]^{−2}} = \frac{[ϵC_{N} ( \frac{ȷΩ_{c}}{ȷΩ} ) ]^{2}}{1 + [ϵC_{N} ( \frac{ȷΩ_{c}}{ȷΩ} ) ]^{2}}  (8.24)

Graficamente, o comportamento da magnitude quadrática desse filtro passa-baixa é:

Figura 8.10: Comportamento de um filtro passa-baixa Chebyshev tipo II

A magnitude quadrática desse filtro apresenta comportamento invertido àquele encontrado no filtro Chebyshev tipo I. Diferente daquele filtro, o filtro inverso de Chebyshev possui zeros localizados em região não-infinita do plano s, e que são encontrados a partir de:

C_{N} ( \frac{ȷΩ_{c}}{ȷΩ} ) = 0

o que implica em:

s_{z}_{k} = \frac{1}{cos( \frac{(2k+1)π}{2N} )}  (8.25)

Já os pólos estão localizados exatamente no recíproco daqueles pólos do filtro Chebyshev tipo II. Apesar da facilidade de localização desses pólos, eles não apresentam uma forma circular onde estariam dispostos, como mostra a Figura 8.11.

Figura 8.11: Disposição dos pólos e zeros em um filtro Chebyshev tipo II com N = 6, Ω_{c} = 0.8 e ϵ = \sqrt{0.1}. Cada zero tem multiplicidade 2.

Observação: quando N é ímpar, aparecerão dois zeros localizados em ∞. O sistema final, que compõe a definição do filtro, possui todos os zeros distintos mas com multiplicidade unitária (ao invés de multiplicidade 2, como mostrado na Figura 8.11. Para os pólos, usamos aqueles localizados à esquerda do eixo imaginário.

8.3.4 Filtro Elíptico

Finalmente se desejamos um comportamento “equi-ripple” tanto na banda passante quando na banda de rejeição, podemos usar o filtro Elíptico, cuja descrição da magnitude quadrática (como nos demais filtros, função contínua de valores reais):

|H_{a}(ȷΩ)|^{2} = \frac{1}{1 + [ϵG_{N} ( \frac{ȷΩ_{c}}{ȷΩ} ) ]^{−2}}  (8.26)

onde G_{N}(Ω) é uma função elíptica de ordem N (também chamada de função elíptica jacobiana).

Graficamente, seu comportamento é:

Figura 8.12: Comportamento de um filtro passa-baixa Elíptico

O filtro Elíptico baseia-se então na minimização do erro de Chebyshev nas bandas de passagem e rejeição. Não apresentaremos as deduções para tal filtro, pois sua manipulação matemática está além do escopo dessa apostila.

8.3.5 Comparativo

Quando comparamos os filtros clássicos IIR apresentados, notaremos que para uma dada especificação, a ordem do filtro Elíptico será sempre menor do que a ordem do filtro de Chebyshev, que será menor do que a ordem do filtro de Butterworth.

Isso ocorre pela aproximação do erro de Chebyshev realizada tanto na banda passante quando na banda de rejeição para o filtro Elíptico. Filtros monotônicos ou com regiões de monotonicidade sempre exigirão ordens mais elevadas para tornar a transição entre regiões passante e de rejeição mais abrupta.

8.4 Conversões em frequência de filtros

Até agora analisamos filtros do tipo passa-baixa. Isso ocorre porque podemos convertê-lo algebricamente em filtros do tipo passa-alta, passa-banda e rejeita-banda. Mais ainda, podemos definir um filtro protótipo digital do tipo passa-baixa (para uma determinada ordem N) com uma frequência de corte ω_{c} = π/2 e mapeá-la em filtros passa-baixa em outra frequência de corte.

O ponto importante é que não conseguimos alterar a ordem do filtro por transformação algébrica. Tal alteração exige novo projeto do filtro protótipo analógico e sua aproximação para filtro digital.

Considere um filtro protótipo passa-baixa definido por H_{l}(z). Desejamos transformá-lo em outro filtro H_{d}(Z). Note que procuramos um mapeamento algébrico tal que z ↔ Z.

Como as funções racionais que definem os filtros são descritas em termos de z^{−1} e, naturalmente, Z^{−1} , definiremos o mapeamento entre tais variáveis por:

\begin{aligned}z^{−1} & = G(Z^{−1} ) \\ Z^{−1} & = G^{−1} (z^{−1} ) \end{aligned}  (8.27)

de tal forma que:

H_{d}(Z) = H_{l}(z)

= H_{l} ( \frac{1}{z^{−1}} )

= H_{l} ( \frac{1}{G(Z^{−1} )})

Como lidamos com funções racionais, queremos que a função de mapeamento também seja racional, o que implica

H_{d}(Z) = H_{l} (G^{−1} (Z^{−1} ))  (8.28)

Além desse requisito, é necessário que os todos pólos de H_{l}(z), internos ao círculo unitário |z| = 1 (e por, H_{l}(z) é estável), sejam mapeados no interior do círculo unitário |Z| = 1 para H_{d}(Z).

Ou seja

\begin{aligned}z^{−1} & = G(Z^{−1} ) \\ e^{−ȷθ} & = |G (e^{−ȷω} )| e^{ȷ∠(e^{−ȷω} )} \end{aligned}

Tal relação é válida se

\begin{aligned}|G (e^{−ȷω} )| & = 1 \\ θ & = −∠ (e^{−ȷω} ) \end{aligned}  (8.29)

Note que essa transformação é equivalente a um filtro passa-tudo (Equação 6.5), uma vez que realizamos apenas modificações de fase mantendo os ganhos e atenuações definidos no projeto do filtro digital protótipo passabaixa.

Assim, as funções de mapeamento devem ser da forma:

G (Z^{−1} ) = ± ∏_{k=1}^{P} ( \frac{Z^{−1} − α_{k}}{1 − α_{k}Z^{−1}} )  (8.30)

onde |α_{k}| < 1 para garantir estabilidade e P é a quantidade de transformações desejadas.

A ordem P depende da quantidade de transformações para obter o filtro desejado: por exemplo, para obtermos um filtro passa-banda, devemos pensar que o mesmo pode ser entendido como uma operação de filtragem passa-baixa e passa-alta sobre o sinal. Logo precisamos transformar o filtro protótipo em filtro passa-baixa e em filtro passa-alta para assim obter o efeito desejado (P = 2).

As transformações do filtro digital protótipo passa-baixa, com frequência de corte em θ_{p} são:

• Passa-baixa com frequência de corte em ω_{p}:

z^{−1} = \frac{Z^{−1} − α}{1 − αZ^{−1}} ,  α = \begin{matrix}sen & ( \frac{θ_{p}+ω_{p}}{2} ) \\ sen & ( \frac{θ_{p}−ω_{p}}{2} ) \end{matrix}  (8.31)

• Passa-alta com frequência de corte em ω_{p}:

z^{−1} = − ( \frac{Z^{−1} − α}{1 − αZ^{−1}} ) ,  α = \begin{matrix}cos & ( \frac{θ_{p}+ω_{p}}{2} ) \\ cos & ( \frac{θ_{p}−ω_{p}}{2} ) \end{matrix}  (8.32)

• Passa-banda com frequências de corte em ω_{1} e ω_{2} (ω_{1} < ω_{2})

z^{−1} = \frac{Z^{−2} − ( \frac{2αk}{k+1} ) Z^{−1} + ( \frac{k−1}{k+1} )}{( \frac{k−1}{k+1} ) Z^{−2} − ( \frac{2αk}{k+1} ) Z^{−1} + 1} ,

α = \begin{matrix}cos & ( \frac{ω_{2}+ω_{1}}{2} ) \\ cos & ( \frac{ω_{2}−ω_{1}}{2} ) \end{matrix}  k = cot( \frac{ω_{2} − ω_{1}}{2} ) tan( \frac{θ_{p}}{2})

(8.33)

• Rejeita-banda com frequências de corte em ω_{1} e ω_{2} (ω_{1} < ω_{2})

z^{−1} = \frac{Z^{−2} − ( \frac{2αk}{1+k} ) Z^{−1} + ( \frac{1−k}{1+k} )}{( \frac{1−k}{1+k} ) Z^{−2} − ( \frac{2αk}{1+k} ) Z^{−1} + 1} ,

α = \begin{matrix}cos & ( \frac{ω_{2}+ω_{1}}{2} ) \\ cos & ( \frac{ω_{2}−ω_{1}}{2} ) \end{matrix}  k = cot( \frac{ω_{2} − ω_{1}}{2} ) tan( \frac{θ_{p}}{2})

(8.34)

Assim, essas transformações exigem apenas manipulação algébrica da função racional H_{l}(z), substituindo a variável z^{−1} pelo função racional de transformação desejada.

8.5 Filtros FIR

Os filtros FIR são filtros de resposta finita (“finite impulse response”). Isso significa que o comprimento de sua resposta ao impulso é finita. Assim, podemos empregar a Transformada Direta de Fourier (DFT, na Seção 7, ou sua implementação eficiente FFT) para determinação dos seus coeficientes a partir da especificação do filtro.

Outra vantagem desses filtros é que os mesmos podem apresentar fase linear (o que é impossível para filtros IIR). A fase linear aparece quando há padrões simétricos dos coeficientes de h[n].

Assim, para um filtro FIR, cuja transformada Z é dada por:

H(z) = ∑_{n=0}^{N−1} h[n]z^{−n}  (8.35)

ou

H(e^{ȷω}) = ∑_{n=0}^{N−1} h[n]e^{−ȷωn}  (8.36)

onde N é a ordem do filtro e, naturalmente, o seu comprimento.

Para filtros FIR, sempre teremos N − 1 zeros e N − 1 pólos situados em z = 0.

8.5.1 Fase linear

Filtros com fase linear garantem que não haja distorção de fase devido ao deslocamento temporal das diversas componentes espectrais do sinal de entrada, pois todas essas componentes espectrais são atrasadas (no tempo) pela mesma quantidade de tempo.

No caso de filtros do tipo FIR, é possível definir relações envolvendo h[n] que gerem filtros com fase linear. Considere a resposta em frequência do filtro:

\begin{aligned}H(e^{ȷω}) & = R(ω) + ȷI(ω) \\ & = A(ω)e^{ȷθ(ω)} \end{aligned}

onde:

\begin{aligned}R(ω) & = ℜ\{H(e^{ȷω})\}, \\ I(ω) & = ℑ\{H(e^{ȷω})\}, \\ A(ω) & = \sqrt{R(ω)^{2} + I(ω)^{2}} , \\ θ(ω) & = arctan( \frac{I(ω)}{R(ω)} ) \end{aligned}

Trabalhar com M(ω) e θ(ω) não é fácil, pois a primeira não é uma função real analítica (ver Seção 5) e θ(ω) não é contínua. Um meio de contornar isso, é usar funções análogas que mantem relação com estas. Assim, temos:

|A_{c}(ω)| = A(ω)
θ_{c}(ω) = versão contínua de θ(ω)

Para que o filtro tenha fase linear, é necessário que θ_{c}(ω) seja genericamente definido por:

θ_{c}(ω) = K_{1} + K_{2}ω  (8.37)

Isso significa que

\begin{aligned}H(e^{ȷω}) & = A_{c}(ω)e^{θ_{c}(ω)} \\ & = A_{c}(ω)e^{(K_{1}+K_{2}ω)} \end{aligned}  (8.38)

Reescrevendo a equação 8.36, temos:

\begin{aligned}H(e^{ȷω}) & = e^{−ȷωM} ∑_{n=0}^{N−1} h(n)e^{ȷω(M−n)} \\ & = e^{−ȷωM} \{h[0]e^{ȷωM} + h[1]e^{ȷω(M−1)} + … + h[N − 1]e^{ȷω(M−N+1)} \} \end{aligned}

Se definirmos o valor M como sendo a metade de N, temos:

M = \frac{N − 1}{2}

ou

M = N − M − 1

Temos:

H(e^{ȷω}) = e^{−ȷωM} { (h[0] + h[N − 1]) cos(ωM)+
ȷ(h[0] − h[N − 1]) sen(ωM)+
(h[1] + h[N − 2]) cos(ω(M − 1))+
ȷ(h[1] − h[N − 2]) sen(ω(M − 1))+
⋯}

(8.39)

Note que dependendo dos valores de h[n], o termo entre chaves na equação 8.39 pode ser puramente real ou imaginário. Para que tal definição de filtro FIR tenha fase linear (ou seja, as equações 8.39 e 8.38 sejam iguais e, consequentemente, A_{c}(ω) ∈ ℝ) temos algumas situações:

Caso 1: Se K_{1} = 0 (naturalmente K_{2} = M) e N é par, temos:

\begin{aligned}H(e^{ȷω}) & = \{ ∑_{n=0}^{N/2−1} 2h[n] cos(ω(M − n))\} e^{−ȷωM} \\ & = A_{c}(ω)e^{−ȷωM} \end{aligned}

pois,

h[n] = h[N − n − 1]  (8.40)

é um caso de simetria par de h[n] (em torno de M = \frac{N−1}{2} ). Caso 2: Se K_{1} = 0 e N é ímpar, temos:

\begin{aligned}H(e^{ȷω}) & = \{ ∑_{n=0}^{M−1} 2h[n] cos(ω(M − n)) + h[M]\} e^{−ȷωM} \\ & = A_{c}(ω)e^{−ȷωM} \end{aligned}

Caso 3: Se K_{1} = \frac{π}{2} e N é par, temos:

\begin{aligned}H(e^{ȷω}) & = \{ ∑_{n=0}^{N/2−1} 2h[n] sen(ω(M − n))\} e^{−ȷωM} \\ & = ȷA_{c}(ω)e^{−ȷωM} \end{aligned}

pois,

h[n] = −h[N − n − 1]  (8.41)

é um caso de simetria ímpar de h[n] (em torno de M = \frac{N−1}{2} ). Caso 4: Se K_{1} = \frac{π}{2} e N é ímpar, temos:

\begin{aligned}H(e^{ȷω}) & = \{ ∑_{n=0}^{M−1} 2h[n] sen(ω(M − n))\} e^{−ȷωM} \\ & = ȷA_{c}(ω)e^{−ȷωM} \end{aligned}

Sinteticamente temos as definições de A_{c}(ω) para os filtros de fase linear:

Tipo 1: A_{c}(ω) = ∑_{n=0}^{M−1} 2h[n] cos(ω(M − n)) + h[M]  (8.42)

Tipo 2: A_{c}(ω) = ∑_{n=0}^{N/2−1} 2h[n] cos(ω(M − n))  (8.43)

Tipo 3: A_{c}(ω) = ∑_{n=0}^{M−1} 2h[n] sen(ω(M − n))  (8.44)

Tipo 4: A_{c}(ω) = ∑_{n=0}^{N/2−1} 2h[n] sen(ω(M − n))  (8.45)

A tabela 8.1 mostra relações espectrais que podemos sobre filtros que possuem fase linear (lembrando que o termo e^{−ȷωM} de H(e^{ȷω}) representa apenas um atraso de M amostras no domínio do tempo. As relações naquela tabela são obtidas diretamente das expressões A_{c}(ω) apresentadas nos parágrafos anteriores.

Cabe reforçar um aspecto importante: quando N é impar, isso implica em M não ser inteiro. Logo deslocamentos temporais envolvendo M amostras não são possíveis. Para produzir tais deslocamentos, é necessário operações auxiliares, como aplicar operações simétricas de escala temporal (“esticasse” e “comprimisse” a sequência por um fator de 2).

Tipo  Característica
Relação  Significado
1 A_{c}(ω) = A_{c}(−ω) A_{c}(ω) é par em relação a ω = 0
A_{c}(π + ω) = A_{c}(π − ω)  A_{c}(ω) é par em relação a ω = π
A_{c}(ω + 2π) = A_{c}(ω)  A_{c}(ω) é periódico, com período 2π
2 A_{c}(ω) = A_{c}(−ω) A_{c}(ω) é par em relação a ω = 0
A_{c}(π + ω) = −A_{c}(π − ω)  A_{c}(ω) é ímpar em relação a ω = π
A_{c}(ω + 4π) = A_{c}(ω)  A_{c}(ω) é periódico, com período 4π
3 A_{c}(ω) = −A_{c}(−ω) A_{c}(ω) é ímpar em relação a ω = 0
A_{c}(π + ω) = −A_{c}(π − ω)  A_{c}(ω) é ímpar em relação a ω = π
A_{c}(ω + 2π) = A_{c}(ω)  A_{c}(ω) é periódico, com período 2π
4 A_{c}(ω) = −A_{c}(−ω) A_{c}(ω) é ímpar em relação a ω = 0
A_{c}(π + ω) = A_{c}(π − ω)  A_{c}(ω) é par em relação a ω = π
A_{c}(ω + 4π) = A_{c}(ω)  A_{c}(ω) é periódico, com período 4π

Tabela 8.1: Características de A_{c}(ω) para filtros de fase linear

8.5.2 FIR por amostragem em frequência

Uma alternativa para obter a resposta ao impulso h[n] de um filtro FIR é observar a equação 8.36. Escolhendo L (L ≥ N) amostras igualmente espaçadas de H(e^{ȷω}) podemos calcular h[n] (0 ≤ n < N) por transformada inversa discreta de Fourier, ou seja:

h[n] = ℱ_{DT}^{−1}\{X[k]\} = ℱ_{DT}^{−1}\{X(e^{−ȷ( \frac{2πk}{L} )} )\},  0 ≤ k < L  (8.46)

Para L > N, h[n] naturalmente conterá L-N zeros no seu final, uma vez que estamos suavizando a descrição de H(e^{ȷω}).

É importante lembrar que esse processo de amostragem não garante a obtenção de filtros com fase linear, uma vez que não há qualquer restrição imposta a h[n] ou H(e^{ȷω}) na equação 8.46. Entretanto, podemos usar as definições de A_{c}(ω) (equações 8.42, 8.43, 8.44 e 8.45) para determinar h[n]. Usando tais equações, podemos montar sistemas de equações lineares relacionando A_{c}ω = A_{c}2πk/L com h[n].

8.5.3 FIR por janela

Outro método de projetar um filtro FIR é usar um filtro de resposta infinita h_{d}[n] - obtido a partir de uma resposta em frequência desejada (H_{d}(e^{ȷω})) - e truncá-lo mantendo suas primeiras N amostras. Assim, a versão aproximada do filtro (h[n]) apresenta duração finita.

Matematicamente isso significa que:

h[n] = h_{d}[n]w[n]  (8.47)

onde w[n] é uma seguência conhecida por janela. A truncagem mais simples, que representa a manutenção de uma quantidade finita (N) de amostras de h_{d}[n] é definida como janela retangular, ou seja:

w[n] = \{ \begin{matrix}1, & 0 ≤ n ≤ N − 1 \\ 0, & c.c. \end{matrix}

No domínio espectral, a equação 8.47 é representada por uma convolução periódica (3.30), ou seja:

H(e^{ȷω}) = \frac{1}{2π} ∫_{−π}^{+π} H_{d}(e^{ȷθ})H_{d}(e^{ȷ(ω−θ)} )dθ

e, para a janela retangular,

W (e^{ȷω}) = ∑_{n=0}^{N−1} e^{−ȷωn} = e^{−ȷω((N−1)/2)} \frac{sen(ωN/2)}{sen(ω/2)}

Algumas propriedades espectrais desse truncamento podem ser vistas na figura abaixo:

Figura 8.13: Magnitude e fase de janela retangular (N = 8 e N = 24)

Note que a largura do primeiro lóbulo é 4π/N (considerando a simetria existente para a curva de magnitude). Assim, com o aumento de N, a largura de banda nula é reduzida (grandezas inversamente proporcionais). Percebese também que o aumento de N praticamente não influencia a amplitude dos lóbulos secundários (esses lóbulos secundários serão responsáveis pela capacidade de atenuação do filtro enjanelado, algo que veremos na sequência).

Graficamente isso significa que o filtro efetivo torna-se uma aproximação do filtro ideal conforme mostra a figura abaixo:

Figura 8.14: Efeito da aplicação de janela retangular (W (e^{ȷω}), com N = 32) sobre filtro ideal (H_{d}(e^{ȷω})

Há diferentes formas de gerar h_{d}[n]. Uma delas é obter a resposta ao impulso de um filtro ideal. Para exemplificar, considere o filtro ideal do tipo passa-baixa, com frequência de corte digital igual a ω_{c}. Isso significa:

H_{d}(e^{ȷω}) = \{ \begin{matrix}1, & |ω| < ω_{c} \\ 0, & ω_{c} < |ω| < π \end{matrix}

Calculando sua resposta ao impulso por sua Transformada Inversa discreta de Fourier (Equação 3.7), obtemos (ver equação 3.10):

h_{d}[n] = FT_{DT}^{−1}\{H_{d}(e^{ȷω})\} = \frac{sen(ω_{c}n)}{πn}

Além de h_{d}[n] ser não causal, apresenta duração infinita. Como efetuaremos um truncamento de N amostras sobre h_{d}[n], vamos considerar a versão atrasada do filtro h_{d_{c}}[n], que se tornará causal após a aplicação da janela, ou seja:

h_{d_{c}}[n] = h_{d}[n − (N − 1)/2]

onde N é um número ímpar.

Para N par, o atraso passa a ser não inteiro. Logo, a alternativa é calcular h_{d_{c}}[n] diretamente de h_{d}[n], ou seja:

h_{d_{c}}[n] = \frac{sen[ω_{c}(n − (N − 1)/2)]}{π(n − (N − 1)/2)}

Como já sabemos, tal atraso de (N −1)/2 amostras produzirá uma distorção de fase linear. Aplicando uma janela para truncar esse filtro de duração infinita através da equação 8.47, obtemos h[n]. A tabela 8.2 mostra um conjunto de janelas. A geração destas janelas é baseada na maximização da diferença entre as amplitude do lóbulo primário e do lóbulo secundários. Outras estratégias podem ser usadas para definir w[n] que manipule a larguda de banda nula do lóbulo principal, e as amplitudes dos lobulos.

Tipo  Equacionamento
Retangular  w[n] = 1,  0 ≤ n ≤ N − 1
Triangular  w[n] = \{ \begin{matrix}\frac{2n}{N−1} , & 0 ≤ n ≤ \frac{N−1}{2} \\ 2 − \frac{2n}{N−1} , & \frac{N−1}{2} ≤ n ≤ N − 1 \end{matrix}
Hanning  w[n] = 0,5 [1 − cos( \frac{2πn}{N − 1} ) ] ,  0 ≤ n ≤ N − 1

Hamming  \begin{aligned}w[n] & = 0,54 − 0,46 cos( \frac{2πn}{N − 1} ) , \\ 0 & ≤ n ≤ N − 1 \end{aligned}

Blackman \begin{aligned}w[n] & = 0,42 − 0,5 cos( \frac{2πn}{N − 1} ) + 0,08 cos( \frac{4πn}{N − 1} ) , \\ 0 & ≤ n ≤ N − 1 \end{aligned}

Tabela 8.2: Tipos de janela

Usando o filtro atrasado ideal h_{d_{c}}[n], podemos comparar os efeitos das janelas sobre os lóbulos principal e secundário. Na figura abaixo é possível notar que as janelas não-retangulares apresentam maior largura de banda do lóbulo principal. Em contraponto a isso, a magnitude dos lóbulos laterais é significativamente menor. Tais diferenças são sumarizadas na tabela 8.3.

Figura 8.15: Comparação entre janelas de truncamento (N = 51): Descrição temporal (w[n] e espectral W (e^{ȷω}))

Para facilitar a compreensão do efeito dessas janelas no truncamento, a Tipo Diferença entre amplitudes dos lóbulos principal e secundário (dB)

Largura de banda principal Atenuação mínima na banda de rejeição (dB)

Retangular  -13  \frac{4π}{N}  -21
Triangular  -25  \frac{8π}{N}  -25
Hanning  -31  \frac{8π}{N}  -44
Hamming  -41  \frac{8π}{N}  -53
Blackman  -57  \frac{12π}{N}  -74

Tabela 8.3: Características espectrais das janelas

figura abaixo trás o resultado da aplicação dessas janelas (descritas na tabela 8.2) na equação 8.47. Considera-se aqui que h_{d}[n] foi obtido por Transformada Inversa discreta de Fourier de um filtro passa-baixa ideal (Equação 3.10), como visto no início desta seção.

Primeiramente devemos notar a inclinação dos filtros no ponto w = π/2. A janela retangular tem transição mais abrupta devido a sua largura de banda (do lóbulo principal) ser mais estreita. Entretanto, a atenuação produzida pelo filtro com janela de Blackman, por exemplo, é mais acentuada na banda de rejeição.

Figura 8.16: Filtro FIR passa-baixa (w_{c} = π/2) modelado a partir de janelas de truncamento

Quando analisamos as janelas de Hanning e de Hamming (cujas sequências w[n] são muito similares), notamos que essa leve diferença na sua definição fez com que a atenuação na banda de rejeição seja maior na janela de Hanning. A janela de Hamming é construída de tal forma que a amplitude do lóbulo lateral imediatamente vizinho ao lóbulo principal seja significativamente menor do que os demais.

Basicamente a construção das janelas é feita de tal forma a atenuar os efeitos da truncagem de h_{d}[n]. Adicionalmente uma ou mais características espectrais são idealizadas na definição de w[n] (como mostra a construção da janela de Hamming).