Форум Объединения «Ас»

Вернуться   Форум Объединения «Ас» > Технический раздел > Делимся личным опытом

Делимся личным опытом Практические эксперименты домашних лабораторий, рекомендации

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 26.11.2008, 16:52
Аватар для Шумаков
Шумаков Шумаков вне форума
sta pasa
 
Регистрация: 14.11.2008
Адрес: Русь
Сообщений: 398
Вес репутации: 10
Шумаков на пути к лучшему
По умолчанию Блеск и нищета теоремы Котельникова

Студенты, читайте книжки, лучше самого Котельникова. Данный текст для тех, кто вообще "не в теме". Цель: показать, что не всё так просто в процессах преобразования цифры в аналог.
Данный текст содержит
несколько нецензурных
выражений. Вы можете
остановиться прямо здесь.



Часть первая. Из жизни.

Начнем с двух маленьких зарисовок из жизни, если в них что-то и преувеличено, то самую малость….

В ВУЗе…. пара по телемеханике (для тех, кто не в курсе – дисциплина такая, занимающаяся не телевизорами, а передачей сигналов на расстояние)

Преподаватель, Иван Иванович Иванов:

– Начинаем наше очередное мучение. Прежде, чем двигаться дальше, давайте проверим, что Вы знаете, – раздает три листочка с рисунком по рядам:

– Итак, у Вас есть рисунок с цифровым представлением сигнала в двух масштабах. Чтобы Вы не путались в отсчетах, соседние точки я соединил. Иванов! Нет, Иванов – это я. Петров, что это за сигнал?

– Это график амплитудной модуляции.

– Ответ неверный. Два. Добавлю балл, если посчитаете несущую частоту, модулируемую функцию, глубину модуляции. Ищите листочек…. Кто помнит математику? Какие еще будут мнения? Сидоров!

– Это биения суммы двух частот.

– Математику помнит, но ответ неверный. Два. Добавлю балл, если определите, какие частоты и их амплитуды. Кто еще? Веревочкина, Вы что думаете?

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

– А что такое «стохастический»? И как восстанавливать?

– Стохастический – значит случайный. Для восстановления нужно каждый отсчет умножить на базис Котельникова, который представляет собой функцию вида синус икс делить на икс, где икс.

– Достаточно, Веревочкина. Молодец. А Вы? Неучи! Смотрите, как девушка материал знает. Цените и берегите ее…. А Вы, Веревочкина, как на такую не женскую специальность попали? По призванию или по незнанию? Физику в школе любили?

– Физику любила, – опустив глаза, ответила Веревочкина.

– Вот блин, уважаю! Можно сказать, кол-л-лега! Пятерку Вы заработали.

– Ну и кто нам восстановит сигнал, пользуясь теоремой Котельникова?... Бывший медалист, настоящий отличник, будущий краснокнижник и педоровик производства, ой! Ну, Вы правильно поняли, давай, Вася. На своем программируемом калькуляторе быстренько. Восстановишь сигнал?

– Иван Иванович,… у меня на калькуляторе только 15 ячеек памяти, а точек больше сотни. Надо ведь сразу все точки обсчитывать, чтобы значения между отсчетами получить…

– Ну-у-у Вася…. Отвечать придется опять Иванову. На представленном графике был синус 22килогерца, оцифрованный с частотой 44100 Герц, т.е. практически близко к частоте Найквиста. Веревочкина, заткните уши…. Ага. В народе говорят: «Дай дураку *** стеклянный, он и *** сломает, и руки порежет!» Вася, откройте Веревочкиной уши. Так вот, Теорема Котельникова дает Вам очень мощный инструмент для восстановления сигналов по их отсчетам, а Вы им даже воспользоваться не можете. Как Маяковский говорит:

«Единица – ноль! Единица – вздор!

Один студент, даже самый важный

Не смог восстановить простой высокочастотный синус,

А если вместо синуса будет мат пятиэтажный?»

Вот так-то…. Государство тратит на Вас деньги. Учит. Я Вас учу! Вопросов на лекциях никаких не возникает, и внятных ответов от Вас тоже никаких. Похоже, немногие доживут до следующего семестра…. в качестве студентов…. Кстати, для тех, кто не понял: «единица-ноль-единица-вздор-один» – это Вам Маяковский напоминает, что в следующем семестре мы будем заниматься помехоустойчивым кодированием. Ладно, новая тема. Пишите….

