Duvida na Lista 2

Duvida na Lista 2

por Daniel Cukier -
Número de respostas: 8

Estou com uma dúvida na questão 1b)

O que acontece quando eu somo duas ondas dente-de-serra de fequências diferentes?

Tem algum exemplo ou página no livro que pode ajudar a entender isso?

Em resposta à Daniel Cukier

Re: Duvida na Lista 2

por Paulo Cheadi Haddad Filho -

Também tenho a mesma dúvida.

Não encontrei nada no livro que possa ajudar. Pensei, então, que talvez fosse algo mais simples. Achei esse artigo no Wikipedia, mas não sei até que ponto ajuda.

Em resposta à Paulo Cheadi Haddad Filho

Re: Duvida na Lista 2

por Andre Jucovsky Bianchi -

Às vezes é bom duvidar da wikipedia ;-). A fórmula geral que está lá me parece incorreta (ou ao menos não cai no intervalo -1 a 1 como diz no texto).

Uma boa fonte para consulta sobre matemática é o site Wolfram Mathworld. A página do Wolfram sobre a função dente-de-serra indica que ela tem a seguinte expressão:

s(x) = A * frac((x/T) + Φ),

onde A é a amplitude da onda, T é seu período, Φ é a fase e frac(x) é dada por:

frac(x) = x - floor(x).

Pra visualizar a função e o que acontece na soma, dá utilizar um programa como o gnuplot, por exemplo. É preciso tomar cuidado com o a taxa de amostragem do gnuplot (e de outros programas de gerar gráficos). Assim como no processo de digitalização é utilizada uma certa taxa de amostragem, na geração dos gráficos também é considerada uma taxa que indica quantos pontos devem ser calculados para gerar o gráfico pedido, e se não tomarmos cuidado pode ser que aconteça de observar algo bem feio e diferente do esperado.

O código abaixo define a função frac e cada linha iniciada por plot gera o gráfico de um cenário para investigação do que ocorre. Não esqueça de colar uma linha por vez para poder observer cada gráfico separadamente.

frac(x) = x - floor(x)           # define a função frac.
set samples 10000                # define uma taxa de amostragem melhor.
set xrange [0:0.02]              # define um intervalo para o eixo x.
set yrange [-1:3]                # define um intervalo para o eixo y.
plot  frac(200*x), frac(300*x)   # plota as duas funções do enunciado.
set xrange [0:0.1]               # define outro intervalo para o eixo x.
plot frac(200*x) + frac(300*x)   # plota a soma das funções.
set yrange [-1:30]               # define outro intervalo do eixo y.
plot  floor(200*x), floor(300*x) # plota a parte "chão" de cada uma.

Usando as dicas do código acima, dá ainda pra simular o "wrap" e inserir diferenças de fase nas ondas para verificar o que ocorre.

Além dessas observações, as seguintes perguntas podem ajudar a responder a questão:

  1. O que significa para uma função ela ser periódica?
  2. Que tipo de restrição é possível obter de uma função periódica para definir o seu período (olhando para f(x) e f(x + T))?
  3. Como fica a expressão da soma das funções do enunciado?

Espero que esses comentários ajudem, se ainda sobrarem dúvidas, fiquem à vontade para perguntar.

Em resposta à Andre Jucovsky Bianchi

Re: Duvida na Lista 2

por Paulo Cheadi Haddad Filho -

Oi André! Tô travado nessa ainda... =/

Rodei esse código e enxerguei umas coisas, mas acho que eu não posso usar como argumento que "pelo gráfico o período é X", né?

Se não puder o acima, não sei como encontrar uma equação para o período da soma. Não possuo uma base boa sobre Fourier pra responder, então andei pesquisando (inclusive no Wolfram, sem sucesso) sobre se a soma de duas séries de Fourier também é uma (ou, em termos algébricos, se séries de Fourier formam um grupo). Achei que isso pudesse me ajudar de alguma forma, mas tô meio perdido... Assim, não sei responder o seu 3).

O seu 2), não entendi o que você quis dizer com restrição. Seria que para uma função qualquer, f(x) = f(x + k*2pi) para k inteiro?

 

Valeu!

Em resposta à Daniel Cukier

Re: Duvida na Lista 2

por Paulo Cheadi Haddad Filho -

Pulando pra questão 2.a , encontrei que a amplitude do sinal deve ser multiplicada por 0.25 , mas em nenhum momento usei a informação sobre a quádrica.

A quádrica em questão é a f(x) = x^4? No caso, x = y[i], para algum 0 <= i <= n-1 ? Se for, y é um vetor de valores iguais?

 

Obrigado!

Em resposta à Paulo Cheadi Haddad Filho

Re: Duvida na Lista 2

por Andre Jucovsky Bianchi -

A idéia desse exercício é discutir a seção 4.2 do livro, onde o assunto é o envelope dinâmico aplicado à amplitude de um sinal.

Nesta seção, o Miller nos explica que a variação da amplitude de acordo com uma certa função qualquer pode não ser percebida pelo ouvido da mesma forma que a função é compreendida matematicamente. Em outras palavras, a idéia é que, por exemplo, variar a amplitude linearmente não resulta na percepção da amplitude do sinal variando linearmente.

