1 / 43

Implementação de filtros

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

eamon
Download Presentation

Implementação de filtros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementação de filtros Filtros FIR Filtros IIR

  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

  3. + + D D IIR FIR entrada saída entrada saída Filtros IIR e FIR • Dois tipos principais de filtros • Finite Impulse Response (FIR) • Infinite Impulse Response (IIR)

  4. a 0,5 1  × × + f entrada saída Fa/2 0,5 Passa-Baixas FIR • 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

  5. 0,5  × × - entrada saída 0,5 a 1 f Fa/2 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

  6. × × × x[n] . . .   a0 a2 aj . . . +/- y[n] 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

  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

  8. Aumento de estágios nos filtros FIR Passa baixas FIR de 15 estagios Passa baixas FIR de 31 estagios

  9. a 1 × × + f Fa/2 0,5  0,5 x[n] y[n] 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

  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

  11. FIR x IIR

  12. + D entrada saída Filtro de pente (comb filter) • 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

  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)

  14. × + + × g D x[n] y[n] - g 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

  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 • percebe-se os ataques e decaimentos mais abruptos

  16. Efeitos de atraso de tempo Efeitos com atraso (delay) fixo e variável reverberadores

  17. × × + Tempo de atraso Amplitude do sinal atrasado D entrada saída amplitude do sinal original 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 > 10 ms amplitude amplitude DDL tempo tempo

  18. 8 8 1 1 7 7 2 2 Ciclo k 6 6 3 3 N 4 4 5 5 tap O O Implementando a DDL: fila circular • 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 tap

  19. 8 1 7 2 tap1 tap2 6 3 N 4 5 O 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

  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

  21. amplitude amplitude DDL tempo tempo amplitude amplitude DDL tempo tempo 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

  22. Efeitos de atraso variável • Circuito • Efeito “avião”: filtro pente sanfona http://www.youtube.com/watch?v=NAqQvs_WXs8

  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

  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=NAqQvs_WXs8&feature=related http://www.youtube.com/watch?v=zmN7fK3fKUE&feature=related

  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

  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 flanging http://www.youtube.com/watch?v=rpdFZ5VDGDs

  27. predelay 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 (reverb-ss1.wav)

  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

  29. + × g D amplitude entrada saída tempo D 3D 5D ... Reverberação c/ filtros pente Resposta ao impulso Filtro Pente IIR • 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)  loopDelayonde g (dB) e loopDelay = D/taxa de amostragem (s)

  30. × + + × × g g g2 1-g2 g3 amplitude D x[n] y[n] g4 g5 g6 tempo D 3D 5D ... - g 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 Filtro Passa Tudo IIR Resposta ao impulso

  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

  32. entrada + Pente 1 Pente 2 Pente 3 Pente 4 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

  33. entrada Passa tudo 1 Passa tudo 2 Passa tudo 3 Passa tudo 4 Passa tudo 5 Saída reverberada 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

  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

  35. Pitch shifting & Time stretching

  36. 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

  37. Reamostragem (resampling) http://www.youtube.com/watch?v=67UlfiEd6mk Um sinal amostrado em uma freqüência pode ser reamostrado

  38. 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

  39. 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

  40. 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

  41. Time stretch http://www.youtube.com/watch?v=O3_ihwhjHUw • 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)

  42. 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

  43. Harmony Central • 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

More Related