680 likes | 940 Views
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 .
E N D
Introdução à Filtros Digitais Filtros básicos, parâmetros no domínio do tempo e frequência, classificação de filtros
Filtrossãousadosbasicamenteparadoispropósitos: • Separação de sinaiscombinados; • Restauração de sinalquefoidistorcido. • A princípio, a separação e/ourestauração de sinaispode ser realizada com ambos ostipos de filtros, analógicos e digitais. As diferençasbásicassão: • Analógicos • Barato • Rápidos • Grande faixadinâmica (amplitude e frequência) • Digitais • Muitomelhordesempenho. Ex.: Serávisto um filtropassa-baixaquepossuiganho 1±0,0002 entre frequência zero e 1000Hz e um ganho de menosque 0,0002 parafrequênciasacima de 1001Hz. Excelentenão?
Filtros lineares comumente apresentam as curvas abaixo: -3dB : amplitude do sinal cai à 0,707 e a potência é reduzida à 0,5.
DOMÍNIO DO TEMPO Respostaaodegrau Tempo de subida: entre 10% e 90%. Deseja-se o menorpossível. Overshoot: distorçãodainforma- ção. Fase linear: simetria entre as me- tades superior e inferior → res- postaemfrequência com faseli- near.
DOMÍNIO DA FREQUÊNCIA Respostaemfrequência Banda passante: frequências permitidas (ganho 1 geralmente) Frequência de corte: 99%, 90%, 70,7% e 50% da amplitude para filtrosdigitais. Banda de transição: deseja-se a menorpossível. Banda de rejeição: frequências bloqueadas.
DOMÍNIO DA FREQUÊNCIA Respostaemfrequência
A figuraabaixomostra o processo de conversãofiltropassa-baixa → filtropassa-alta. • 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 modificações no domínio do tempo indicadas, resultam em inversão no espectro de frequência ? • δ[n]-h[n]: inverter sinaldaresposta • impulsiva e adicionar 1 no centro. • Condição: as componentes de baixa • frequência das saídasparciais (antes • do somador) precisamestaremfase. • Para issodeve-se: • filtro kernel original com fase linear • impulsoadicionado no centroda • simetria.
Outro método: spectral reversal !! • mudar o sinal das • amostras no kernel → • multiplicar o filtro por • sin(0,5t) → 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çãopor convolução, redução de ruído, implementaçãorecursiva, passagensmú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 Consiste em passar o sinal de entrada pelo filtro duas ou mais vezes.
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 seguinte sinal: 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ência de se tornar onda triangular com o aumento de M !
Filtros Windowed-Sinc (SincJanelado) Estratégia do filtro, projeto, exemplos.
Estratégia do filtro SincJanelado • 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 (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.
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%, enquanto a 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, logo • 0 ≤ fC ≤ 0,5 (teorema da amostragem) • Número de amostras M. Essa quantidade determina a largura da banda de transição bw, pois • M ≈ 4 / bw , onde 0 ≤ bw ≤ 0,5 bw = 0.2, 0.1 e 0.02 A fcnão incluencia na forma da resposta
Após selecionado fce M, o filtro pode ser calculado usando: onde K é selecionado de modo a garantir ganho unitário na frequência zero. Para evitar divisão por zero, fazer h[M/2]=2fcK. Note que a equação acima possui: a função sinc, o shift M/2e a janela Blackman !! Algumas respostas
A frequência da oscilação senoidal vale aproximadamente fC ; • 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 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 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 frequência uma banda de 80Hz de • passagem do sinal centrada na frequência 2kHz. Assim, o filtro deverá bloquear • frequê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: • 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 inversão 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 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 -74dB -148dB Kernel h1 Kernel h2 Kernel h=h1*h2
Simulação Para implementar um sinal amostrado no simulink, pode-se utilizar o bloco zero-order hold. Na simulação abaixo, amostrou-se uma senóide de 60Hz com período de amostragem de 1ms. Adicionalmente, inserimos o bloco to worspace para trabalharmos futuramente no 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 formar um terceiro. É 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 qualquer entrada x !!
Algoritmo Input Side Esse método procura explicar a convolução do ponto de vista do sinal da entrada, ou seja, 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 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.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 algoritmo Input 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 independentemente das outras amostras da saída. Ex.: Análise de y[6] y[6] y[6] = soma de todos os sextos pontos nas nove componentes acima, 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, enquanto 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:
Jean Baptiste Joseph Fourierafirmou 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 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 é 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), enquanto as saí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). Os • motivos são: • 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 será portanto, de 0 a . 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: 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: 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.