Melhorando a digitalização adicionando ruído branco antes da sobreamostragem


8

Eu estava lendo um livro de física e dizia que ao digitalizar um sinal, havia ruído branco para melhorar o processo. Eu não entendo como isso funciona. Portanto, minha pergunta é:

Ao digitalizar um sinal analógico, como a adição de ruído pode ser benéfica quando combinada com a super amostragem no tempo?


Você está falando de pontilhamento? Veja en.wikipedia.org/wiki/Dither para mais.

@DavidZ Se este tópico fora, por que já existem tantas respostas? Várias pessoas disseram na meta que gostam de manter as questões de matemática , desde que sejam relevantes para a física. Por que esse processo de pensamento deve diferir para outros tópicos?
DanielSank

@ DanielSank porque uma pergunta que está fora do tópico não impede as pessoas de responderem. Se você acha que as questões de processamento de sinais devem estar no tópico e acha que a comunidade concorda com você, leve-o à meta e faça uma postagem propondo essa alteração no escopo do site.
David Z

Os experimentalistas precisam lidar, em certa medida, com os caprichos da amostragem digital. Não concordo exatamente com a mudança de uma pergunta de um site graduado (physics stackexchange) para um site beta (este site), mas o que está feito está feito. Esperamos que essa migração atraia a atenção de pessoas com maior conhecimento. Meu conhecimento em relação a sinais limpos é pré-milenar. A última vez que tive que trabalhar com sinais do mundo real, não tive apenas um problema baixo de sinal para ruído. Eu tive um problema de excesso de unidade de sinal de ruído. Lidar com isso foi bastante divertido (no sentido masoquista).
David Hammen

Respostas:


4

Adicionar ruído não correlacionado (ou seja, branco) a um sinal analógico antes da digitalização é chamado de pontilhamento . Para entender por que faríamos isso, precisamos entender a ideia do ruído de quantização . Considere um sistema analógico que possui sinais variando em amplitude de 0 a 100. Suponha que digitalizemos esse sinal com um digitalizador cujos níveis digitais sejam espaçados por 1. Em outras palavras, os possíveis níveis digitalizados são

{100,99,9899,100}.

Agora, suponha que o sinal analógico s(t) é um sinal DC de valor 0,8, em outras palavras

s(t)=0.8.

Se colocarmos isso no digitalizador, o digitalizador o arredondará para 1 e nossas amostras digitais sn será

sn=1.

Isso não é bom porque agora o sinal digital acumula erro à medida que adquirimos mais sinal. O nível digitalizado é sempre muito alto; portanto, quanto mais calculamos a média do sinal, mais superestimamos o nível analógico.

A adição de ruído branco ajuda a corrigir esse problema, pois aumenta o nível analógico de forma a cruzar os níveis de digitalização vizinhos. Portanto, à medida que você calcula a média de um conjunto de valores digitalizados, você obtém algo que se aproxima do nível analógico real. Vamos ver isso via exemplo.

Suponha que o ruído que adicionamos seja gaussiano distribuído com σ=2. Então a distribuição do sinal analógico é

p(x)exp[-(x-s(t))22σ2]=exp[-(x-0,8)28].

Agora calculamos o valor digital médiosn calculando a média p(x)sobre os números inteiros. A constante de normalização para a distribuição é

N=m=-100100exp[-(m-0,8)28]
e então nós temos
sn=1Nm=-100100mexp[-(m-0,8)28]=0,79999
Assim, você pode ver que a adição do ruído branco fez com que o sinal digital médio correspondesse melhor ao verdadeiro valor analógico.

Obviamente, a adição do ruído torna a sua relação sinal / ruído pior. Isso significa realmente ter uma alta probabilidade de medir osnacabamos de calcular, você precisa colher mais amostras do que você pensaria no caso silencioso. É por isso que você ouve sobre amostragem excessiva e pontilhamento ao mesmo tempo. Como o ruído do pontilhamento é realmente não correlacionado, a coleta de mais amostras sempre ajuda a melhorar a relação sinal / ruído, mesmo se você estiver amostrando muito acima da largura de banda do sinal analógico recebido.


2

O pontilhamento (adição intencional de ruído) ao sinal de entrada combinado à super amostragem pode (sem garantias!) Melhorar o número efetivo de bits no sinal e aumentar a relação sinal / ruído.

Supondo que o processo subjacente seja um processo de ruído branco, o sinal digitalizado ainda parecerá ruído branco se o nível de quantização estiver dentro do ruído. Isso geralmente é uma coisa boa. O ruído branco possui propriedades matemáticas bastante agradáveis. É difícil lidar com o ruído de quantização não linear e dependente de sinal. Esse ruído de quantização geralmente pode ser ignorado se o nível de quantização estiver dentro do ruído.

E se o nível de quantização não estiver dentro do barulho? Agora você tem um ruído de quantização bagunçado para lidar. Uma maneira de lidar com isso é usar um ADC de resolução mais alta e fazer com que a quantização se transforme em ruído. Uma alternativa é adicionar intencionalmente ruído branco ao sinal de entrada para reduzir o ruído de quantização do seu ADC barato em comparação com o ruído do sinal (pontilhado).

