Institui��o: DCC-IME-USP
T�tulo: Teoria e Projeto de Filtros Digitais
Material: | Patches Pd |
Roteiro da aula sobre filtros:
- exemplos de filtro passa-baixa (y(n)=0.5*(x(n)+x(n-1))) e passa-alta (y(n)=0.5*(x(n)-x(n-1))) - transformada z: X(z) = \sum_{n=-\infty}^{\infty} x(n)z^{-n} - Se y(n)=a0*x(n)+a1*x(n-1)+...+aM*x(n-M) ent�o Y(z) = (a0+a1*z^{-1}+...+aM*z^{-M})*X(z) de onde H(z) = Y(z)/X(z) = a0+a1*z^{-1}+...+aM*z^{-M} � a resposta em freq��ncia do filtro - filtro com 2 zeros em R*e^{i*2*pi*f/SR} e R*e^{-i*2*pi*f/SR}: (obs: a freq��ncia angular associada � freq��ncia f em Hz � 2*pi*f/SR, onde SR � a taxa de amostragem) H(z) = (1-R*e^{i*2*pi*f/SR}z^{-1})*(1-R*e^{-i*2*pi*f/RS}z^{-1}) = 1-2*R*cos(2*pi*f/SR)*z^{-1}+R^2*z^{-2} y(n) = x(n)-2*R*cos(2*pi*f/SR)*x(n-1)+R^2*x(n-2) (ver exemplo teste2Z.pd e subpatch filtro2Z.pd) - Se y(n)=a0*x(n)+a1*x(n-1)+...+aM*x(n-M)-b1*y(n-1)-b2*y(n-2)-...-bNy(n-N) ent�o (1+b1*z^{-1}+...+bM*z^{-M})Y(z) = (a0+a1*z^{-1}+...+aM*z^{-M})*X(z) de onde H(z) = Y(z) = a0+a1*z^{-1}+...+aM*z^{-M} ---- -------------------------- X(z) 1+b1*z^{-1}+...+bM*z^{-M} � a resposta em freq��ncia do filtro - filtro com 2 p�los em R*e^{i*2*pi*f/SR} e R*e^{-i*2*pi*f/SR}: H(z) = 1/((1-R*e^{i*2*pi*f/SR}z^{-1})*(1-R*e^{-i*2*pi*f/SR}z^{-1})) = 1/(1-2*R*cos(2*pi*f/SR)*z^{-1}+R^2*z^{-2}) y(n) = x(n)+2*R*cos(2*pi*f/SR)*y(n-1)-R^2*y(n-2) (ver exemplo teste2P.pd e external filtro2P~.c) - filtros com v�rios p�los e zeros podem ser criados diretamente a partir de H(z) (o que pode torn�-los computacionalmente mais eficientes) ou simplesmente obtidos por composi��o de v�rios filtros simples, em s�rie (respostas em freq��ncia multiplicadas) ou em paralelo (respostas em freq��ncia somadas). (ver exemplo teste2P8Z.pd) - O m�todo de Karplus-Strong utilizado para simular sons de cordas pin�adas parte do princ�pio da s�ntese subtrativa, filtrando sucessivamente um fragmento at� o sil�ncio. Procura imitar as seguintes caracter�sticas de cordas pin�adas: (1) ataque ruidoso (o buffer � inicializado com amostras aleat�rias); (2) defini��o tonal ap�s ataque (o buffer tem tamanho fixo associado � freq��ncia do som desejado); (3) abafamento sucessivo dos agudos (atrav�s do filtro passa- baixa recirculante). Esquematicamente: buffer (tamanho M = SR/freq, inicializado com ru�do) ----------- --------------------- |!@(*&%$+#| ---> | 0.5*(x(n)+x(n-1)) | ---> y(n) ----------- | --------------------- | | | | ---------- | <---------| z^{-M} |<-------- ---------- (ver exemplo testeKS.pd e external KarplusStrong~.c) - O m�todo de s�ntese por formantes consiste em associar filtros passa-banda em paralelo, cujos p�los s�o definidos por regi�es de formantes. No caso da s�ntese de vogais, existem tabelas para estes formantes (ver Moore, Elements of Computer Music, pg. 392 tabela 3-10). Estes filtros podem ser aplicados sobre sinais com espectros ricos, como ru�dos, tons "cheios" (onda quadrada, triangular, dente-de-serra, etc.) ou m�sicas. (ver exemplo testeFORM.pd)