Desvio padrão do nivelamento espectral - então o que estou medindo, conceitualmente?

8

Na minha busca interminável de identificar roncos, descobri que a "planicidade espectral" parece ser uma medida justa da "qualidade" do sinal.

Estou calculando o nivelamento espectral como a média geométrica dos pontos de dados da potência FFT divididos pela média aritmética dos mesmos pontos.(R2+I2)

Então, (uma pequena reviravolta aqui), estou computando a média aritmética em execução (mais de 50 quadros) e o desvio padrão da planicidade espectral e calculando um desvio padrão "normalizado" como o desvio padrão em execução dividido pela média em execução.

Para minhas amostras, acho que essa métrica é maior que (variando até 0,5 ou mais) quando o áudio é "bom" (ou seja, eu tenho um rastreamento confiável dos sons de respiração / ronco de um sujeito que dorme) e geralmente desliza abaixo de 0,2 quando o áudio está "na lama". (Eu posso melhorar essa discriminação usando um limiar que se move com outros fatores, mas presumivelmente esse é um tópico diferente.) Também observo que a medida ultrapassa 1,0 quando há um ruído de fundo substancial (por exemplo, alguém entra na sala e sussurra sobre )0.20.50.21.0

Portanto, minha pergunta básica é: existe um nome (além de "desvio padrão normalizado do nivelamento espectral") para o que estou medindo e alguém pode oferecer uma explicação conceitual sobre o que a métrica "significa"?

(Tentei uma dúzia de outras métricas para a "qualidade" do sinal, e essa parece ser a melhor até o momento.)

Adicionado: eu provavelmente devo admitir que não tenho um controle conceitual particularmente bom sobre o que a planicidade espectral simples está medindo (apenas o artigo da Wikipedia ), para que qualquer explicação adicional seja apreciada.

Daniel R Hicks
fonte
2
Então, você faz um cálculo e pergunta se outra pessoa teve a mesma idéia e nomeou-a; caso contrário, alguém pode apresentar uma explicação conceitual para o que você criou? Certamente você deve ter tido alguma justificativa para dar sua "pequena reviravolta", ou você, como Indiana Jones, estava inventando as coisas à medida que avançava?
usar o seguinte
3
Basicamente, estou inventando as coisas à medida que avança. Eu encontro uma técnica, aplico-a aos dados, observo o resultado e decido se parece útil. Nesse caso, tento refinamentos. É um processo tedioso, mas o "especialista" em análise de áudio que trabalha neste projeto quebrou sua escolha e foi para casa.
Daniel R Hicks

Respostas:

4

Como você está interessado na "planicidade" do seu espectro, na verdade, está interessado em quão próximo o seu sinal está de um ruído branco (que, por definição, possui um espectro plano + fases aleatórias). Se você recuar, uma medida seria a "distância" da sua observação à referência de ruído branco .

A medida óbvia em termos da teoria da informação é a divergência de Kullback-Leibler . Você não precisa entender todas as partes, mas mede em bits (se você usar a base de log 2) a distância entre as duas distribuições.

A coisa boa no seu caso é que sua referência é plana, de modo que o que resta é a entropia do seu espectro . Existem muitas implementações existentes (por exemplo, no scipy ).

Observe que você ainda está do lado seguro: se sua distribuição for aproximadamente gaussiana, ambas as medidas (entropia e padrão) serão proporcionais. A entropia é contudo mais geral e mais baseada em princípios. Como uma extensão, você poderá generalizar para outros tipos de ruído (1 / f, por exemplo).

meduz
fonte
O estranho é que a entropia "regular" - soma de p log p- não parece transmitir muita informação para o meu problema. (Embora eu suponho que eu não tente tomar é o desvio padrão.)
Daniel R Hicks
3

Qualquer diferença consistente e confiável nas estatísticas do seu sinal (ou alguma função do seu sinal, como seu espectro) e o ruído no qual seu sinal está incorporado podem ser usados ​​para estimar a probabilidade de um contra o outro.

Parece que você encontrou aleatoriamente uma das infinitas maneiras de caracterizar a forma do espectro do sinal que diferencia o sinal desejado de coisas mais como ruído branco ou picos de impulso. Tropeçar em uma solução possível aleatória não a invalida (essa é uma base da programação evolutiva / genética). Mas como uma medida robusta que você encontrou é deixada como um exercício experimental.

hotpaw2
fonte
O fato é que outras medidas, como entropia regular, não mostraram tanta promessa quanto essa medida. Se eu pudesse entender por que esse parece melhor, talvez eu pudesse melhorar.
Daniel R Hicks
hotpaw2, você menciona algumas outras maneiras pelas quais se pode diferenciar entre sinal e ruído - ou alguma 'medida' da forma de um espectro de magnitude da FFT - de que maneiras existem exatamente isso que vem à mente?
Spacey
Exatamente vem à mente ??? Às vezes, diz-se que algoritmos de pesquisa evolucionários / genéticos / do tipo Hadoop extraem coisas, a partir de dados suficientes, de "formas" que não vêm à mente nem costumam ser descritas como exatas, talvez até depois do fato.
hotpaw2
@ hotpaw2 Desculpe, talvez minha pergunta não esteja clara - eu estava apenas imaginando que maneiras simples de medir, por exemplo, 'pico' podem existir (como um exemplo de como um espectro pode parecer). Não estava perguntando nada muito chique, embora os métodos de aprendizado não supervisionados que você mencionou certamente sejam poderosos.
Spacey