Você está na página 1de 162

Notas baseadas em referncias bibliogrficas:

[1] Vinay K. Ingle and John G. Proakis (2011) Proakis & Monalakis (1989): Digital Signal Processing
Using MATLAB.
[2] Monson Hayes (2006): Processamento Digital de Sinais Coleo Schaum. Bookman Artmed
Editora, Porto Alegre, RS.
[3] Oppenheim & Schaffer (1989): Discrete-Time Signal Processing. Prentice-Hall, Inc, NJOppenheim & Schaffer (1999): Discrete-Time Signal Processing. 2.ed. Prentice- Hall, Inc, NJ.
Alm de notas de aula do prof. Carlos Alexandre Mello

FILTROS DIGITAIS PARTE I


DSP Valner - 2014

Filtros Digitais
2

Filtros Digitais so sistemas que processam


sinais...!!!
So influenciados por fatores como tipo de
filtros: FIR, IIR e a forma de implementao:
estruturas
Diferentes estruturas podem ditar diferentes
estratgias de projeto.
Implementados em Hardware ou Software

Filtros
3

Filtros digitais so usados em geral para dois


propsitos:
1o separao de sinais que foram combinados, por
exemplo, modulados;
2o restaurao de sinais que foram distorcidos de
algum modo, por exemplo, um rudo como o
batimento cardaco de um beb no tero materno.
Filtros analgicos quando comparados aos digitais,
so em geral baratos, rpidos e tem uma grande
faixa dinmica de amplitude e frequncia. Porm, em
comparao, filtros digitais so vastamente superior
em desempenho.

Componentes Bsicos
4

Somadores, multiplicadores e elementos de


retardo

Exemplo
5

Filtros
6

De modo geral, o modo de implementar um


filtro digital pela convoluo do sinal de
entrada pela resposta ao impulso do filtro.
Para implementar um filtro recursivo por
convoluo primeiro necessrio calcular a
resposta ao impulso deste filtro.

Filtros
7

Em a) um degrau em b) sua
integral - o degrau em c) e d) a
resposta no domnio da frequncia.
A escala linear mostra melhor o
ripple e frequncia de corte,
enquanto a escala em decibel
mostra melhor a atenuao da
banda de corte.

A frequncia de corte tomada


a 3dB, o que significa a amplitude
reduzida para 0.707 (e a potncia
reduzida a 0.5).

Parmetros no domnio do
tempo
8

Risetime - tempo de subida (10% a 90% do nvel


de amplitude), resposta ao degrau to rpida
quanto possvel

Parmetros domnio tempo


9

Overshoot - deve
ser evitado, porque
muda a amplitude
das amostras do
sinal.
Fase linear
desejvel para que
a rampa de subida
seja simtrica.

Parmetros no domnio da
frequncia
10

A Banda de transio entre a banda passante e a


banda de corte deve ser a mais estreita possvel

Parmetros no domnio da
frequncia
11

ripple na banda
de passagem
Atenuao da
banda de corte
em dB.

Estruturas de Filtros IIR


12

A equao de sistemas de filtros IIR de


ordem N para aN 0:

e a equao de diferenas:

Estruturas de Filtros IIR


13

Estruturas de Filtros IIR


14

Estruturas de Filtros IIR


15

Implementao
16

A equao de diferenas implementada


diretamente com duas partes: moving
average part e recursive part (ou
equivalentemente as partes do numerador e
denominator respectivamente).
Assim, surgem duas estruturas: forma direta
I e forma direta II.

Exemplo Forma direta I


17

Seja M=N=4:

Exemplo Forma direta I


18

Exemplo Forma direta II


19

Seja M=N=4:

A funo filter do MATLAB implementa a forma direta II. Veja:


temos menos retardos nessa estrutura!!

Exemplo Forma direta II


20

Estrutura tipo Cascata


21

A funo de sistema H(z) escrita como um


produto de subsistemas de segunda ordem:

Exemplo de estrutura em
cascata
22

No exemplo anterior com M=N=4:

