Upload
eamon
View
32
Download
0
Embed Size (px)
DESCRIPTION
Implementação de filtros. Filtros FIR Filtros IIR. 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 - PowerPoint PPT Presentation
Citation preview
Geber Ramalho & Osman Gioia - UFPE 1
Implementação de filtros
Filtros FIR
Filtros IIR
Geber Ramalho & Osman Gioia - UFPE 2
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
Geber Ramalho & Osman Gioia - UFPE 3
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
Geber Ramalho & Osman Gioia - UFPE 4
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
Geber Ramalho & Osman Gioia - UFPE 5
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
Geber Ramalho & Osman Gioia - UFPE 6
Filtro FIR geral
Equação:• y[n] = (a0 × x[n]) ± (a1 × x[n - 1]) ± ... (aj × x[n - j])
Circuito/algoritmo de filtro com j estágios
×
+/-
x[n]
× ×. . .
a0 a2 aj
. . .
y[n]
Geber Ramalho & Osman Gioia - UFPE 7
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
Geber Ramalho & Osman Gioia - UFPE 8
Aumento de estágios nos filtros FIR
Passa baixas FIR de 15 estagios Passa baixas FIR de 31 estagios
Geber Ramalho & Osman Gioia - UFPE 9
Filtro IIR simples
Equação:• 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
Geber Ramalho & Osman Gioia - UFPE 10
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
][][][
Geber Ramalho & Osman Gioia - UFPE 11
FIR x IIR
FIR IIR
Custo computacional
ruim bom
Linearidade da resposta de fase
bom ruim
Estabilidade bom ruim
Geber Ramalho & Osman Gioia - UFPE 12
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
Geber Ramalho & Osman Gioia - UFPE 13
Filtro de pente (comb filter)
Interpretação intuitiva• Quando um sinal é superposto a ele mesmo com
pequeno atraso, haverá momentos de reforço e cancelamentos de algumas freqüências com se fosse um pente (comb filter)
Geber Ramalho & Osman Gioia - UFPE 14
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
Geber Ramalho & Osman Gioia - UFPE 15
Filtro Passa Tudo
Idéia• não altera o espectro mas impõe mudança de fase
que depende da freqüência de x
Geber Ramalho & Osman Gioia - UFPE 16
Efeitos de atraso de tempo
Efeitos com atraso (delay) fixo e variável
reverberadores
Geber Ramalho & Osman Gioia - UFPE 17
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-10 ms– no DDL, D > 15 a 20 ms
×
×
+entrada saída
D
amplitude dosinal original
Amplitude dosinal atrasado
Tempo deatraso
tempo
ampl
itude
DDL
ampl
it ude
tempo
Geber Ramalho & Osman Gioia - UFPE 18
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 do ponteiro (tap)
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
Geber Ramalho & Osman Gioia - UFPE 19
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
Geber Ramalho & Osman Gioia - UFPE 20
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
Geber Ramalho & Osman Gioia - UFPE 21
Efeitos de atraso fixo
Atraso fixo médio: 20 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
Geber Ramalho & Osman Gioia - UFPE 22
Efeitos de atraso variável
Efeito “avião”: filtro pente sanfona
Circuito
Geber Ramalho & Osman Gioia - UFPE 23
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
Geber Ramalho & Osman Gioia - UFPE 24
Efeitos de atraso variável
Flanging (0ms < D < 20ms)• muito cancelamento devido ao filtro pente, que vira uma
“sanfona”• nome: polegar na borda (flange) do carretel da fita do
gravador 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
http://www.youtube.com/watch?v=zmN7fK3fKUE&feature=related
http://www.youtube.com/watch?v=NAqQvs_WXs8&feature=related
Geber Ramalho & Osman Gioia - UFPE 25
Flanging x Phasing
Mesma classe de efeito mas obtida de forma diferente
Flanging: • atraso variável independente da freqüência da entrada• Cria muitos vales que seguem o padrão filtro-pente
Geber Ramalho & Osman Gioia - UFPE 26
Efeitos de atraso variável
Phasing: • atraso variável dependente da freqüência da entrada
(não lineridade do passa tudo). • Cria poucos vales. Por isso, soa mais suave que o
flanginghttp://www.youtube.com/watch?v=rpdFZ5VDGDs
Geber Ramalho & Osman Gioia - UFPE 27
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
Geber Ramalho & Osman Gioia - UFPE 28
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
Geber Ramalho & Osman Gioia - UFPE 29
+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
Geber Ramalho & Osman Gioia - UFPE 30
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
Geber Ramalho & Osman Gioia - UFPE 31
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
Geber Ramalho & Osman Gioia - UFPE 32
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
Geber Ramalho & Osman Gioia - UFPE 33
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
Geber Ramalho & Osman Gioia - UFPE 34
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
Geber Ramalho & Osman Gioia - UFPE
Pitch shifting & Time stretching
35
Geber Ramalho & Osman Gioia - UFPE
Alterações em altura e tempo
Seria útil alterar a altura (pitch) da voz e intrumentos...
• para corrigir “desafinações”• criar efeitos
Seria útil ajustar durações de sinais de áudio para casarem em intervalos de tempo determinados
Fluxo de mídia em tv
36
Geber Ramalho & Osman Gioia - UFPE
Reamostragem (resampling)
Um sinal amostrado em uma freqüência pode ser reamostrado
37http://www.youtube.com/watch?v=67UlfiEd6mk
Geber Ramalho & Osman Gioia - UFPE
Reamostragem (resampling)
Sub-amostragem (Downsampling)• Para reduzir a amostragem de um fator M, pega-se
apenas as m-ésimas amostras do sinal.
Sobre-amostragem (Upsampling)• Para aumentar a amostragem de um fator L, adiciona-
se L-1 zeros entre duas amostras e depois filtra-se o sinal com uma passa baixa (equivalente a interpolar)
Mix• Para reduzir de um fator M/L (racional), faz uma sobre-
amostragem de L seguida de uma sub-amostragem de M
38
Geber Ramalho & Osman Gioia - UFPE
Alterações em altura e tempo
Problema da Reamostragem • a mudança na altura está associada à mudança na
duração
Time stretch • processo que mudar a duração de um sinal de áudio
sem alterar a sua altura
Pitch Shift • processo que muda a altura do sinal de áudio sem
afetar a duração• Pitch correction: Ao invés de aplicar o mesmo “desvio”
em todo o sinal, altera nota por nota para se adequar ao tom escolhido
39
Geber Ramalho & Osman Gioia - UFPE
Time stretch
Como muda a duração sem mudar o pitch?
No domínio do tempo (pouco usado)• Overlap Add Method e Synchronized Overlap Add
Method: Divide o sinal em quadros pequenos que são eliminados e depois o sinal é interpolado
40
Geber Ramalho & Osman Gioia - UFPE
Time stretch
No domínio da frequencia: Phase vocoder• Converte sinal do tempo para o domínio da freqüência,
modifica amplitudes e fases, e reconverte para o domínio do tempo
• Basicamente altera o número de ciclos de freqüências componentes de um sinal, sem mudar quais são as freqüências.
• Introduz algumas anomalias (reverberação)
41
http://www.youtube.com/watch?v=O3_ihwhjHUw
Geber Ramalho & Osman Gioia - UFPE
Pitch shift
Como muda a altura sem mudar a duração?• Muda a duração do sinal e depois reamostra
Nem todos os métodos funcionam bem em todo tipo de sinal e há limitações nos desvios (de pitch e de tempo) que eles podem fazer
• Orquestra: 5 semitons (limite de pitch shift) e 30% (limite de tempo)
• Instrumento monofônico: uma oitava e 200% do tempo
42
Geber Ramalho & Osman Gioia - UFPE 43
Referências
Pohlman, Ken. (1995) Principles of Digital Audio. McGraw Hill, 3rd Edition
http://www.dspdimension.com/admin/time-pitch-overview/
http://www.soundonsound.com/sos/mar06/articles/qa0306_1.htm
http://www.geofex.com/Article_Folders/phasers/phase.html
Maranhão, Suzana (2006). Ajuste Elástico em Tempo de Exibição para Fluxos de Áudio Comprimido. Diss. de mestrado. PUC-RJ
http://en.wikipedia.org/wiki/Audio_timescale-pitch_modification