Похибка квантування

Дискретизація і повязані з нею проблеми накладення спектрів це тільки один з потенційних джерел помилок в цифровому сигналі При розробці цифрової аудіосистеми (все одно який програмної або апаратної) вам необхідно вирішити, як ви будете зберігати самі відліки Так як ми працюємо з компютерами, ми можемо оперувати обмеженою кількістю значень Наприклад, якщо ми використовуємо 8 або 16-бітові цілі числа, то для відліків ми можемо застосовувати або 256, або 65 536 цілочисельних значень

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

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

Наскільки велика гучність шуму Говорячи про її амплітуді, інженери викорис-

зуют термін рівень шуму (Чим нижче цей рівень, тим краще) При залученні

8-бітних цілих чисел для запису моментальних значень останні змінюються в діапазоні від +127 до -128, а похибка становить максимум 0,5 (за умови, що округлення було проведено коректно) Очевидно, при застосуванні 16бітних чисел щаблі будуть набагато менше, внаслідок чого рівень шуму нижче (шум буде тихіше)

Основне питання формулюється так: наскільки гучним виявиться цей шум в порівнянні з гучністю потрібного звуку Це відношення називаєтьсяставленням сигнал / шум (Чим вище це відношення, тим краще)

Важливо відзначити той факт, що це ставлення дуже залежить від змісту самого запису Дуже часто при обговоренні відносини сигнал / шум передбачається, що використовується сигнал максимально допустимої гучності Для 8-бітного звуку моментальні значення коливаються в діапазоні від +127 до -128, так що максимальне (за модулем) значення, яке може приймати відлік, одно

128, і похибка не перевищує 0,5 Тоді відношення амплітуди сигналу до амплітуди похибки становить 256:1, або 28 Відношення потужності сигналу до потужності шуму складе 216, або близько 48 дБ, що порівнянно з якісною передачею AM радіо (На практиці помічено, що один біт додає 6 дБ до цього відношення)

Якщо ваш сигнал не володіє граничною гучністю, то відношення сигнал /

шум буде менше (гірше) У самому невдалому випадку дуже тихий звук викличе

зміна моментальних значень тільки на одну або дві ступені Розглянемо, наприклад, рис 311 На ньому показаний синусоїдальний сигнал, амплітуда якого менше одного кроку моментальні значення стрибкоподібно змінюються між

0, +1 і -1

На рис 312 показано, яка в цьому випадку буде похибка Як ви можете переконатися, гучність помилки майже збігається з рівнем вихідного сигналу Крім того, гостра форма цього сигналу передбачає наявність великої кількості високочастотних компонент, що, швидше за все, призведе до того, що сигнал похибки виявиться голосніше початкового Найнеприємніше в тому, що ця похибка абсолютно не є випадковою Фактично, це зовсім і не шум Аудіоінженерії називають такий тип похибки спотворенням

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

Згладжування сигналу

Оскільки наші вуха менш чутливі до випадкового шуму, ніж до залежному від сигналу спотворення, буде цікаво дізнатися, що є спосіб, за допомогою якого можна перетворити спотворення певних типів у високочастотний шум Процес такого перетворення називаєтьсязгладжуванням сигналу(Від англ Dithering розмивання), і принцип його схожий з принципом аналогічного процесу, використовуваного у графіку

(Правду кажучи, у графіку згладжування використовується з тією ж метою, що і в акустиці: це перетворення дозволяє перетворити помітне спотворення квантування в менш помітний високочастотний шум)

Основний принцип полягає в розмиванні похибки і застосовується щоразу, коли необхідно перетворити сигнал високого дозволу в сигнал меншого, наприклад, якщо при роботі зі звуком необхідно перетворити 16-бітові відліки в 8-бітові Цей метод полягає в збереженні поточного значення суми похибки і її використанні для синтезу майбутніх значень

Розповідаючи про згладжування сигналу, необхідно особливо відзначити, що краще

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

Обмеження сигналу

Дуже гучні сигнали схильні спотворення, званомуобмеженням сигналуВ аналоговому світі обмеження сигналу зазвичай зустрічається, коли підсилювач входить в режим насичення В результаті вершини піків стають плоскими, як показано на рис 313 Як ви вже могли переконатися, прямокутні сигнали володіють сильними гармоніками, і такий тип обмеження викликає аналогічне за звучанням спотворення

При роботі з цифровими сигналами проблема аналогічного характеру проявляється у вигляді переповнення Обробка аудіосигналів здебільшого ведеться за допомогою цілочисельний арифметики або арифметики з фіксованою точкою Обидва види схильні циклічним поверненню: якщо буде перевищено максимально припустимий позитивне значення, вийде велике негативне значення Результат може виявитися навіть гірше того, що виходить після відсікання при насиченні (оцініть різкі переходи, показані на рис 314)

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

Вибірки з плаваючою точкою

