Последний раз редактировалось tomtit; 29.05.2013 в 02:03.
А в итоге все равно все упирается в аналоговую часть![]()
Хорошо играет тогда, когда звуки не отвлекают от музыки.
Olema,
Интересно узнать, какой именно алгоритм скрывается под именем "интерполяция по 4 отсчетам" ?
Yan,Вообще, интересно, что даёт применение подобной структуры по сравнению с простым однобитным ЦАП.
чуть не забыл упомяныть главный козырь ШИМ-ДАК - очень не критичен к модулятору,
ставь, все что попало, и получишь прекрасный результат. Цена - высокая тактовая модулятора.
С "рандомизациями" надо быть очень осторожным, лишний ВЧ шум внутри петли ОС не приветствуется.
При преобразовании N-уровневого PCM кода в ШИМ есть две проблемы.
1. Зависящий от амплитуды сдвиг центра тяжести выходного сигнала, относительно тактовой сэмплинга.
Это приводит к нежелательной фазовой модуляции эквивалентной джиттеру.
2. Переменная ширина выходного импульса. Тоже приводит к гармоникам, но в гораздо меньшей степени.
Пока я знаю 3 приемлимых multibit->1bit подхода:
1. Генерировать N двоичных выходов (thermometer code), в сумме даюших точную аппроксимацию исходного PCM.
Так поsтупают DSC-"ringDAC", Fulcrum - "pulse array", Филипс ШИМ-ДЕМ. Тогда ШИМ искажений практически нет, но на
модулятор накладываются серьезные ограничения по NTF.
2. Сделать ресемплер, синхронный с центром тяжести выходного ШИМ сигнала и включить его в петлю ОС - это то что у Бруно.
3. Сделать, как в моем 4-х выходном МАШ, приблизительную аппроксимацию, зато применить очень хороший модулятор.
Самое интересное, что конечный результ, при прочих равных условиях, почти одинаков, что говорит о близости фундаментальных ограниченний.
Последний раз редактировалось tomtit; 08.05.2012 в 01:28.
tomtit, померял реальный mash от Мацушиты. Картинки очень похожи на Ваши. Выложл здесь: https://forum.vegalab.ru/showthread....26#post1515326. Возможно Вам это будет интересно...
Offтопик:
АЧХ апсэмплинг 44.1->88.2 интерполяцией по 4-м точкам линейным сплайном 3-го порядка.
Вопросы еще есть ? На 20К уже -4dB и ничего толком не отфильтровано.
Ещё раз обращу ваше внимание на вами же приведенный пример:
>ноль на выходе может быть представлен как 10 1100 111000
В данном случае длина периода ШИМ равна 2, 4 и 6 бит.
Длина периода может меняться по случайному закону в неких пределах. Несущая будет иметь шумоподобный спектр.
Откуда лишний шум, если длина меняется, скажем в пределах +/-1 от 8 ?
Fulcrum/Chord - понятно, у них генератор 44,1*2048. Частота достаточно высокая для ДЕМ, и шина до ЦАПа - полной ширины, положение каждого регистра ЦАП выставляется ПЛИСкой.
Но у dCS генераторы всего 22./24. МГц. Для полноценного ДЕМ маловато.
Yan,
Я приводил пример для однобитного модулятора, там всегда период ШИМ равен одному биту. Поэтому-то и идут на хитрость - делают 50-75% заполнение бита.
Для многобитного модулятора период ШИМ надо делать N+1, тогда последний пустой интервал и обеспечит гарантированный RZ.
Рандомизацию, как вы предлагали для многобитного, я тоже пробовал, но ничего хорошего не получил.
1. Если центр тяжести кода начинает болтаться вправо-влево - то возникает ФМ и жуткие искажения.
2. Если же возникают лишние фронты - тоже сильно растут искажения. На один символ должно быть всегда одинаковое число переходов уровня,
тогда их вклад постоянен и не вызывает паразитной ФМ. Получилось что двухсторонний ШИМ с КЗ<100% работает лучше, чем случайные паттерны того же веса.
У Бруно все пораздо тоньше, он использует односторонний ШИМ а за следующий сэмпл принимает интерполированное значение сигнала в центре тяжести текущего ШИМ импульса.
То есть, у него получается переменная частота сэмплинга, привязанная к ШИМ, причем никаких сложных вычислений делать не надо, все делается автоматически при
увеличении апсэмплинга до частоты ШИМа.
То что dCS применяет DEM, а не аналоговый КИХ - это известно точно. Аркам раскололся в нескольких статейках на эту тему.
У них 24 одинаковых источника тока, которые они комбинируют по "секретно-патентованному" алгоритму.
Модулятор у них 5-битный, 4-го порядка, работающий на 64х44.1. Они нуждаются в минимум (24+1)*64*44.1 = 70.56МГц для сдвигания кольца.
Так, как в ранних ДАК-ах они использовали внешний сдвиговый регистр, то я думаю им приходится делать именно N+1 фазный ШИМ,
добавляя или убирая в кольцо по одному биту на сэмпл, как у Филипса.
Можно, конечно, менять код сильнее чем на один бит за раз, но тогда пропадает ""идеальность ШИМ-ДЕМ" - либо возникает вредная ФМ - либо невозможно использовать в каждом сэмпле ВСЕ токи.
Конечно, я не уверен на 100% но мне кажется, они используют ФАПЧ или умножитель частоты.
Мое решение для МАШ ничем не хуже. Я использую 96х, выигрывая 14дб из-за оверсэмплинга, и теряю 12дб из-за 3-битного модулятора.
Ну и чувствительность к джиттеру клока у моего чуть повыше. Причем тактовая ШИМ у меня всего 768х.
Последний раз редактировалось tomtit; 11.05.2012 в 20:50.
Это все правильно, если ШИМ сигнал "осаждается" на идеальном интеграторе. Но в реальности этот ШИМ-сигнал поступает на фильтр НЧ, а не на интегратор. Соответственно, возникает методическая ошибка - изменение скважности меняет спектр импульса и тем самым долю его "площади", проходящей через ФНЧ. Эффект небольшой, дает нелинейность кубичного характера, заметно проявляющуюся только на высоких звуковых частотах, но учитывать его надо, если мы говорим об уровне характеристик выше 16 бит. Он обратно пропорционален частоте ШИМ. Частичная "прямая" компенсация этого явления предпринята в CXD2552/2562. Возможно и "лобовое" решение - сделать обратную связь в модуляторе непосредственно с ШИМ - битов, только тогда рабочая частота модулятора должна быть равна битовой, а не "символьной", несмотря на то, что полоса ООС в нем по-прежнему задается "символьной" частотой. (Но для "Филипсовского" варианта, где требуется изменение кода не более чем на 1 уровень за такт, модулятор по-хорошему так и надо бы делать).
Последний раз редактировалось sia_2; 10.05.2012 в 13:21.
Для оценки преобразования ШИМ->I-V хорошо пользоваться таким приемом -
смотреть, что подается на ФНЧ после суммирования всех фаз ШИМ.
Так вот, для "Филипсовского" решения ничего делать не надо. Там
после суммирования получается, с точностью до глитча, исходный многоуровневый PCM.
То же самое приблизительно верно для моего полу-ДЕМ.
А у 2552/2562 - все гораздо хуже. Соответсвенно и результат - выход с PLM содержит больше гармоник.
Это обьясняется тем, что многофазные выходы всегда образуют дополнительный аналоговый КИХ. И, если
повезет как у Филипса, то его нули встают точно на вредные гармоники ШИМ.
Тонкость в том, что полная компенсация этого эффекта там происходит только теоретически (с точностью до разбаланса сопротивлений), и при условии, что длина "символа" равна или дольна длине регистра. В общем же случае - этот эффект учитывать надо, как и то, что разбаланс сопротивлений в этой структуре корректно усредняется только для постоянного тока, но не в динамике. Это DEM только первого порядка по частоте (остаточная погрешность линейно нарастает с частотой). Современные дельта-сигма имеют DEM второго-третьего порядков.
Не 24, больше. Регистры на 11 или 12 (в разных версиях) 4-битных микросхемах 74ACT175 (на канал), резисторы все одинаковые, по 8 от каждой микрухи (парафазный съем сигнала). Топология плат паршивая, плюс изрядная емкость и индуктивность "суммирующих шин".
Тактовую не помню, ЕМНИС 44...45 с копейками.
Последний раз редактировалось sia_2; 10.05.2012 в 19:12.
Да, конечно, ничего идеального в мире нет. Но моделирование с учетом разброса 0.1-1% показывает превосходный результат, для звука вполне достаточный.Тонкость в том, что полная компенсация этого эффекта там происходит только теоретически
У Филипса проблема в том, что применить дизеринг там так же трудно, как и в случае однобитного модулятора.
В отношении дитеринга - можно применить +/-0,5 МЗР RPDF, и ограничить скорость изменения выходного кода модулятора величиной, эквивалентной 0.5 МЗР (а не 1 МЗР) на такт. Соответственно, будет выдержано условие "изменения не более чем на 1 уровень за такт". При этом нелинейность квантования статистически будет как раз полностью убрана, но останется модуляция величины шума сигналом. Однако, если число уровней достаточно велико (> ~7...15) и не жмотничать в отношении петлевого усиления модулятора - то на модуляцию шума можно забить. (В коммерческих сигмадельтах едва ли не основной смысл введения многоуровневости - снизить необходимое для получения "THD+N" петлевое усиление, упростив "арифметику" модулятора и понизив его частоту для снижения энергопотребления. При таком подходе уменьшение модуляции шума более актуально, чем снижение искажений, соответственно, используют в основном TPDF).
Последний раз редактировалось sia_2; 10.05.2012 в 20:52.
Я пока остановился на моем любимом детище - 7-ур. MASH с 4-х фазным недо-DEM.
Все-таки своя рубашка ближе ...![]()
Дизеринг +/-1 TPDF, тестовый сигнал с частотой 19К и ампл. - 0дБ, OSR = 96х.
Разброс резисторов <1% на спектре никак не заметен.
(Спектр приведен для выходного файла verilog симулятора, где реализован синтезируемый модулятор с аппаратным генератором дизера.)
Последний раз редактировалось tomtit; 22.05.2012 в 21:50.
Ещё один дилетанский вопрос.
А что если однобитный ЦАП собрать с использованием какого нить промышленного высокочастотного АЦП?
Сейчас вроде есть 16ти и более разрядные АЦП последовательного приближения с частотами преобразования чуть ли не десятки МГц. С помощью известных микрух и ВЧ плисины поднять частоту семплирования входного сигнала до частоты преобразования АЦП выходного аналогового сигнала, далее на цифровой компаратор, далее на триггер, далее на выходной аналоговый фильтр и замкнуть кольцом на вход АЦП...
---------- Добавлено в 15:56 ---------- Предыдущее сообщение в 15:51 ----------
... А можно ещё круче. Использовать не цифровой компаратор, а вычитатель. А вместо триггера - формирователь неких высокочастотных псевдослучайных однобитных последовательностей согласно получаемому в каждом такте коду разности с вычитателя.
http://catalog.gaw.ru/index.php?page=document&id=20748 , например...
Последний раз редактировалось SashaNetrusov; 14.05.2012 в 16:08.
http://www.analog.com/ru/analog-to-d...s/product.html
http://www.analog.com/ru/analog-to-d...cts/index.html
---------- Добавлено в 18:53 ---------- Предыдущее сообщение в 18:29 ----------
http://www.analog.com/static/importe...ets/AD9467.pdf
И где же реакция публики?
Что лучше, аналоговый фильтр в обратной связи с выхода однобитника или цифровой?
...Проблема поднять частоту семплирования входного сигнала до частот преобразования современных АЦП?
Социальные закладки