Estou trabalhando em um projeto em que medimos a soldabilidade dos componentes. O sinal medido é barulhento. Precisamos processar o sinal em tempo real para que possamos reconhecer a mudança que começa no momento de 5000 milissegundos.
Meu sistema coleta amostras do valor real a cada 10 milissegundos - mas pode ser ajustado para amostras mais lentas.
- Como posso detectar essa queda em 5000 milissegundos?
- O que você acha da relação sinal / ruído? Devemos nos concentrar e tentar obter um sinal melhor?
- Há um problema em que cada medida tem resultados diferentes e, às vezes, a queda é ainda menor que este exemplo.
Link para arquivos de dados (eles não são iguais aos usados para plotagens, mas mostram o status mais recente do sistema)
- https://docs.google.com/open?id=0B3wRYK5WB4afV0NEMlZNRHJzVkk
- https://docs.google.com/open?id=0B3wRYK5WB4afZ3lIVzhubl9iV0E
- https://docs.google.com/open?id=0B3wRYK5WB4afUktnMmxfNHJsQmc
- https://docs.google.com/open?id=0B3wRYK5WB4afRmxVYjItQ09PbE0
- https://docs.google.com/open?id=0B3wRYK5WB4afU3RhYUxBQzNzVDQ
Respostas:
A referência clássica para esse problema é a detecção de mudanças abruptas - teoria e aplicação por Basseville e Nikiforov. O livro inteiro está disponível como um download em PDF .
Minha recomendação é que você leia o capítulo 2.2 no algoritmo CUSUM (soma acumulada).
fonte
Costumo enquadrar esse problema como um dos de detecção de inclinação. Se você calcular uma regressão linear sobre uma janela em movimento, a queda ilustrada será visível como uma mudança significativa no sinal de inclinação e / ou magnitude. Essa abordagem oferece vários fatores que exigirão "sintonia": por exemplo, a frequência de amostragem, o tamanho da janela etc. afetará a robustez (resistência ao ruído) do detector de sinais de inclinação. É aqui que alguns dos comentários acima podem ser aplicados. Qualquer filtragem ou supressão de ruído que possa ser aplicada antes do ajuste da linha melhorará seus resultados.
fonte
Eu fiz esse tipo de coisa calculando uma estatística T da média da parte esquerda dos dados versus a parte direita dos dados. Isso pressupõe que você saiba onde é o ponto de transição e, é claro, não.
Então, o que você faz é tentar várias centenas de pontos de partição ao longo do eixo do tempo e encontrar aquele com a estatística T mais significativa.
Você pode fazer isso como algo como uma pesquisa binária. Tente 10 pontos de dados, encontre os dois maiores e tente 10 pontos entre esses etc. Dessa forma, você pode obter um ponto de transição bastante preciso. Não estou reivindicando precisão. :-)
Deixe-nos saber como vai!
PS Você pode calcular mean e sd como somas em execução, o que reduz a complexidade da computação dessa função de partição para todas as possibilidades, de N ^ 2 a N. Com isso, você provavelmente pode apenas calcular a estatística T em todos os pontos de partição possíveis.
fonte