Не согласен. На DSP очень слабые интерполирующие фильтры. В том числе на тех, ссылки на которые вы только что выкладывали. Мягко скажем - они не сильно отличаются от стоковых АКМ.
У Soekris в dam - фильтры на порядок лучше и реализовано все на FPGA. И нет там атомного реактора ни по цене, ни по потреблению. Новые фильтры у него длиной 2000 тапов.
Нет смысла гнаться за Джусси - это очень дорого реально.
Атомный реактор по цене? Вы в какой диапазон уложиться хотите - 200 USD?
Дело в том, что в прошлую субботу услышал от Дмитрия Андронникова такие слова - " Там динамический диапазон менее 66 дБ, поэтому я такие конструкции не рассматриваю"
Помоему вы оба правильно поняли друг друга…
Идея проста.
берем последовательность
000000101010101010000000000000000 < - тут начало последовательности
В простой реализации (И задумке @Insert) получаем следущую последовательность битов Fir окна:
------------DSC -----------------(@INSERT)
1.0000000000000000 (0000000000000000)
2.1000000000000000 (1000000000000000)
3.0100000000000000 (1000000000000000) < Здесь у DSC “шум переключения” 2х ячеек, в альтернативной реализации ничего не перещелкивается
…
n+1: 1010101010100000 (11111100000000000)
n+2: 0101010101010000 (11111100000000000) DSC: 12 ячеек поменяли состояние. Insert: 0 ячеек поменяли состояние .
n+3: 0010101010101000 (11111100000000000) DSC: 12 ячеек поменяли состояние. Insert: 0 ячеек поменяли состояние
и т.д.
Но чтобы менять один бит в сдвиговом регистре “без шума”, нужно каждый раз, сначала полностью обновлять 8 битный последовательный буфер 595 нужными данными, потом по битклоку “защелкивать” их наружу. А значит тактовать данные для 595го регистра придется в 8 раз быстрее, чем частота бит клока.
Поэтому Виталий правильно подметил про Mosfet. Но с одним мосфетом получится токовый выход. Тут нужна конструкция из 2х мосфетов(Пушпул) или простая “буферная” микросхема. А 595 в данном подходе не очень хороша.
Есть один момент.
В этой схеме нужны более качественные резисторы, с лучшим допуском.
С 595 было “размазывание” и усреднение по всем 32 резисторам. Реально мы имели 0.1%/32=0,003% точности.
В новой реализации уже такой халявы не будет.
В том то и суть, что так же усредняются 32 резистора… только переключается всего максимум 1 бит(или вообще не одного), вместо максимум 32х бит в случае с 595.
подавать суммарный сигнал (32 уровня, реально можно меньше - уровень модуляции в SDM ограничен стандартом как 20/28)
на один MOSFET (или 2 Push-Pull)
снимать с него напряжение через ZFoil Vishay резистор, например (высокоточный, стабильный, референсный). Павел прав, в этом случае требования к резистору сильно возрастают.
далее убираем УВЧ LPF фильтром
выходной буфер или line stage A класса. К чему тут трансы.
Нет. На выходе 32bit последовательности имеем соответствующее число обычных резисторов в паралели (на каждой ноге), как сейчас в DSC.
Т.е. на затвор MOSFET подается 5V через делитель. Или любое другое подходящее напряжение, которое можно задать тоже через делитель.
Формировать суммарный сигнал можно с помощью простого интегратора в виде RC цепочки. В итоге скатываемся на прстейшую схему опубликованную господином Чуффолли. PureDSD
Объясни. Не понимаю.
В старом варианте “1” пробегала по всей линейки резисторов за 32 такта.
В новом варианте за 32 такта “1” стоит как вкопанная на одной позиции.
суть простая, не важно на каком месте стоит эта единица, главное это соотношение 0 и 1.
т.е. для DSC 1000000 = 0100000 = 0010000 = 0001000 т.к. соотношение 0 и 1 остается постоянным. Резоный вопрос. зачем ее двигать все 32 такта по 32 выходам линейки, когда все 32 такта можно постоянно выдавать 10000000( или 00000001).
Это как раз и существенно.
Если “1” бежит а не стоит, то происходит усреднение допуска резисторов.
В противном случае нам придётся ставить 128шт ООЧЕНЬ точных и дорогих резисторов.