Спустя лет 10….
разговор с одним из немногих, кто пошел работать по специальности….

– Как жизнь, работа?

– Да вот, первый раз развел плату в 4 слоя.

– А что у нас в России такие изготавливают?

– Да сколько хочешь, только деньги плати.

– А зачем в 4 слоя? Материнскую плату для компьютера делаешь?

– Да нет. «Матери» в 6 слоев разводят. Просто схема сложная, а приборчик маленький должен быть.

– Я гляжу, Вы тут приборами упакованы по самое «нехочу». Вон даже осциллограф цифровой…. Кстати, Ваню-Ваню помнишь? Теорему Котельникова? Синус по двум отсчетам восстанавливаешь?

– Да, Ваня-Ваня – веселый мужик. По двум? Больной что ли? Минимум пять надо. Это только чтобы догадаться, что сигнал может быть синусом. Реально – два десятка, ну полтора на период нужно. Тогда и выводы делать можно.

– А как же Х стеклянный, то есть теорема Котельникова?

– Забей. Мы цифровые осциллографы в основном для периодических сигналов используем. На периодическом он и гигагерц тебе покажет хотя АЦП 100 мегагерцовые стоят, дай только «синхру», откуда считать надо, а так, если аналог, да случайный, то на цифровом 100 мегагерцовом больше 10 мегагерц ничего не увидишь, вернее ты можешь увидеть совсем не то, что есть на самом деле. Вон, возьми аналоговый осциллограф на двести мегагерц и смотри чего хочешь до двухсот мегагерц….

Часть вторая. «Даешь натур продукт!»

Итак, что будем делать? Поверим на слово инженеру или проверять будем? Конечно, проверять! Кто же сейчас на слово верит? Поехали. Частота следования отсчетов на каждом из представленных ниже рисунков 44100, как в CD-audio. Частоты сгенерированы в редакторе: 10кГц (4.41 отсчетов на период), 2.9кГц (15.21 отсчет). Еще есть 22кГц (2.0045 отсчетов) выше по тексту, но их Вы уже видели.



Что мы видим на 10кГц? На синус слабо похоже. Сигнал все еще отдаленно напоминает или биение частот или модулированный сигнал… Перепады пиков амплитуд около 2дБ… Но, если мы заранее знаем, что должен получиться синус, то можно увидеть и его.

Теперь спросим у инженера, занимающегося аналоговой техникой уже как лет 30. Какова будет его оценка, если мы предложим ему «наш генератор синуса»?

«Ну, что? Синус. Слегка замодулированный. Нелинейщины мунимум процентов 20%. Как генератор точно не пойдет.»

Теперь предъявим этому же инженеру 2.9 кГц:



– Зае, хороший синус. 5% нелинейщины есть. Смотри сам, на пиках искажения, наверно опять модуляция или схема из режима выходит по-хитрому, так как явных ограничений на пиках нет. Таким генератором я тоже пользоваться не стану.

– А почему пять процентов? Почему пользоваться не станешь?

– Если на экране осциллографа видно отклонение от синуса на глаз, то гарантированно 5% есть. Если мне генератор такой «синус» дает, то как я свои схемы по нему настраивать буду?

Пора переходить к натурным испытаниям. Проверим ЦАП. Может там происходит восстановление сигнала по Котельникову? Для проверки опять же возьмем 22000 Гц синус (но только для того, чтобы видно было «на глаз», без привлечения мат аппарата).

Записываем CD-audio, пускаем получившийся сигнал на DHA-S-002, где стоит ЦАП CS-4391. Сигнал снимаем с помощью EMU-1212M, но уже в формате 192000 Гц * 24бит. Предъявляю рисунок:



Сильно отличается от рисунка в первой части статьи? Как говорится, те же яйца, но вид сбоку (масштаб немного не совпадает с первым рисунком в статье. Не старался я точно масштабы в рисунках сохранять, главное - принцип).

Еще один эксперимент. Может EMU1212M даст лучший результат? Ведь там целый мозг стоит – DSP. Да и ЦАП получше – CS4398 – один из лучших, чем гордится производитель. Только вот вопрос: «А чем снимать?». Да простым советским аналоговым осциллографом и снимем (С1-114/1). Фото экрана осциллографа ниже. Не очень качественно, так как штатива для фотоаппарата под рукой нет, но суть понятна. Опять те же яйца….