Estrutura no Matlab: Veja as funes dir2cas e


cas2dir (no livro texto).

Exemplo de estrutura em
cascata
23

Exemplo de estrutura em
cascata
24

Exemplo de estrutura em
cascata
25

Estrutura paralela
26

Nessa estrutura a funo H(z) escrita como uma


soma de seces de segunda ordem usando uma
expanso em fraes parciais.

Estrutura paralela
27

Exemplo : quarta ordem

Estrutura paralela
28

Estrutura paralela
29

Estruturas Filtros FIR


30

Estruturas para filtros FIR


31

Funo de sistema:

Resposta ao Impulso:

Equao de diferenas:

A ordem do filtro M-1. Veja que s temos coeficientes no numerador.


As estruturas de filtros FIR so sempre estveis e mais simples que as IIR.
Filtros FIR podem ser projetados para ter fase linear.

Exemplo
32

Exemplo
33

Filtros FIR
34

Estruturas Filtros FIR


35

a.

Forma direta: semelhante a apresentada


anteriormente. Considere um filtro de ordem 4
(M=5). Pode ser implementada no matlab com a
funo filter.

Estruturas Filtros FIR


36

b.

Estrutura em cascata: semelhante a apresentada


anteriormente. Consiste em cascatear subsistemas
de segunda ordem. Um exemplo para M=7 pode ser
observado na figura. O livro apresenta funes
dir2cas e cas2dir que podem ser utilizadas.

Fase Linear de Filtros


37

O que um filtro de fase linear?


fase linear" refere-se a condio onde a resposta
da fase do filtro linear, uma linha reta, funo da
frequncia (excluindo +/- 180 graus). Isso resulta
em obter o mesmo delay em todas as frequncias.
Portanto o filtro no causar distoro de fase ou
distoro de atraso. A ausncia de distoro de
fase ou atraso pode ser uma vantagem crtica de
filtros FIR sobre IIR e filtros analgicos em certos
sistemas, por exemplo, em modems digitais.

Estrutura Fase Linear


38

Em filtros seletivos de frequncias (como passa-baixas)


geralmente importante que a fase tenha uma relao linear na
banda de passagem com a frequncia do tipo:
onde =0 ou /2 e uma constante.
Para um filtro causal com resposta ao impulso dentro do
intervalo [0, M1], a condio de fase linear impe as seguintes
condies de simetria a h(n):

Respectivamente resposta ao impulso simtrica e anti-simtrica.

Estrutura Fase Linear


39

Exemplo: considere a equao de diferenas:

com resposta ao impulso simtrica:

Essa estrutura utiliza 50% a menos multiplicaes


que a forma direta.

Fase Linear - FIR


40

Fase Linear e no linear


41

Fase Linear - FIR


42

Fase Linear - FIR


43

Fase Linear - FIR


44

Delay ideal

Fase Linear - FIR


45

Fase Linear - FIR


46

Fase Linear - FIR


47

Fase Linear - FIR


48

Fase Linear - FIR


49

Fase Linear - FIR


50

Fase Linear - FIR


51

Fase Linear - FIR


52

Fase Linear - FIR


53

Fase Linear - FIR


54

Fase Linear - FIR


55

Fase Linear - FIR


56

Fase Linear - FIR


57

Fase Linear - FIR


58

Fase Linear - FIR


59

IV

Exemplo
60

Faltou o sinal de +
Seja o filtro FIR
Escreva uma estrutura na forma direta, de fase
linear e em cascata.
Forma direta
Fase Linear

Exemplo
61

Seja o filtro FIR


Cascata Matlab:

Filtros FIR Passa baixas e


Passa altas
62

Filtros FIR Passa baixas e


Passa altas
63

Filtros FIR Passa baixas e


Passa altas
64

Filtros FIR Passa baixas e


Passa altas
65

10
10

Magnitude (dB)

Magnitude (dB)

0
-10
-20
-30

-20
-30
-40

-40
-50

-10

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

-50

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

100
80

Phase (degrees)

Phase (degrees)

-20
-40
-60
-80
-100

