Перейти к содержанию
    

Чистота цифрового звука

Чем руководствовались инженеры, выбирая в качестве индустриального стандарта 16-битный звук с частотой оцифровки 44000Гц? Вот полюбуйтесь на синус 14700Гц оцифрованный 44000 герцами:

post-14469-1144432996_thumb.jpg

 

Мы отчётливо видим ступеньки, 6-7 ступенек на период. Таких периодов у нас 14700 в секунду, итого под сто тысяч сэмплов в секунду. Но моя программа берёт только 3 штуки, потому что инчае и быть не может ведь 44000/14700 = 3. Откуда беруться дополнительные сэмплы, цифровой фильтр кодека инициативу проявляет?

 

 

Но главный вопрос о смысле квантования сигнала 65536-ю уровнями, если за период делается максимум 3-4 выборки. Это всё равно что смотреть на экран с разрешением 4х65536 точек. Такое чудо даже представить себе затруднительно. Что вы на нём увидите? Какой смысл доводить зернистость до квантового уровня, если приращение уровня за четверть периода, высота ступенек состовляет целую амплитуду сигнала? Далее, если аналоговый сигнал можно восстановить по 4-м точкам в плоскости временной развёртки, то тоже самое можно проделать, повернув её на угол 90 градусов. Ведь исходя из математико-филосовских соображений, точка зрения налблюдателя не влияет на способность его к воссановлению кривой по точкам на плоскости - если можно глядя с одной стороны, занчит объективно возможно и с другой. Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду. При этом вы получите идентичный ступенчатый график развёртки. В ШИМ вообще 1 уровень используют и счасливы. Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит (вспоминаем школьные задачи на оптимизацию периметр/объём или из области мультипроцессинга величина communication/computation).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из теоремы Найквиста (Котельникова) следует, что для полного (точного) восстановления сигнала следует выбирать частоту дискретизации не менее, чем в два раза превышающую максимальную частоту входного сигнала. Т.е. вполне достаточно дискретизировать и 40 кГц при полосе в 20 кГц, чтобы затем полность восстановить оцифрованный сигнал. По сути у вас же после ЦАП стоит сглаживающий фильтр, который и формирует в идеальном случае - требуемый сигнал (на рисунке вы смотрите сигнал до этого фильтра). А 16 разрядов определяют лишь требуемое отношение сигнал/шум.

что 16х2-битное кодирование должно быть равноценно 2х16-битному

не совсем верно... если просто использовать передискретизацию, то у величение частоты дискретизации в 2 раза приведет к улучшению с/ш лишь на 3 дБ или на 0.5 разряда.

Если посчитать c/ш:

2 выборки*16 бит = 16бит *6 дБ = примерно 96 дБ

16 выборок * 2 бита = (передискретизация в восемь раз) = 3 *3 дБ + 2бита*6дБ = 21 дБ

 

Более хитро все сделано в сигма-дельта АЦП, где отношение с/ш поднимается не только за счет использования передискретизации, но такжеи за счет повышения порядка фильтра в СД модуляторе, разрядности квантователя и т.д. В итоге это позволяет достичь выигрыша в с/ш до 6-9 дБ при увеличении частоты сигнала дискретизации всего в 2 раза.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из теоремы Найквиста (Котельникова) следует, что для полного (точного) восстановления сигнала следует выбирать частоту дискретизации не менее, чем в два раза превышающую максимальную частоту входного сигнала. Т.е. вполне достаточно дискретизировать и 40 кГц при полосе в 20 кГц, чтобы затем полность восстановить оцифрованный сигнал.

 

Саму формулировку теоремы мы знаем.

 

 

 

По сути у вас же после ЦАП стоит сглаживающий фильтр, который и формирует в идеальном случае - требуемый сигнал (на рисунке вы смотрите сигнал до этого фильтра). А 16 разрядов определяют лишь требуемое отношение сигнал/шум.

 