Есть такие «товарищи», которые утверждают, что самое важное в ЦАПе – это обвязка. И, в свете этого утверждения, «правильные» АЦП и ЦАП дают «совсем другой» звук, не то, что можно услышать в «дешевых» ЦАПах.


Тоже отвечу. Ни одна обвязка не восстановит Вам сигнал по отсчетам. В понятие обвязки входит питание микросхемы, аналоговая часть после ЦАПа (цифровую часть не берем, об этом в отдельной статье про ЦАПы).

Вывод: Ни один ЦАП не восстанавливает сигнал, пользуясь теоремой Котельникова, а только с ее помощью можно получить исходный аналоговый сигнал.

Часть третья. Увидим ли блеск?

Раз никто по Котельникову не считает, тогда сами попробуем? Восстановим аналоговый сигнал из цифрового, записанного на CD-audio.



t – текущее время, n – номер отсчета, T – период, через который берутся отсчеты 1/44.1кГц = 22.7мкс.

Формула есть. Теперь необходимо определиться, сколько нужно промежуточных значений между соседними отсчетами. Если инженеру надо 20-15 отсчетов для синуса, то почему слуховой системе меньше? Чем она хуже инженера? А еще, в качестве аргумента, могу отправить Вас к статье о возможностях слуховой системы, где наглядно показано, что предел разрешения слуховой системы находится на уровне 250кГц. Опять же это предел не «двух дырок в голове», а именно слуховой системы, ее «мат. аппарата». Куда деваться? Будем брать 15 отсчетов.

Да, еще раз повторю, мы восстанавливаем музыкальный сигнал, который по природе своей является именно стохастическим (случайным).

Теперь смотрим внимательно на формулу. Для получения любого промежуточного значения нам нужна сумма ряда от -бесконечности до +бесконечности. Что делать? Попробуем снизить количество учитываемых отсчетов в сумме ряда до какого-нибудь конечного числа.

Для этого произведем такую оценку: через какое время пик (максимальное значение) функции станет меньше, чем единица младшего разряда.

Сигнал у нас 16 разрядный (CD-audio). Производим оценку:



Здесь 0<t<T, синус во времени меняется от -1 до +1 (заменяем на 1, что тоже неверно с точки зрения математики, такой ряд будет расходящимся). Разрешая неравенство относительно n, получаем, что надо учитывать, как минимум, 20860 отсчетов. Будем дальше расстраиваться? Формула для восстановления требует от нас брать отсчеты не только назад, но и вперед, значит надо учитывать уже 41720 отсчетов.

Попытаюсь объяснить более подробно. Относительно текущего времени, нам надо использовать для восстановления текущего значения сигнала 20860 прошедших отсчетов и 20860 будущих отсчетов, то есть нам необходимо «окно» с отсчетами вперед и назад относительно текущего времени. Как только мы добираемся до времени t=T, мы отбрасываем последний отсчет из прошедшего времени и добавляем к рассмотрению следующий отсчет из будущего времени. Именно по этой причине текущее время лежит в пределах 0<t<T.

Мы получили "идеальную" математическую модель идеального ФНЧ для формата 16/44. Этот фильтр невозможно реализовать в аналоге, но методом цифровой обработки вполне можно посчитать любой недостающий отсчет между двумя соседними дискретами.

Дальше считаем? Оценим необходимые нам вычислительные мощности. Еще раз смотрим на формулу для восстановления сигнала, и делаем вывод, что для получения значения одного отсчета необходимо выполнить 6 действий. Для получения необходимого количества (15) промежуточных значений в реальном времени необходимо выполнить:

N=15*(6+1(сумма ряда))*41720*44100 = около 193 млрд. операций в секунду.

Сколько Ваш компьютер операций в секунду выполняет? А большая часть вычислений должна производиться как операции с плавающей запятой?

Слукавил? Самую малость. Реально, это оценка сверху. Если использовать таблицу готовых sin(x)/x, вычислений нужно меньше: одно умножение и одно сложение на каждый отсчет из «окна».

N=15*2*41720*44100= 55 млрд. операций в секунду

