W jaki sposób błąd kwantyzacji generuje szum?


11

Uczę się samplowania i DSP. Trudno mi zrozumieć, w jaki sposób błąd kwantyzacji powoduje hałas. Myślę, że brakuje mi fundamentalnego zrozumienia, ale nie mogę powiedzieć, co to jest. Jak więc błąd kwantyzacji generuje szum?


To więcej zniekształceń niż hałasu. To zależy od sygnału i nie jest losowe.
endolith,

endolith, myślę, że nie rozumiem, w jaki sposób błąd powoduje częstotliwości.
Jan Deinhard

2
zniekształcenie zawsze wytwarza dodatkowe częstotliwości. jeśli zniekształcisz sinusoidę, stanie się ona inną powtarzalną falą. każdy powtarzający się przebieg inny niż sinusoidalny składa się z wielu częstotliwości.
endolith

1
Jak wspomniał @endolith, załóżmy, że masz bardzo zły ADC, taki, że nadajesz mu czysty dźwięk, ale otrzymujesz sygnał, który wygląda jak sinus, ale ma duże kroki. (Teraz twój sygnał wygląda jak schody, które idą w górę i w dół z oryginalnym sinussem.) Teraz intuicyjnie wiesz, że krok składa się z wielu częstotliwości. W ten sposób ADC doda częstotliwości, o które prosisz. Jest to operacja nieliniowa btw. Gdyby było liniowe, nie można tworzyć nowych częstotliwości, a jedynie nakładać wiele z nich razem.
Spacey,

Inna uwaga: niezłą interpretację podał Yannis Tsividis w ICASSP 2004: Kwantyzacja jest twardą nieliniowością i generuje „nieskończoną liczbę harmonicznych”. Proces próbkowania składa je wszystkie w dół. W przypadku wystarczająco złożonych sygnałów te „składane w dół harmoniczne” wyglądają jak biała podłoga.
divB

Odpowiedzi:


6

Załóżmy, że mam sygnał wielotonowy (sześć nośnych, przy ± 1/1000, ± 2/1000 i ± 7/1000 częstotliwości próbkowania)

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

który jest kwantyzowany za pomocą 14-bitowego ADC

wave_quant = round(wave * 16384) / 16384;

Różnica

wave_qnoise = wave_quant - wave;

podaje błąd kwantyzacji

Hałas kwantyzacji według czasu

Odpowiednie widmo

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

Hałas kwantyzacji według częstotliwości

pokazuje wygenerowany poziom hałasu w całym spektrum.

Zakłada się, że błąd kwantyzacji nie wprowadza błędu systematycznego. Jeśli ADC zawsze wybiera niższą wartość

wave_quant_biased = floor(wave * 16384) / 16384;

otrzymujemy błąd kwantyzacji, który nie jest już wyśrodkowany wokół zera

wave_qnoise_biased = wave_quant_biased - wave;

Błąd kwantyzacji z odchyleniem według czasu

który ma wyraźny skok w FFT w koszu DC

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

Błąd kwantyzacji z odchyleniem według częstotliwości

Staje się to prawdziwym problemem np. W przypadku modulacji kwadraturowej amplitudy , gdzie przesunięcie prądu stałego w demodulowanym sygnale odpowiada fali sinusoidalnej o częstotliwości demodulacji.


To bardzo dobrze, dziękuję za pomoc. w ten sposób zbadałem zniekształcenie związane z kwantyzacją.

9

„Hałas” w tym kontekście odnosi się do wszystkiego, co niepożądane dodane do sygnału, niekoniecznie oznacza, że ​​jest to szum gaussowski, biały szum lub jakikolwiek przypadkowy dobrze opisany proces.

W kontekście kwantyzacji jest to argument czysto algebraiczny. Kwantyzację można postrzegać jako dodanie niepożądanego sygnału („szumu”) równego… różnicy między sygnałem pierwotnym a sygnałem skwantowanym. Należy zauważyć, że ten szum kwantyfikacyjny nie jest przypadkowy i jest skorelowany z sygnałem wejściowym. Na przykład, jeśli sygnał ma charakter okresowy, szum kwantyzacji wprowadzany podczas kwantyzacji również będzie okresowy.


Myślę, że zrozumiałem, w jaki sposób kwantyzacja powoduje sam błąd. Zastanawia mnie to, jak generuje częstotliwość. Rozumiem: „Niepożądany sygnał” oznacza niepożądane częstotliwości. Załóżmy, że próbuję czysty sygnał sinusoidalny. Następnie błąd kwantyzacji wprowadza „podteksty”. Przypuszczam, że podtony pochodzą z kształtu „schodowego” próbkowanego sygnału. Czy to jest poprawne?
Jan Deinhard

1
@FairDinkumThinkum: tak, jeśli zniekształcisz czystą falę sinusoidalną, otrzymasz zniekształcenie harmoniczne, które wytwarza nowe częstotliwości przy wielokrotnościach częstotliwości twojej fali sinusoidalnej. en.wikipedia.org/wiki/Distortion#Harmonic_distortion
endolith

3

Aby rozwinąć to, co mówią pikenety, zastanów się, czy masz sygnał audio, który jest digitalizowany przez przetwornik D-to-A, który ma rozdzielczość tylko 0,01 wolta. Jeśli w określonym momencie sygnał audio ma wartość 7,2626 woltów, zostanie on zaokrąglony do 7,33 wolta lub obcięty do 7,32 wolta (w zależności od konstrukcji konwertera). W pierwszym przypadku dodałeś „szum” o wartości 7,33–7.3269 woltów lub 0,0031 wolta. W drugim przypadku dodałeś „hałas” o wartości 7,32–7.3269 woltów lub -0,0069 woltów.

Oczywiście, dodatkowy szum jest dodawany, ponieważ konwerter z pewnością nie jest nieskończenie dokładny i prawdopodobnie ma dokładność na równi z jego precyzją.


0

Oto bardziej podstawowe wyjaśnienie, które pozwoli na zrozumienie podstawowej kwestii.

  1. Sięgnij do kieszeni i wyjmij iPhone'a.
  2. Otwórz aplikację Health -> Fitness Activity -> Steps walked (ta opcja jest domyślnie włączona).
  3. Zapisz, ile kroków przeszedłeś w ciągu ostatnich dziesięciu dni.

Zaokrąglij te liczby do tysięcy i opublikuj je tutaj. Teraz inne osoby muszą odgadnąć twoje oryginalne numery na podstawie tego, co opublikowałeś.

Inne osoby nie mogą dokładnie zgadnąć dokładnej liczby na podstawie podanej przez ciebie zaokrąglonej liczby. To utrata danych. I w tym przypadku (ponieważ użyłeś zaokrąglania) nazywa się to błędem kwantyzacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.