Сигнал снимается с выхода звуковой карты. И где же фильтр тогда стоит, если не в ней, где смотреть отфильтрованный сигнал? И кто количество выборок на период поднимает с 3 до 6.5?

 

 

что 16х2-битное кодирование должно быть равноценно 2х16-битному

не совсем верно... если просто использовать передискретизацию, то у величение частоты дискретизации в 2 раза приведет к улучшению с/ш лишь на 3 дБ или на 0.5 разряда.

Если посчитать c/ш:

2 выборки*16 бит = 16бит *6 дБ = примерно 96 дБ

16 выборок * 2 бита = (передискретизация в восемь раз) = 3 *3 дБ + 2бита*6дБ = 21 дБ

 

Под записью "MxN-бит" имеется вииду M-бит на N-бит. Только так мы можем повернуть график на 90° не помяв его. При повороте рисунка, сам рисунок менятся не должен. Наклоните голову - количество точек на экране монитопа не изменится. У вас же получается что экран с разрешения 2х65536 переключили в режим 16х4. Количество точек при этом уменьшилось в 2048 раз из ввереных 2^17 до 2^6.

 

Вы условия задачи изменили. Не удивительно что от какого произвола у вас с/ш уменьшился. Площадь поверхности resolutionX*resolutionY должна оставаться постоянной! Любопытно знать, зависит ли объём качества, который можно в эту площадь впихнуть от балансировки линейных размеров, то есть придания ей квадратной формы?

Изменено пользователем javalenok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не досмотрел... :unsure:

Но суть от этого не меняется

 

2 выборки* 2^16 битов = 6*16=96 дБ

2^16 выборок * 2 бита = 15*3 дБ + 6 дБ = 51 дБ

 

Так что в любом случае проигрыш при использовании простой передискретизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Мы отчётливо видим ступеньки, 6-7 ступенек на период. Таких периодов у нас 14700 в секунду, итого под сто тысяч сэмплов в секунду. Но моя программа берёт только 3 штуки, потому что инчае и быть не может ведь 44000/14700 = 3. Откуда беруться дополнительные сэмплы, цифровой фильтр кодека инициативу проявляет?
По-видимому, зто результат работы выходного фильтра-интерполятора. Частота выходных выборок, вообще говоря, может произвольно относиться к частоте поступающих на ЦАП отсчётов. На практике обычно делают "upsampling" в 2 или 4 раза, это связано с удобством реализации фильтров. Наличие передискретизации позволяет применять на выходе более простые аналоговые фильтры НЧ.

 

...Но главный вопрос о смысле квантования сигнала 65536-ю уровнями, если за период делается максимум 3-4 выборки. Это всё равно что смотреть на экран с разрешением 4х65536 точек. Такое чудо даже представить себе затруднительно. Что вы на нём увидите? Какой смысл доводить зернистость до квантового уровня, если приращение уровня за четверть периода, высота ступенек состовляет целую амплитуду сигнала? Далее, если аналоговый сигнал можно восстановить по 4-м точкам в плоскости временной развёртки, то тоже самое можно проделать, повернув её на угол 90 градусов. Ведь исходя из математико-филосовских соображений, точка зрения налблюдателя не влияет на способность его к воссановлению кривой по точкам на плоскости - если можно глядя с одной стороны, занчит объективно возможно и с другой...
Нельзя рассматривать ЦАП как вещь "в себе", на выходе его обязательно присутствует аналоговый фильтр-интерполятор, восстанавливающий исходную форму сигнала. Кроме того, "ступеньки" с частотой 100 (и даже 44) кГц Вы вряд ли услышите. :)

 

...Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду.
При определённых условиях это именно так, как Вы и представляете. Только в обозначениях путаница какая-то.

...Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит (вспоминаем школьные задачи на оптимизацию периметр/объём или из области мультипроцессинга величина communication/computation).
При правильной схемотехнике, не играет особой роли, 1 х 2^16, 2^8 x 2^8 или 2^16 х 1. Многоразрядные (многобитные) сигма-дельта модуляторы для аудио АЦП/ЦАП делают только ради снижения частоты выборки (прикиньте, какой она должна быть для 96 квыб/с, 24 бит).

 

 

2 выборки* 2^16 битов = 6*16=96 дБ

2^16 выборок * 2 бита = 15*3 дБ + 6 дБ = 51 дБ

Так что в любом случае проигрыш при использовании простой передискретизации.

Нет, это не так. При увеличении частоты выборки в 2 раза динамический диапазон АЦП увеличивается всё-таки на 6,02 дБ. Поэтому, динамический диапазон идеального (нешумящего) АЦП и в том, и в другом случае теоретически будет равен не 96, а 6.02+6,02*16+1,7 = 104 дБ, что соответствует 17-разрядному представлению отсчётов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, это не так. При увеличении частоты выборки в 2 раза динамический диапазон АЦП увеличивается всё-таки на 6,02 дБ. Поэтому, динамический диапазон идеального (нешумящего) АЦП и в том, и в другом случае теоретически будет равен не 96, а 6.02+6,02*16+1,7 = 104 дБ, что соответствует 17-разрядному представлению отсчётов.

К большому сожалению, Вы не правы...

Выражение для отношения сигнала к шуму следующее SNR=6.02*N+1.76дБ+ 10log(Fs/Fn),

Fs-частота дискретизации

Fn=2*BW - частота Найквиста

Следовательно, выигрыш всего-то на 3 дБ. Впрочем, эту формулу Вы найдете в любой книжке.

Если бы были верны ваши утверждения, то на сегодняшний день мы имели бы сигма-дельта АЦП с полосами до 10-100 МГц при 16-18 битном разрешении. Но пока что - это серьезная задача, которую еще предстоит решить проектировщикам сигма-дельта преобразователей. Например, одним из ее решений является использование непрерывных СД АЦП, где частоты дискретизации могут достигать несколько ГГц (такие частоты принципиално невозможно достичь в типичных современных СД АЦП на переключаемых конденсаторах).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К большому сожалению, Вы не правы...

Выражение для отношения сигнала к шуму следующее SNR=6.02*N+1.76дБ+ 10log(Fs/Fn),

Fs-частота дискретизации

Fn=2*BW - частота Найквиста...

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

При определении теоретического динамического диапазона измерительного устройства нужно учитывать количество его состояний в единицу времени. Очевидно, что при увеличении частоты дискретизации в 2 раза, оно удваивается, что соответствует увеличению разрядности на 1 бит.

 

...Следовательно, выигрыш всего-то на 3 дБ. Впрочем, эту формулу Вы найдете в любой книжке...
Киньте ссылочку, пожалуйста. Возможно, мы просто говорим о разных вещах.

 

...Если бы были верны ваши утверждения, то на сегодняшний день мы имели бы сигма-дельта АЦП с полосами до 10-100 МГц при 16-18 битном разрешении. Но пока что - это серьезная задача, которую еще предстоит решить проектировщикам сигма-дельта преобразователей...
С полосой 1 МГЦ и более, 16 бит, по-моему, выпускают (есть ещё "undersampling", но это отдельная песня). Если бы Ваше утверждение было верным, для однобитного с-д модулятора частота дискретизации должна составить примерно 2^32*1МГц, а, скажем, для 4-х битного - 2^24*1МГц, что составляет просто невообразимые величины. Если верно моё предположение, получим в 1-м случае 2^16*1МГц, во втором - 2^12*1МГц. Последняя цифра уже вполне реальна.

PS. Все оценки, конечно, приведены для простейшего гипотетического фильтра скачущего среднего на выходе (усреднения вых. отсчётов модулятора).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, Вы всё-таки правы. Сейчас прикинул - если делать тупо, то количество состояний системы при удвоении частоты выборки вовсе не удваивается, а составит величину, соответствующую именно 3 дБ динамического диапазона. Спасибо за науку! :cheers:

ЗЫ. Блин, ночные глюки. Ещё раз перепроверил - вроде опять 6 дБ получается, и всё приведённое выше - верно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Так и есть, формула приведена в предположении, что у вас стоит идеальный фильтр, который обрезает полосу сигнала на 20 кГц.

Киньте ссылочку, пожалуйста. Возможно, мы просто говорим о разных вещах.

В свое время я залил, имхо, прекрасную подборку книг по СД преобразователям и не только... нынче все это лежит в /pub/DOC/Books/ADC Converters

Для начала можно посмотреть совсем простенькие книги:

1)Princeples of SDM for ADC - Motorola (Park).pdf

2)и /upload/DOCs (на русском) по семинарам Analog Devices -Цифрова обработка сигналов

3)Одна из лучших книг по СДМ - Delta-Sigma Data Converters (Norsworthy,Schreier,Temes-1997).pdf

Ну и другие также следует хотя бы просмотреть.

Если бы Ваше утверждение было верным, для однобитного с-д модулятора частота дискретизации должна составить примерно 2^32*1МГц, а, скажем, для 4-х битного - 2^24*1МГц, что составляет просто невообразимые величины. Если верно моё предположение, получим в 1-м случае 2^16*1МГц, во втором - 2^12*1МГц. Последняя цифра уже вполне реальна.

Сигма-дельта модулятор и простая передискретизирующая система - это совсем разные вещи... Думаю, что сами разберетесь что к чему B) .

Для наглядности - несколько примеров:

1) 2^12*1МГц - цифра абсолютно нереальная для современных СД АЦП на ПК. Почему? 2^12*1МГц=4 ГГц, при этом в схемах на ПК частота единичного усиления ОУ в составе СД модулятора должна быть не менее чем в пять раз превышать частоту дискретизации. Т.е. в нашем случае ОУ должен обладать быстродействием в 20 ГГц (при этом обеспечивая еще и хороший коэфициент усиления). В реальности же полоса ОУ составляет максимум 100-200 МГц (КМДП-технология), т.е. мах частота дискретизации выбирается не более 20-40 МГц. Из этого следует что для полосы сигнала в единицы МГц, отношение Fs/Fn=OSR(коэффициент передискретизации) должно быть максимум равен 8, 16 , 32... а никак не 4096.

2) при Fs/Fn=32 в СД модулятре второго порядка с пятиразрядным квантователем удается достичь с/ш 80-90 дБ. Упрощенную формулу можно посмотреть в лит-ре 3) на стр. 220. Полоса же входного сигнала определяется быстродействием аналоговых блоков (ОУ).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, буду разбираться - тема для меня интересная. О результатах "исследования" постараюсь сообщить в этом топике.

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

 

Сейчас мне ясно только, что приведённые Вами численные оценки

2 выборки* 2^16 битов = 6*16=96 дБ

2^16 выборок * 2 бита = 15*3 дБ + 6 дБ = 51 дБ

суть неверны. В противном случае, поясните их смысл, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Но главный вопрос о смысле квантования сигнала 65536-ю уровнями, если за период делается максимум 3-4 выборки...

... точка зрения налблюдателя не влияет на способность его к воссановлению кривой по точкам на плоскости...

Нельзя рассматривать ЦАП как вещь "в себе", на выходе его обязательно присутствует аналоговый фильтр-интерполятор, восстанавливающий исходную форму сигнала. Кроме того, "ступеньки" с частотой 100 (и даже 44) кГц Вы вряд ли услышите. :)

 

...Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду.
При определённых условиях это именно так, как Вы и представляете. Только в обозначениях путаница какая-то.

 

Логика дилетанта, не профессионал. Какие вещи я плохо назвал?

 

 

...Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит (вспоминаем школьные задачи на оптимизацию периметр/объём или из области мультипроцессинга величина communication/computation).
При правильной схемотехнике, не играет особой роли, 1 х 2^16, 2^8 x 2^8 или 2^16 х 1. Многоразрядные (многобитные) сигма-дельта модуляторы для аудио АЦП/ЦАП делают только ради снижения частоты выборки (прикиньте, какой она должна быть для 96 квыб/с, 24 бит).

 

Ага, значит участник KMC буквально считает, формально доказывает, что при наклонах головы качество картинки, отображаемое монитором, ухудшится, а вы говорите, что всё же не должно?

Изменено пользователем javalenok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Логика дилетанта, не профессионал. Какие вещи я плохо назвал?
Сильное утверждение. С моей точки зрения, Ваш пост грешит массой неточностей. Например, как прикажете это понимать?

...Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду...
Или вот это

...Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит...
Смысл, тем не менее, с трудом, но понятен.

Далее, сигнал на выходе идеального ЦАПа вовсе не ступенчатый, а представляет собой последовательность дельта-функций. Ступеньки - это уже результат аналоговой интерполяции (фиксатором 0-го порядка). Нетрудно убедиться, что спектр выходного сигнала при ступенчатой интерполяции искажается. Для уменьшения этого эффекта и для упрощения дальнейшей аналоговой интерполяции входе ЦАПа применяется цифровая интерполяция, как я уже и писал, обычно в 2-4 раза повышающая частоту дискретизации входного сигнала и уменьшающая ширину ступенек.

 

...Ага, значит участник KMC буквально считает, формально доказывает, что при наклонах головы качество картинки, отображаемое монитором, ухудшится, а вы говорите, что всё же не должно?
Моя логика заключается "на пальцах" в следующем: допустим, имеется N-разрядный ЦАП, работающий на частоте Fs и имеющий выходной идеальный аналоговый ФНЧ с частотой среза Fo<0,5Fs. Для увеличения разрешающей способности, допустим, на 1 разряд, следует: а)увеличить разрядность АЦП на 1 разряд, или б)поднять частоту дискретизации в 2 раза. Рассмотрим последний случай.

Итак, нам нужно получить 2^(N+1) дискрет выходного сигнала. Пусть есть входное число К с разрядностью N+1. Разобьём его на сумму: К=К1+К2, причём К1 и К2 < 2^N. Каждое из чисел используем в качестве входа ЦАП в двух последовательных отсчётах с частотой 2*Fs. Можно показать, что количество уровней дискретизации (число состояний системы) в единицу времени 1/Fs удвоится и составит желаемые 2^(N+1). Можно также показать, что все "лишние" спектральные компоненты выходного сигнала, образующиеся при таком подходе, будут подавлены ФНЧ. Рамки форума, к сожалению, не позволяют привести строгие математические выкладки (да и времени жалко), однако, смысл должен быть понятен, и всё легко проверить.

Формулу, приведённую KMC ( SNR=6.02*N+1.76дБ+ 10log(Fs/Fn) ), мне также удалось найти в литературе, правда, без вывода. Буду разбираться, где собака порылась...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Stanislav

лит-ра (3) стр. 5, очень простой вывод... из которого следует, что шум в полосе сигнала пропорционален 1/sqrt(OSR). Или что одно и то же - при увеличение частоты дискретизации в два раза получаем выигрыш только на 3 дБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем руководствовались инженеры, выбирая в качестве индустриального стандарта 16-битный звук с частотой оцифровки 44000Гц? Вот полюбуйтесь на синус 14700Гц оцифрованный 44000 герцами:

 

Можно поинтересоваться, какая у Вас аудиокарта?

Как Вы объясните, почему пиратские компактдиски звучат хуже оригиналов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Карта встроенная.

2. Потому что же что и софт. Пират за качество не отчвечает. Пираты качество не выбирают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...