Наверное, алгоритм можно еще оптимизировать. Но остается вопрос: на чем считать будем? Процессор, находящийся внутри Вашего компьютера позволяет выполнять 2-4 млрд. операций в секунду, причем для целочисленных вычислений, а нам нужны вычисления с плавающей запятой, требующих больше одного такта процессора на вычисление одной операции.

А может тогда не брать 15 отсчетов, а взять один? Тогда поделите последнюю цифру на 15, получите около 3.7 млрд. операций с плавающей запятой – все равно очень много.


Часть четвертая. Где свет? В конце тоннеля?


1. Возможно, читателю не дает покоя мысль: «Автор взял синус 22кГц, а он для прослушивания музыки и не нужен, значит очередную страшилку написал».

Да. Синус 22кГц взят только для примера. В действительности, речь идет о музыкальных сигналах, которые по природе своей являются случайными переходными процессами. Синус можно восстановить и каким-нибудь интерполятором, а вот с музыкой так не получится. Надо «честно считать», как Котельников «прописал».

2. То, что автор предлагает восстанавливать с помощью теоремы Котельникова, на самом деле «мизер не ловленный». Оно и не слышно и не нужно.

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

Я утверждаю, что в оцифрованном для СД звуке нет очень многого, из того, что Вы можете получить из аналоговой записи. На аппаратуре соответствующего класса в этом легко убедиться самостоятельно. А в аналоговой записи нет многого, что можно услышать в живом звуке. В этом тоже легко убедиться, купив билеты на концерт классической музыки.

3. Теорема Котельникова для нас сейчас как «дураку игрушка стеклянная». Красиво, блестяще, исчерпывающе. Хороший инструмент, которым можно и нужно пользоваться. НО.... идеальный ФНЧ невозможно реализовать в аналоге. Это раз. И для цифровых моделей в представленном в статье виде на сегодняшний день ресурсов не достаточно. Это два. Именно в этом смысле и проявляется её нищета. (см ниже другой взгляд на проблему)

4. Гораздо более простым и изящным выходом является использование более быстродействующих ЦАП-АЦП. И при записи и при воспроизведении. Какие именно и почему, я напишу в другой статье, которая будет называться «Новый цифровой музыкальный формат»

5. Для самых внимательных и просвещенных читателей, которые знают, что на выходе ЦАП стоит фильтр низких частот. Да, там действительно стоит фильтр. Причем такой… внушительный фильтр, порядка четвертого, не меньше (именно такие фильтры рекомендуют ставить производители ЦАПов). А на входе АЦП тоже фильтр. И тот и другой имеют свои недостатки. Даже правильнее сказать: «вносят свои искажения». Тема эта не маленькая, и её также стоит вынести за пределы данной статьи.


Другой взгляд на проблему:
Естественно существуют современные методы обработки сигналов, и ту же теорему Котельникова можно использовать не напрямую, как в статье, а в виде интерполяционной формулы Уиттекера-Шеннона.
Формула в таком виде представляет собой свертку гребенки Дирака с функцией sinc. А еще существует БПФ, позволяющее вычислять свертки сигналов "на лету"... Дело за малым, - ткнуть в тот ЦАП, где это реализовано.

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


Приведенные в статье формулы реализуют идеальный цифровой ФНЧ. Не оптимально? Да. Идеальный ФНЧ вообще относится к классу не реализуемых фильтров, т.к. требует учета всех значений сигнала за весь бесконечный период наблюдения. Я представил такой вид приближения фильтра к идеалу.


Читайте также:
__________________

Последний раз редактировалось NovikovK; 15.11.2011 в 13:39. Причина: Небольшие дополнения, смысловые исправления
Ответить с цитированием
  #2  
Старый 10.07.2010, 09:05
Аватар для NovikovK
NovikovK NovikovK вне форума
Сотрудник «Ас»
 
Регистрация: 26.03.2010
Сообщений: 316
Вес репутации: 10
NovikovK на пути к лучшему
По умолчанию

Блеск и нищета теоремы Котельникова. Взгляд с обратной стороны или двойные грабли от SONY.
Ай да Sony, ай да сучьи дети!
И это самое мягкое выражение в их адрес

Данная статья нисколько не перечеркивает предыдущую статью, написанную несколько лет назад. Только дополняет ее. Позволяет взглянуть на ту же самую проблему под другим углом – с точки зрения музыкальных сигналов. Предыдущую можно перечитать, если интересно, там изложен взгляд со стороны самой теоремы Котельникова. В текущих рассуждениях придется сначала опустить некоторые «очень важные мелочи», но ниже они будут рассмотрены.

