Click here to load reader
Upload
zena
View
75
Download
2
Embed Size (px)
DESCRIPTION
Introdução à Filtros Digitais. Filtros básicos , parâmetros no domínio do tempo e frequência , classificação de filtros. Filtros são usados basicamente para dois propósitos : Separação de sinais combinados ; Restauração de sinal que foi distorcido . - PowerPoint PPT Presentation
Citation preview
Introdução à Filtros Digitais
Filtros básicos, parâmetros no domínio do tempo e frequência,
classificação de filtros
Filtros são usados basicamente para dois propósitos:
• Separação de sinais combinados;• Restauração de sinal que foi distorcido.
A princípio, a separação e/ou restauração de sinais pode ser realizada com ambos os tipos de filtros, analógicos e digitais. As diferenças básicas são:
Analógicos
• Barato• Rápidos• Grande faixa dinâmica (amplitude e frequência)
Digitais
• Muito melhor desempenho. Ex.: Será visto um filtro passa-baixa que possui ganho 1±0,0002 entre frequência zero e 1000Hz e um ganho de menos que 0,0002 para frequências acima de 1001Hz. Excelente não?
Filtros lineares comumente apresentam as curvas abaixo:
-3dB : amplitude dosinal cai à 0,707 ea potência é reduzidaà 0,5.
DOMÍNIO DO TEMPO
Resposta ao degrau
Tempo de subida: entre 10% e90%. Deseja-se o menor possível.
Overshoot: distorção da informa-ção.
Fase linear: simetria entre as me-tades superior e inferior → res-posta em frequência com fase li-near.
DOMÍNIO DA FREQUÊNCIA
Resposta em frequência
Banda passante: frequênciaspermitidas (ganho 1 geralmente)
Frequência de corte: 99%, 90%,70,7% e 50% da amplitude parafiltros digitais.
Banda de transição: deseja-sea menor possível.
Banda de rejeição: frequênciasbloqueadas.
DOMÍNIO DA FREQUÊNCIA
Resposta em frequência
A figura abaixo mostra o processo de conversão filtro passa-baixa →filtro passa-alta.
1. mudar o sinal dasamostras no kernel2. adicionar 1 na amostra do centro dasimetria.
Assim …
Passa-alta → Passa-baixaPassa-banda → Rejeita-bandaRejeita-banda → Passa-banda
Por que as modificações no domínio do tempo indicadas, resultamem inversão no espectro de frequência ?
δ[n]-h[n]: inverter sinal da respostaimpulsiva e adicionar 1 no centro.
Condição: as componentes de baixafrequência das saídas parciais (antesdo somador) precisam estar em fase.Para isso deve-se:
1.filtro kernel original com fase linear2.impulso adicionado no centro dasimetria.
Outro método: spectral reversal !!
1. mudar o sinal dasamostras no kernel → multiplicar o filtro porsin(0,5t) → shift em fre_quência de 0,5.
A frequência 0 se torna0,5.
Ex.: Filtros passa-banda e rejeita-banda.
Cascata: 2 estágiosConvolução: 1 estágio
Paralelo: 2 estágiosSoma: 1 estágio
Classificação de filtros
Filtros Digitais
FIR IIR
Convolução Recursão
Melhor desempenho Mais rápido
Filtros Média Móvel
Implementação por convolução, redução de ruído, implementação
recursiva, passagens múltiplas.
Implementação por Convolução 1
É feito uma média de um número de pontos do sinal da entrada x[], para produzir cada ponto do sinal de saída y[]:
Ex.: O ponto 80 da saída, para um filtro média móvel com M=5 é dado por:
1. O filtro média móvel é uma convolução da entrada com um pulso retangular de área 1.
Ex.: Filtro média móvel com M=4
Note que,
• adição• subtração• multiplicação
Redução de ruído versus Resposta ao degrau
O filtro média móvel apresenta bom desempenho em muitasaplicações e ótimo desempenho na redução de ruído branco, ao mesmotempo que preserva a resposta ao degrau.
A quantidade de ruído reduzida é igual a raiz quadrada do número de pontos no filtro !!
Resposta em frequência
O filtro média móvel possui bom desempenho no domínio dotempo e mal desempenho no domínio da frequência.
1
1. Obtida pela transformada de Fourier do pulso retangular.
Passagens múltiplas no filtro média móvel
Consiste em passar o sinal de entrada pelo filtro duas ou maisvezes.
Implementação recursiva
É possível implementar um filtro média móvel com um algoritmorápido. Lembre que a implementação por convolução é lenta !!
Ex.: Seja um filtro média móvel com M=7. Dois pontos de saída adjacentessão calculados da seguinte forma:
Uma vez que os pontos x[48]....x[53] aparecem em y[50] e y[51], a melhor maneira para calcular y[51] é
e assim sucessivamente.
7]54[]53[]52[]51[]50[]49[]48[]51[
7]53[]52[]51[]50[]49[]48[]47[]50[
xxxxxxxy
xxxxxxxy
]47[]54[71y[50]y[51] xx
Depois que o primeiro ponto de y[] é calculado, todos os outros são determinados através de 1 soma e 1 subtração, por ponto:
12/)1(
,
][][1]1[][
pqMp
onde
qixpixM
iyiy
Simulação
Implementar um filtro média móvel (recursivo ou não) para filtrar o seguinte sinal:
Gerada através do Matlab/Simulink ...
Resultados
Optou-se pelo recursivo. Abaixo algumas formas de onda:
M=7 M=21Note os picos do ruído filtrado e a tendênciade se tornar onda triangular com o aumento deM !
Filtros Windowed-Sinc(Sinc Janelado)
Estratégia do filtro, projeto, exemplos.
Estratégia do filtro Sinc Janelado
Características:
• Bons para separar uma banda de frequência de outra• Pobre resposta no tempo (overshoot)• Pode ser programado por convolução (lento) ou por FFT (rápido) 1
1. Assunto que será visto.
(Função Sinc)
Problema: comprimento infinito e nunca cai à zero.
Solução: Truncar em M+1 pontos (M par)e shiftar de M/2 (índices positivos).
Para suavizar o efeito do truncamento utiliza-se janelas:
x =
FFT(Janela)
Janelas
Blackman Hamming
Mi ...0
M=50
Qual janela deve-se usar ?
Blackman apresenta ainda ripple na banda de passagem de ~0,02%, enquantoa Hamming de ~0,2%.
Projeto do filtro
Parâmetros de projeto:
• Frequência de corte fC. Expressa como uma fração da frequência de amostragem, logo0 ≤ fC ≤ 0,5 (teorema da amostragem)• Número de amostras M. Essa quantidade determina a largura da banda de transição bw, poisM ≈ 4 / bw , onde 0 ≤ bw ≤ 0,5
bw = 0.2, 0.1 e 0.02
A fc não incluencia na forma da resposta
Após selecionado fc e M, o filtro pode ser calculado usando:
onde K é selecionado de modo a garantir ganho unitário na frequência zero. Para evitardivisão por zero, fazer h[M/2]=2fcK.
Note que a equação acima possui: a função sinc, o shift M/2 e a janela Blackman !!
Algumas respostas
• A frequência da oscilação senoidal vale aproximadamente fC ;• Resposta no tempo ruim.
ExemplosExemplos
Um eletroencefalograma (EEG) é o resultado combinado de um número enorme de pulsos elétricos das células nervosas do cérebro. Em relaxamento, o EEG apresentará um padrão de oscilação entre 7 e 12Hz (estado alpha). Um pouco mais ativo, o padrão fica entre 17 e 20Hz (estado beta).
COMO PODEMOS SEPARAR O SINAL ALPHA DO SINAL BETA ? SUPONHA UMA FREQUÊNCIA DE AMOSTRAGEM DE 100Hz.
Solução: filtro passa-baixa com fc=14Hz (fc=0.14), bw=0.04 (logo M=100) e janelaHamming.
ExemplosExemplos
Projeto de um filtro passa-banda, onde o sinal que será filtrado será amostrado a10kHz. O filtro terá na sua resposta em frequência uma banda de 80Hz de passagem do sinal centrada na frequência 2kHz. Assim, o filtro deverá bloquearfrequência abaixo de 1960Hz e acima de 2040Hz. O filtro terá 50Hz de largura de banda de transição, e portanto, M=801.
Etapas do projeto:
1. Dois filtros passa-baixa com fc1=0.196 e fc2=0.204 ;2. O segundo filtro tem seu espectro invertido, tornando-se um passa-alta ;3. Soma-se ambos os filtros, resultando um rejeita-banda ;4. Outra inversão de espectro resulta em um passa-banda.
Algoritmo para filtropassa-banda.
ExemplosExemplos
Deseja-se separar um sinal de 1mV que viaja numa linha de transmissão de 120V. Um filtro passa-baixa com banda de atenuação de -120dB no mínimo é necessário.Mas como foi visto, uma janela Blackman oferece somente -74dB.
Solução
Kernelh1
Kernelh2
-74dB-148dB
Kernelh=h1*h2
Simulação
Para implementar um sinal amostrado no simulink, pode-se utilizar o bloco zero-orderhold. Na simulação abaixo, amostrou-se uma senóide de 60Hz com período de amostragemde 1ms. Adicionalmente, inserimos o bloco to worspace para trabalharmos futuramente noespaço de trabalho (workspace). Experimente o comando:plot(simout.time,simout.signals.values,'o') no worspace.
Convolução
Função delta, resposta ao impulso,algoritmo input side e output side.
Função Delta e Resposta ao Impulso
Convolução é uma operação matemática que combina dois sinais para formar umterceiro. É importante pois relaciona três sinais de grande interesse, a saber: o sinal de entrada,o sinal de saída e a resposta ao impulso.
Conhecendo-se a resposta ao impulso h,é possível determinar a saída y para qualquerentrada x !!
Algoritmo Input Side
Esse método procura explicar a convolução do ponto de vista do sinal da entrada, ouseja, explica como cada amostra da entrada contribui para formar as muitas amostras na saída.
N=9 M=4 N+M-1=12 pontos
Fundamento básico em DSP: 1. decompor a entrada2. passá-la pelo sistema3. sintetizar
Ex.: Análise da amostra x[4]=1.4
Passo 1: 1.4[n-4] (impulso deslocado)
Passo 2: 1.4h[n-4] (se a entrada é , então a saída é h)
Passo 3:
+
+
Note os símbolos em diamantes setados para zero !!
É possível mostrar que a convolução é comutativa: x[n]*h[n] = h[n]*x[n]
Programa em BASIC para o cálculo da convolução usando o algoritmoInput Side.
Algoritmo Output Side
Esse método procura explicar a convolução do ponto de vista do sinal da saída. Esta-remos olhando as amostras da saída e verificando a contribuição dos pontos da entrada.
Lembre que y[n] = combinação de muitos valores entre entrada e resposta ao impulso.
No presente método, veremos como calcular cada amostra da saída independentementedas outras amostras da saída.
Ex.: Análise de y[6]
y[6]
y[6] = soma de todos os sextos pontos nas nove componentesacima, ou seja, y[6]=x[3]h[3]+x[4]h[2]+x[5]h[1]+x[6]h[0].
Máquina de Convolução: um diagrama de fluxo de como ocorre a convolução.
X[n] e y[n] são fixos, enquantoh[n] é móvel para os lados !
Ex.: cálculo de y[0] e y[3]
As amostras da saída bem da direitae as bem da esquerda estão baseadasem informações incompletas.
Onde não existem amostras (note x[-3],x[-2] e x[-1]), colocar valor zero. Nessecaso diz-se que a resposta ao impulso h,não está totalmente imergida no sinalde entrada x.
A definição formal da convolução enfim é dada por:
A Transformada Discreta de Fourier - DFT
Jean Baptiste Joseph Fourier afirmou que : todo sinal contínuo periódico poderiaser representado como uma soma apropriada de sinais senoidais.
Por que usar senóides e não ondas triangulares ou quadradas? As senóides possuema interessante característica de manter a sua forma após passarem por algum sistema. Apenas as suas amplitudes e fases são alteradas !
Existem 4 categorias associadas ao termo Transformada de Fourier, a saber:
• Contínuo aperiódico: Ex.: Decaimento exponencial. A transformada é simplesmentechamada transformada de Fourier.
• Contínuo periódico: Ex.: Senóides e onda quadrada. A transformada é chamadasérie de Fourier.
• Discreto aperiódico: A transformada é chamada transformada de Fourier a tempodiscreto.
• Discreto periódico: É as vezes chamada de série de Fourier discreta, mas em geralé conhecida como transformada de Fourier discreta.
Ex.: Decomposição de um sinal discreto aperiódico
Cada sinal possui 16 pontos
16 pontos
DFT real
A entrada são amostras de um sinal qualquer (igualmente espaçadas), enquanto assaídas contém as amplitudes das componentes senoidais escaladas de uma forma que veremos.
Re X[]: amplitudes cossenóide;Im X[]: amplitudes senóide.
Usualmente N é escolhido de tal forma que seja potência de 2 (128, 256, 512, etc). Osmotivos são:
1. Endereçamento binário da informação, logo a potência de 2 é o tamanho natural do sinal;2. O algoritmo mais usado para calcular a DFT, a FFT, opera sobre N.
Variável independente no domínio da frequência
Ex.: DFT com N=128.
Eixo horizontal como uma fração dafrequência de amostragem.
Ainda é possível usar (frequência natural), multiplicando por 2 o eixo do f. O range seráportanto, de 0 a .
Eixo horizontal corresponde às amostras k.
Nkf
Lembrar: SINAIS DISCRETOS APENAS CONTÉM FREQUÊNCIA ENTRE 0 E 0,5 DA FREQUÊNCIA DE AMOSTRAGEM !
Funções base da DFT
As função base da DFT (de amplitudes unitárias)são geradas a partir de:
sinal). do pontos em ciclos de (número frequência a determina e 1-N ... 0i onde
X[k] Im em sarmazenada )/ 2sin(][X[k] Re em sarmazenada )/ 2cos(][
Nk
NikisNikic
k
k
Ex.: Seja uma DFT com N=32. A seguir 8 componentes das 17 senóides e 17 cossenóides usadas na DFT.
.
.
.
A DFT inversa
De acordo com o que foi dito, podemos sintetizar a entrada como:
onde,
exceto
Conclusão: Qualquer sinal x[i] com N pontos pode ser sintetizado, adicionando N/2+1 cossenóides e N/2+1 senóides.
Eqs. 2
Eqs. 1
Programa em BASIC para o cálculo da transformada DFT inversa:
Ex.: DFT inversa.
função impulso função constante
A parte imaginária, não mostrada, é composta de zeros !
Cálculo da DFT
Os métodos são:
1. Equações simultâneas (pouco eficiente);2. Correlação (consiste em detectar uma forma de onda conhecida em outro sinal);3. FFT (decompõe uma DFT de N pontos em N DFTs, cada uma com um único ponto).
Correlação
Ex.: calcular ImX[3] de um sinal com N=64, ou seja, a amplitude da onda senoidalque 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 imaginária, no exemplo dado !
Por correlação descobrimos que uma senóide que completa 3 ciclos entre as amostras 0 a 63 (note que é uma função base), está presente no exemplo 1 apenas, pois a soma das amostras em e) resulta em 32. Já em f) o resultado é zero.
x
=
x
=
Equação de análise
Assim, o cálculo da DFT consiste em correlacionar o sinal de entrada no tempo comcada função 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 cossenóide.
Por que se utilizou a função cos ?
Porque a função sin não podem representar a componente DC, pois o senode frequência zero é composto todo de zeros.
Ex.: Filtro passa-baixa.
Ex.: Algoritmo para conversão.
Incômodos do algoritmo:
1. Divisão por zero ;2. Incorreto arctan ;3. Fase de magnitudes muitopequenas (tendência de ficarrandômica entre - e ) ;
Bibliografia
• S. W. Smith, Digital Signal Processing – a practical guide for engineers andscientists, 2003. USA.