A idéia básica é pontilhar o sinal de entrada para que o ruído no sinal pontilhado domine o ruído de quantização (mas obviamente não em excesso). O sinal pontilhado é intencionalmente superamostrado e depois reduzido por média de duas ou mais medições sucessivas. Essa média só compra algo se o sinal de entrada for barulhento comparado ao ruído de quantização. O ruído de quantização médio parece com o ruído de quantização. A média de ruído branco permite que o sinal saia do ruído.

Para saber mais, leia o tutorial de Walt Kester Os aspectos bons, ruins e feios do ruído de entrada da ADC - o ruído não é bom? .


@DanielSank Se ele perguntasse especificamente sobre o ruído branco, dar uma resposta sobre o ruído de quantização não estaria respondendo à pergunta que foi feita.
The Photon

@ThePhoton: Ack! Isso foi um erro de digitação. Ele pediu a densidade espectral do ruído de quantização . Ugh, e agora não consigo editar o comentário.
DanielSank

1
Reposicionando o comentário com correção: O fato de o ruído de quantização não ser aditivo me causou problemas em uma entrevista de emprego. O cara perguntou "qual é a densidade espectral do ruído de quantização"? Expliquei que realmente não tinha densidade espectral e tentei mostrar o porquê, mas ele não entendeu. Eu acho que ele só queria a resposta em lata para o caso em que você assume que os níveis digitais já estão no ruído analógico (como mencionado na sua resposta); nesse caso, o ruído da digitalização é branco, como você diz.
DanielSank

2

Sim, adicionar ruído não correlacionado a um sinal e calcular a média de várias amostras é uma maneira de lidar com o ruído de quantização.

Para tornar isso óbvio, pense no caso limitante. Você deseja medir o valor de um sinal entre 0 e 1, mas tudo que você tem é um A / D de 1 bit. A saída A / D é 0 quando o sinal é de 0 a 0,5 e 1 quando o sinal é de 0,5 a 1.

Agora considere um sinal que é 0,3. Com uma limpeza agradável de 0,3 pol, o A / D sempre produzirá 0. Você não pode distinguir entre um sinal de entrada de 0,1, 0,25, 0,3, etc., por exemplo.

Agora adicione ruído aleatório de ± 0,5. O sinal visto pelo A / D agora estará em algum lugar de -.2 a .8. Uma saída 0 tem uma probabilidade de 0,7 e uma saída 1 de .3. Qualquer leitura não lhe dirá muito (ao contrário de antes, quando o sinal era de 0 a 0,5), mas, após várias leituras, você tem uma idéia razoável do sinal. Por exemplo, se você fizer 100 leituras, cerca de 30 delas serão 1 e 70 serão 0. Não há garantia disso, mas quanto mais leituras você calcular, maior será a confiança de que o resultado médio representa o sinal.

Portanto, o pontilhamento é um meio de trocar certeza e largura de banda para obter resolução. Observe que, não importa quantas leituras você faça, você não sabe que o sinal está dentro de um limite, apenas que a probabilidade de ele estar dentro de um limite é alto. Observe também que você perdeu a largura de banda, pois muitas amostras são necessárias para obter um valor de sinal. No entanto, em muitos casos, essas são compensações úteis.


2

As respostas acima, pontilhamento, estão corretas, mas eu gostaria de salientar explicitamente que você está negociando explicitamente a resolução por tempo. Uma troca de tempo versus precisão. O caso mais dramático são os conversores delta-sigma. Eles possuem (bem, provavelmente há exceções) 1 bit de precisão, mas ao fazer o overclock da conversão, eles conseguem extrair 24 bits, aproximadamente, da resolução. Nesse caso, eles contornam a troca fazendo overclock (muito).

É claro que muitas outras técnicas são usadas em conversores reais; mas o princípio se aplica.


0

Há muito tempo (no final dos anos 80), precisávamos da capacidade de criar um espectro de energia da radiação recebida como parte de uma câmera gama usada em Medicina Nuclear. Isso exigiu um ADC rápido com excelente linearidade diferencial (basicamente, cada "compartimento" do ADC deve ter exatamente a mesma largura ou o sinal analógico, que é continuamente distribuído, fornecerá um "salto" em um compartimento que é um pouco um pouco grande demais - e isso pode parecer um pico espectral).

A solução era uma variante interessante no pontilhamento: tínhamos um DAC e um contador pequenos e usamos isso para adicionar um conhecido quantidade de sinal à entrada. O sinal de soma foi então digitalizado usando um ADC rápido com (comparativamente) baixa linearidade diferencial e o valor do DAC foi subtraído novamente após a conversão; depois disso, o contador (entrada para o DAC) foi incrementado em 1 (com o estouro redefinindo para zero). O resultado disso foi que uma voltagem do mesmo valor seria convertida em uma das muitas caixas - reduzindo efetivamente a não linearidade diferencial do ADC pelo tamanho do contador DAC.

Você poderia fazer a mesma coisa com ruído aleatório - mas se você não souber qual o ruído que está adicionando, certamente está degradando seu sinal. Quando o ruído é aproximadamente do tamanho de um único bin na ADC, e você pode tomar várias medidas, este irá ajudá-lo a estimar um sinal para melhor do que a resolução do ADC - supondo que você pode confiar a linearidade diferencial. Mas adicionar um sinal "aleatório" conhecido (embora tenhamos usado um contador, foi "aleatório no tempo" qual o valor que estaria presente para uma conversão específica) e levar em conta esse valor permite uma precisão ainda maior.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.