Introduo Filtros Digitais Filtros bsicos parmetros no domnio
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 1000 Hz e um ganho de menos que 0, 0002 para frequências acima de 1001 Hz. Excelente não?
Filtros lineares comumente apresentam as curvas abaixo: -3 d. B : amplitude do sinal cai à 0, 707 e a potência é reduzida à 0, 5.
DOMÍNIO DO TEMPO Resposta ao degrau Tempo de subida: entre 10% e 90%. Deseja-se o menor possível. Overshoot: distorção da informação. Fase linear: simetria entre as metades superior e inferior → resposta em frequência com fase linear.
DOMÍNIO DA FREQUÊNCIA Resposta em frequência Banda passante: frequências permitidas (ganho 1 geralmente) Frequência de corte: 99%, 90%, 70, 7% e 50% da amplitude para filtros digitais. Banda de transição: deseja-se a menor possível. Banda de rejeição: frequências bloqueadas.
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 das amostras no kernel 2. adicionar 1 na amostra do centro da simetria. Assim … Passa-alta → Passa-baixa Passa-banda → Rejeita-banda → Passa-banda
Por que as modificações no domínio do tempo indicadas, resultam em inversão no espectro de frequência ? δ[n]-h[n]: inverter sinal da resposta impulsiva e adicionar 1 no centro. Condição: as componentes de baixa frequência das saídas 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 método: spectral reversal !! 1. mudar o sinal das amostras no kernel → multiplicar o filtro por sin(0, 5 t) → shift em fre_ quência de 0, 5. A frequência 0 se torna 0, 5.
Ex. : Filtros passa-banda e rejeita-banda. Cascata: 2 estágios Convolução: 1 estágio Paralelo: 2 estágios Soma: 1 estágio
Classificação de filtros Filtros Digitais Convolução Recursão FIR IIR 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 muitas aplicações e ótimo desempenho na redução de ruído branco, ao mesmo tempo 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 do tempo 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 vezes. Consiste em passar o sinal de entrada pelo filtro duas ou mais
Implementação recursiva É possível implementar um filtro média móvel com um algoritmo rá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 adjacentes sã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.
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:
Simulação Implementar um filtro média móvel (recursivo ou não) para filtrar o seguin Gerada através do Matlab/Simulink. . .
Resultados Optou-se pelo recursivo. Abaixo algumas formas de onda: M=7 M=21 Note os picos do ruído filtrado e a tendênc de se tornar onda triangular com o aumen M!
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) (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). 1. Assunto que será visto. 1
Para suavizar o efeito do truncamento utiliza-se janelas: x = (Janela) FFT
Janelas M=50 Blackman Hamming Qual janela deve-se usar ? Blackman apresenta ainda ripple na banda de passagem de ~0, 02%, enqua a Hamming de ~0, 2%.
Projeto do filtro Parâmetros de projeto: • Frequência de corte f. C. Expressa como uma fração da frequência de amostragem, lo 0 ≤ f. C ≤ 0, 5 (teorema da amostragem) • Número de amostras M. Essa quantidade determina a largura da banda de transiçã M ≈ 4 / bw , onde 0 ≤ bw ≤ 0, 5 bw = 0. 2, 0. 1 e 0. 02 A fc não incluencia na forma da respost
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 evita divisão por zero, fazer h[M/2]=2 fc. K. Note que a equação acima possui: a função sinc, o shift M/2 e a janela Black Algumas respostas
• A frequência da oscilação senoidal vale aproximadamente f. C ; • Resposta no tempo ruim.
Exemplos 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 12 Hz (estado alpha). Um pouco mais ativo, o padrão fica entre 17 e 20 Hz (estado beta). COMO PODEMOS SEPARAR O SINAL ALPHA DO SINAL BETA ? SUPONHA UMA FREQUÊNCIA DE AMOSTRAGEM DE 100 Hz. Solução: filtro passa-baixa com fc=14 Hz (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 10 k. Hz. O filtro terá na sua resposta em frequência uma banda de 80 Hz de passagem do sinal centrada na frequência 2 k. Hz. Assim, o filtro deverá bloquear frequência abaixo de 1960 Hz e acima de 2040 Hz. O filtro terá 50 Hz de largura de banda de transição, e portanto, M=801. Etapas do projeto: 1. 2. 3. 4. Dois filtros passa-baixa com fc 1=0. 196 e fc 2=0. 204 ; O segundo filtro tem seu espectro invertido, tornando-se um passa-alta ; Soma-se ambos os filtros, resultando um rejeita-banda ; Outra inversão de espectro resulta em um passa-banda.
Algoritmo para filtro passa-banda.
Exemplos Deseja-se separar um sinal de 1 m. V que viaja numa linha de transmissão de 120 V. Um filtro passa-baixa com banda de atenuação de -120 d. B no mínimo é necessário. Mas como foi visto, uma janela Blackman oferece somente -74 d. B. Solução - B d 74 Kernel h 1 Kernel h 2 Kernel h=h 1*h 2 B d 48 -1
Simulação Para implementar um sinal amostrado no simulink, pode-se utilizar o bloco hold. Na simulação abaixo, amostrou-se uma senóide de 60 Hz com período de amost de 1 ms. Adicionalmente, inserimos o bloco to worspace para trabalharmos futurame espaç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 forma terceiro. É importante pois relaciona três sinais de grande interesse, a saber: 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 qual entrada x !!
Algoritmo Input Side Esse método procura explicar a convolução do ponto de vista do sinal da en seja, explica como cada amostra da entrada contribui para formar as muitas amostr N=9 M=4 N+M-1=12 pontos Fundamento básico em DSP: 1. decompor a entrada 2. passá-la pelo sistema 3. sintetizar Ex. : Análise da amostra x[4]=1. 4 Passo 1: 1. 4 [n-4] (impulso deslocado) Passo 2: 1. 4 h[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 algoritmo Input Side.
Algoritmo Output Side Esse método procura explicar a convolução do ponto de vista do sinal da saída 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 No presente método, veremos como calcular cada amostra da saída independe das outras amostras da saída. Ex. : Análise de y[6] = soma de todos os sextos pontos nas nove compon acima, ou seja, y[6]=x[3]h[3]+x[4]h[2]+x[5]h[1]+x[6]h[
Máquina de Convolução: um diagrama de fluxo de como ocorre a convolução. X[n] e y[n] são fixos, enquan h[n] é móvel para os lados !
Ex. : cálculo de y[0] e y[3] As amostras da saída bem da direita e as bem da esquerda estão baseadas em informações incompletas. Onde não existem amostras (note x[-3], x[-2] e x[-1]), colocar valor zero. Nesse caso diz-se que a resposta ao impulso h, não está totalmente imergida no sinal de 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 poderia ser representado como uma soma apropriada de sinais senoidais. Por que usar senóides e não ondas triangulares ou quadradas? As senóides possuem a interessante característica de manter a sua forma após passarem por algum sistema. Apenas a 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 é simplesmente chamada transformada de Fourier. • Contínuo periódico: Ex. : Senóides e onda quadrada. A transformada é chamada série de Fourier. • Discreto aperiódico: A transformada é chamada transformada de Fourier a tempo discreto. • 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 16 pontos Cada sinal possui 16 pontos
DFT real A entrada são amostras de um sinal qualquer (igualmente espaçadas), enquant saídas contém as amplitudes das componentes senoidais escaladas de uma forma que ve 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). O motivos são: 1. 2. Endereçamento binário da informação, logo a potência de 2 é o tamanho natural do sinal; 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 corresponde às amostras k. Eixo horizontal como uma fração da frequência de amostragem. Ainda é possível usar (frequência natural), multiplicando por 2 o eixo do f. O range se portanto, de 0 a . Lembrar: SINAIS DISCRETOS APENAS CONTÉM FREQUÊNCIA ENTRE 0 E 0, 5 DA FREQUÊNCI DE AMOSTRAGEM !
Funções base da DFT As função base da DFT (de amplitudes unitárias)são geradas a partir de: Ex. : Seja uma DFT com N=32. A seguir 8 componentes das 17 senóides e 17 cossenóid usadas na DFT.
A DFT inversa De acordo com o que foi dito, podemos sintetizar a entrada como: Eqs. 1 onde, exceto Eqs. 2 Conclusão: Qualquer sinal x[i] com N pontos pode ser sintetizado, adicionando N/2+1 cossenóides e N/2+1 senóides.
Programa em BASIC para o cálculo da transformada DFT inversa:
Ex. : DFT inversa. função impulso A parte imaginária, não mostrada, é composta de zeros ! função constante
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 Im. X[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 pont seja, 33 pontos na parte real e 33 pontos na parte imaginária, no exemplo
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 com cada função base. Ex. : Algoritmo em BASIC
Forma Polar Tendo em vista que: , podemos escrever onde Mag. X[k] e Phase. X[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 seno de 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 muito pequenas (tendência de ficar randômica entre - e ) ;
Bibliografia • S. W. Smith, Digital Signal Processing – a practical guide for engineers and scientists, 2003. USA.
- Slides: 59