geber ramalho & osman gioia - ufpe 1 implementação de filtros filtros fir filtros iir

32
1 Geber Ramalho & Osman Gioia - UFPE Implementação de filtros Filtros FIR Filtros IIR

Upload: internet

Post on 16-Apr-2015

172 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

1 Geber Ramalho & Osman Gioia - UFPE

Implementação de filtros

Filtros FIR

Filtros IIR

Page 2: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

2 Geber Ramalho & Osman Gioia - UFPE

Implementação de filtros

Abordagem• equações de diferença linear: filtragem construída a

partir de atrasos e operações aritméticas simples• em engenharia: teoria matemática dos polos e zeros

no espaço dos números complexos...

Notação• x[n] = amostra número n do sinal de entrada• y[n+1] = amostra número n + 1 do sinal de saída • D = atraso (delay) = atraso de uma amostra• + = soma de sinais• × = multiplicação do sinal por um fator

Page 3: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

3 Geber Ramalho & Osman Gioia - UFPE

Filtros IIR e FIR

Dois tipos principais de filtros• Finite Impulse Response (FIR)• Infinite Impulse Response (IIR)

+entrada saída

DFIR

+entrada saída

DIIR

Page 4: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

4 Geber Ramalho & Osman Gioia - UFPE

Passa-Baixas FIR

f

a

Fa/2

1

×

×

+entrada saída

0,5

0,5

Equação• y[n] = (0,5 × x[n]) + (0,5 × x [n - 1])

Comentário• equivalente a encontrar a média aritmética de pares

de amostras subseqüentes• efeito: “amaciar” a forma de onda (passa-baixas)

Circuito/algoritmo

Freqüência de amostragem

Page 5: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

5 Geber Ramalho & Osman Gioia - UFPE

Passa-Altas FIR

Equação• y[n] = (0,5 × x[n]) - (0,5 × x [n - 1])

Comentário• equivalente a enfatizar as diferenças entre pares de

amostras subseqüentes• efeito: enfatizar altas freqüências (passa-altas)

Circuito/algoritmo

×

×

-entrada saída

0,5

0,5

f

a

Fa/2

1

Page 6: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

6 Geber Ramalho & Osman Gioia - UFPE

Filtro FIR geral

Equação:• y[n] = (a0 × x[n]) ± (a1 × x[n - 1]) ± ... (ai × x[n - i])

Circuito/algoritmo de filtro com j estágios

×

+/-

x[n]

× ×. . .

a0 a2 aj

. . .

y[n]

Page 7: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

7 Geber Ramalho & Osman Gioia - UFPE

Filtro FIR geral

A resposta do filtro dependerá de• quantidade de estágios do filtro (valor de j)• operações de adição ou subtração• coeficientes a1,..., aj

Observações• quanto mais longo (mais estágios) for o filtro, mais

estreita pode ser sua banda de transição (inclinação)• mas isto vai requerer mais computação• depois de certos estágios o ganho em precisão de

corte do filtro é mínimo, não valendo a pena o custo benefício

Page 8: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

8 Geber Ramalho & Osman Gioia - UFPE

Aumento de estágios nos filtros FIR

Passa baixas FIR de 15 estagios Passa baixas FIR de 31 estagios

Page 9: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

9 Geber Ramalho & Osman Gioia - UFPE

Filtro IIR simples

Equação: Filtro ETA (exponential time average)• y[n] = (0,5 × x[n]) + (0,5 × y [n - 1])

Comentário• equivale a recursivamente adicionar vários estágios de um

filtro FIR• soma com a saída anterior e divide por dois. Com

coeficientes iguais a 0,5 => passa-baixas

Circuito/algoritmo

×

×

+x[n]

0,5

0,5

y[n] f

a

Fa/2

1

Page 10: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

10 Geber Ramalho & Osman Gioia - UFPE

Filtro IIR geral

Equação• y[n] = (a0 × x[n]) + ... (am × x[n - M])

+/- b1 × y[n] +/- ... (bN × y[n - N])

ou simplesmente

Comentário• construído a partir das amostras anteriores de entrada (multiplicadas

por um fator diferente de zero) e o feedback das amostras de saída

M

i

N

jji jnybinxany

