|
Чистота цифрового звука, Вопросы о разрешающей его способности |
|
|
|
Apr 7 2006, 18:58
|
Местный
  
Группа: Участник
Сообщений: 290
Регистрация: 18-02-06
Пользователь №: 14 469

|
Чем руководствовались инженеры, выбирая в качестве индустриального стандарта 16-битный звук с частотой оцифровки 44000Гц? Вот полюбуйтесь на синус 14700Гц оцифрованный 44000 герцами:
Мы отчётливо видим ступеньки, 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).
|
|
|
|
|
Apr 7 2006, 19:28
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 26-10-04
Из: Moscow, Zelenograd
Пользователь №: 987

|
Из теоремы Найквиста (Котельникова) следует, что для полного (точного) восстановления сигнала следует выбирать частоту дискретизации не менее, чем в два раза превышающую максимальную частоту входного сигнала. Т.е. вполне достаточно дискретизировать и 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 раза.
|
|
|
|
|
Apr 8 2006, 13:16
|
Местный
  
Группа: Участник
Сообщений: 290
Регистрация: 18-02-06
Пользователь №: 14 469

|
Цитата(KMC @ Apr 7 2006, 22:28)  Из теоремы Найквиста (Котельникова) следует, что для полного (точного) восстановления сигнала следует выбирать частоту дискретизации не менее, чем в два раза превышающую максимальную частоту входного сигнала. Т.е. вполне достаточно дискретизировать и 40 кГц при полосе в 20 кГц, чтобы затем полность восстановить оцифрованный сигнал. Саму формулировку теоремы мы знаем. Цитата(KMC @ Apr 7 2006, 22:28)  По сути у вас же после ЦАП стоит сглаживающий фильтр, который и формирует в идеальном случае - требуемый сигнал (на рисунке вы смотрите сигнал до этого фильтра). А 16 разрядов определяют лишь требуемое отношение сигнал/шум. Сигнал снимается с выхода звуковой карты. И где же фильтр тогда стоит, если не в ней, где смотреть отфильтрованный сигнал? И кто количество выборок на период поднимает с 3 до 6.5? Цитата(KMC @ Apr 7 2006, 22:28)  Цитата что 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 - Apr 8 2006, 13:17
|
|
|
|
|
Apr 8 2006, 16:28
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 26-10-04
Из: Moscow, Zelenograd
Пользователь №: 987

|
Не досмотрел... Но суть от этого не меняется 2 выборки* 2^16 битов = 6*16=96 дБ 2^16 выборок * 2 бита = 15*3 дБ + 6 дБ = 51 дБ Так что в любом случае проигрыш при использовании простой передискретизации.
|
|
|
|
|
Apr 8 2006, 17:47
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(javalenok @ Apr 7 2006, 22:58)  ...Мы отчётливо видим ступеньки, 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 бит). Цитата(KMC @ Apr 8 2006, 20:28)  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-разрядному представлению отсчётов.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 8 2006, 18:50
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 26-10-04
Из: Moscow, Zelenograd
Пользователь №: 987

|
Цитата Нет, это не так. При увеличении частоты выборки в 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 битном разрешении. Но пока что - это серьезная задача, которую еще предстоит решить проектировщикам сигма-дельта преобразователей. Например, одним из ее решений является использование непрерывных СД АЦП, где частоты дискретизации могут достигать несколько ГГц (такие частоты принципиално невозможно достичь в типичных современных СД АЦП на переключаемых конденсаторах).
|
|
|
|
|
Apr 8 2006, 19:53
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(KMC @ Apr 8 2006, 22:50)  К большому сожалению, Вы не правы... Выражение для отношения сигнала к шуму следующее 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. Все оценки, конечно, приведены для простейшего гипотетического фильтра скачущего среднего на выходе (усреднения вых. отсчётов модулятора).
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 8 2006, 21:06
|

Частый гость
 
Группа: Свой
Сообщений: 185
Регистрация: 26-10-04
Из: Moscow, Zelenograd
Пользователь №: 987

