determinar dois sinais com um fator de escala

7

Suponha que eu tenha 2 sinais da função f1(x) e f2(x), respectivamente, e assumimos que a taxa de amostragem está acima da frequência de Nyquist, para que possamos restaurar as funções subjacentes f1(x) e f2(x). Mas a minha pergunta é, a partir dos 2 sinais, como saber se as funções subjacentesf2(x) é escalado de f1(x), ou seja, para determinar se f2(x)=f1(ax), Onde a é um número real diferente de zero.

Obrigado!

chaohuang
fonte

Respostas:

7

Condições necessárias (mas não suficientes) para f2 para ser uma versão em escala temporal do f1 é que uma representação espectral com uma escala de frequência logarítmica (como a transformação Q constante) de f1 é uma tradução de uma representação espectral de frequência logarítmica de f2.

Praticamente, com dois sinais, você pode realizar o teste e avaliar a calculando o CQT de f1 e f2, correlacionando-os e observando a localização do pico. A força do pico pode lhe dar uma idéia da semelhança espectral dos dois sinais, independentemente de sua escala temporal; e a posição do pico fornecerá o fator de escala temporal.

Exemplo de sinais escalados com CQT e sua correlação

Esse tipo de representação robusta à escala temporal é útil na modelagem de sinais musicais, onde as diferentes notas produzidas por um instrumento musical são - em uma aproximação muito aproximada - versões em escala temporal de si mesmas.

pichenettes
fonte
Quão forte deve ser o pico de correlação cruzada para declarar f2(x) é escalado de f1(x)? Além disso, no título da terceira figura, por que 36,2 ^ (36/20) = 3,5? Obrigado!
chaohuang
O pico está em 36, indicando que um sinal é uma mudança do outro em 36 canais CQT. Como o CQT possui 20 canais por oitava, o deslocamento corresponde a uma proporção de 2 ^ (36/20), que fornece o deslocamento (3,48) até um pequeno erro devido à relativamente resolução do CQT - algo que pode ser resolvido aumentando a resolução (número de canais por oitava).
Pichenettes
Quanto ao valor do pico, você pode normalizar os dois CQTs para que eles tenham uma energia total de 1; e verifique o valor do pico. Deve estar perto de 1. #
pichenettes
Mas se f2 NÃO é escalado de f1, e eu normalizo seus CQTs, o pico de correlação cruzada ainda será 1, certo? Então, como posso usar o valor de pico para dizer a relação entref1 e f2?
11682 chaohuang
O pico de correlação cruzada não será 1 se os dois CQTs não forem uma tradução um do outro.
Pichenettes
1

A transformação de Mellin também pode ser usada para determinar esses sinais, porque "a magnitude da transformação de Mellin de uma função em escala é idêntica à magnitude da função original. Essa propriedade de invariância de escala é análoga à propriedade de invariância de deslocamento da Transformada de Fourier. A magnitude de uma transformação de Fourier de uma função deslocada no tempo é idêntica à função original ". (citado em wikipedia)

chaohuang
fonte