Você está na página 1de 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
Melhor desempenho

IIR
Mais rpido

Filtros Mdia Mvel


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

mplementao 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:

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

duo 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.

. Obtida pela transformada de Fourier do pulso retangular.

ssagens 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 pido. Lembre que a implementao por convoluo lenta !!

Ex.: Seja um filtro mdia mvel com M=7. Dois pontos de sada adjacentes o 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] + 1 [ x[54] x[47]] 7

e assim sucessivamente.

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 sinal:

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 de M!

Filtros Windowed-Sinc
(Sinc Janelado)

Estratgia do filtro, projeto, exemplos.

stratgia 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) 1

(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:

x
(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%, enquanto 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:

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

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

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

B 74d Kernel h1 Kernel h2

B 8d -14

Kernel h=h1*h2

Simulao

Para implementar um sinal amostrado no simulink, pode-se utilizar o bloco zero-or hold. Na simulao abaixo, amostrou-se uma senide de 60Hz com perodo de amostragem de 1ms. Adicionalmente, inserimos o bloco to worspace para trabalharmos futuramente no 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 formar um terceiro. importante pois relaciona trs sinais de grande interesse, a saber: o sinal de entr o sinal de sada e a resposta ao impulso.

Conhecendo-se a resposta ao impulso h, possvel determinar a sada y para qualque entrada x !!

Algoritmo Input Side

Esse mtodo procura explicar a convoluo do ponto de vista do sinal da entrada, o seja, explica como cada amostra da entrada contribui para formar as muitas amostras na sa

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. Estamos 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 impuls

No presente mtodo, veremos como calcular cada amostra da sada independenteme as outras amostras da sada.

.: Anlise de y[6]

y[6]

y[6] = soma de todos os sextos pontos nas nove componente acima, ou seja, y[6]=x[3]h[3]+x[4]h[2]+x[5]h[1]+x[6]h[

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

ean Baptiste Joseph Fourier afirmou que : todo sinal contnuo peridico poderia

er representado como uma soma apropriada de sinais senoidais.

or que usar senides e no ondas triangulares ou quadradas? As senides possuem interessante caracterstica de manter a sua forma aps passarem por algum sistema. Apenas as suas mplitudes e fases so alteradas !

xistem 4 categorias associadas ao termo Transformada de Fourier, a saber:

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

hamada transformada de Fourier.

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

rie de Fourier.

Discreto aperidico: A transformada chamada transformada de Fourier a tempo

iscreto.

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), enquanto as das contm as amplitudes das componentes senoidais escaladas de uma forma que veremo

]: amplitudes cossenide; ]: amplitudes senide.

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

ndereamento binrio da informao, logo a potncia de 2 o tamanho natural do sinal; 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

f =

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 .

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


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 ) armazenada s em Re X[k] sk [i ] = sin( 2 k i / N ) armazenada s 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 cossenides

usadas na DFT.

. . .

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

onde, exceto

Eqs. 2

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

funo constante

A parte imaginria, no mostrada, composta de zeros !

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 pontos, ou seja, 33 pontos na parte real e 33 pontos na parte imaginria, no exemplo dado !

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.

Você também pode gostar