Как ошибка квантования создает шум?

11

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

Ян Дейнхард
источник
Это больше искажения, чем шум. Это зависит от сигнала и не случайно.
эндолит
Эндолит, я думаю, что я не понимаю, как ошибка приводит к частотам.
Ян Дейнхард
2
искажение всегда производит дополнительные частоты. если вы искажаете синусоидальную волну, она становится другой повторяющейся волной. любая повторяющаяся форма волны, кроме синусоидальной, состоит из нескольких частот.
эндолит
1
Как уже упоминал @endolith, давайте предположим, что у вас очень плохой АЦП, такой, что вы даете ему чистый тон, но получаете сигнал, который выглядит как синусоида, но имеет большие шаги. (Так что теперь ваш сигнал выглядит как лестница, которая идет вверх и вниз с первоначальным синусом.) Теперь вы интуитивно знаете, что шаг состоит из множества частот. Вот как АЦП будет добавлять частоты, как вы просите. Это нелинейная операция, кстати. Если бы он был линейным, вы не могли бы создавать новые частоты, только накладывая многие из них вместе.
Спейси
Еще одно замечание: Яннис Цивидис дал хорошую интерпретацию в 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;

Ошибка квантования со смещением по времени

который имеет определенный всплеск в БПФ в бункере постоянного тока

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

Ошибка квантования со смещением по частоте

Это становится реальной проблемой, например, с помощью квадратурной амплитудной модуляции , где смещение постоянного тока в демодулированном сигнале соответствует синусоиде на частоте демодуляции.

Саймон Рихтер
источник
Это очень большое спасибо за вашу помощь. таким образом я исследовал искажения, связанные с квантованием.
9

«Шум» в данном контексте относится ко всему нежелательному, добавленному к сигналу, это не обязательно означает, что это гауссов шум, белый шум или любой случайный, хорошо описанный процесс.

В контексте квантования это чисто алгебраический аргумент. Можно рассматривать квантование как сложение нежелательного сигнала («шума»), равного ... разнице между исходным сигналом и квантованным сигналом. Обратите внимание, что этот шум количественного определения не является случайным и коррелирует с входным сигналом. Например, если сигнал является периодическим, шум квантования, вносимый при квантовании, также будет периодическим.

pichenettes
источник
Я думаю, что я понял, как квантование вызывает саму ошибку. Что меня озадачивает, так это то, как он генерирует частоту. Мое понимание таково: «Нежелательный сигнал» означает нежелательные частоты. Предположим, я пробую чистый синусоидальный сигнал. Тогда ошибка квантования вносит «обертоны». Я предполагаю, что обертоны происходят из "лестницы" формы дискретизированного сигнала. Это правильно?
Ян Дейнхард
1
@FairDinkumThinkum: да, если вы искажаете чистую синусоидальную волну, вы получите гармоническое искажение, которое производит новые частоты, кратные частоте вашей синусоидальной волны. en.wikipedia.org/wiki/Distortion#Harmonic_distortion
эндолит
3

Чтобы расширить сказанное пикенетами, подумайте, есть ли у вас аудиосигнал, который оцифровывается цифро-аналоговым преобразователем с разрешением всего 0,01 вольт. Если в какой-то конкретный момент времени звуковой сигнал имеет напряжение 7,3269 вольт, он будет либо округлен до 7,33 вольт, либо урезан до 7,32 вольт (в зависимости от конструкции преобразователя). В первом случае вы добавили «шум» 7,33-7,3269 вольт или 0,0031 вольт. Во втором случае вы добавили «шум» в 7,32-7,3269 вольт или -0,0069 вольт.

Конечно, добавляется дополнительный шум из-за того факта, что преобразователь, скорее всего, не является бесконечно точным и, вероятно, имеет точность, соответствующую его точности.

Даниэль Р Хикс
источник
0

Вот более простое объяснение, чтобы объяснить основную мысль.

  1. Достань в карман и достань свой айфон.
  2. Откройте приложение «Здоровье» -> «Фитнес» -> «Шаги» (по умолчанию включено).
  3. Запишите, сколько шагов вы прошли за каждый из последних десяти дней.

Округлите эти числа до тысяч и опубликуйте их здесь. Теперь другие люди здесь должны угадать ваши оригинальные цифры на основе того, что вы опубликовали.

Другие люди не могут надежно угадать точное число на основе округленного вами числа. Это потеря данных. И в этом случае (потому что вы использовали округление) это называется ошибкой квантования.

Уильям Энтрикен
источник