Divisão de senoides (Pulso com Banda Limitada)

Divisão de senoides (Pulso com Banda Limitada)

por Marcelo Queiroz -
Número de respostas: 0

Bom dia!

Na aula de ontem analisamos a expressão f(t) = sen(nωt)/sen(ωt), em função dos parâmetros ω (frequência) e n (quantidade de harmônicos). Fiz uma enorme confusão e gastei tempo de aula em função de um erro na implementação dessa expressão, e por isso gostaria de pedir desculpas e retificar as informações. A implementação com erro era aquela em Pd "puro", usando [phasor~] e [cos~] para gerar os dois sinais; a implementação em Lua/ofelia estava correta, como pudemos ver.

Inicialmente, a propriedade de que "denominador=0" implica "numerador=0" está correta, exatamente como a provamos, e é trivial (sen(ωt)=0 implica ωt=kπ para algum k, que implica nωt=nkπ, que implica sen(nωt)=0). Ou seja, o caso que eu denotei por (C) (denominador≠0 e numerador=0) era impossível de acontecer naquela expressão, como também concluímos. O fato de termos visualizado esse caso na implementação (momentos onde o sinal ia para +∞ pela direita e -∞ pela esquerda) só poderia ser tomado como evidência de erro na implementação.

O erro acontecia pois a expressão de f(t) acima é completamente dependente do perfeito alinhamento das fases das duas senoides (do numerador e do denominador), que devem manter-se rigorosamente nessa relação fixa de n:1; não adianta dividir quaisquer duas senoides com frequências na relação n:1, elas têm que estar ambas em fase de seno (valerem +1 quanto t=0). Na implementação com [phasor~] e [cos~], era necessário ajustar a varredura de fases produzida pelo [phasor~] (um sinal dente-de-serra entre 0...1 interpretado pelo [cos~] como entre 0...2π) para que o sinal gerado estivesse em fase de seno: isso era feito com um recuo na fase de 1/4 do período implementado com o objeto [-~ 0.25], o que também estava correto. O problema estava na geração do sinal do numerador, cuja fase da expressão de f(t) deveria ser n vezes maior, relação esta implementada por um objeto [*~ N] entre o [-~ 0.25] e o [cos~]: o problema, simples por um lado e sutil por outro, era que o ajuste de fase de cosseno para seno [-~ 0.25] deveria ocorrer após essa multiplicação [*~ N], e não antes como estava feito. Em outras palavras, o trecho [-~ 0.25]→[cos~] deveria ser tratado como uma unidade atômica, indivisível (como se fosse um objeto [sin~], que não existe), e assim o ajuste de fase de cosseno para seno [-~ 0.25] deveria aparecer duas vezes, uma para cada [cos~]. Bastou esse objeto adicional para a implementação funcionar.

A principal diferença entre os casos "n par" e "n ímpar" que observamos (onde os picos estão todos para o mesmo lado no caso par e alternam de sinal no caso ímpar) se refere à frequência fundamental do sinal, que será ω/2 no caso par e ω no caso ímpar, devido à distribuição dos parciais nas frequências kω para k=-(n-1)/2,1-(n-1)/2,2-(n-1)/2,...,+(n-1)/2. Também a denominação do sinal gerado, chamado de "pulso com banda limitada", tem a ver com os picos que indicam cada início de período, e que no limite para n→∞ se converte em um pulso ideal de Dirac, ou seja, em um sinal cujo período é formado pelos valores (1,0,0,...,0). Este pulso de Dirac possui um espectro que contém todos os infinitos harmônicos da frequência fundamental com igual amplitude, que também corresponde ao alargamento observado do espectro harmônico do sinal f(t) em função do n (é claro que na prática, por causa dos rebatimentos, não podemos fazer n maior do que R/F onde R=taxa de amostragem e F=fundamental, ambas em Hz).

O patch corrigido está no link CompMus115-PulsoBandaLimitada.