Багато хто прийшов до висновку, що, щоб знизити рівень помилки квантування, для представлення відліків сигналу необхідно використовувати числа з плаваючою крапкою При використанні чисел з плаваючою точкою підвищується точність для більш малих значень, що дозволяє впоратися з проблемою спотворень при записі слабких сигналів K жаль, цікавлять нас числа також володіють рядом недоліків:

 ‰  ÐÐ »Ñ Â Â Ñ .. Ñ € Ð ° Ð ½ ÐμÐ ½ Ð ¸ Ñ Â Â Ñ ‡ Ð ¸ Ñ Ðμл Â Â Ñ Â Â Ð ¿Ð »Ð ° Ð ² Ð ° ÑŽÑ ‰ ÐμÐ ¹   Ñ, Ð ¾ Ñ ‡ Ð º Ð ¾ Ð ¹   Р¾ Ð ± Ñ <Ñ ‡ Ð ½ Ð ¾   Р¸ Ñ Ð ¿Ð ¾ Ð »ÑŒÐ · уÐμÑ, Ñ Ñ Â Â Ñ" Ð ¾ Ñ € Ð ¼ Ð ° Ñ,

з 32 і більше розрядами, що вдвічі збільшує вимоги до обєму памяті і дискової підсистемі в порівнянні з широко поширеним форматом запису значень, що використовують 16-бітові цілі числа

 ‰ Â Ñ Ð ¾ Ñ € Ð ¼ Ð ° Ñ, Ñ <Â Ñ ‡ Ð ¸ Ñ Ðμл Â Ñ Â Ð ¿Ð »Ð ° Ð ² Ð ° ÑŽÑ ‰ ÐμÐ ¹  Ñ, Ð ¾ Ñ ‡ Ð º Ð ¾ Ð ¹  Р½ Ðμ  Р¾ Ñ ‡ ÐμÐ ½ ÑŒ Â Ñ ... Ð ¾ Ñ € Ð ¾ ÑÐ ¾ Â Ñ Ñ, Ð ° Ð ½ Ð'Ð ° Ñ € Ñ, Ð ¸ Ð · Ð ¾ Ð ² Ð ° Ð ½ Ñ <, Â Ñ ‡ Ñ, Ð ¾

створює проблеми, якщо ви хочете використовувати їх на різних платформах

 ‰  Р° Ñ € Ð ¸ Ñ Ð ¼ ÐμÑ, Ð ¸ Ð º Ð ° Â Ñ Â Ð ¿Ð» Ð ° Ð ² Ð ° ÑŽÑ ‰ ÐμÐ ¹  Ñ, Ð ¾ Ñ ‡ Ð º Ð ¾ Ð ¹  Р¾ Ð ± Ñ <Ñ ‡ Ð ½ Ð ¾ Â Ñ € Ð ° Ð ± Ð ¾ Ñ, Ð ° ÐμÑ,  Р¼ ÐμÐ'Ð »ÐμÐ ½ Ð ½ ÐμÐμ, Â Ñ ‡ ÐμÐ ¼ Â Ñ † Ðμл Ð ¾ Ñ ‡ Ð ¸ Ñ -

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

 ‰  Р½ Ð °  Р² Ñ .. Ð ¾ Ð Â Ñ † Ð ¸ Ñ Ñ € Ð ¾ Ð ° Ð ½ Ð ° л Ð ¾ Ð ³ Ð ¾ Ð ² Ñ <Ñ ...  Р¿Ñ € ÐμÐ ¾ Ð ± Ñ € Ð ° Ð · Ð ¾ Ð ² Ð ° Ñ, ÐμÐ »ÐμÐ ¹  Р¼ Ð ¾ Ð ³ уÑ,  Р¿Ð ¾ Ð'Ð ° Ð ² Ð ° Ñ, ÑŒÑ Ñ Â Ñ, Ð ¾ Ð »ÑŒÐ º Ð ¾ Â Ñ † Ðμл Ñ <Ðμ

числа, це означає, що вибірки доведеться перетворювати в целочіслен-

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

Якщо розглянути всі ці міркування в сукупності, то з вищесказаного випливає, що числа з плаваючою точкою рідко використовуються при обробці звуку Арифметика із плаваючою крапкою корисна, в основному, для обчислень, проведених в автономному режимі, в якому корисна додаткова точність, а швидкість і обсяг необхідного для зберігання даних місця не враховується (Проте μ-функція і А-функція, по суті, використовують формат чисел з плаваючою крапкою Докладніше про це розповідається в главі 11)

Від редактора Відомості, наведені в розділі 3, поверхово і не завжди коректно описують процес перетворення звуку в цифрову форму (і назад) і виникають у звязку з цим проблеми Читачам, що бажають розібратися в цьому питанні, доведеться звернутися до інших джерел

Джерело: Кінтцель Т Керівництво програміста по роботі зі звуком = A Programmers Guide to Sound: Пер з англ М: ДМК Пресс, 2000 432 с, іл (Серія «Для програмістів»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*