Nicemleme hatası nasıl gürültü üretir?


11

Örnekleme ve DSP'yi kendi başıma öğreniyorum. Nicemleme hatasının gürültüye nasıl yol açtığını anlamakta zorlanıyorum. Bence temel bir anlayışı özlüyorum ama bunun ne olduğunu anlayamıyorum. Peki nicemleme hatası nasıl gürültü üretir?


Gürültüden daha çok bozulma. Sinyale bağlıdır ve rastgele değildir.
endolith

Endolith, anlamadığım şeyin hatanın frekanslara nasıl yol açtığını düşünüyorum.
Jan Deinhard

2
bozulma her zaman ek frekanslar üretir. eğer bir sinüs dalgasını bozarsanız, farklı bir tekrarlayan dalga biçimi olur. sinüs dalgası dışındaki herhangi bir tekrarlanan dalga formu birden fazla frekanstan oluşur.
endolith

1
@Endolith'in belirttiği gibi, çok kötü bir ADC'ye sahip olduğunuzu varsayalım, böylece saf bir ton verebilirsiniz, ancak sinüs gibi görünen ancak içinde büyük adımlar olan bir sinyal alın. (Şimdi sinyaliniz orijinal sinüsle yukarı ve aşağı giden bir merdivene benziyor.) Şimdi, sezgisel olarak bir adımın birçok frekanstan oluştuğunu biliyorsunuz. Bir ADC, siz sorurken bu şekilde frekanslar ekleyecektir. Bu doğrusal olmayan bir işlemdir btw. Doğrusal olsaydı, yeni frekanslar yapamazdınız, sadece birçoğunu bir araya getirin.
Spacey

Başka bir açıklama: Yannis Tsividis tarafından ICASSP 2004'te güzel bir yorum verilmiştir: Nicemleme zor bir doğrusal olmamadır ve "sonsuz sayıda harmonik" üretir. Örnekleme işlemi hepsini katlar. Yeterince karmaşık sinyaller için, bu "katlanmış harmonikler" beyaz bir gürültü tabanına benziyor.
divB

Yanıtlar:


6

Çok tonlu bir sinyale sahip olduğumu varsayalım (altı taşıyıcı, ± 1/1000, ± 2/1000 ve ± 7/1000 örnekleme frekansında)

x = (1:1000);
wave = sin(x/1000*2*pi) + sin(x/1000*2*pi*2) + sin(x/1000*2*pi*7);

14-bit ADC kullanılarak nicelenir.

wave_quant = round(wave * 16384) / 16384;

Fark

wave_qnoise = wave_quant - wave;

nicemleme hatası verir

Zamana Göre Niceleme Gürültüsü

Karşılık gelen spektrum

wave_qnoise_freq = mag(fftshift(fft(wave_qnoise)) / sqrt(1000));

Frekansla Niceleme Gürültüsü

tüm spektrum boyunca üretilen gürültü tabanını gösterir.

Bu, nicemleme hatasının bir yanlılık yaratmadığını varsayar. ADC her zaman daha düşük değeri seçerse

wave_quant_biased = floor(wave * 16384) / 16384;

artık sıfır etrafında ortalanmayan bir nicemleme hatası alıyoruz

wave_qnoise_biased = wave_quant_biased - wave;

Zamana Göre Önyargı ile Niceleme Hatası

DC bölmesindeki FFT'de kesin bir artış olan

wave_qnoise_biased_freq = mag(fftshift(fft(wave_qnoise_biased)) / sqrt(1000));

Sıklığa Göre Önyargı ile Niceleme Hatası

Bu , demodüle edilmiş sinyaldeki bir DC ofsetinin demodülasyon frekansındaki bir sinüs dalgasına karşılık geldiği örneğin Dörtlü Genlik Modülasyonu ile gerçek bir problem haline gelir .


Bu çok büyük yardımlarınız için teşekkür ederim. bu şekilde nicemleme ile ilgili çarpıtmayı araştırdım.

Merhaba, bu cevap faydalı değil, ancak nedenini açıklamak zor. Sanırım olayları yakın bir şekilde açıklamak için yeterli zaman ayırmadınız. Öğretmek için zaman ayırmak yerine sadece bildiklerinizi gösteriyorsunuz gibi geliyor. Bir dahaki sefere bu nasıl daha iyi olabilir?
Andy Ray