No exemplo do primeiro parágrafo dessa seção, o som varia de menos infinito dB até -20 dB no primeiro segundo (uma variação *bem* grande). Nos quatro segundos seguintes, varia de -20 dB até -6 dB (variação de 14 dB) e nos cinco segundos finais varia apenas os 6 dB restantes. Ou seja, a variação do valor numérico da amplitude é linear, mas a variação em dB não é linear (porque a função que calcula os decibéis em função da amplitude não é linear).

No exemplo D04.envelope.quartic.pd que vem com o PD tem uma implementação de variação de amplitude e de frequência utilizando um envelope linear e um envelope quártico para comparação. Vale a pena ouvir e modificar (utilizar outras funções de transferência) para comparar resultados.

A idéia é, então, que o sinal de entrada (digamos x[n]) seja multiplicado por um valor entre 0 e 1 ao longo da reprodução, para causar uma variação de sua amplitude. Esse fator de multiplicação é dado por uma outra função (y[n]) que pode ser linear, logarítmica, quártica, quadrada ou qualquer outra que se escolha (tomando cuidado para o resultado não passar dos limites razoáveis). A observação aqui é que cada função vai ter um resultado sonoro diferente, e perceptualmente diferente de sua expressão matemática.

Finalmente, respondendo à sua pergunta:

A quártica em questão não é exatamente a f(x)=x4, mas sim sua aplicação em um sinal a ser multiplicado pelo sinal x[n] de entrada, assim: y[n] = f(n/N) = (n/N)4. O sinal resultante vai ser z[n] = x[n] * y[n].

Então, você descobriu com a sua conta qual deve ser a diferença em amplitude para que a diferença em decibéis seja de -12 dB. Falta agora descobrir qual é a entrada para a função quártica que causa a diferença de amplitude desejada. Se a função de transferência fosse linear, o fator que causa a diferença em dB seria o mesmo que o fator de entrada da função de transferência (pois estaríamos falando de f(x)=x). Mas a função de transferência da qual ele pergunta é a quártica, não a linear. Então a entrada tem que ser um valor diferente.

Deu pra entender ou falei demais e ficou mais confuso ainda? hehe =P

Em resposta à Andre Jucovsky Bianchi

Re: Duvida na Lista 2

por Paulo Cheadi Haddad Filho -

Entendi boa parte. Não peguei o finalzinho...

Vc disse q quártica não é bem a f(x) = x^4, mas sim f(x) = (x/N)^4, certo? Aí surgem uma perguntas:

- o N não é definido no item a), tenho q me preocupar com ele nesse item?

- se a quártica é aquela, então a linear seria f(x) = x/N ou f(x) = x?

- possível pergunta idiota: "entrada da função de transferência" é o x ou o fator N?

Tô com uma sensação q a entrada é a raiz quarta do valoer q eu achei mas tenho medo de afirmar isso pq não entendi bem isso tudo.

 

Valeu!

Em resposta à Paulo Cheadi Haddad Filho

Re: Duvida na Lista 2

por Andre Jucovsky Bianchi -

O livro fala que N é o número de amostras sobre o qual se quer aplicar o fade.

A idéia é que o resultado da função de transferência y é um fator que vai multiplicar o sinal de entrada . Dependendo do contexto, convém escolher os efeitos dessa multiplicação para que não saia de alguns limites, por exemplo. No caso do fade proposto no livro, deseja-se multiplicar o sinal de entrada por um fator entre 0 e 1. Para isso, usando as funções propostas (linear, dB para linear e quártica), a entrada dessas funções precisa estar entre 0 e 1 (outros valores vão ter resultado fora do intervalo desejado).

Por isso a entrada dessas funções é (n/N), uma sequência de números que varia linearmente de 0 até (N-1)/N, ou de 1/N até N (depende de se começa com n = 0 ou com n = 1). Com entradas nesse intervalo, a saída das funções propostas estão no intervalo desejado.

Nesses casos, a entrada da função de transferência é, então, um número entre 0 e 1. Por isso a resposta para o item 2.a. deve ser um número entre 0 e 1.

A mesma coisa vale para a linear. Estamos falando da função f(x) = x, mas desejamos controlar a entrada e a saída. Para cada período N de fade, na verdade estaremos fazendo uma conta diferente no argumento da função. Se você quiser generalizar, pode pensar assim:

  • f(x) é a função de transferência que deve ter entrada entre 0 e 1 para que a saída esteja entre 0 e 1.
  • g( n, N ) = f( n/N ) é uma função genérica que você vai ter disponível na biblioteca para usar quando estiver fazendo processamento de áudio. A entrada dela não é a mesma da f acima, mas sim o número da amostra (n) e o número total de amostras do fade (N).
  • hÑ( n ) = g( n, Ñ ) é uma função que você gera na hora que for fazer um fade de período Ñ, fixando o tamanho do fade. A entrada dela é só o valor de uma amostra.
Em resposta à Andre Jucovsky Bianchi

Re: Duvida na Lista 2

por William Gnann -

É uma pergunta meio boba, mas na seção 4.2 do livro do Miller, há um exemplo envolvendo a y[n] = n/(10R).

Eu não consegui reproduzir as contas que levam, por exemplo, a amplitude ir de -inf até -20dB no primeiro segundo.

Eu tomaria, hipoteticamente, a amplitude de x[n] como a de referência e calcularia a amplitude do produto x[n]y[n] com uma quantidade de amostras referentes a do primeiro segundo?