Vous êtes sur la page 1sur 59

Introduo Filtros

Digitais
Filtros bsicos, parmetros no
domnio do tempo e
frequncia, classificao de
filtros

Filtros so usados basicamente para dois propsitos:


Separao de sinais combinados;
Restaurao de sinal que foi distorcido.
A princpio, a separao e/ou restaurao de sinais pode ser realizada com
ambos os tipos de filtros, analgicos e digitais. As diferenas bsicas so:
Analgicos
Barato
Rpidos
Grande faixa dinmica (amplitude e frequncia)
Digitais
Muito melhor desempenho. Ex.: Ser visto um filtro passa-baixa que possui
ganho 10,0002 entre frequncia zero e 1000Hz e um ganho de menos que
0,0002 para frequncias acima de 1001Hz. Excelente no?

Filtros lineares comumente apresentam as curvas abaixo:

-3dB : amplitude do
sinal cai 0,707 e
a potncia reduzida
0,5.

DOMNIO DO TEMPO
Resposta ao degrau
Tempo de subida: entre 10% e
90%. Deseja-se o menor possvel.
Overshoot: distoro da informao.
Fase linear: simetria entre as metades superior e inferior resposta em frequncia com fase linear.

DOMNIO DA FREQUNCIA
Resposta em frequncia
Banda passante: frequncias
permitidas (ganho 1 geralmente)
Frequncia de corte: 99%, 90%,
70,7% e 50% da amplitude para
filtros digitais.
Banda de transio: deseja-se
a menor possvel.
Banda de rejeio: frequncias
bloqueadas.

DOMNIO DA FREQUNCIA
Resposta em frequncia

A figura abaixo mostra o processo de converso filtro passa-baixa


filtro passa-alta.

1. mudar o sinal das


amostras no kernel
2. adicionar 1 na
amostra do centro da
simetria.
Assim
Passa-alta Passa-baixa
Passa-banda Rejeita-banda
Rejeita-banda Passa-banda

Por que as modificaes no domnio do tempo indicadas, resultam


em inverso no espectro de frequncia ?

[n]-h[n]: inverter sinal da resposta


impulsiva e adicionar 1 no centro.
Condio: as componentes de baixa
frequncia das sadas parciais (antes
do somador) precisam estar em fase.
Para isso deve-se:
1.filtro kernel original com fase linear
2.impulso adicionado no centro da
simetria.

Outro mtodo: spectral reversal !!

1. mudar o sinal das


amostras no kernel
multiplicar o filtro por
sin(0,5t) shift em fre_
quncia de 0,5.
A frequncia 0 se torna
0,5.

Ex.: Filtros passa-banda e rejeita-banda.

Cascata: 2 estgios
Convoluo: 1 estgio

Paralelo: 2 estgios
Soma: 1 estgio

Classificao de filtros

Filtros
Digitais
Convoluo

Recurso

FIR

IIR

Melhor desempenho

Mais rpido

Filtros Mdia Mvel


Implementao por
convoluo, reduo de rudo,
implementao recursiva,
passagens mltiplas.

Implementao por Convoluo

feito uma mdia de um nmero de pontos do sinal da entrada


x[], para produzir cada ponto do sinal de sada y[]:

Ex.: O ponto 80 da sada, para um filtro mdia mvel com M=5


dado por:

1. O filtro mdia mvel uma convoluo da entrada com um pulso retangular de rea 1.

Ex.: Filtro mdia mvel com M=4

Note que,

adio
subtrao
multiplicao

Reduo de rudo versus Resposta ao degrau


O filtro mdia mvel apresenta bom desempenho em muitas
aplicaes e timo desempenho na reduo de rudo branco, ao mesmo
tempo que preserva a resposta ao degrau.

A quantidade de rudo reduzida igual a raiz quadrada do nmero


de pontos no filtro !!

Resposta em frequncia

O filtro mdia mvel possui bom desempenho no domnio do


tempo e mal desempenho no domnio da frequncia.

1. Obtida pela transformada de Fourier do pulso retangular.

Passagens mltiplas no filtro mdia mvel


Consiste em passar o sinal de entrada pelo filtro duas ou mais
vezes.

