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