0 1

][][][

Page 11: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

11 Geber Ramalho & Osman Gioia - UFPE

FIR x IIR

FIR IIR

Custo computacional

ruim bom

Linearidade da resposta de fase

bom ruim

Estabilidade bom ruim

Page 12: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

12 Geber Ramalho & Osman Gioia - UFPE

Filtro de pente (comb filter)

+entrada saída

D

Equação• y[n] = x[n] + x [n - D] (FIR)

Comentários• D é um atraso bem mais longo do que • Também é possível implementar com IIR

y[n] = (a × x[n]) + (b × y[n - D])

Circuito/algoritmo

FIR

Page 13: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

13 Geber Ramalho & Osman Gioia - UFPE

Filtro Passa Tudo

Idéia• não altera o espectro mas impõe mudança de fase

que depende da freqüência de x• percebe-se os ataques e decaimentos mais abruptos

Freqüência (Hz)

10

Delay (ms)

00 1000

Page 14: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

14 Geber Ramalho & Osman Gioia - UFPE

Filtro Passa Tudo Equação

• y[n] = (-g × x[n]) + x[n - D] + (g × y[n - D])

Comentários• g é chamado de ganho• o deslocamento de fase depende logaritmicamente do

atraso D (0 < D < freq. de amostragem)

Circuito/algoritmo

×

+x[n] D

g

y[n]+×

- g

Page 15: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

15 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso de tempo

Efeitos com atraso (delay) fixo e variável

reverberadores

Page 16: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

16 Geber Ramalho & Osman Gioia - UFPE

DDL

Digital delay line ou digital delay unit• Colocar amostras de entrada na memória antes de

mandá-las para saída misturando com amostras não atrasadas

• base para um série de efeitos de processamento• parecido com o filtro passa baixas FIR e com o pente,

a diferença sendo o tempo de atraso– no PB FIR, D = uma amostra– no pente, D = 0,1-1 ms– no DDL, D > 1ms

×

×

+entrada saída

D

amplitude dosinal original

Amplitude dosinal atrasado

Tempo deatraso

tempo

ampl

itude

DDL

ampl

it ude

tempo

Page 17: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

17 Geber Ramalho & Osman Gioia - UFPE

Implementando a DDL: fila circular

N

O

1

2

3

45

6

7

8

A cada ciclo (período de amostragem) • lê-se a amostra mais antiga O• escreve-se em seu lugar a nova amostra N• incremementa-se a posição da próxima posição amostra

mais antiga O

Com esta técnica (único ponteiro - single tap)• implementa-se um atraso fixo, proporcional ao tamanho

da fila

Ciclo k + 1

O

1

2

3

45

6

7

8Ciclo k

tap

tap

Page 18: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

18 Geber Ramalho & Osman Gioia - UFPE

Multitap Delay Line

Pode-se implementar atrasos mais curtos, mais longos e variáveis na mesma fila circular

• Permitindo que o ponteiro “bata” (tap) em qualquer ponto da fila e que haja mais de uma “batida”

Para 2 taps: A cada ciclo• simultaneamente, duas amostras são lidas nas posições

tap1 e tap2• a nova amostra é escrita na posição O• todas as posições são incrementadas de 1

variando-se o incremento• dinamicamente, pode-se

implementar um valor de atraso variável N

O

1

2

3

45

6

7

8tap1

tap2

Page 19: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

19 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso fixo

2 Tipos de atraso: fixo ou variável• Atraso fixo pode ser pequeno, médio e longo e gera

efeitos como ecos e duplicação• Atraso variável gera efeitos como flanging, phasing,

chorus

Atraso fixo pequeno: D < 10ms• introduz anomalias na resposta em freqüência • D = algumas amostras, funciona como filtro passa

baixas FIR • 0,1ms < D < 10ms, funciona como um filtro pente

Page 20: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

20 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso fixo

Atraso fixo médio: 10 ms < D < 50ms• cria ambiência e dá ilusão de aumento da intensidade• cria efeito de duplicação “doubling”, pois sinal atrasado

e original se fundem

Atraso fixo longo: D > 50ms• cria ecos• Observação: ecos múltiplos podem ser criados

realimentando-se o circuito

tempo

ampl

itude

DDL ampl

it ude

tempo

tempo

ampl

itude

DDL ampl

it ude

tempo

Page 21: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

21 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso variável

Efeito “avião”: filtro pente sanfona

Circuito

Bateria seca e c/ flanging

(flanger-ss1.wav)

Page 22: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

22 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso variável

Parâmetros• velocidade das variações (freqüência do LFO)• profundidade das variações (amplitude do LFP)• forma de onda do LFO (senoidal, triangular, ...)• atraso central D

D

Page 23: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

23 Geber Ramalho & Osman Gioia - UFPE

Efeitos de atraso variável

Flanging (0ms < D < 20ms)• muito cancelamento devido ao filtro pente• nome: polegar na borda (flange) da fita de rolo

Chorus (D > 20 ms)• ouve-se a cópia do som, como se fosse um “coro”• é um tipo de efeito de duplicação mais realista

Profundidade = 3 ms e 6 ms (chorus-ss2.wav)

Progressão seca e com chorus (chorus-ss1.wav)

D = 1 ms e 4 ms (flanger-ss2.wav)

Profundidade = 2 ms e 6 ms (flanger-ss3.wav)

Page 24: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

24 Geber Ramalho & Osman Gioia - UFPE

Reverberação História

• Anos 60: Manfred Shoeder, da Bell Labs, implementou os primeiros algoritmos de reverberação

Um reverberador• filtro com resposta ao impulso que se assemelha à

resposta de uma sala

predelay

(reverb-ss1.wav)

Page 25: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

25 Geber Ramalho & Osman Gioia - UFPE

Reverberação

O efeito de Reverberação divide-se em 3 partes• som direto• primeiras reflexões

– pode ser simulado com uma DDL “batida” em diferentes pontos

• reverberação fusionada (fused reverberation)– precisa de mais densidade do que uma DDL pode

prover– a sua implementação pode ser feita a partir de dois

filtros básicos: filtros pente e/ou filtros passa tudo

É desejável...• manipular cada uma das 3 partes da reverberação de

forma relativamente independente, além do pre-delay

Page 26: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

26 Geber Ramalho & Osman Gioia - UFPE

+entrada saída

g

tempo

ampl

itude

D 3D 5D ...

Reverberação c/ filtros pente

Comentário• quando atraso < 10ms o efeito restringi-se

basicamente à resposta em freqüência• quando atraso > 10ms, cria-se uma séries de ecos

igualmente espaçados que decaem exponencialmente• Tempo que leva para saída cair 60dB

– decayTime = (60 - g) loopDelay

onde g (dB) e loopDelay = D/taxa de amostragem (s)

Filtro Pente IIRResposta ao impulso

Page 27: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

27 Geber Ramalho & Osman Gioia - UFPE

Reverberação c/ filtros passa-tudo

Comentários• quando o tempo de atraso é longo (5-100 ms), cria-se

uma séries de ecos igualmente espaçados que decaem exponencialmente

×

+x[n] D

g

y[n]+×

- g

×

1-g2

tempo

ampl

itude

D 3D 5D ...

gg2

g3

g4

g5

g6

Filtro PassaTudo IIR Resposta ao impulso

Page 28: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

28 Geber Ramalho & Osman Gioia - UFPE

E aí?

Resumo• tanto o passa tudo quanto o pente são filtros que

podem gerar múltiplos ecos, mas como gerar a reverberação fusionada?

Solução• conectar vários filtros• conexão em paralelo: soma dos ecos• conexão em série: multiplicação dos ecos

– mais eficiente, porém menor controle• Shoeder propôs dois esquemas de conexão

Page 29: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

29 Geber Ramalho & Osman Gioia - UFPE

entrada

Pente1

Pente2

Pente3

Pente4

+

Passa tudo 1

Passa tudo 2

Saída reverberada

Esquema: pente + passa tudo

Pentes em paralelo para evitar anomalias no espectro. Um compensa o efeito do outro

Passatudo em série para evitar anomalias na resposta de fase. Um compensa o efeito do outro

Page 30: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

30 Geber Ramalho & Osman Gioia - UFPE

Esquema: só passa tudo

Cada passa tudo gera 4 ecos audíveis, o que implica que este esquema gera 1024 ecos

Dica geral• A característica do som dependerá

da escolha do tempo de atraso e ganho de cada unidade de reverberação

• melhor escolher tempos de atraso primos entre si para que os ecos coincidam o mínimo possível

entrada

Passa tudo 3

Passa tudo 4

Saída reverberada

Passa tudo 1

Passa tudo 2

Passa tudo 5

Page 31: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

31 Geber Ramalho & Osman Gioia - UFPE

Alguns Parâmetros da reverberação

Tipo de sala: pode ser hall, chamber, plate ou gate

Tamanho: tempo de atraso entre as unidades de reverberação

Predelay: tempo até a reverberação começar

Atraso de entrada: inverte a relação causa-efeito (reverberação aparece antes do sinal

Tempo de reverberação: tempo de decaimento

Difusão: densidade do eco

Mix: razão entre entrada e saída

Page 32: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR

32 Geber Ramalho & Osman Gioia - UFPE

Harmony Central

http://www.harmonycentral.com/Effects/effects-explained.html