Теорема Котельникова, требует от нас использовать все отсчеты, входящие в сигнал. Ранее я рассчитал, что для формата 16/44 хватит окна sinc(x) около 44100 отсчетов (по полсекунды в обе стороны). Каждый следующий отбрасываемый нами будет меньше, чем единица младшего разряда в выбранном формате.
Предположим, что у нас есть ЦАП, восстанавливающий сигнал строго по теореме, использующий окно в 1с (44100 отсчетов). Надеюсь, придумал самый удачный пример для рассмотрения: оцифрованная пластинка. На ней щелчок от соринки. Такой процесс точно никак не связан с фонограммой. Наш «правильный» ЦАП отработает его следующим образом:
1. начнет вносить искажения в сигнал за полсекунды до того, как щелчок появился,
2. воспроизведет щелчок
3. будет продолжать вносить искажения еще полсекунды после окончания.

С точки зрения логики – логики в этих действиях нет никаких. Т.е. совершенно не понятно, зачем из-за огреха, даже не относящегося к фонограмме, мы должны испортить целую секунду звучания.
Теперь перенесем эту ситуацию внутрь фонограммы. Например, упал пюпитр. Ситуация будет точно такая же. Алгоритм не изменится. Если тут с пониманием нормально, поехали дальше. Необходимо понять, что звук есть только сейчас, одномоментно. И тот звук, который «сейчас» никак не влияет на фонограмму «раньше» и на фонограмму «после». Попробуем рассмотреть вариант с барабаном. Сам удар происходит во вполне определенное время. Если его записывать на аналог, то факт наличия удара в данное время не требует от нас вносить предискажения, начиная за полсекудны до него и еще полсекунды после. А использование «правильного» восстановления из цифры такие требования к нам предъявляет.

Что же может наш «правильный», «Котельниковский» ЦАП? Он может «суперточно» восстановить сигнал, удовлетворяющий условиям теоремы. Намного лучше, чем реальные ЦАП.

Давайте рассмотрим такой пример. Генерируем звуковой файл. Внутри 2с. тишины 20с. синус 22кГц, и еще 2с тишины.
Выглядит это примерно так:



Прогоняем его через реальный ЦАП. Получаем следующее:
1. Почти 2с тишины
2. Короткий «фейд в плюс»
3. 20с непонятно чего
4. Короткий «фейд в минус»
5. Почти 2с тишины

«Непонятно чего» выглядит вот так:



Прогоняем через наш, «суперправильный», Котельниковский и получаем следующее.
1. 1.5с тишины
2. 0.5с предискажений «фейд в плюс»
3. 0.5с «тыква превращается в карету» - процесс перехода от «некачественного» к нормальному синусу.
4. 19с чистого, идеального синуса 22кГц
5. то же, что и пункт 3, но в обратном направлении
6. то же, что и пункт 2, но в обратном направлении
7. 1.5с тишины.


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



«Правильно» оцифрованный чистый синус 1кГц должен выглядеть примерно так:




Крупнее:




Следующий «очень неудобный» пример – сгенерированный меандр. Берем СаундФорж7 и генерируем меандр не самой большой амплитуды, чтобы был запас у алгоритмов ЦФ. (За что люблю СаундФорж7, так это за то, что ни про Котельникова, ни про Шеннона с Найквистом он ничего не знает). Получили меандр 1кГц, где переход из –U в +U происходит за один отсчет. Вот так это будет выглядеть в SF7.



Вот так он выглядит в Аудишн



Теперь из 96кГц преобразуем в 44кГц и увидим…



Меандр теперь правильный с точки зрения т. Котельникова. Лишние частоты, не удовлетворяющие условиям теоремы обрезаны. А меандр «почти честно» складывается из суммы синусоид. Которых у нас аж 22 гармоники. Хорошо видно, что перед переходом из одного состояния в другое есть некие «предискажения», продолжающиеся и после перехода. Этих искажений будет меньше, если взять бОльшее число гармоник. В пределе мы таки получим настоящий меандр, «неотличимый от аналогового». Вопрос только один. Какую брать частоту дискретизации? Для меандра 1кГц можно в 44кГц запихнуть 22 гармоники, а для меандра 10кГц – всего одну гармонику. Посмотрите еще раз внимательно на «правильный синус 1кГц», и на последние картинки. Это у нас первые грабли, которые продиктованы условиями т. Котельникова. Компания SONY о них широко не распространялась, когда пропихивала формат СД.