60
40
20

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

Filtros FIR Rejeita banda


(notch) e Passa banda
66

Filtros
67

Filtros Passa Altas, Passa Banda e Rejeita


Banda Podem ser desenvolvidos a partir de
filtros Passa Baixas, atravs de inverso
espectral e reverso espectral.

O prximo slide traz um exemplo de


inverso espectral

Inverso espectral
68

A inverso
espectral
realizada pela
inverso do
sinal original e
soma do
impulso
unitrio no
ponto de
simetria se
houver.

Inverso espectral
69

Ou ainda, a inverso espectral realizada pela


subtrao de um passa tudo por um passa baixas

Inverso espectral
70

A inverso espectral roda a resposta a


impulso no sentido vertical, de modo que a
banda de passagem vira banda de bloqueio,
e vice-versa.
Em outras palavras, este procedimento
transforma um filtro passa-baixas em um
passa-altas, um passa-altas em um passabaixas, um rejeita faixa em um passa-faixa,
e um passa-faixa em um rejeita faixa.

Inverso espectral Condies


de implementao
71

As restries para o mtodo so:


o kernel do FPB original deve ter simetria leftright (fase nula ou linear). Portanto o kernel deve
ter um nmero mpar de amostras.
o impulso deve ser adicionado exatamente no
centro de simetria.

Outro modo de fazer reverso


espectral
72

Procedimento:
Inverta o sinal
das amostras
pares do kernel
de um FPB

Reverso Espectral
73

Este procedimento roda a resposta em


frequncia na horizontal: 0 torna-se 0,5 e 0,5
torna-se 0.
Mudar o sinal das amostras pares corresponde a
multiplicar o kernel do filtro por um cosseno de
frequncia 0,5fs.
Este procedimento corresponde a deslocar o
espectro do kernel para a posio 0,5fs.

Passa Faixa
74

Rejeita faixa
75

Classificao de Filtros
76

Os filtros digitais so classificados de acordo com seu uso e sua


implementao, e podem ser divididos em trs categorias:
domnio do tempo, domnio da frequncia e custom (adaptados)
Domnio do tempo so usados quando a informao est em
nesse domnio, e so usados para smoothing (alisar), remover nvel
DC, etc.
Domnio da frequncia so usados quando a informao est
contida em amplitude, frequncia e fase de componentes
senoidais, e so usados para separar uma banda de frequncia
de outra. (no fundo o primeiro tambm se encaixa nessa
definio.)

Custom filtros so utilizados quando uma ao especial requerida,


como por exemplo um filtro mais elaborado que os 4 bsicos FPB,
FPA, FRF e FPF.

Filtros
77

Filtros Moving Average (Mdia


Mvel)
78

Por exemplo:

ou por convoluo:

Mdia Mvel : resposta no


tempo
79

Reduo do Rudo
x Resposta ao
Degrau: Filtros
MA so timos
para reduo de
rudo branco
mantendo a
resposta ao
degrau.

Mdia Mvel: Resposta em


frequncia
80

Bom desempenho
do domnio do
tempo implica em
pobre
desempenho no
domnio da
frequncia e viceversa.

Filtro mdia mvel com mltiplas


passagens
81

Teorema do
Limite Central:
Veja: que com 2
passadas
equivale a
triangular e
aumentando,
chegamos a uma
gaussiana;
Vantagem:
VELOCIDADE!

Mdia mvel
82

Repetindo a Mdia mvel, criamos o filtro gaussiano;

Mdia mvel recursivo


83

y[i]= y[i -1]+ x[i + p]- x[i - q]


onde:
p = (M -1)/ 2
q = p +1

Filtros FIR - Matlab


84

fir1 Design a window-based finite


impulse response filter Syntax
b = fir1(n,Wn)
b = fir1(n,Wn,'ftype')
b = fir1(n,Wn,window)
b = fir1(n,Wn,'ftype',window)
b = fir1(...,'normalization')

fir1
85

50

Magnitude (dB)

Exemplo: passabanda de ordem 48, entre as


