Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR.
Transcript of Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR.
![Page 1: Geber Ramalho & Osman Gioia - UFPE 1 Implementação de filtros Filtros FIR Filtros IIR.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/1.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/2.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/3.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/4.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/5.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/6.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/7.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/8.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/9.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/10.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/11.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/12.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/13.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/14.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/15.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/16.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/17.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/18.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/19.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/20.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/21.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/22.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/23.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/24.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/25.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/26.jpg)
26 Geber Ramalho & Osman Gioia - UFPE
+entrada saída
D×
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/27.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/28.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/29.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/30.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/31.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022061515/552fc0f9497959413d8b77d4/html5/thumbnails/32.jpg)
32 Geber Ramalho & Osman Gioia - UFPE
Harmony Central
http://www.harmonycentral.com/Effects/effects-explained.html