|
Цитата В таком предположениии это верно. Однако, нам не интересен весь спектр сигнала до частоты свёртывания. Для воспроизведения, например, звука, достаточно иметь 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МГц. Последняя цифра уже вполне реальна. Сигма-дельта модулятор и простая передискретизирующая система - это совсем разные вещи... Думаю, что сами разберетесь что к чему  . Для наглядности - несколько примеров: 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. Полоса же входного сигнала определяется быстродействием аналоговых блоков (ОУ).
|
|
|
|
|
Apr 8 2006, 21:13
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Спасибо, буду разбираться - тема для меня интересная. О результатах "исследования" постараюсь сообщить в этом топике. Согласен, частота дискретизации велика в любом случае. О том, как достигается высокая разрешающая способность при относительно небольшой передискретизации, мне известно. Сейчас мне ясно только, что приведённые Вами численные оценки Цитата 2 выборки* 2^16 битов = 6*16=96 дБ 2^16 выборок * 2 бита = 15*3 дБ + 6 дБ = 51 дБ суть неверны. В противном случае, поясните их смысл, пожалуйста.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 9 2006, 00:11
|
Местный
  
Группа: Участник
Сообщений: 290
Регистрация: 18-02-06
Пользователь №: 14 469

|
Цитата(Stanislav @ Apr 8 2006, 20:47)  Цитата ...Но главный вопрос о смысле квантования сигнала 65536-ю уровнями, если за период делается максимум 3-4 выборки... ... точка зрения налблюдателя не влияет на способность его к воссановлению кривой по точкам на плоскости... Нельзя рассматривать ЦАП как вещь "в себе", на выходе его обязательно присутствует аналоговый фильтр-интерполятор, восстанавливающий исходную форму сигнала. Кроме того, "ступеньки" с частотой 100 (и даже 44) кГц Вы вряд ли услышите. Цитата ...Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду. При определённых условиях это именно так, как Вы и представляете. Только в обозначениях путаница какая-то. Логика дилетанта, не профессионал. Какие вещи я плохо назвал? Цитата(Stanislav @ Apr 8 2006, 20:47)  Цитата ...Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит (вспоминаем школьные задачи на оптимизацию периметр/объём или из области мультипроцессинга величина communication/computation). При правильной схемотехнике, не играет особой роли, 1 х 2^16, 2^8 x 2^8 или 2^16 х 1. Многоразрядные (многобитные) сигма-дельта модуляторы для аудио АЦП/ЦАП делают только ради снижения частоты выборки (прикиньте, какой она должна быть для 96 квыб/с, 24 бит). Ага, значит участник KMC буквально считает, формально доказывает, что при наклонах головы качество картинки, отображаемое монитором, ухудшится, а вы говорите, что всё же не должно?
Сообщение отредактировал javalenok - Apr 9 2006, 00:12
|
|
|
|
|
Apr 9 2006, 09:43
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(javalenok @ Apr 9 2006, 04:11)  Логика дилетанта, не профессионал. Какие вещи я плохо назвал? Сильное утверждение. С моей точки зрения, Ваш пост грешит массой неточностей. Например, как прикажете это понимать? Цитата ...Ну если перед вами на столе график синуса, то и сосед сбоку тоже должен видеть синус. Это значит, что 16х2-битное кодирование должно быть равноценно 2х16-битному, где период сигнала квантуется 4-мя уровнями 65536 раз в секунду... Или вот это Цитата ...Но интуиция подсказывает, что наилучшее кодирование - то, которое сбалансировано, например 9х9 бит... Смысл, тем не менее, с трудом, но понятен. Далее, сигнал на выходе идеального ЦАПа вовсе не ступенчатый, а представляет собой последовательность дельта-функций. Ступеньки - это уже результат аналоговой интерполяции (фиксатором 0-го порядка). Нетрудно убедиться, что спектр выходного сигнала при ступенчатой интерполяции искажается. Для уменьшения этого эффекта и для упрощения дальнейшей аналоговой интерполяции входе ЦАПа применяется цифровая интерполяция, как я уже и писал, обычно в 2-4 раза повышающая частоту дискретизации входного сигнала и уменьшающая ширину ступенек. Цитата(javalenok @ Apr 9 2006, 04:11)  ...Ага, значит участник 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) ), мне также удалось найти в литературе, правда, без вывода. Буду разбираться, где собака порылась...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Apr 9 2006, 18:10
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 27-01-05
Из: Беларусь, г. Гомель
Пользователь №: 2 239

|
Цитата(javalenok @ Apr 7 2006, 21:58)  Чем руководствовались инженеры, выбирая в качестве индустриального стандарта 16-битный звук с частотой оцифровки 44000Гц? Вот полюбуйтесь на синус 14700Гц оцифрованный 44000 герцами: Можно поинтересоваться, какая у Вас аудиокарта? Как Вы объясните, почему пиратские компактдиски звучат хуже оригиналов?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|