Eu estou querendo saber quais técnicas podem estar disponíveis para ' remover o ruído ' do seguinte exemplo de imagem de frequência de tempo que foi criada usando o método de Welch . A seguinte plotagem foi criada a partir de um sensor robótico. ( NÃO é uma imagem colorida - é uma imagem em escala de cinza - cores adicionadas apenas para fins visuais).
Objetivo:
Meu objetivo, em última análise, é estimar os espaçamentos de pulso que você vê aqui, caso esses pulsos existam. Isso pode ser um pouco de galinha e ovo, então, para esse fim, eu me pergunto: "Existem pulsos dessa taxa de repetição de +/- 10%?" E continuamos a detectá-los. O que você está vendo aqui é o sinal (pulsos), mas junto com outras interferências indesejadas. No entanto, como Emre sugeriu, eles têm estrutura, embora no espaço Tempo-Frequência. Existem filtros de frequência e tempo como tais?
Eu gostaria muito de ver as soluções de processamento de imagem aplicadas aqui, mas estou aberto a qualquer solução.
Assim: O objetivo é remover todos os sinais de alta intensidade, exceto os pulsos repetitivos (encontrados perto do índice 300 no eixo y), como pode ser visto. Todos os outros sinais de alta intensidade podem ser considerados como 'interferência'.
Suposições que você pode fazer:
Você pode supor que conhece aproximadamente os comprimentos de pulso que está vendo aqui. (Digamos, dentro de +/- 10%). Em outras palavras, você decidiu procurar por pulsos desse comprimento. (+/-)
Você pode supor que também conhece aproximadamente as taxas de repetição dos pulsos (novamente, digamos +/- 10%).
Infelizmente, você não conhece sua frequência com mais precisão. Ou seja, nesta imagem os pulsos estão em 300, mas poderiam facilmente estar em 100, 50 ou 489, ou o que seja. No entanto, a boa notícia é que essas frequências mostradas aqui são muito próximas umas das outras, na ordem de 10 décimos de Hz).
Alguns pensamentos meus:
Processamento de imagem POV:
Ocorreram operações morfológicas para mim, no entanto, não conheço muito as pessoas para saber se elas podem funcionar ou não. Suponho que a idéia possa ser "fechar" e remover as manchas "maiores"?
As operações de DFT com largura de linha podem indicar quais linhas anular , com base nas linhas de interesse com o padrão repetitivo mais alto; no entanto, pode não ser uma solução viável se os pulsos forem poucos e distantes entre si ou se a imagem for mais ruidosa.
Só de olhar a imagem, você quase deseja 'recompensar' o isolamento e 'punir' a conectividade. Existem métodos de processamento de imagem que realizam esse tipo de operação? (Morfológica na natureza novamente).
Que métodos podem ajudar aqui?
Processamento de sinal POV:
A faixa de frequência mostrada aqui já é extremamente pequena, por isso não tenho certeza se as operações de filtragem de entalhes ajudarão. Além disso, a frequência exata dos pulsos mostrados dentro dessa faixa restrita não é conhecida a priori.
Ao fazer suposições educadas sobre os pulsos de interesse aqui, (seus comprimentos e tempos de repetição), posso calcular a DFT bidimensional do meu 'modelo' e utilizá-la como um filtro cepstral-temporal 2-D no qual Simplesmente multiplico a imagem Welch mostrada acima por e depois realizo uma DFT 2-D inversa?
OTOH talvez os filtros Gabor sejam uma boa combinação aqui? Afinal, eles são filtros sensíveis à orientação, semelhantes aos nossos próprios processadores visuais V1 incorporados . Como eles podem ser explorados aqui?
Quais métodos podem ajudar nesse domínio?
Desde já, obrigado.
Respostas:
Não tenho experiência nesta área, mas vejo que ela foi estudada: Abordagem de entropia mínima para diminuir a distribuição de frequências de tempo
Essencialmente, seu problema é de separação sinal / fonte ; a desmistificação aditiva de um monte de sinais estruturados. Para continuar, você precisa modelar seus sinais. Obviamente, o de interesse é periódico e centrado em alguma frequência; portanto, é necessário estimar o período (ao longo do eixo x) e a frequência central (no eixo y). Então você pode caracterizar os outros (ruído). Para iniciantes, parece que eles vêm em curvas agradáveis.
Com um modelo em mãos, consultaria um livro como Handbook of Blind Source Separation: Independent Component Analysis and Applications .
fonte
De um ponto de vista puramente de engenharia, a solução óbvia para "travar" esse pulso seria um loop de fase bloqueada (PLL).
Um PLL é apenas um oscilador de funcionamento livre cuja frequência pode ser ajustada com base na relação de fase percebida com outro sinal. Se o outro sinal for puro ruído ou pulsar em uma frequência totalmente diferente, a relação de fase será aleatória e o oscilador não será ajustado muito em nenhuma direção (e continuará a "execução livre"). No entanto, se houver um sinal, mesmo que seja relativamente barulhento, que esteja funcionando aproximadamente na mesma frequência que o oscilador, o sensor de fase da PLL detectará isso e ajustará a frequência do oscilador para corresponder ao outro sinal. Obviamente, isso pressupõe que a partida esteja na metade do caminho para começar. (Um problema - embora também seja um recurso útil - das PLLs é que elas se prendem a harmônicos ou sub-harmônicos do sinal de destino, se a incompatibilidade de frequência inicial for muito grande.)
Eu nunca usei PLLs em meu próprio trabalho, mas o termo existe há cerca de 40 anos (o conceito desde os anos 30, pelo menos), e existem PLLs pré-criados disponíveis como CIs individuais ou módulos de placa única. Existem também "PLLs digitais" que imitam o conceito analógico usando componentes digitais. (Trata-se da extensão do meu conhecimento, mas existem facilmente 100 referências encontradas pelo Google.)
fonte