especificadas:
b = fir1(48,[0.35 0.65]);
freqz(b,1,512):
0

-50

-100

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

0.1

0.2

0.3
0.4
0.5
0.6
0.7
0.8
Normalized Frequency ( rad/sample)

0.9

500

Phase (degrees)

0
-500
-1000
-1500
-2000

Matlab- fdatool
86

Matlab- fdatool
87

Matlab- fdatool
88

Matlab- fdatool
89

Matlab- fdatool
90

Matlab- fdatool
91

Matlab- fdatool
92

Matlab- fdatool
93

fdatool
94

[som, Fs] = wavread('ave.wav');

% soundsc(som, Fs)

h = [1 -1]; % h = 1 z-1

y = filter(h, 1, som);

soundsc(y, Fs)

90

-6

72

-22

54

-38

36

-54

18

-70

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

Phase (degrees)

Magnitude (dB)

Magnitude (dB) and Phase Responses


10

fdatool
95

56

-4

42

-11

28

-18

14

% soundsc(som, Fs)
h = [1 -0.9375];
% h = 1 0.9375z-1
y = filter(h, 1, som);

Phase (degrees)

70

soundsc(y, Fs)
-25

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

Magnitude (dB) and Phase Responses


10

90

-6

72

-22

54

-38

36

-54

18

-70

0.1

0.2

0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)

0.8

0.9

Phase (degrees)

Magnitude (dB) and Phase Responses


10

Magnitude (dB)

[som, Fs] = wavread('ave.wav');

Magnitude (dB)

Projeto de filtros

Os filtros so projetados como seletores de


frequncia. H consideraes diferentes se o
projeto voltado para criao de filtros FIR ou
IIR.
O projeto de um filtro digital tem trs passos:
Especificaes: determinada pela aplicao a
qual o filtro est sendo construdo;
Aproximaes: o projeto do filtro
especificamente. Aqui, define-se H(z).
Implementaes: a transcrio da funo de
transferncia para hardware ou software.

Projeto de filtros
97

Em diversas aplicaes como processamento de voz


ou som, filtros digitais so usados para implementar
operaes seletivas de frequncia.
Especificaes so necessrias no domnio da
frequncia em termos de magnitude desejada e
resposta em fase do filtro. Em geral, uma resposta
em fase linear na banda de passagem necessria .
No caso de filtros FIR, possvel encontrar um filtro
de fase exatamente linear. Para filtros IIR, uma fase
linear na banda de passagem no possvel. Assim,
consideraremos especificaes em magnitude
apenas.

Projeto de filtros
98

As especificaes em magnitude podem ser


dadas de duas maneiras:
Especificaes absolutas que impem um
conjunto de requisitos na magnitude da funo
de transferncia, |H(ejw)|.
A segunda forma chamada de especificaes
relativas que impem os requisitos em decibis
(dB) e dada por:

Projeto de Filtros
99

A banda [0, wp] chamada de banda de passagem, e 1 a tolerncia na qual so


permitidas ondulaes (ripples) na resposta ideal da banda de passagem;
A banda [ws, ] chamada de banda de corte, e 2 a tolerncia a qual so permitidas
ondulaes;
A banda [ws, wp] chamada de banda de transio, e no h qualquer restrio na
resposta em magnitude nessa banda.

Projeto de filtros
100

Rp a ondulao na banda de passagem em dB, e


As a atenuao na banda de corte em dB.

Os parmetros das duas especificaes so


relacionados. Como |H(ejw)|max na especificao
absoluta igual a (1 + 1), temos:

Exemplo
101

As especificaes de um FPB definem as ondulaes


da banda de passagem em 0,25 dB e a atenuao na
banda de corte em 50 dB. Determine 1 e 2.
RP = 0,25 = -20 log10 [(1 - 1)/(1 + 1)] 1 =
0,0144
AS = 50 = -20 log10 [2/(1 + 1)] 2 = 0,0032
Especificaes semelhantes podem ser dadas para
outros tipos de filtros seletores de frequncia (como
passa-alta ou passa-faixa).

