Estou tentando entender como implementar exatamente o que é conhecido como filtro de 'pré-clareamento' ou simplesmente um filtro de 'clareamento'.
Entendo que o objetivo é torná-lo um delta como sua função de autocorrelação, mas não tenho certeza de como fazer isso exatamente.
O contexto aqui é o seguinte: Um sinal é recebido em dois receptores diferentes e sua correlação cruzada é calculada. A correlação cruzada pode parecer um triângulo ou alguma outra forma esquecida por Deus. Devido a isso, torna-se difícil encontrar o pico do sinal de correlação cruzada. Nesse caso, eu ouço sobre ter que "branquear" os sinais antes que uma correlação cruzada seja executada neles, de modo que a correlação cruzada seja agora mais parecida com um delta.
Como isso é feito?
Obrigado!
fonte
Respostas:
Suponha que você tenha sinais e y ( t ) cuja função correlação cruzada R x , y ( t ) não é algo que você gosta; você quer R x , y para ser impulso-like. Observe que no domínio da frequência, F [ R x , y ] = S x , y ( f ) = X ( f ) Y ∗ ( f ) .x(t) y(t) Rx,y(t) Rx,y
fonte
O pré-clareamento pode ser feito filtrando com uma função de transferência que é aproximadamente o inverso do espectro de potência do sinal. Digamos que você tenha um sinal de áudio aproximadamente rosa. Para clarear isso, você aplicaria um filtro cor-de-rosa inverso (a resposta de frequência aumenta em 3 dB por oitava).
No entanto, não tenho certeza se isso ajudará no seu problema. O pré-clareamento tende a amplificar as partes de baixa energia no sinal, que podem ser barulhentas e, portanto, aumentar o ruído geral no seu sistema. Se você estiver tentando determinar se dois sinais estão alinhados no tempo (ou qual é o alinhamento do tempo), existe alguma imprecisão inerente no problema relacionada à largura de banda do sinal. Isso é exatamente representado no formato do domínio do tempo da função de autocorrelação.
fonte
Geralmente, existe um método simples de clarear um vetorx dado um exemplo de conjunto de dados. Não está claro em sua pergunta se a dimensão dex seria 2 ou se você estiver incluindo uma janela temporal deslizante. De qualquer forma, você deseja correlacionar os componentes dex . Fazê-lo no domínio da frequência para um problema tão simples é árduo.
Supondo que você comece com um conjunto de dados de exemplo que consiste em amostras dos vetores de dados - esse pode ser um conjunto de amostras dos dois sinais em momentos diferentes. Você subtrai a média do conjunto de dados para que a média dex é zero. Então você precisa calcular a matriz de covariância dos dadosCeu j= 1N∑x ∈DataxEuxj Onde N é o número de exemplos de dados e i , j são índices dos componentes de x , que, se houver 2 sinais, passa de 0 a 1. A matriz de covariância nesse caso será apenas 2x2.
Depois de ter essa matriz de covariância, é possível calcular uma transformação de clareamento na forma de uma matriz para multiplicar os dados para obter a versão clareada. A covariância desses novos dados embranquecidos é a matriz de identidade.
Os dados clareados serãoy = C- 1 / 2x . Esta é apenas uma versão matricial do cálculo da variação sobre um conjunto de dados de exemplo e, em seguida, da divisão de quaisquer novos dados pela raiz quadrada da variação, a fim de normalizar seu desvio padrão.
Você pode calcularC- 1 / 2 usando decomposição de Cholesky onde C= L LT . Para uma matriz 2x2, é muito fácil usar álgebra simples . Os dados embranquecidos são dados pory = L- 1x , que desde eu O triangular inferior pode ser calculado com eficiência por solucionadores comuns sem formar o inverso.
fonte
Se é apenas como filtrar as partes de baixa energia no sinal, você poderia usar um filtro passa-baixo? Existem algumas implementações sobre isso.
Se isso é útil: Este artigo de Karjalaien et. al é sobre o filtro de clareamento e o método de previsão linear distorcida, que é usado pelo filtro.
fonte