Implementao recursiva
possvel implementar um filtro mdia mvel com um algoritmo
rpido. Lembre que a implementao por convoluo lenta !!
Ex.: Seja um filtro mdia mvel com M=7. Dois pontos de sada adjacentes
so calculados da seguinte forma:
x[47] x[48] x[49] x[50] x[51] x[52] x[53]
7
x[48] x[49] x[50] x[51] x[52] x[53] x[54]
y[51]
7
y[50]

Uma vez que os pontos x[48]....x[53] aparecem em y[50] e y[51],


a melhor maneira para calcular y[51]
y[51] y[50]

e assim sucessivamente.

1
x[54] x[47]
7

Depois que o primeiro ponto de y[] calculado, todos os outros so


determinados atravs de 1 soma e 1 subtrao, por ponto:

y[i ] y[i 1]
onde ,
p ( M 1) / 2
q p 1

1
x[i p] x[i q]
M

Simulao

Implementar um filtro mdia mvel (recursivo ou no) para filtrar o seguinte

Gerada atravs do Matlab/Simulink ...

Resultados
Optou-se pelo recursivo. Abaixo algumas formas de onda:

M=7

M=21

Note os picos do rudo filtrado e a tendncia


de se tornar onda triangular com o aumento
M!

Filtros Windowed-Sinc
(Sinc Janelado)

Estratgia do filtro, projeto,


exemplos.

Estratgia do filtro Sinc Janelado


Caractersticas:
Bons para separar uma banda de frequncia de outra
Pobre resposta no tempo (overshoot)
Pode ser programado por convoluo (lento) ou por FFT (rpido)

(Funo Sinc)
Problema: comprimento infinito e
nunca cai zero.
Soluo: Truncar em M+1 pontos (M par)
e shiftar de M/2 (ndices positivos).
1. Assunto que ser visto.

Para suavizar o efeito do truncamento utiliza-se janelas:

=
(Janela)

FFT

Janelas

M=50
Blackman
Hamming

i 0...M

Qual janela deve-se usar ?

Blackman apresenta ainda ripple na banda de passagem de ~0,02%, enqu


a Hamming de ~0,2%.

Projeto do filtro
Parmetros de projeto:

Frequncia de corte fC. Expressa como uma frao da frequncia de amostragem, lo

0 fC 0,5 (teorema da amostragem)


Nmero de amostras M. Essa quantidade determina a largura da banda de transio
M 4 / bw , onde 0 bw 0,5

bw = 0.2, 0.1 e 0.02

A fc no incluencia na forma da resposta

Aps selecionado fc e M, o filtro pode ser calculado usando:

onde K selecionado de modo a garantir ganho unitrio na frequncia zero. Para evitar
diviso por zero, fazer h[M/2]=2fcK.

Note que a equao acima possui: a funo sinc, o shift M/2 e a janela Black

Algumas respostas

A frequncia da oscilao senoidal vale aproximadamente fC ;


Resposta no tempo ruim.

Exemplos
Um eletroencefalograma (EEG) o resultado combinado de um nmero
enorme de pulsos eltricos das clulas nervosas do crebro. Em relaxamento, o
EEG apresentar um padro de oscilao entre 7 e 12Hz (estado alpha). Um
pouco mais ativo, o padro fica entre 17 e 20Hz (estado beta).

COMO PODEMOS SEPARAR O SINAL ALPHA DO SINAL BETA ? SUPONHA


UMA FREQUNCIA DE AMOSTRAGEM DE 100Hz.
Soluo: filtro passa-baixa com fc=14Hz (fc=0.14), bw=0.04 (logo
M=100) e janela
Hamming.

Exemplos
Projeto de um filtro passa-banda, onde o sinal que ser filtrado ser amostrado a
10kHz. O filtro ter na sua resposta em frequncia uma banda de 80Hz de
passagem do sinal centrada na frequncia 2kHz. Assim, o filtro dever bloquear
frequncia abaixo de 1960Hz e acima de 2040Hz. O filtro ter 50Hz de largura
de banda de transio, e portanto, M=801.
Etapas do projeto:
1.
2.
3.
4.

