![]() |
![]() |
|
Регистрация | Магазин | Бан-лист | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Делимся личным опытом Практические эксперименты домашних лабораторий, рекомендации |
![]() |
|
Опции темы | Опции просмотра |
#1
|
||||
|
||||
![]() Частота дискредитации или чистота дискретизации? Трагедия в двух актах по мотивам «Блеск и нищета теоремы Котельникова». Неравнодушным к качеству звука адресуется….. Действующие лица и исполнители: - Организованная группировка в составе: Котельникова, Шеннона, Найквиста, чьи постулаты до сих пор аукаются цифровому миру. - Реализация CS4398 в форме EMU1212M - Trial-версия программы (30 дней) SoundForge 7.0 - Почти девственная Windows XP SP3 (бедная) - Монолог – Новиков К. Пролог. В статье «Блеск и нищета теоремы Котельникова», статье заурядной, рассчитанной на широкий круг лиц без специального образования, была сформулирована сама теорема, приведена формула для вычисления сигнала в любой момент времени, а также проведена оценка необходимого «окна» в количестве отсчетов, влияющих на сигнал в текущий момент времени. В итоге я получил, что имея 20860 отсчетов в обе стороны от текущего, пиковое значение сигнала (0дб) станет меньше, чем единица младшего разряда для формата 16/44.1кГц. Если есть желание, можно перечитать только третью часть из первой статьи. В этой пьессе сначала мы рассмотрим практическую реализацию ЦАП на примере звуковой карты с CS4398 на борту, сделаем промежуточные выводы и пойдем дальше. Акт первый Частота дискредитации. Раньше я участвовал в обсуждениях на разных форумах по интересующим меня проблемам. Иногда мои посты приводили к дискредитации меня, как специалиста в области обсуждения. Но эти случаи приносили большую пользу мне самому. Я понимал: что-то я забыл из курса по электронике или какого-нибудь другого курса. Где-то я вообще не «копенгаген», а значит и в этом случае требуется восполнять пробелы в знаниях. Век живи – век учись. Возможно и здесь, в нынешних рассуждениях, я что-то упустил из виду. Буду рад, если добрые, грамотные люди «ейной мордой в харю тыкать» будут. Ведь истина, она одна. К ней и стремимся. Рассмотреть хочу один вопрос, тесно связанный с предыдущими рассуждениями на тему восстановления дискретных сигналов. Мои призывы на форумах и в статье посмотреть на этот вопрос серьезно приводили к одному эффекту – люди крутили пальцем у виска. Ситуация напоминает анекдот с такой концовкой: «Объясняем тебе. В политбюро не дураки сидят. Чтобы ты не сгорел, мы тебя отправим на Солнце ночью». Мне очень хочется верить, что в «политбюро разработчиков ЦАП сидят не дураки», однако, факты – упрямая вещь. Вот на факты и будем смотреть. Теория учит, что любой сигнал, спектр которого меньше Fs/2, где Fs – частота дискретизации, может быть восстановлен по его дискретным отсчетам. Возьмем частоту 44100Гц, как основополагающую для наиболее распространенного формата музыки, и посмотрим на то, что творится вблизи Fs/2. Исследовать будем формат 24бит/44100Гц Сгенерируем синус в SoundForge длительностью 120 секунд (чтобы не спеша сделать фото). Выберем следующие частоты: 1000Гц (как опора), 20кГц, 21кГц, 21.5кГц, 22кГц… Уровень всех сигналов сделаем одинаковым: -3Дб в цифровом представлении. Пару слов об осциллографе, для тех, кто не в курсе, что это такое. Советский Осциллограф – достаточно грубый прибор, если использовать его как «измеритель». При добавлении к осциллографу такого несертифицированного прибора, как глаз наблюдателя, усугубив положение наблюдением синусоиды, а не меандра, можем смело сказать, что 5% отклонения от синусоидальной формы практически не видны на глаз. 10% - уже есть серьезные подозрения. 20% - к бабке ходить не нужно, сам поймешь. Фото в экрана осциллографа: 1000Гц/0.5V/0.2ms – здесь и далее через дробь указаны частота сигнала, масштаб по вертикали и горизонтали. 20000Гц/0.5V/0.01ms, полет нормальный: 20000Гц /0.5V/0.5ms, они же в другом масштабе: 21000Гц/0.5V/0.5ms, «чё-то я не понял?»: 21500Гц/0.5V/0.5ms, «а что это тут делается? А?»: 22000Гц/0.5V/0.5ms, упс, приплыли. Масштабной сетки не хватает: 22000Гц/1V/1ms, они же в другом масштабе: 22020Гц/1V/1ms, апофеоз: Примечание. На графиках 21кГц и далее масштаб по оси времени не совсем верный (немного сжат по оси). Пришлось крутить ручку аналогового масштабирующего усилителя осциллографа, чтобы поймать картинку для фото. Возиться с отдельной синхронизацией было лень. Насмотрелись? Пора комментировать. До 20кГц всё прекрасно. Дальше начинается дискредитация ЦАП, а именно, его цифровой фильтрации. С ростом частоты растет и глубина модуляции. Для начала определимся с частотой. Fпаразитная= 2*(Fs/2-Fтекущая), где Fs – частота дискретизации А вот с амплитудой я пролетел. Взяв -3Дб (71% от максимального), уже на частоте 22кГц я уперся в 0Дб по цифре. Обратите внимание. Правильно восстановленный сигнал (1000Гц) занимает примерно 6.5 клеток. 0Дб в данном случае – около 9.15 клетки (или 4.5 для масштаба 1V в клетке), что и наблюдается в случае с 22кГц. Значит, амплитуда паразитной гармоники должна расти и дальше. Если будет время – пересниму с меньшим начальным сигналом. Добавлю отдельным постом в ветку. Первое, что всплывает в дурной голове - алиасинг, но критерий Найквиста не нарушен. Исходный сигнал имеет спектр ниже, чем Fs/2.... Я ничего не могу придумать, как отнести это явление к некорректной реализации цифровой обработки внутри ЦАП. (готов услышать другие объяснения) Эта самая некорректность на графике АЧХ будет выглядеть примерно так: Часть спектра от 21кГц и выше отражается в область от 0 до 2кГц. Слуховая система эту модуляцию прекрасно детектирует (Основы слуховой системы часть 4. Цитата из Альтмана), т.е. ультразвука Вы не услышите, а вот модуляцию – очень даже будет слышно. Если отвлечься от конкретной реализации ЦФ в конкретном ЦАПе, и представить на секунду, что внутри этого ЦАП стоит идеальный ФНЧ. Какой вывод можно сделать? Вывод очень простой. Реализованный внутри ЦАПа идеальный ФНЧ работает с очень маленькой легендой предыдущих и будущих отсчетов. Её явно недостаточно для корректной работы в полосе пропускания. Следовательно, эту работу надо возложить на господина Полиграфа Полиграфовича Шарикова – аналоговый ФНЧ после ЦАП. Чтобы он душил и душил всё, что выше 20кГц. Лирика: Только вот, хватит ли Шарикову 4 порядка фильтра? В кудыть уползет фаза на 10кГц, 5кГц, 2кГц? Про фазу я тоже писал в «основах слуховой системы...» К сожалению, не имею под рукой ЦАПов других производителей, но, сдается мне, что все они одним миром мазаны: CIC+КИХ фильтрация. Такие мысли навевает просмотр их характеристик в даташитах. Очень хочется получить от читателей помощь (пусть это желание и наивно) по части представления в статье фото для любых других «топовых ЦАП» (AD1955, AD1862, PCM 1792a, PCM 1794a) хотя бы для частоты 22кГц. Обвязка значения не имеет. Трудов Вам на 10-15 минут, а мне то сколько радости! Адрес Veryfoxyfox - собаказлая - mal - точка - ru Последний раз редактировалось NovikovK; 02.06.2010 в 15:38. |
#2
|
||||
|
||||
![]() Акт второй Чистота дискретизации Вопрос на повестке всего один. В какой сортир кИдаться после первого акта? И чтоб не замочили?… На сегодняшний день накоплено огромное количество музыкального материала в формате 16/44, простим звукорежиссерам и разработчикам студийного оборудования их просчеты, как в разрешающей способности слуховой системы, так и в неграмотной работе со звуковым материалом. Мы имеем то, что имеем. Далеко не все записи хочется сразу же положить под бульдозер. Есть вещи, которые хочется послушать. А теперь сам вопрос. Каким образом можно добыть максимум информации из ущербного 16/44, зная, что напрямую воспроизводить нельзя в силу выявленных «особенностей», дискредитировавших наш(и) ЦАпы? Время на решение вопроса для анжанэров пошло. Минута на размышление. Я тоже подумаю... Убогость формата ограничивает нас с двух сторон. С одной стороны: это дискретный сигнал, т.е. квантованный по времени. Но, как учит великий Котельников, из него можно достать всё, что ограничено частотой в 22050Гц С другой стороны: это цифровой сигнал, т.е. квантованный по уровням. И с этой стороны всё выглядит несколько хуже. Хочу вернуть Вас к произведенной мной оценке: для «точного» восстановления необходимо 20860 отсчетов в обе стороны от текущего отсчета. Конечно, оценок и обоснований ограничения размера окна можно придумать миллион, и у каждой будут свои резоны. Но, что мне понравилось именно в этой оценке – через 0.5 секунды после начала воспроизведения в сумму ряда идеального ФНЧ будут входить только отсчеты из самого сигнала, при этом, (хочется надеяться), обеспечивая высокую достоверность всех промежуточных отсчетов. Значит мы «потеряем» (недостаточно точно восстановим) 0.5 секунды с начала трека и 0.5 секунды в конце. Невелика потеря. Мой риторический вопрос: «а какой ЦАП по Котельникову восстанавливает?» так и остается пока риторическим. В реальных ЦАПах тоже применяют апсемплинг, но алгоритмы его рассчитаны на необходимое высокое быстродействие в режиме реального времени, а не на качество результата. Нам спешить некуда. Можно написать программку в 20 строчек, которая сделает апсемплинг строго по Котельникову. А зачем, собственно, апсемплинг нам нужен? Поясняю танкистам. Корявость используемых алгоритмов в ЦАП и ЦФ базируется на невозможности осуществления огромного количества умножений с плавающей запятой в режиме реального времени. Основаны алгоритмы на «что-то как-то быстро, а потом отфильтруем всё нахрен, и будет синус синусом» (шоб им всю жизнь и слушать только синус). С другой стороны посмотришь – вроде всё верно делается, но, как с теми шариками из анекдота: «Вроде и разноцветные, и надуваются, но бракованные – не радуют». Результаты работы применяемых на сегодняшний день фильтров при апсемплинге в ЦАП и ЦФ, как выяснилось, тоже не радуют..... Позволю себе немного расширить размер окна: по 22050 отсчетов до и после текущего. Смысла особого в этом нет, только для ровного счету. Любой, средней руки программер быстро напишет программку, которая восстановит нам еще 3 отсчета между двумя соседними. Это эквивалентно повышению частоты дискретизации в 4 раза, т.е. до 176кГц. Можно повышать и дальше, только воспроизвести будет нечем. Зачем нужны эти танцы с бубнами? Правильный апсемплинг восстановит отсчеты точнее, чем ЦАП. Корявые, но быстрые алгоритмы ЦАП будут работать на частоте дискретизации значительно выше и, соответственно, вносить меньшие искажения в нужный нам диапазон частот. Еще один плюс – фильтры после ЦАП могут быть настроены на более высокую частоту, а значит, вносить меньшие искажения в фазовые соотношения сигналов в воспроизводимой полосе частот. Эти рассуждения отвечают на вопрос, в том числе и тех, кто любит крутить пальцем у виска: «А почему при апсемплинге появляется «воздух» которого не было в исходном сигнале?». Как будет выглядеть сигнал после идеального апсемплинга на выходе ЦАП? Приведу несколько фото. Апсемплинг идеальный я конечно не делал, а просто сгенерировал синусоиды но в формате 24/88.2кГц, считая, что он, идеальный, у нас уже есть. 1000 Гц/0.5V/1ms: 21500Гц/0.5V/1ms: 21500Гц/0.5V/0.1ms: 22050Гц/0.5V/0.1ms: 22050Гц/0.5V/1ms: Синусы получились красивейшие. Никаких модуляций. Значит идеальный апсемплинг = НАШЕ ВСЁ. Идеальный апсемплинг = Идеальный ФНЧ. Теперь начинается мракобесие с моей стороны. Анжанэрам рекомендуется выпить или выпить валерианки. Остальным – просто читать. Рассмотрим исходный сигнал. Теперь сигнал после апсемплинга на 176.4кГц: На картинке неявно напрашивается не только апсемплинг, но и увеличение «значащей» разрядности. Увеличение частоты в 4 раза «просит» повышение разрядности сигнала на 2 разряда, чтобы «сохранить квадратно-гнездовой вид». (хорошо, что на кострах больше не жгут за убеждения и гипотезы). Выглядеть это будет так: С одной стороны, нам никто такого права не дает, и это чистой воды техническое мракобесие. С другой стороны – можно вспомнить ЦАПы фирмы UltraAnalog, которые в рекламных проспектах гарантировали при 16 битной реализации ошибку не более четверти младшего разряда. Будем считать, что опираясь на UltraAnalog, мы имеем право добавить один разряд. А теперь вторая мысль, не менее мракобесная, чем первая. Имеющаяся в нашем распоряжении запись является эталоном (ничего другого у нас нет вообще, и не будет). Раз это эталон, никто не мешает нам дорисовать желаемое нам количество нулей в младшие разряды (всего то два), и считать, что наш эталон имеет не 16, а 18 бит точности. Для изменившихся начальных условий изменится и окно для расчета промежуточных отсчетов. Получаем по 88200 отсчетов вперед и назад относительно текущего момента времени. И, сам расчет с вычислениями до 18 бит точности. Недостающие вначале трека и конце отсчеты заменяем нулями. Для себя запоминаем, что сигнал начинает «воспроизводиться точно» уже через 2 секунды от начала трека. 18 бит – ни уму ни сердцу ни ЦАПу. Поэтому с 19 по 24 биты заполняем «белым шумом» в дискретном его представлении. Можно и не белый шум, а шум аналоговой ленты или шум пустой канавки винила. Так сказать, припудрим носик мертвечине. Можно и нулями добить до 24 разрядов или сразу вести расчет с точностью 24 бит. Как говорится, вариации возможны. Вместо эпилога Звукорежиссерам необходимо сделать очень серьезные выводы 1. Работа с оцифрованным сигналом должна быть как минимум на удвоенной частоте, относительно частоты, на которой фонограмма записана. (разжевывать лень). 2. После всех-всех-всех манипуляций необходимо обязательно применять цифровой КИХ фильтр с жесткой обрезкой спектра выше 20кГц. (Назовите это словосочетанием «сакраментальный финальный мастеринг»). Программистам: 1. Если у кого-то появится реальное желание написать программку с идеальным апсемплингом – формулу для расчета и алгоритм можно взять из «Блеск и нищета теоремы Котельникова». Эта программка должна получиться достаточно простая, но вместе с тем эффективная и популярная. 2. На пути написания алгоритма есть еще подводные камни, которых я коснулся вскользь. 3. Готов принять в дар такую программу для личных нужд. Новиков К. 2010.06.02 Последний раз редактировалось NovikovK; 02.06.2010 в 15:50. |
#3
|
|||
|
|||
![]() NovikovK! Большое спасибо за великолепную статью, очень интересные мысли. Лично я далек от электротехники и тем более от теоремы Котельникова, но как всякий любитель музыки стремлюсь к совершенствованию звукового тракта... Хочу сообщить Вам, что Вы не одиноки в своих выводах по поводу апсемплинга - вот мнение Steve Nugen из Empirical Audio®USA по поводу вывода с компа: " Try Upsampling 44.1 files to 24/96 using S/W programs: SRC, iTunes, R8Brain or Adobe Audition - Wave Editor on Mac (Instructions are on the Empirical Audio audiocircle.com forum) " А вот и готовый прибор для этих целей - http://www.empiricalaudio.com/products/synchro-mesh... Я все это к тому, что хочу попробовать этот "улучшайзер" в своей системе: EMU 1010 - DAC-S-015F - HA-S-030 - AKG - Q701 (последнее по Вашим рекомендациям !) Эта связка мне очень нравиться, но как всегда хочется большего... Плюсы вижу еще и в гальванической развязке по оптике и снижение джиттера(?) Очень хотелось бы узнать Ваше авторитетное мнение по этому поводу. С уважением! |
#4
|
||||
|
||||
![]()
Сам по себе апсемплинг хорош, но не надо рассматривать его в отрыве от остального тракта. Пусть идеально сделали апсемплинг (с любой нужной нам точностью). Что дальше? А дальше ЦАП. 4398 например, нормально работает на 96кГц (ухудшения относительно 48 незначительные). И качество на выходе практически не пострадает. А если сделать ап до 192кГц, то 4398 уже не потянет. Появится существенная по уровню вторая и третья гармоники. И вреда от 192кГц уже больше, чем пользы. Так шта... везде надо смотреть и думать.
Гальваническая развязка по оптике конечно получится. Вряд ли это скажется на джиттере в положительную сторону. В лучшем случае получится не хуже, в худшем - увеличение джиттера. Скорее второй вариант, чем первый. Тут опять же встает вопрос "насколько хуже"? По замерам наши ЦАПы дают одинаковый уровень гармоник что при использовании коаксиала, что при использовании оптики. Разница получается на уровне ошибок от замера к замеру. |
#5
|
|||
|
|||
![]()
Спасибо за быстрый ответ, Константин!
Ваш ответ еще больше убедил меня в необходимости покупки Empirical Audio Synchro-Mesh и испытания в Вашем тракте. Прибор не только производит ап с 16/44 на 24/96, но и с 24/192 на 24/96. Кроме того джиттер от оптики будет уменьшен неслабым внутренним клоком самого прибора. В общем в январе отпишусь по результатам. С уважением! |
#6
|
||||
|
||||
![]()
Посмотрел я Empirical Audio Synchro-Mesh. Хороший клок это хорошо. И чем он лучше, тем точнее будет работать ЦАП. Но стоит ли оно таких затрат? Я ответить на этот вопрос не могу. Скажем ЕМУ1010 обеспечивает вполне достойный клок. Пока её уровня для измерений хватает. Других, правда, не щупал. Те источники (звуковые карты), что были на руках, даже с претензиями на качество, давали результат хуже. Возможно Линкс, РМЕ или этот синхро-меш будут ещё лучше, не знаю. Надо пробовать.
|
#7
|
|||
|
|||
![]()
На AudioCircle есть отзыв от mordo -http://www.audiocircle.com/index.php?topic=106328.20
Сигнал он брал с EMU 1212 и вроде как доволен. Все стоит денег... Буду пробовать! |
#8
|
|||
|
|||
![]()
Я такое устройство http://www.vegalab.ru/forum/showthre...осах-и-ответах сегодня решил купить. Это полноценная замена морально устаревшим CD транспортам. Еще и с синхронизацией от ЦАП, что позволит снизить джиттер до предела, насколько позволит тактовый генератор.
|
#9
|
|||
|
|||
![]()
Если про USB, то тогда лучше - http://www.empiricalaudio.com/produc...ramp-converter
Я же имел ввиду вывод по S/PDIF ![]() По моему USB если только ноут есть... |
#10
|
|||
|
|||
![]() Цитата:
Цитата:
|
#11
|
|||
|
|||
![]()
Если про USB, есть и недорогой вариант с развязкой по питанию - https://sites.google.com/site/hifacemods/home-1/mk3-hiface
Тема USB - S/PDIF отдельная, и пожалуй нет форума, где бы ее не обсудили... К единому мнению пока не пришли ![]() По поводу " морально устаревших" CD - транспортов - до недавнего времени то же так считал, пока не подключил свой старенький Аudiomeca obsession CD по коксу к связке DAC-S-015F - НА-S-030 ![]() открыл для себя все диски заново! Последний раз редактировалось Дмитрий; 07.12.2012 в 00:02. |
#12
|
|||
|
|||
![]() Цитата:
Цитата:
|
#13
|
|||
|
|||
![]()
В DAC-S-015F входа I2S "нетути",
посему в моем случае S/PDIF неизбежен, чего не могу сказать о "высоком" джиттере ![]() |
#14
|
|||
|
|||
![]()
S/PDIF универсален, вот и применяется повсеместно. А выводы по влиянию джиттера можно сделать, сравнив ЦА преобразование с мастерклоком, восстановленном из S/PDIF, и подаваемым с качественного генератора. Я такие исследования проводил, потому и закрыл для себя возможность применения передачи цифрового сигнала по S/PDIF.
|
#15
|
|||
|
|||
![]()
Дефекты модуляции на границе полосы найгвиста на самом деле достаточно предсказуемы и просты, и способы исправления есть разные, я знаю как минимум два.
Присутствующий на осцилографе сигнал ни что иное, как набегание разницы фазы между частотой сэмплирования и частотой оцифрованного сигнала при низкой добротности ФНЧ на выходе ЦАП. Сигнал выглядит "промодулированным" из-за расхождения фазы опорного генератора ЦАП и цифруемого сигнала. Что бы понять, откуда ноги растут, достаточно нарисовать точки, которые ЦАП может построить при низкой разнице фазы и близости частоты цифруемого сигнала к Fs/2 (см. рис). На картинке приведен оцифрованный сигнал. Явно видна огибающая, которую будет рисовать ЦАП. Для того, что бы сигнал получился таким же каким он был, есть два пути. Первый - значительно повысить добротность ФНЧ, что, возможно, труднореализуемо. Повышение добротности ФНЧ "дорисует" недостающие элементы сигнала. Для варинта, который на картинке - добротности Q=20 хватит за глаза. Не знаю насколько сложно добиться такой добротности на низкой частоте. Второй - сконвертировать сигнал, повысив частоту сэмплирования в 1.5 - 2 раза, и применив к сконвертированному сигналу "сверхвысокодобротный" цифровой ФНЧ - его создать гораздо проще. Тогда при генерации сигнала ЦАП убегание фазы не будет модулировать сигнал и на выходе ЦАП будет достаточно дешевого ФНЧ, что бы убрать ненужные высокочастотные составляющие. По поводу джиттера еще хочу заметить, раз его тут приплели ![]() ![]() ![]() PS: Кстати, на фото осцилографа для частоты 20кГц огибающая уже вполне видна ![]() |
#16
|
||||
|
||||
![]()
Фильтрация - дело тонкое. Если спросите: "Вам шашечки или ехать? (амплитудная достоверность или фазовая?)" - отвечу: "Ехать с шашечками."
gromas, Вы верно заметили, что фильтрация аналогового ФНЧ еще не видна. от 20кГц до 22кГц частота меняется всего на 10%. Баттерворту и Бесселю низкого порядка негде разогнаться, а более крутые фильтры испортят фазу в рабочем диапазоне. Даже Баттерворт не очень хорошо поступает с фазой в рабочем диапазоне. Сейчас у нас в ЦАП стоят фильтры с несколько повышенной частотой среза ради точности передачи фазы. Про способ о повышении частоты дискретизации я уже написал выше. Резать в аналоге при этом необязательно. Динамические головки являются очень хорошими ФНЧ, часто с крутизной недостижимой аналоговыми фильтрами. Естественно надо смотреть каждый тип головок в отдельности, их повеление на границе диапазона воспроизведения. Кстати, уже после некоторых раздумий относительно частоты дискретизации, решил проверить, как приготовлены сами диски. Примерно в половине случаев сделана жесткая отсечка на 20кГц (-40дБ ... -70дБ). Правда, выборка была маленькая (6 разных дисков наугад по 1 треку). Где-то недавно попадался скриншот замеров, если снова увижу - выложу. |
Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Перевод: zCarot |