Laboratório de Sistemas e Sinais
Instrumento de Cordas
Luı́s Caldas de Oliveira
Abril 2009
O objectivo deste trabalho de laboratório é o de experimentar modelos para a simulação da sonoridade de um
instrumento de cordas e usá-lo para explorar com maior profundidade os conceitos de resposta ao impulso, em
frequência e espectrogramas.
1 Introdução
Na sessão anterior construiu-se um sistema linear e invariante usando uma retroacção com um atraso de N
amostras:
y(n) = x(n) + αy(n − N)
Viu-se que este sistema introduz um efeito de reverberação semelhante ao que ocorre quando existe eco
acústico. Neste trabalho substituir-se-à a retroacção por um filtro mais complexo. Iremos desta forma poder
modelar um tempo de reverberação variável consoante a frequência do sinal.
No novo modelo juntaremos na retroacção uma cascata dois filtros: um passa-baixo e outro passa-tudo. O
objectivo é o de melhorar a qualidade da modelação do som produzido por instrumentos de corda pulsada tal como
a guitarra.
1.1
Atrasos
Já se mostrou que a resposta em frequência de um sistema que introduz um atraso de N amostras vale:
y(n) = x(n − N) → H(ω) = e− jωN
A amplitude da resposta em frequência será então:
|H(ω)| = |e− jωN | = 1
Por esta razão, este filtro é denominado de passa-tudo.
A resposta de fase do sistema será por seu lado:
∠H(ω) = −ωN
que corresponde a uma função linear da frequência ω, com declive −N. A um filtro com uma resposta de fase deste
tipo chama-se de fase linear. Um atraso é uma forma particularmente simples de um filtro de fase linear. De notar
que o atraso introduzido é igual à derivada negativa da resposta de fase:
−
d
∠H(ω) = N
dω
Este facto será útil mais tarde quando lidarmos com filtros mais complicados do que este simples atraso.
1.2
Filtros Passa-Tudo
Considere o filtro definido pela seguinte equação às diferenças:
∀n ∈ š, y(n) + ay(n − 1) = ax(n) + x(n − 1)
1
em que 0 < a ≤ 1 é uma constante. Sendo o sistema linear e invariante no tempo, se a entrada for x(n) = e jωn , a
saı́da será:
x(n) = e jωn −→ y(n) = H(ω)e jωn
Substituindo na equação às diferenças:
H(ω)e jωn + aH(ω)e jω(n−1) = ae jωn + e jω(n−1)
ou seja,
H(ω) 1 + ae− jω = a + e− jω
resolvendo em ordem a H(ω)
a + e− jω
1 + ae− jω
A partir daqui poderia-se representar directamente o módulo e a amplitude da resposta em frequência do sistema.
No entanto continuaremos a nossa análise de forma analı́tica.
Se multiplicarmos o numerador e o denominador da resposta em frequência por e jω/2 :
H(ω) =
ae jω/2 + e− jω/2
e jω/2 + ae− jω/2
Podemos reparar que o numerador e o denominador são complexos conjugados, ou seja se:
H(ω) =
b(ω) = ae jω/2 + e− jω/2
a resposta em frequência pode ser representada por:
H(ω) =
b(ω)
b∗ (ω)
Uma vez que um número complexo e o seu conjugado têm o mesmo módulo, pode-se verificar que o filtro que
estamos a estudar é um passa-tudo:
|b(ω)|
|H(ω)| = ∗
=1
|b (ω)|
O estudo analı́tico da resposta de fase é um pouco mais complicado. Podemos começar por notar que:
∠H(ω) = ∠b(ω) − ∠b∗ (ω)
como ∠b∗ (ω) = −∠b(ω)
∠H(ω) = 2∠b(ω)
por outro lado:
b(ω) = (a + 1) cos(ω/2) + j(a + 1) sin(ω/2)
−1
uma vez que ∠z = tan
(Im(z)/Re(z))
∠H(ω)
= 2 tan−1
=
(a−1) sin(ω/2) (a+1) cos(ω/2)
2 tan−1 a−1
a+1
tan(ω/2)
Quando ω for pequeno (comparado com π) a tangente pode ser aproximada por:
tan(ω/2) ≈ ω/2
sendo assim,
!
a−1
ω/2
a+1
Uma vez que 0 < a ≤ 1, o argumento do arco tangente é também um valor pequeno. Sendo assim, para valores de
frequência baixos:
a−1
∠H(ω) ≈
ω = −dω
a+1
em que d é definido por
a−1
d=−
a+1
Sendo assim, para frequências baixas, este filtro passa-tudo tem fase aproximadamente linear com declive −d,
ou seja, comporta-se como um atraso. No entanto, e ao contrário do atraso de N amostras, o valor do atraso é d
que, em função de a, pode tomar qualquer valor real entre 0 e 1. O filtro passa-tudo dá-nos assim a possibilidade
de introduzir num sistema discreto, atrasos em fracções de amostra, pelo menos para baixas frequências.
∠H(ω) ≈ 2 tan−1
2
2 Trabalho para os Alunos
1. O filtro passa-baixo que iremos usar é um simples filtro de média móvel de duas amostras. Se a entrada for
x e a saı́da y, então o filtro poderá ser definido pela seguinte equação às diferenças:
∀n ∈ š, y(n) =
1
(x(n) + x(n − 1))
2
Encontre uma expressão para H(ω), a resposta em frequência deste filtro e use o Matlab para desenhar os
gráficos da sua amplitude e fase para uma gama de frequências entre 0 e π rad/s.
2. Verifique se o filtro passa-baixa da alı́nea anterior é de fase linear e, em caso afirmativo, determine o seu
atraso.
3. No trabalho anterior inicializaram-se com valores aleatórios as memórias de um filtro em pente e produziu-se
um som que se aproximava razoavelmente com um som produzido por um instrumento de corda pulsada tal
como uma guitarra. Iremos agora tentar melhorar essa aproximação, uma vez que os sons de instrumentos
reais têm maior dinâmica na sua estrutura em frequência. O espectro do som alguns milissegundos após
pulsar corda é diferente do seu espectro um segundo depois. Fisicamente isto explica-se porque as vibrações
de mais alta frequência da corda morrem mais depressa do que as de frequência mais baixa.
Iremos aproximar este efeito modificando o filtro em pente com a introdução do filtro passa-baixo da primeira alı́nea na cadeia de retroacção do filtro original.
Analiticamente, o filtro original poderá ser representado na forma:
(
y(n) = x(n) + αw(n)
w(n) = y(n − N)
No novo filtro:
(
y(n) = x(n) + αw(w)
w(n) = 12 (y(n − N) + y(n − N − 1))
ou seja
1
1
y(n) = x(n) + α y(n − N) + α y(n − N − 1)
2
2
Utilize a função filter para realizar este sistema com α = 0,99 e N = 40, tal como anteriormente. Considere como entrada x=[randn(1,41), zeros(1,15959)]. Consegue distinguir a melhoria?
4. Repita a alı́nea anterior mas agora considerando que o sinal de entrada tem a forma triangular tal que x(1)=0,
x(20)=1, x(41)=0 e x(n)=0 para n>41.
5. No último trabalho de laboratório conclui-se que o som gerado pelo filtro em pente tinha uma frequência
de 8000/N em que N era o atraso introduzido na cadeia de retroacção e 8000 a frequência de amostragem.
Agora introduziu-se um atraso adicional na cadeia de retroacção que foi determinado na segunda alı́nea.
Qual a frequência fundamental do som gerado?
6. O filtro em pente pode apenas introduzir um número inteiro de amostras de atraso. Por outro lado o filtro
passa-baixo introduz um atraso fixo. Assumindo uma frequência de amostragem de 8000 Hz é possı́vel
conseguir produzir um sinal com frequência fundamental de 440 Hz? Esta frequência corresponde à nota
Lá que é considerada a nota de referência para a afinação de instrumentos musicais (A-440). Determine a
frequência mais próxima de 440 Hz que consegue produzir com o seu filtro em pente a 8 kHz. A aproximação
é suficiente? Determine a frequência de amostragem que teria de usar para produzir exactamente a nota
desejada.
7. Mostre analiticamente que o filtro passa-baixo da primeira alı́nea tem fase linear na gama de frequências
entre 0 e π rad/s e determine o seu declive. Verifique se o seu resultado está de acordo com o gráfico
desenhado anteriormente.
8. Determine a resposta em frequência do filtro em pente usado neste trabalho (incluindo o filtro passa-baixo).
Usando o Matlab, trace o gráfico da amplitude da resposta em frequência para a gama de frequências entre
0 e π rad/s. Compare o gráfico com o filtro em pente do trabalho anterior. Determine, usando os gráficos,
as frequências fundamentais dos sons produzidos por cada filtro. Nota: como os picos espectrais são muito
estreitos deverá traçar um gráfico com pelo menos 2000 amostras em frequência.
3
9. O filtro em pente com o filtro passa-baixo na cadeia de retroacção modela mais fielmente o fenómeno fı́sico
da vibração da corda. Trace os espectrogramas dos sons produzidos pelos dois filtros em pente e explique as
diferenças.
10. Considere o filtro passa-tudo com a seguinte equação às diferenças:
y(n) = ax(n) + x(n − 1) − ay(n − 1)
Utilizando o Matlab para desenhar os gráficos, verifique que o sistema tem resposta em frequência com
amplitude constante e fase linear para frequências baixas. Represente a fase da resposta em frequência para
os seguintes valores de atraso: d = 0,1, d = 0,4, d = 0,7, d = 1,0. Diga se os gráficos produzidos confirmam
as suas conclusões acerca deste filtro.
11. Na alı́nea 6 concluiu que não se conseguia produzir um sinal com frequência fundamental de 440 Hz usando
a frequência de amostragem de 8 kHz. No entanto, o filtro passa-tudo da alı́nea pode produzir atrasos
fraccionários. Modifique o seu filtro em pente introduzindo o filtro passa-tudo na cadeia de retroacção.
Defina o conjunto de parâmetros para poder produzir um som com frequência fundamental de 440 Hz à
frequência de amostragem de 8 kHz.
4
Download

Laborat´orio de Sistemas e Sinais Instrumento de Cordas