Tenho valores (plotados abaixo) dos valores RSSI esperados ao longo do tempo que gostaria de comparar com meus valores RSSI medidos. O que eu procurava era uma maneira de quantificá-lo para que eu pudesse alterar os parâmetros e poder comparar / contrastar diferentes abordagens.
É um problema difícil em minha mente, porque não sei como comparar os sinais e, ainda assim, levo em consideração as escalas em grande escala (forma geral) e em pequena escala (flutuações individuais) do sinal.
Por exemplo, aqui está um gráfico de um conjunto de sinais:
Na imagem, vejo que o sinal de medida vermelho segue aproximadamente o modelo, mas também faz um bom trabalho em simular algumas das qualidades sinusoidais do modelo (em alguns lugares). Alguma ideia?
<> Em resposta aos comentários das pichenettes (que parecem razoáveis), peguei um diff dos dois valores e plotei o abs (fft (diff)) e obtive o seguinte:
Não tenho certeza do que fazer com isso. Como não temos freqs reais, não sei como dimensionar o eixo e, se o fizesse, que métrica você usaria?
fonte
Respostas:
Se os sinais não estiverem alinhados, você ainda tem uma pista de que eles "significam" mais ou menos a mesma coisa ou se refere a dados semelhantes, você pode usar o algoritmo DTW (Dynamic Time Warping) para obter uma correspondência melhor (então, basta usar o valor no mesmo local). Você pode medir o RMS, o MSE ou o que quiser, usando essas correspondências. Para o DTW, convém verificar: http://en.wikipedia.org/wiki/Dynamic_time_warping
Uma boa maneira de elaborar essa idéia é utilizada no Earth Mover Distance (EMD), que calcula o esforço mínimo para alinhar os sinais, como uma medida de distância. O EMD é apresentado aqui: http://ai.stanford.edu/~rubner/emd/default.htm
O EMD oferece uma distância direta, que você pode usar para análises adicionais.
fonte
Estou usando o RMS do vetor de erro como uma medida. Como estou lidando com esquemas de modulação complexos, também estou usando o EVM como medida.
fonte
Eu provavelmente combinaria algumas abordagens. Primeiro, suavizaria as duas formas de onda ou faria uma interpolação de spline para remover as variações de grande escala. Convém combinar outra etapa após a correlação cruzada para alinhá-las, supondo que o viés de tempo não seja importante para você. Depois de obter o pico de correlação cruzada, você pode até interpolar esse pico em uma forma de parábola e, em seguida, voltar a amostrar uma forma de onda para corresponder à outra. Eu computaria o RMSE entre as duas formas de onda naquele ponto e produziria uma métrica indicando o delta de variação lenta.
Depois disso, subtrairia o valor interpolado do original para normalizar os desvios em pequenas escalas de tempo. A partir daí, você pode tentar RMSE-los uns contra os outros ou até mesmo calcular uma variação de cada um, para ter uma noção de quanto "ruído" você tem sobre a forma de onda que varia lentamente, dependendo do que você precisa e do que está realmente tentando. medir.
fonte