Dois filtros passa-baixa com fc1=0.196 e fc2=0.204 ;


O segundo filtro tem seu espectro invertido, tornando-se um passa-alta ;
Soma-se ambos os filtros, resultando um rejeita-banda ;
Outra inverso de espectro resulta em um passa-banda.

Algoritmo para filtro


passa-banda.

Exemplos
Deseja-se separar um sinal de 1mV que viaja numa linha de transmisso de 120V.
Um filtro passa-baixa com banda de atenuao de -120dB no mnimo necessrio.
Mas como foi visto, uma janela Blackman oferece somente -74dB.
Soluo

dB
4
7
Kernel
h1

dB
8
-14
Kernel
h2

Kernel
h=h1*h2

Simulao

Para implementar um sinal amostrado no simulink, pode-se utilizar o bloco ze


hold. Na simulao abaixo, amostrou-se uma senide de 60Hz com perodo de amost
de 1ms. Adicionalmente, inserimos o bloco to worspace para trabalharmos futuramen
espao de trabalho (workspace). Experimente o comando:
plot(simout.time,simout.signals.values,'o') no worspace.

Convoluo
Funo delta, resposta ao
impulso,
algoritmo input side e output
side.

Funo Delta e Resposta ao Impulso

Convoluo uma operao matemtica que combina dois sinais para forma
terceiro. importante pois relaciona trs sinais de grande interesse, a saber: o sinal d
o sinal de sada e a resposta ao impulso.

Conhecendo-se a resposta ao impulso h,


possvel determinar a sada y para qualq
entrada x !!

Algoritmo Input Side

Esse mtodo procura explicar a convoluo do ponto de vista do sinal da ent


seja, explica como cada amostra da entrada contribui para formar as muitas amostras

N=9

M=4

N+M-1=12 pontos

Fundamento bsico em DSP: 1. decompor a entrada


2. pass-la pelo sistema
3. sintetizar

Ex.: Anlise da amostra x[4]=1.4


Passo 1: 1.4[n-4] (impulso deslocado)
Passo 2: 1.4h[n-4] (se a entrada , ento a sada h)

Passo 3:

Note os smbolos em diamantes setados para zero !!

possvel mostrar que a convoluo comutativa: x[n]*h[n] = h[n]*x[n]

Programa em BASIC para o clculo da convoluo usando o algoritmo


Input Side.

Algoritmo Output Side

Esse mtodo procura explicar a convoluo do ponto de vista do sinal da sada


remos olhando as amostras da sada e verificando a contribuio dos pontos da entrada.

Lembre que y[n] = combinao de muitos valores entre entrada e resposta ao i

No presente mtodo, veremos como calcular cada amostra da sada independe


das outras amostras da sada.
Ex.: Anlise de y[6]

y[6]

y[6] = soma de todos os sextos pontos nas nove compo