Projeto de filtros
102

Nosso problema projetar um filtro passa-baixa (i.e., obter sua


funo de transferncia H(z) ou sua equao de diferenas) que
tem uma banda de passagem [0, wp] com tolerncia 1 (ou RP
in dB) e uma banda de corte [wS, ] com tolerncia 2 (ou AS in
dB).
A seguir, vamos projetar filtros digitais FIR. Esses filtros tm
diversas vantagens de projeto e implementao:
A resposta em fase pode ser exatamente linear;
So relativamente simples de projetar j que eles no tm
problemas de estabilidade;
So eficientes para implementar;
A Transformada Discreta de Fourier pode ser usada em sua
implementao.

Projeto de Filtros FIR


103

Tanto a aproximao quanto a implementao podem ser realizadas de


diversas maneiras diferentes
No existe uma soluo nica para o problema de projeto de filtros com um
conjunto prescrito de especificaes.
Podemos mencionar trs diferentes abordagens para o projeto de filtros
analgicos e digitais:
Abordagem analgica, a qual se aplica classe de filtros analgicos.
Abordagem de analgico para digital, em que a motivao projetar um filtro
digital lanando mo de um projeto de filtro analgico.
Abordagem digital direta a qual se aplica classe de filtros digitais.
Para o projeto de filtros FIR, as tcnicas so divididas nas seguintes categorias:
Projeto usando janelas
Mtodo da amostragem em frequncia
Projeto equirriple timo
Projeto de mnimos quadrados

Projeto de Filtros usando janelas


104

Conhecidos como Filtros Windowed-Sinc


Usados para separar uma banda de frequncia
de outra.
So muito estveis, produzem pouca surpresa e
podem ter incrvel desempenho. Bom
desempenho na frequncia e pobre desempenho
no tempo, incluindo excessivo ripple e overshoot
naresposta ao degrau.
So implementados por convoluo, lentos para
executar.

Projeto de Filtros usando janelas


105

Projeto de Filtros usando janelas


106

Projeto de Filtros usando janelas


107

Comprimento M e fc
108

Comprimento M e fc
109

Comprimento M e fc
110

Projeto usando janelas


111

A ideia bsica de um projeto por janelas selecionar


um filtro seletor de frequncias ideal apropriado (que
sempre no-causal e de resposta ao impulso
infinita) e ento truncar sua resposta ao impulso em
uma janela para obter um filtro FIR causal e de fase
linear. Assim, o foco est na escolha de uma funo
de janelamento e um filtro ideal apropriados.
Seja Hd(ejw) um filtro seletivo de frequncia ideal que
tem magnitude unitria e caractersticas de fase
linear sobre sua banda de passagem, e resposta zero
na banda de corte. Um filtro passa-baixas (FPB) ideal
de largura de banda wc < dado por:
c = frequncia de corte
= atraso de amostra

Projeto usando janelas


112

A resposta ao impulso desse filtro de durao


infinita e dada por:

Para obter um filtro FIR a partir de hd[n], precisamos


truncar hd[n] em ambos os lados. Para obter um filtro
FIR causal de fase linear h[n] de comprimento M,
devemos ter:

Projeto usando janelas


113

Essa operao chamada de janelamento.


Em geral, h[n] pode ser pensado como sendo
formado pelo produto de hd[n] e uma janela w[n] tal
que:

h[n] = hd[n].w[n]

onde w[n] alguma funo simtrica com respeito a


no intervalo 0 n M 1 e 0 fora desse intervalo.
Dependendo de como obtivermos w[n], temos
diferentes projetos de filtros.

Projeto usando Janelas


114

Exemplo da janela retangular:

No domnio da frequncia, a resposta H(ejw) do


filtro FIR causal dada pela convoluo de
Hd(ejw) e a resposta da janela W(ejw):

Filtro usando janelas


115

Filtro usando janelas


116

Filtro usando janelas


117

1. Como a janela w[n] tem comprimento finito igual a M, sua resposta


