Há um tempo atrás, eu estava tentando maneiras diferentes de desenhar formas de onda digitais , e uma das coisas que tentei foi, em vez da silhueta padrão do envelope de amplitude, exibi-lo mais como um osciloscópio. É assim que uma onda senoidal e quadrada se parece em um escopo:
A maneira ingênua de fazer isso é:
- Divida o arquivo de áudio em um pedaço por pixel horizontal na imagem de saída
- Calcular o histograma das amplitudes da amostra para cada bloco
- Plote o histograma por brilho como uma coluna de pixels
Produz algo como isto:
Isso funciona bem se houver muitas amostras por bloco e a frequência do sinal não estiver relacionada à frequência de amostragem, mas não o contrário. Se a frequência do sinal for um submúltiplo exato da frequência de amostragem, por exemplo, as amostras sempre ocorrerão exatamente nas mesmas amplitudes em cada ciclo e o histograma será apenas alguns pontos, mesmo que o sinal reconstruído real exista entre esses pontos. Esse pulso senoidal deve ser tão suave quanto o esquerdo acima, mas não é porque é exatamente 1 kHz e as amostras sempre ocorrem nos mesmos pontos:
Tentei fazer upsampling para aumentar o número de pontos, mas isso não resolve o problema, apenas ajuda a facilitar as coisas em alguns casos.
Então, o que eu realmente gostaria é uma maneira de calcular o verdadeiro PDF (probabilidade versus amplitude) do sinal reconstruído contínuo de suas amostras digitais (amplitude versus tempo). Não sei qual algoritmo usar para isso. Em geral, o PDF de uma função é a derivada de sua função inversa .
PDF do sin (x):
Mas não sei como calcular isso para ondas em que o inverso é uma função com vários valores , ou como fazê-lo rapidamente. Dividi-lo em galhos e calcular o inverso de cada um, pegar as derivadas e somar todas juntas? Mas isso é bastante complicado e provavelmente existe uma maneira mais simples.
Este "PDF de dados interpolados" também é aplicável a uma tentativa que fiz de estimar a densidade do núcleo de uma trilha GPS. Deveria ter a forma de um anel, mas como ele estava apenas olhando as amostras e não considerando os pontos interpolados entre as amostras, o KDE parecia mais uma corcunda do que um anel. Se as amostras são tudo o que sabemos, é o melhor que podemos fazer. Mas as amostras não são tudo o que sabemos. Também sabemos que existe um caminho entre as amostras. Para o GPS, não existe uma reconstrução Nyquist perfeita como a do áudio com banda ilimitada, mas a idéia básica ainda se aplica, com algumas suposições na função de interpolação.