9

Bu bağlamda "gürültü", sinyale istenmeyen herhangi bir şey eklenmediğini belirtir, bunun mutlaka gauss gürültüsü, beyaz gürültü veya rastgele tanımlanmış herhangi bir işlem olduğu anlamına gelmez.

Nicemleme bağlamında, bu tamamen cebirsel bir tezdir. Nicemleme, orijinal sinyal ile nicemlenen sinyal arasındaki farka eşit istenmeyen bir sinyal ("gürültü") ilavesi olarak görülebilir. Bu niceleme gürültüsünün rastgele olmadığını ve giriş sinyali ile ilişkili olduğunu unutmayın. Örneğin, bir sinyal periyodikse, nicelleştirilirken verilen niceleme gürültüsü de periyodik olacaktır.


Bence nicemlemenin hatanın kendisine nasıl neden olduğunu anladım. Beni şaşırtan şey, frekansı nasıl ürettiğidir. Benim anlayışım: "İstenmeyen sinyal" istenmeyen frekanslar anlamına gelir. Saf bir sinüzoidal sinyali örneklediğimizi varsayalım. Daha sonra nicemleme hatası "fazla tonlar" getirir. Üst tonların örneklenen sinyalin "merdiven" şeklinden kaynaklandığını düşünüyorum. Bu doğru mu?
Jan Deinhard

1
@FairDinkumThinkum: evet, saf bir sinüs dalgasını bozarsanız, sinüs dalgasının frekansının katlarında yeni frekanslar üreten harmonik bozulma elde edersiniz. en.wikipedia.org/wiki/Distortion#Harmonic_distortion
endolit

"Gürültü" ifadesinin nicemleme nedeniyle sadece kaynak sinyali ile çıkış sinyali arasına eklenen delta olduğunu söylemek doğru mudur?
Andy Ray

@AndyRay, temel olarak evet. Bazı uygulamalarda ek şeylerle de ilgileniyoruz, örneğin çok zayıf olan ve matematiksel olarak yeniden yapılandırılması gereken GPS sinyalleri ile çalışırken, gürültünün algoritmanın yanlış gitmesine neden olacak herhangi bir özelliğe sahip olup olmadığını bilmeliyiz, ör. bir DC ofseti veya örnekleme frekansının alt harmonikleri.
Simon Richter

3

Pichenette'lerin söylediklerini genişletmek için, yalnızca 0.01 volt çözünürlüğe sahip bir D-A-dönüştürücü tarafından dijitalleştirilen bir ses sinyaliniz olup olmadığını düşünün. Belirli bir zamanda, ses sinyali 7.3269 voltta ise, 7.33 volta yuvarlanacak veya 7.32 volta kısaltılacaktır (dönüştürücünün tasarımına bağlı olarak). İlk durumda, 7.33-7.3269 volt veya 0.0031 volt "gürültü" eklediniz. İkinci durumda, 7.32-7.3269 volt veya -0.0069 volt "gürültü" eklediniz.

Tabii ki, dönüştürücünün kesinlikle sonsuz derecede doğru olmaması ve muhtemelen hassasiyeti ile eşit bir doğruluğa sahip olması nedeniyle ek gürültü eklenmiştir.


0

İşte temel noktaya ulaşmak için daha temel bir açıklama.

  1. Cebinize ulaşın ve iPhone'unuzu çıkarın.
  2. Sağlık uygulamasını açın -> Fitness Etkinliği -> Yürüme adımları (varsayılan olarak açıktır).
  3. Son on günün her birinde kaç adım yürüdüğünüzü yazın.

Bu sayıları binlercee yuvarlayın ve buraya gönderin. Şimdi buradaki diğer insanlar, yayınladıklarınıza göre orijinal numaralarınızı tahmin etmek zorunda.

Diğer kişiler, verdiğiniz yuvarlak sayıya göre kesin sayıyı güvenilir bir şekilde tahmin edemez. Bu veri kaybı. Ve bu durumda (yuvarlama kullandığınız için) buna nicemleme hatası denir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.