em frequncia tem uma regio de pico central (lbulo principal) cuja
largura proporcional a 1/M e tem lbulos laterais com pesos menores.
2. A convoluo gera uma verso da resposta ideal Hd(ejw), mas com
algumas distores (ondulaes).
3. A largura da banda de transio proporcional a 1/M.
4. Os lbulos laterais produzem ondulaes que tm forma similar
tanto na banda de passagem quanto na de corte.
Para uma dada especificao de filtro, escolha um filtro de
comprimento M e uma funo janela w[n] para a mais estreita largura
do lbulo principal e a menor atenuao nos lbulos laterais possvel.

Da observao 4 acima, podemos notar que a tolerncia 1 da banda


de passagem e a tolerncia 2 da banda de corte no podem ser
especificadas de forma independente. Geralmente, toma-se 1 = 2.

1) Janela Retangular
118

Essa a janela mais simples, mas que prov o


pior desempenho em termos de atenuao da
banda de corte.

Janela Retangular M=7


119

Note que W(ejw) tem fase linear generalizada.


medida que M aumenta, a largura do lbulo
principal diminui.

Janela
120

Janela Retangular
121

A largura do lbulo central wm = 4/(M + 1)


para uma janela retangular. O primeiro zero de
W(ejw) ocorre quando:
Assim, a largura do lbulo central o dobro desse
valor (j que envolve os valores negativos e
positivos):
Observa-se tambm que a magnitude max. do
primeiro lbulo lateral ocorre em w = 3 /(M + 1)
e dada por:

Janela Retangular
122

medida que M cresce, a largura de cada lbulo


lateral diminui, mas a rea sobre cada um
permanece constante.
Assim, as amplitudes relativas dos picos laterais do
filtro vo permanecer constantes e a atenuao da
banda de passagem permanece em cerca de 21 dB.
Isso significa que as ondulaes vo sofrer um pico
perto das bordas das bandas. Isso conhecido como
fenmeno de Gibbs. Esse fenmeno ocorre por causa
da transio brusca de 0 para 1 (e de 1 para 0) da
janela retangular.

Janela Retangular
123

2) Janela Triangular ou de Bartlett


124

Bartlett sugeriu uma


transio mais suave para
evitar o fenmeno de Gibbs.
Isso seria conseguido
atravs de uma janela
triangular da forma:

3) Janela de Hanning
125

4) Janela de Hamming
126

Tem uma quantidade menor de descontinuidades


em relao janela de Hanning.

5) Janela de Blackman
127

Tambm similar s duas anteriores, mas tem


um segundo harmnico o que faz com que ela se
aproxime de zero com mais suavidade.

Janelas
128

Tanto a janela de Bartlett, quanto Hamming, Hanning e


Blackman tm lbulos laterais menores do que os da
janela retangular.
No entanto, para o mesmo valor de M, a largura do
lbulo principal tambm mais larga para essas janelas
se comparadas janela retangular.
Consequentemente, essas janelas conseguem uma
convoluo no domnio da frequncia mais suave e,
como resultado, a regio de transio na resposta do
filtro FIR mais larga.
Para reduzir a largura da regio de transio podemos
aumentar o comprimento da janela, o que resulta em
filtros mais largos.

Janelas
129

6) Janela de Kaiser
130

Esta a melhor janela. Ela considerada tima


porque prov um ajuste do lbulo principal e da
atenuao da banda de corte. definida por:

Io() a funo de Bessel modificada de ordem


zero:

Janela de Kaiser
131

Na expresso de w[n], existem dois parmetros:


1. O comprimento M
2. O parmetro
Variando e M, possvel ajustar a amplitude dos
lbulos laterais. Kaiser encontrou duas frmulas que
permitem achar M e de modo a atender s
especificaes do filtro.
Dado que 1 fixo (especificado), a frequncia de
corte wP da banda de passagem do filtro passa-baixa
a maior frequncia tal que:

Janela de Kaiser
132

Janela de Kaiser
133

A frequncia da banda de corte tem tolerncia 2,


