Як помилка квантування генерує шум?


11

Я дізнаюся про вибірки та DSP самостійно. Мені важко зрозуміти, як помилка квантування призводить до шуму. Я думаю, що я пропускаю фундаментальне розуміння, але не можу сказати, що це таке. Тож як помилка квантування генерує шум?


Це більше спотворень, ніж шуму. Це залежить від сигналу, і не є випадковим.
ендоліт

ендоліт, я думаю, що я не розумію, як помилка призводить до частот.
Ян Дейнхард

2
спотворення завжди створює додаткові частоти. якщо ви спотворюєте синусоїду, вона стає іншою повторюваною формою хвилі. будь-яка повторювана форма хвилі, крім синусоїди, складається з декількох частот.
ендоліт

1
Як згадував @endolith, припустимо, у вас дуже поганий АЦП, такий, що ви надаєте йому чистий тон, але отримуєте сигнал, схожий на синус, але в ньому є великі кроки. (Отже, тепер ваш сигнал схожий на сходи, що піднімаються вгору і вниз з початковим синусом.) Тепер ви інтуїтивно знаєте, що крок складається з багатьох частот. Ось так АЦП додасть частоти, як ви запитуєте. Це нелінійна операція btw. Якби це було лінійно, ви не могли б створювати нові частоти, лише накладаєте багато з них разом.
Космічний

Ще одне зауваження: Приємну інтерпретацію дав Янніс Цивідіс у ICASSP 2004: Квантування - це сувора нелінійність і породжує "нескінченну кількість гармонік". Процес відбору проб все згортає. Для досить складних сигналів ці "згорнуті гармоніки" мають вигляд білого шуму.
divB

Відповіді:


6

Припустимо, у мене є багатотоновий сигнал (шість носіїв, при ± 1/1000, ± 2/1000 і ± 7/1000 частоти вибірки)

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

який квантується за допомогою 14-бітного АЦП

wave_quant = round(wave * 16384) / 16384;

Різниця

wave_qnoise = wave_quant - wave;

дає помилку квантування

Шум квантування за часом

Відповідний спектр

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

Шум квантування за частотою

показує генеровану шумову підлогу по всьому спектру.

Це передбачає, що помилка квантування не вносить зміщення. Якщо АЦП завжди вибирає нижнє значення

wave_quant_biased = floor(wave * 16384) / 16384;

ми отримуємо помилку квантування, яка більше не зосереджена навколо нуля

wave_qnoise_biased = wave_quant_biased - wave;

Помилка квантування з ухилом від часу

який має певний сплеск у FFT у відро для постійного струму

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

Помилка квантування з ухилом за частотою

Це стає справжньою проблемою, наприклад, квадратурна амплітудна модуляція , де зміщення постійного струму в демодульованому сигналі відповідає синусоїді на частоті демодуляції.


Це дуже велике спасибі за вашу допомогу. таким чином я дослідив спотворення, пов'язані з квантуванням.

Привіт, ця відповідь не корисна, але важко сформулювати чому. Я думаю, що ти не встиг достатньо часу, щоб пояснити речі на належному рівні. Схоже, ви просто демонструєте те, що знаєте, а не витрачаєте час на викладання. Як це може бути краще наступного разу?
Енді Рей

9

"Шум" у цьому контексті стосується будь-якого небажаного, доданого до сигналу, це не обов'язково означає, що це гаусовий шум, білий шум або будь-який випадковий добре описаний процес.

В контексті квантування це суто алгебраїчний аргумент. Квантування можна розглядати як додавання небажаного сигналу ("шуму"), рівного ... різниці між вихідним сигналом і квантованим сигналом. Зверніть увагу, що цей шум кількісного визначення не є випадковим і корелює з вхідним сигналом. Наприклад, якщо сигнал є періодичним, шум квантування, що вводиться при його квантуванні, теж буде періодичним.


Думаю, я зрозумів, як квантування викликає саму помилку. Мене спантеличує, як це генерує частоту. Я розумію: "Небажаний сигнал" означає небажані частоти. Припустимо, я вибираю чистий синусоїдальний сигнал. Потім помилка квантування вводить "обертони". Я припускаю, що обертони походять від "сходової" форми вибіркового сигналу. Це правильно?
Ян Дейнхард

1
@FairDinkumThinkum: так, якщо ви спотворюєте чисту синусову хвилю, ви отримаєте гармонічне спотворення, яке виробляє нові частоти в кратних частотах вашої синусоїди. en.wikipedia.org/wiki/Distortion#Harmonic_distortion
endolith

Чи точно сказати, що "шум" - це лише додана дельта між вихідним сигналом і вихідним сигналом через квантування?
Енді Рей

@AndyRay, в основному так. У деяких додатках нас також цікавлять додаткові речі, наприклад, коли ми працюємо з GPS-сигналами, які дуже слабкі та потребують математичної реконструкції, ми повинні знати, чи має шум якісь властивості, які б спричиняли помилку алгоритму, наприклад зміщення постійного струму або субгармонії частоти вибірки.
Саймон Ріхтер

3

Щоб розширити те, про що говорили пішенети, подумайте, чи є у вас аудіосигнал, який оцифровується перетворювачем D-A-A, який має роздільну здатність лише 0,01 вольт. Якщо в певний момент часу звуковий сигнал буде на рівні 7,3269 вольт, то він буде округленим до 7,33 вольт або скороченим до 7,32 вольт (залежно від конструкції перетворювача). У першому випадку ви додали "шум" 7,33-7,3269 вольт, або 0,0031 вольт. У другому випадку ви додали "шум" 7,32-7,3269 вольт, або -0,0069 вольт.

Звичайно, додається додатковий шум через те, що перетворювач, безумовно, не є нескінченно точним і, мабуть, має точність нарівні зі своєю точністю.


0

Ось більш базове пояснення, щоб отримати основні моменти.

  1. Доторкніться до кишені і вийміть свій iPhone.
  2. Відкрийте додаток «Здоров’я» -> Фітнес-діяльність -> Пройдено кроки (це ввімкнено за замовчуванням).
  3. Запишіть, скільки кроків ви пройшли протягом кожного з останніх десяти днів.

Округніть ці цифри до тисяч і розмістіть їх тут. Тепер інші люди повинні вгадати ваші вихідні номери на основі того, що ви розмістили.

Інші люди не можуть достовірно здогадатися про точне число, виходячи з округленого вами номера. Це втрата даних. І в цьому випадку (тому що ви використовували округлення), що називається помилкою квантування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.