Поехали дальше. Возвращаемся к большооооому барабану. Изображение сигнала утрировано, для лучшего понимания смысла.



Вот такой сигнал является импульсным (апериодическим), следовательно, спектр его бесконечен. Т.е. для правильного сохранения и воспроизведения требуется бесконечная частота дискретизации. Абсолютно не важно, какой мы в данном случае возьмем микрофон с полосой 5кГц, 20кГц или 100кГц. Характер сигнала не изменится – он так и останется апериодическим. Спектр его останется бесконечным.
Вот Вам и вторые грабли от компании SONY. С одной стороны в массовое сознание интегрировано «знание»: если микрофон не может записывать частоты выше 20кГц, значит частоты в 44кГц хватает с запасом. А на самом деле – эти две частоты никак не связаны. Тут уже можно кричать: «Ай да SONY, {cenzored} {cenzored} {cenzored} {cenzored} {cenzored}, вот!»
Еще раз отмечу. Исходный сигнал с барабана мы снимаем микрофоном с полосой 5кГц, но спектр получается бесконечным. Чем выше частота дискретизации (ЧД) – тем точнее мы этот сигнал сумеем сохранить. И все полученные «микродобавки» от высокой ЧД – лишь уточнения к нашему непериодическому НЧ сигналу, сохранение его правильной формы. Для любителей понижать ЧД сразу отмечу, что энергия, которую мы отбрасываем при понижении ЧД небольшая, но для слухового восприятия значение она имеет. Измерять ее «в граммах» смысла нет, т.к. по отношению к оставшемуся спектру вес энергии мизЕрен, но и «весовые категории» в части «точности» - разные.

Вернемся к обозрению «правильного» и «неправильного» сигнала по Котельникову. «Правильные» сигналы не могут появиться внезапно. Каждый из них должен иметь некоторую зону «фейда» - несколько периодов, когда из нулевого состояния он «раскачивается» до нужной амплитуды. А из этого следует, что у сигналов не может быть острой «атаки». К каждой атаке при восстановлении будет добавлено «предзвучание», и переход от состояния «звука нет» к «звук есть» должен быть мягкий, с подготовкой слуха к восприятию атаки (чуть натянуто, но об этом ниже).

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

Теперь сравним работу реального и идеального ЦАП



Давайте уже посмотрим живьем, как эти самые реальные ЦАП работают.
Сначала просто «неправильный меандр», про который писал выше. На эстакаде CS4398.



Крупнее:



А теперь я взял меандр из примера выше, но изменил его. В каждом переходе от –U к +U добавлен еще отсчет «0», имитируя ограниченность нашего микрофона частотой 20кГц. Теперь переход выглядит так: «-U» - «0» - «+U» и обратно так же. В Аудишине он выглядит теперь так:



На эстакаде снова CS4398. Примечателен он тем, что «пытается быть похожим на идеальный ЦАП». А картиночка получается вот такая:



Как я и говорил, перед фронтом идут предискажения, теперь относительно небольшие по амплитуде. И после фронта есть искажения. В увеличенном масштабе выглядит это так:



Возьмем для проверки другой ЦАП. Алгоритм работы у него другой, и картинка тоже другая:



Увеличено:



Что сказать про этот ЦАП? «Ай, молодца!» Никаких предискажений. Четко видна точка «0», и быстро устанавливающийся процесс после перехода. На реальных музыкальных сигналах он выглядит намного предпочтительнее, чем тот же CS4398. Сейчас бы гимн спеть этому ЦАП, да оду написать, в которой подробно рассказать об его великолепии, величии и блестящей работе с музыкальными сигналами… Ох я и интриган…. Второй ЦАП – это AC97 – встроенный на материнской плате звук.

Еще раз поговорим о предискажениях и «подготовке слуха». Рассматривать будем меандр. Перерегулирование в случае меандра у нас около 30% от амплитуды сигнала. Частота большая – 44кГц. Акустика точно нам воспроизвести такое не сможет, но, как порядочная, проинтегрирует. Какой-то звук на выходе так или иначе будет присутствовать. Причем из всех динамиков, независимо от верхней граничной частоты каждого.