satisfazendo:
|H(ejw)| 2
A largura da banda de transio : w = wS - wP
Dado: A = -20log10 , considerando 1 = 2. Kaiser
mostrou que:

Alm disso, dados w e A, M aproximadamente:

Janela de Kaiser
134

O procedimento para projetar um filtro passa-baixa digital FIR usando a janela


de Kaiser consiste nos seguintes passos:
i) Estabelecer as especificaes wP, wS e .
ii) Estabelecer a frequncia de corte wc do filtro passa-baixas ideal ao qual se
aplicar a janela (wc = (wP + wS)/2).
iii) Calcular A = 20log10 e w = wP - wS e usar as frmulas de Kaiser para
encontrar os valores de M e .
iv) Encontrar a resposta ao impulso do filtro atravs de h[n]=hd[n]w[n], onde
w[n] a janela de Kaiser e hd[n] = -1 [Hd(ejw)].
Devido complexidade de clculos com funes de Bessel, o projeto dessas
janelas no fcil. A equao de w[n] definida por Kaiser tem valores
encontrados empiricamente e so definidos sem prova.

Exemplo:
135

Projetar, usando janelas de Kaiser, um filtro passabaixas com as seguintes especificaes: wP = 0,4, wS
= 0,6 e = 0,001.

Como A > 50, = 0,1102(A 8,7) 5,633

A resposta ao impulso (com w[n] dado pela definio


de Kaiser)

Janela Kaiser
136

137

Implementaes no MatLab
138

O MatLab tem diversas funes para implementar


janelas:
1. w = rectwin(M): Janela retangular
2. w = bartlett(M): Janela de Bartlett
3. w = hanning(M): Janela de Hanning
4. w = hamming(M): Janela de Hamming
5. w = blackman(M): Janela de Blackman
6. w = kaiser(M, beta): Janela de Kaiser

Filtros FIR
139

Antes de projetarmos alguns exemplos, vamos implementar duas funes base


importantes para os exemplos a seguir.
Uma implementa uma resposta ao impulso ideal de um filtro passa-baixa hd[n]:
function hd = ideal_lp(wc,M);
% Ideal LowPass filter computation
% -------------------------------% [hd] = ideal_lp(wc,M)
% hd = ideal impulse response between 0 to M-1
% wc = cutoff frequency in radians
% M = length of the ideal filter
%
alpha = (M-1)/2; n = [0:1:(M-1)];
m = n - alpha; fc = wc/pi; hd = fc*sinc(fc*m);

Filtros FIR
140

A outra funo implementa a plotagem no domnio da frequncia, apresentando tambm


a resposta em magnitude absoluta e em escala dB ( uma variao da funo freqz do
MatLab):
function [db,mag,pha,grd,w] = freqz_m(b,a);
% Modified version of freqz subroutine
% [db,mag,pha,grd,w] = freqz_m(b,a);
% db = Relative magnitude in dB computed over 0 to pi radians
% mag = absolute magnitude computed over 0 to pi radians
% pha = Phase response in radians over 0 to pi radians
% grd = Group delay over 0 to pi radians
% w = 501 frequency samples between 0 to pi radians
% b = numerator polynomial of H(z) (for FIR: b=h)
% a = denominator polynomial of H(z) (for FIR: a=[1])
[H,w] = freqz(b,a,1000,'whole');
H = (H(1:1:501))'; w = (w(1:1:501))';
mag = abs(H); db = 20*log10((mag+eps)/max(mag));
pha = angle(H); grd = grpdelay(b,a,w);

Exemplo 1:
141

7.8 (Proakis) Projetar um filtro passa-baixa FIR


com as seguintes especificaes wP = 0,2 , RP =
0,25 dB, wS = 0,3 e AS = 50 dB.
Tanto a janela de Hamming quanto a de
Blackman provem atenuao de mais de 50 dB
(veja tabela). Vamos escolher a janela de
Hamming que prov a menor banda de transio
e assim tem a menor ordem:
1- calcula banda de transio e utiliza tabela!!

Cdigo Matlab
142

Resultado Exemplo 1
143

