[Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

[Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

por Luciana da Costa Marques -
Número de respostas: 4

Olá,

No enunciado do exercício, encontra-se a equação:

((RcosφaA -cosφbB )²+(RsinφaA -sinφbB )²)*((RcosφaA -cosφbB )²+(RsinφaA+sinφbB )²) = 4*(1-R)²((cosφaA -RcosφaA )²+(sinφaA+RsinφaA )²).

Eu gostaria de conferir aqui se entendi corretamente o que calcular:

1) Para um dado filtro, para encontrar o seu ângulo φ basta utilizar fórmula 2*pi*F/R, conforme as fórmulas passadas utilizando K;

2) Obtendo φ, para o cálculo da magnitude basta calcular 4*(1-R)²((cosφA -RcosφA )²+(sinφA+RsinφA )²).

3) Para calcular R, podemos utilizar o método da busca binária dentro da abstração Rotimo. Porém,  eu não entendi como encontrar os pólos para utilizar como parâmetros para o patch do Rotimo. 

Por exemplo, para calcular R para o filtro A com vizinho B, passamos como parâmetro os ângulos φ de A e B? Mas como fazer esse cálculo sem o valor de R (2*pi*F/R)?

Obrigada

Em resposta à Luciana da Costa Marques

Re: [Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

por Marcelo Queiroz -

Boa tarde!

1) Sim, essa é a equação da conversão de Hz para rad/amostra.

2) Você não precisa usar essa fórmula em lugar nenhum da sua implementação. Os filtros produzidos pela abstração 2polos~ já são normalizados, ou seja, você só passa o sinal, o valor da magnitude R e o valor da frequência central fi e ele ajusta a resposta de frequência para que ela tenha magnitude 1 na frequência central.

3) A abstração Rotimo recebe o fia e o fib do enunciado, que representam:

fia = ângulo (entre 0 e pi) da frequência central da banda que você quer configurar.
fib = ângulo (entreo 0 e pi) da frequência intermediária onde você quer que o filtro tenha ganho 0.5.
 
Essa frequência intermediária está sempre entre as frequências centrais de duas bandas FA e FC do equalizador. FB ou fib não são frequências associadas ao equalizador, mas sim uma frequência intermediária. Vocês podem imprimir os valores no Pd e reconfirme numa calculadora de acordo com as fórmulas do enunciado.
 
A saída do script Rotimo é um valor de R, que representa a magnitude do polo, ou seja, a distância do polo até a origem (o polo propriamente dito é R*exp(i*fia)). Como ele precisa estar no interior do círculo unitário, seus valores estão entre 0 e 0.999. Esse R devolvido pelo Rotimo é exatamente o você deve colocar na entrada do filtro 2polos~ (esse último recebe um sinal, um valor de R entre 0 e 0.999 e um valor de fia entre 0 e pi).
Em resposta à Luciana da Costa Marques

Re: [Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

por Marcelo Queiroz -

Desculpe, Luciana, agora percebi que usei a mesma letra para duas coisas completamente diferentes, mas que deveriam ter ficado claras pelo contexto:

R em φ=2πF/R é a taxa (Rate) de amostragem, que é 44100 no ambiente que usamos.

R em R*exp(i*φ) é a magnitude do Polo, que está entre 0 e 0.999 porque tem que ficar no interior do círculo unitário.

Isso deve responder sua última dúvida: φ só depende de F e algumas constantes, enquanto o R ótimo só depende de φ_a e φ_b.

Em resposta à Marcelo Queiroz

Re: [Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

por Luciana da Costa Marques -
Boa noite professor,

De fato, o mesmo número da variável me confundiu, acho que consegui então fazer a parte do phi corretamente!

Eu já enviei meu trabalho para esta etapa, mas ainda estou com uma dúvida e queria tirá-la para a próxima etapa.

As entradas de Rotimo são, na minha interpretação, 2*pi*F/rate e 2*pi*F*sqrt(K)/rate para uma frequência F devido à distribuição especificada, correto? Eu acabei de mandar a primeira entrega e talvez não dê mais tempo de mexer nela, mas é bom conferir para a próxima etapa.

Muito obrigada pela atenção, professor!
Em resposta à Luciana da Costa Marques

Re: [Segundo Trabalho Maior] Dúvida sobre o Rotimo e o cálculo da magnitude

por Marcelo Queiroz -

Boa noite!

É isso sim, a menos do último filtro, no qual o R ótimo é calibrado em função do penúltimo filtro usando /sqrt(K) no lugar de *sqrt(K), como explicado no enunciado.