Pacote de truques para evitar sinais enquanto mantém transições nítidas

21

Eu sei que isso depende do sinal, mas quando enfrentar um novo sinal barulhento, qual é o seu truque para tentar diminuir um sinal enquanto mantém transições nítidas (por exemplo, qualquer tipo de média simples, ou seja, convolução com um gaussiano, está fora). Muitas vezes me vejo enfrentando essa pergunta e não sinto que sei o que devo tentar (além de splines, mas eles podem derrubar seriamente o tipo certo de transição acentuada também).

PS Como uma observação, se você conhece alguns métodos bons para usar wavelets, deixe-me saber o que é. Parece que eles têm muito potencial nessa área, mas, embora existam alguns trabalhos nos anos 90 com citações suficientes para sugerir que o método do trabalho tenha sido bem-sucedido, não consigo encontrar nada sobre quais métodos acabaram vencendo como candidatos de topo em os anos seguintes. Certamente, alguns métodos acabaram sendo geralmente "as primeiras coisas a tentar" desde então.

John Robertson
fonte

Respostas:

14

A minimização da norma L1 (detecção compactada) pode fazer um trabalho relativamente melhor do que o desdobramento convencional de Fourier em termos de preservação de arestas.

O procedimento é minimizar uma função objetiva

|xy|2+b|f(y)|

onde é o sinal barulhento, é o sinal denoised, é o parâmetro de regularização eé alguma penalidade da norma L1. A remoção de denoising é realizada encontrando a solução para esse problema de otimização depende do nível de ruído.y b | f ( y ) | y bxyb|f(y)|yb

Para preservar as arestas, dependendo do sinal , você pode escolher diferentes penalidades, de modo que seja escasso (o espírito do sensor comprimido):f ( y )yf(y)

  • se é em partes, pode ser uma penalidade de variação total (TV);f ( y )yf(y)

  • se é do tipo curva (por exemplo, Sinograma), pode ser o coeficiente de expansão de em relação às curvas . (Isto é para sinais 2D / 3D, não 1D);f ( y ) yyf(y)y

  • se tem singularidades isotrópicas (arestas), pode ser o coeficiente de expansão de em relação às wavelets .f ( y ) yyf(y)y

Quando são os coeficientes de expansão em relação a algumas funções básicas (como curva / onda acima), resolver o problema de otimização é equivalente a limiar os coeficientes de expansão.f(y)

Observe que essa abordagem também pode ser aplicada à deconvolução na qual a função objetivo se torna, em que é o operador de convolução.H|xHy|+b|f(y)|H

chaohuang
fonte
Bom resumo, chaohuang, no entanto, você pode expandir: 1) Na primeira equação, estamos resolvendo para , como ela existe na função objetivo? ... A função objetivo está sendo minimizada em todo o espaço de ? (Exemplo, se é um vector N-dimensional, é a convexo / não-adaptativa convexa algoritmo movendo através deste espaço n-dimensional?y yyyy
Spacey
1
Gostaria também de referir LASSO regularização para norma. L1
Phonon
Quais métodos você gosta de resolver para f, especialmente se o sinal for longo.
31712 John Robertson
Qual é o nome desse método? Se eu usá-lo em minha pesquisa, o que devo citar?
24412 bayer
@bayer Depende de qual regularização você usa, poderia ser denoising de onda ou denoising de onda, por exemplo. Em geral, todos eles pertencem à família da minimização da norma L1.
chaohuang
7

Você pode considerar a difusão anisotrópica. Existem muitos métodos baseados nessa técnica. De um modo geral, é para imagens. É um método de denoising adaptável que visa suavizar partes que não são da borda da imagem e preservar as bordas.

Além disso, para minimizar a variação total, você pode usar este tutorial . Os autores também fornecem o código MATLAB. Eles reconhecem o problema como um problema anterior da análise; é de alguma forma semelhante ao uso de um mapeamento linear (como representações de tempo e frequência). Mas, eles usam uma matriz de diferença em vez de uma transformação.

D

Deniz
fonte
6

Chaohuang tem uma boa resposta, mas também acrescentarei que outro método que você pode usar seria através da Transformada de Wavelet de Haar, seguida de encolhimento coeficiente de wavelet e uma Transformação de Haar inversa de volta ao domínio do tempo.

A transformação wavelet de Haar decompõe seu sinal em coeficientes de funções quadradas e diferenciais, embora em escalas diferentes. A idéia aqui é que você 'force' a nova representação de sinal quadrado para melhor corresponder ao seu sinal original e, portanto, uma que melhor represente onde estão suas bordas.

Quando você executa uma contração coeficiente, tudo o que significa é que você está definindo coeficientes específicos da função transformada de Haar para zero. (Existem outros métodos mais envolvidos, mas esse é o mais simples). Os coeficientes de wavelets transformados em Haar são pontuações associadas a diferentes funções quadradas / diferenças em diferentes escalas. O RHS do sinal transformado de Haar representa bases quadradas / diferenciais na escala mais baixa e, portanto, pode ser interpretado na 'frequência mais alta'. A maior parte da energia do ruído ficará aqui, VS a maior parte da energia do sinal que estaria no LHS. É essas coeficientes de bases que são anuladas e o resultado então inverso transformado de volta ao domínio do tempo.

Em anexo está um exemplo de um senoide corrompido por um ruído AWGN pesado. O objetivo é descobrir onde estão os 'início' e 'parada' do pulso. A filtragem tradicional manchará as bordas de alta frequência (e altamente localizadas no tempo), pois, no fundo, a filtragem é uma técnica L-2. Por outro lado, o seguinte processo iterativo denoise e preserva as arestas:

(Eu pensei que alguém poderia anexar filmes aqui, mas parece que não consigo. Você pode baixar o filme que eu fiz do processo aqui ). (Clique com o botão direito e 'salvar link como').

Eu escrevi o processo 'à mão' no MATLAB, e é assim:

  • Crie um pulso senoidal corrompido pelo AWGN pesado.
  • Calcule o envelope acima. (O sinal').
  • Calcule a transformada Haar Wavelet do seu sinal em todas as escalas.
  • Denoise por limiar coeficiente iterativo.
  • Haar inverso Transforme o vetor coeficiente reduzido.

Você pode ver claramente como os coeficientes estão sendo reduzidos e a Transformação Inversa Haar resultante dela.

Uma desvantagem desse método, no entanto, é que as arestas precisam estar dentro ou ao redor das bases quadradas / diferenciais em uma determinada escala. Caso contrário, a transformação é forçada a pular para o próximo nível superior e, portanto, perde-se um posicionamento exato para a aresta. Existem métodos de resolução múltipla usados ​​para combater isso, mas eles estão mais envolvidos.

Spacey
fonte
4

Um método simples que geralmente funciona é aplicar um filtro mediano.

geometrikal
fonte