M = 67
Rp = 0,0394
As = 52

Exemplo 2
144

7.9 (Proakis)
Resolva o exemplo
anterior usando uma
janela de Kaiser.
Como A = 50,
= 0,1102(A 8,7)
4,5513

Resultado do exemplo 2
145

M = 61
beta = 4,5513
As = 52

Exemplo 3
146

7.10 (Proakis) Vamos projetar o filtro com as seguintes


especificaes:

Borda da banda de corte mais baixa: w1s = 0,2, As = 60 dB

Borda da banda de passagem mais baixa: w1p = 0,35, As = 1 dB

Borda da banda de corte mais alta: w2s = 0,65, As = 1 dB

Borda da banda de passagem mais alta: w2p = 0,8, As = 60 dB

Exemplo 3
147

Existem duas bandas de transio: w1 = w1P w1S, w2 = w2S w2P.


Essas duas larguras de banda devem ser a mesma no projeto da janela;
i.e., no h controle independente sobre w1 e w2. Assim w2 = w1.
Para esse projeto, podemos usar a janela de Kaiser ou a de Blackman.
Vamos escolher a janela de Blackman. Vamos precisar tambm da
resposta ideal ao impulso de um filtro passa-faixa hd[n].
Observe que essa resposta ao impulso pode ser obtida a partir de duas
respostas em magnitude de filtros passa-baixa ideais, considerando que
elas tenham a mesma resposta em fase.

Exemplo 3
148

Exemplo 3
149

M = 75
Rp = 0,0030
As = 75

Exemplo 4:
150

7.11 (Proakis) A resposta em frequncia de um filtro rejeitafaixa ideal dada por:

Usando uma janela de Kaiser, projete um filtro passa-faixa de


comprimento 45 com atenuao na banda de corte de 60 dB.
Observe que a largura da banda de transio no foi dada. Ela
ser encontrada a partir do comprimento M = 45 e do parmetro
da janela de Kaiser.
Das equaes de projeto da janela de Kaiser, podemos
determinar a partir de As: = 0,1102( As 8,7).
Vamos agora implementar a janela de Kaiser e observar a
atenuao na banda de corte.

Exemplo 4
151

Exemplo 4
152

beta = 5,6533
Com esse valor, a mnima
atenuao da banda de corte
menor que 60 dB (observe que h
lbulos na banda de corte com
pico acima de 60 na escala
negativa - ou seja, menor que
60 em mdulo, (destacada em
vermelho). Assim, precisamos
aumentar BETA para aumentar a
atenuao para 60 dB. Vamos
colocar um acrscimo no valor
calculado de BETA para conseguir
uma atenuao maior.

Exemplo 4
153

Exemplo 4
154

beta =
5,9533

Exemplo 5
155

7.12 (Proakis) A resposta em frequncia de um filtro diferenciador


digital ideal dada por:
Usando uma janela de Hamming de comprimento 21, projete um
diferenciador FIR. Plote as respostas no domnio do tempo e da
frequncia.
A resposta ao impulso de um diferenciador ideal com fase linear
dada por:

Exemplo 5
156

A resposta ao impulso acima pode ser


implementada no MatLab atravs da janela de
Hamming para projetar o diferenciador
requisitado. Note que se M um nmero par,
ento = (M - 1)/2 no um inteiro e hd[n] ser
zero para todo n.
Assim, M deve ser um nmero mpar e teremos
um filtro FIR de fase linear do tipo III.

Exemplo 5
157

Exemplo 5
158

Assim, podemos
resolver a questo
da seguinte forma:

Exemplo 5
159

Exemplo 6
160

7.13 (Proakis) Projete um filtro transformador digital de


Hilbert de comprimento 25 usando uma janela de
Hanning. A resposta em frequncia ideal de um
transformador de Hilbert de fase linear dada por:
A resposta ao impulso ideal dada por:

que pode ser implementado no MatLab. Como M = 25, o


projeto do filtro do tipo III:

Exemplo 6
161

Exemplo 6
162

Avaliar