Чтобы Вы не пытались «живьем ловить блох» в рассматриваемом примере, приведу другой пример, более жизненный. Заряд конденсаторов цепей питания в электронной схеме приводит к выбросу тока на очень короткое время. (Там же есть еще куча неприятных процессов). Если не принимать специальных мер по снижению наводок от цепей питания, то эти выбросы тока будут и на выходе прибора. В очень линейных схемах форма импульса тока не меняется, и он остается очень коротким, не размазывается. Ширину импульса не измерял, основную частоту не считал, но она значительно выше 44кГц по фронту (спад более мягкий) и выше, чем может воспроизводить акустика. Пиковая амплитуда этого импульса (по RMAA) порядка -70... -80дБ (FS). Для нормальных уровней громкости в нашей аппаратуре этот импульс не слышно. Однако, если громкость добавлять, то…. Мы будем отчетливо слышать 50Гц (или 100?), которые воспроизводят динамики в акустической системе. Такая же ситуация и с наушниками.

Про «предискажения» знают и разработчики ЦАП. Что они рекомендуют? А рекомендуют они «душить и душить» этих гадов аж четвертым порядком фильтра и выше. Забудьте про Бесселя. Бессель тут «не в теме». В хорошем случае это Баттерворт , а еще круче Чебышев, а дальше эллиптические фильтры. Иначе «душить» не получится. Нужна большая крутизна. На процесс «душения» - всего-то одна октава. А когда мы этот сигнал «жестко задушим» - забудьте о линейной фазе, забудьте о микронных, неслышимых уху фазовых искажениях. Тот же Бессель должен дать нам меньший сдвиг фазы, по сравнению с любым другим, причем, линейный сдвиг, соответствующий обыкновенной задержке форманты сигнала. («Разбег» фазы любого конкретного фильтра надо сравнивать именно с Бесселем). На выходе при использовании рекомендованных производителем фильтров будет «совсем другой» звук. И причина – именно фазовые искажения, которые появляются при ГВЗ<>const.

Если хотите, можно теперь поностальгировать о «старых добрых мультибитниках». Причем, именно о старых, где нет передискретизации внутри микросхемы, нет внутри ЦФ. Наверное, можно и из современных мультибит что-то подобрать достойное, аскетичное....
В другой статье я нарисовал «картину маслом» про то, как идеально может работать мультибитник вообще без фильтрации на выходе. Но эта картина идеальна только до первой нелинейности в тракте, причем не важно, на какой частоте эта нелинейность имеет место быть. Она запросто перетащит зеркалку хоть с 10МГц обратно, в звуковой диапазон. А разработчики такого безфильтрового ЦАП «хапнут горя» с этой самой зеркалкой по полной программе.
Можно пуститься и в другие размышления-рассуждения, но пора остановиться и сделать выводы.

1. Почти все музыкальные сигналы не удовлетворяют требованиям теоремы Котельникова. Сигнал любой частоты (чистый тон) по Котельникову не может возникнуть внезапно.
2. Точность сохранения и воспроизведения непериодических сигналов (с бесконечным спектром) – сюда попадут все атаки (периоды возбуждения с нуля до стационарного состояния), все ударные инструменты и многие другие – зависит только от выбранной частоты дискретизации. Рекомендую вспомнить передовой немецкий(?) опыт 30х-40х годов по ручному удалению фазы атаки из записи и предъявлению остатков музыкантам, которые не могли узнать свои инструменты.
3. Чем больше в музыкальном сигнале "нестационарностей", тем выше нужна частота дискретизации для корректного сохранения и воспроизведения.
4. Об этом уже несколько раз говорил мельком – перестаньте «жить и восстанавливать» по Котельникову, возьмите АЦП-ЦАП с достаточной для слуха частотой и «живите» в масштабе двух отсчетов – «тот, который сейчас» и «тот, куда надо переместиться». Этот вариант в наибольшей степени соответствует музыкальным сигналам.


2010.07.10 Новиков К

Последний раз редактировалось NovikovK; 11.07.2010 в 14:55. Причина: Все картинки вроде на месте))
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:53.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot
2008-2014 (с) Объединение «Ас»