acima, ou seja, y[6]=x[3]h[3]+x[4]h[2]+x[5]h[1]+x[

Mquina de Convoluo: um diagrama de fluxo de como ocorre a convoluo.

X[n] e y[n] so fixos, enquan


h[n] mvel para os lados !

Ex.: clculo de y[0] e y[3]

As amostras da sada bem da direita


e as bem da esquerda esto baseadas
em informaes incompletas.

Onde no existem amostras (note x[-3],


x[-2] e x[-1]), colocar valor zero. Nesse
caso diz-se que a resposta ao impulso h,
no est totalmente imergida no sinal
de entrada x.

A definio formal da convoluo enfim dada por:

A Transformada Discreta
de Fourier - DFT

Jean Baptiste Joseph Fourier afirmou que : todo sinal contnuo peridico poderia
ser representado como uma soma apropriada de sinais senoidais.

Por que usar senides e no ondas triangulares ou quadradas? As senides possuem


a interessante caracterstica de manter a sua forma aps passarem por algum sistema. Apenas a
amplitudes e fases so alteradas !
Existem 4 categorias associadas ao termo Transformada de Fourier, a saber:

Contnuo aperidico: Ex.: Decaimento exponencial. A transformada simplesmente


chamada transformada de Fourier.

Contnuo peridico: Ex.: Senides e onda quadrada. A transformada chamada


srie de Fourier.

Discreto aperidico: A transformada chamada transformada de Fourier a tempo


discreto.

Discreto peridico: as vezes chamada de srie de Fourier discreta, mas em geral


conhecida como transformada de Fourier discreta.

Ex.: Decomposio de um sinal discreto aperidico

16 pontos

Cada sinal possui 16 pontos

DFT real

A entrada so amostras de um sinal qualquer (igualmente espaadas), enquant


sadas contm as amplitudes das componentes senoidais escaladas de uma forma que v

Re X[]: amplitudes cossenide;


Im X[]: amplitudes senide.

Usualmente N escolhido de tal forma que seja potncia de 2 (128, 256, 512, etc). Os
motivos so:
1.
2.

Endereamento binrio da informao, logo a potncia de 2 o tamanho natural do sinal;


O algoritmo mais usado para calcular a DFT, a FFT, opera sobre N.

Varivel independente no domnio da frequncia


Ex.: DFT com N=128.

Eixo horizontal corresponde s amostras k.

k
N

Eixo horizontal como uma frao da


frequncia de amostragem.

Ainda possvel usar (frequncia natural),


multiplicando por 2 o eixo do f. O range ser
portanto, de 0 a .

Lembrar: SINAIS DISCRETOS APENAS CONTM FREQUNCIA ENTRE 0 E 0,5 DA FREQUN


DE AMOSTRAGEM !

Funes base da DFT


As funo base da DFT (de amplitudes unitrias)so geradas a partir de:

ck [i ] cos(2 k i / N ) armazenadas em Re X[k]


sk [i ] sin( 2 k i / N ) armazenadas em Im X[k]
onde i 0 ... N - 1 e k determina a frequncia
(nmero de ciclos em N pontos do sinal).

Ex.: Seja uma DFT com N=32. A seguir 8 componentes das 17 senides e 17 cossenid
usadas na DFT.

.
.
.

A DFT inversa
De acordo com o que foi dito, podemos sintetizar a entrada como:
Eqs. 1

onde,

Eqs. 2

exceto

Concluso: Qualquer sinal x[i] com N pontos pode ser sintetizado,


adicionando N/2+1 cossenides e N/2+1 senides.

Programa em BASIC para o clculo da transformada DFT inversa:

Ex.: DFT inversa.

funo impulso

A parte imaginria, no mostrada, composta de zeros !

funo constante

Clculo da DFT
Os mtodos so:
1. Equaes simultneas (pouco eficiente);
2. Correlao (consiste em detectar uma forma de onda conhecida em outro sinal );
3. FFT (decompe uma DFT de N pontos em N DFTs, cada uma com um nico ponto ).

Correlao
Ex.: calcular ImX[3] de um sinal com N=64, ou seja, a amplitude da onda senoidal
que completa 3 ciclos entre os pontos 0 e 63.

Lembre que o resultado da DFT gera dois sinais, cada um com N/2+1 ponto
seja, 33 pontos na parte real e 33 pontos na parte imaginria, no exemplo d

Por correlao descobrimos que uma senide que completa 3 ciclos entre as
amostras 0 a 63 (note que uma funo base), est presente no exemplo 1
apenas, pois a soma das amostras em e) resulta em 32. J em f) o resultado
zero.

Equao de anlise

Assim, o clculo da DFT consiste em correlacionar o sinal de entrada no tempo com


cada funo base.

Ex.: Algoritmo em BASIC

Forma Polar
Tendo em vista que:

, podemos escrever

onde MagX[k] e PhaseX[k] armazenam a amplitude e a fase da cossenide.

Por que se utilizou a funo cos ?


Porque a funo sin no podem representar a componente DC, pois o seno
de frequncia zero composto todo de zeros.

Ex.: Filtro passa-baixa.

Ex.: Algoritmo para converso.

Incmodos do algoritmo:
1. Diviso por zero ;
2. Incorreto arctan ;
3. Fase de magnitudes muito
pequenas (tendncia de ficar
randmica entre - e ) ;

Bibliografia

S. W. Smith, Digital Signal Processing a practical guide for engineers and


scientists, 2003. USA.

Vous aimerez peut-être aussi