Страница 2 из 10 Первая 1234 ... Последняя
Показано с 21 по 40 из 181

Тема: DAC на TDA1541A и FPGA

  1. #1 Показать/скрыть первое сообщение.
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию DAC на TDA1541A и FPGA

    Нажмите на изображение для увеличения. 

Название:	DAC1541A-FPGA.png 
Просмотров:	2536 
Размер:	2.25 Мб 
ID:	330001

    Не прошло и 10 лет как я, наконец, решился сделать себе ДАК.
    Подход был выбран крайне минималистский - никаких процессоров,
    никакой индикации, никакого сервиса.
    Единственный TOSLINK вход. Принимает 44,48,88,96,176,192к.
    Добавил только простейший регулятор громкости на сдвоенном потенциометре.
    Правда есть 4 светодиода, но все они для индикации сбоев и внештатных ситуаций,
    в рабочем режиме - все погашены.

    Питание сделано на модулях, похожих по исполнению на дискретные регуляторы от Hypex,
    я когда-то создавал тему по этому поводу. Они скорректированы единственым полюсом на выходе.
    Он образован керамическом конденсатором 4.7мкф, который находится прямо не модуле.
    В качестве опоры применены светодиодные цепочки. Они крайне мало шумят и не требуют фильтрации,
    да и выглядят весьма прикольно. Сделал так, чтобы не использовать элктролиты или керамику большого номинала.
    Размер модулька - чуть побольше TO-247. Они запаяны вертикально, прямо по месту около нагрузки.
    Трансформатор - очень дохленький, всего 2 6ВА, но хватает.
    Его очень большое выходное сопротивление образует с конденсаторами 4700мкф прекрасный фильтр,
    пришлось только защитить емкости зенерами от слишком высокого напряжения холостого хода
    (около 34В выпрямленного для 15В обмотки).

    В качестве ДАК используетя старинная TDA1541A, FPGA - маленькая стоножка XС3S200A.
    Преобразователь I/V выполнен на недокомренсированном ОУ THS4021, выходной каскад - на SE5534.
    ПЛИС обеспечивает прием СПДИФ с автоматическим распознованием битрейта и апсэмплинг до 8х (352.8/384к).
    Длина фильтра - 759 отводов для 44/48 и 89 для 88/96 и всего 31 отвод для 176/192.
    Для 44.1к затухание на Найквисте (22.05к) около -80дБ а на 20К - 0.1дБ. В полосе задержания - -130дВ.
    Неравномерность в полосе пропускания порядка 0.02дБ. Фильтр для 44/48 - минимально-фазовый, на остальные частоты - фазолинейные.

    На ПЛИС реализован также джиттероподавитель на основе цифровой ФАПЧ с частотой среза 0.03Гц.
    На 10Гц коэффициент передачи около -100дВ. ПЛИС управляет частотой двухчастотного генератора на SI552 в пределах +-180ррм.
    Для управления используется 12-битный DAC7311 с двойным пассивным
    RC фильтром на выходе (10к/30мкф+10к/4.7мкф).

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

    20-окт-2018: характеристики примененных цифровых фильтров

    Нажмите на изображение для увеличения. 

Название:	LAX1.png 
Просмотров:	829 
Размер:	7.2 Кб 
ID:	330058 Нажмите на изображение для увеличения. 

Название:	LAX2.png 
Просмотров:	718 
Размер:	9.2 Кб 
ID:	330059 Нажмите на изображение для увеличения. 

Название:	Step3.png 
Просмотров:	770 
Размер:	5.4 Кб 
ID:	330060
    Последний раз редактировалось tomtit; 24.10.2018 в 03:24.

  2. #21
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от dee-jan Посмотреть сообщение
    + конвеерный мультибит
    О...о. Нас становится больше

  3. #22
    Старый знакомый Аватар для dee-jan
    Регистрация
    09.07.2009
    Адрес
    BLR
    Возраст
    42
    Сообщений
    919

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    О...о. Нас становится больше
    У меня сильно попроще чем у вас. 2шт 1861 в одном канале.
    Сергей.

  4. #23
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: DAC на TDA1541A и FPGA

    У меня вопрос: насколько необходим дизеринг при отсечении младших бит (28-->16 в случае с TDA1541(A) или 28-->20 при PCM1702)?
    Кто как решает вопрос?

  5. #24
    Новичок Аватар для Agilent
    Регистрация
    16.03.2006
    Адрес
    РБ Минск
    Возраст
    67
    Сообщений
    95

    По умолчанию Re: DAC на TDA1541A и FPGA

    Можно никак не решать этот вопрос. Просто отрезать лишнее.

  6. #25
    Частый гость Аватар для Василий Н.
    Регистрация
    18.03.2010
    Адрес
    Москва
    Возраст
    62
    Сообщений
    188

    По умолчанию Re: DAC на TDA1541A и FPGA

    Лучше с округлением.

  7. #26
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: DAC на TDA1541A и FPGA

    Дизеринг - весьма фундаментальная вещь в цифровой обработке.
    Его желательно применять везде, где меняется разрядность данных.
    Без дизера шум квантования зависит от сигнала, и его пики могут значительно превышать тот уровень,
    который достижим с дизерингом, даже несмотря на потери в интегральном SNR.
    P.S.
    Округление тоже помогает.

  8. #27
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от tomtit Посмотреть сообщение
    Реклок сделан на четырех 74AUP1G79DCK
    Полюбопытствую, а почему именно AUP серия? В линксах к примеру AHCT стоит, все довольны.
    Diatonica v.20 - Settima v.3a - Beyerdynamic T1/Audeze LCD-X

    https://perfectaudio.su/

  9. #28
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: DAC на TDA1541A и FPGA

    Мне нужна была быстрая, нешумная логика на 3.3~1.8В. Под рукой оказалась AUP. А для "реальных пацанов" есть PO74G74A.
    Последний раз редактировалось tomtit; 24.10.2018 в 02:19.

  10. #29
    Особо опасный рецидивист Аватар для belka
    Регистрация
    03.01.2005
    Адрес
    Одесса
    Сообщений
    3,871

    По умолчанию Re: DAC на TDA1541A и FPGA

    Замечательная вещь, ничего лишнего. Дайте 3 (три)
    Хай-эндЪ не терпит суеты.

  11. #30
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: DAC на TDA1541A и FPGA

    Кстати, интересно, из каких соображений для 44 выбран минимально-фазовый ЦФ, а не "классический", с линейной фазой. Тем более, что это несколько увеличивает вычислительные затраты.
    Offтопик:
    Сколько я ни экспериментировал в свое время, мне показалось, что все отклонения от линейно-фазового скорее "раскрашивают" звук, чем позволяют что-то реально улучшить, но, возможно, я ошибаюсь, и это не всегда и не для всех так. Почему и интересно.
    Последний раз редактировалось sia_2; 23.10.2018 в 14:43.

  12. #31
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,986

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    У меня вопрос: насколько необходим дизеринг при отсечении младших бит
    Можно сделать предельно простой дизеринг: округлить семпл (можно путём отбрасывания младших бит), запомнить разность исходного и округлённого семпла, прибавить полученную разность к следующему семплу перед его округлением. Ресурсов требует минимум, а искажений - уже значительно меньше чем совсем без дизеринга.
    Цитата Сообщение от Василий Н. Посмотреть сообщение
    Лучше с округлением.
    Математическое округление отличается от отбрасывания только прибавлением константы, для звука это пофигу.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  13. #32
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: DAC на TDA1541A и FPGA

    Спасибо всем ответившим про дизеринг.

  14. #33
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Математическое округление отличается от отбрасывания только прибавлением константы, для звука это пофигу.
    Что-то мне кажется, что простое обрезание дробной части для чисел в двоичном дополнительном коде
    работает чуть по-разному для положительных и отрицательных чисел, поэтому я всегда округляю.
    Может это дурная привычка от тех аппликаций где важнa точность передачи постоянной составляющей ?
    Кто скажет, как надо делать, буду признателен.

  15. #34
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Можно сделать предельно простой дизеринг....
    Спасибо за подсказку, попробую при случае.
    Сделал генератор псевдошума. Как посоветуете его подмешивать?

  16. #35
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: DAC на TDA1541A и FPGA

    дополнительный код (двоичная - TWC) - это шкала представления дискретной величины. К типам округления относится косвенно (ну, там различные "правила" при сложении-умножении-инверсии и т.д.).

    При обрезаниии (усечении) в сравнении с "правильным округлением" (меньше 1\2 мл.эн.р. =+0 к старшим разрядам; больше или равно = +1 к старшим разрядам) теряется пол мл.разряда точности в результате (при случайном следовании округляемых чисел подобно белому шуму). При обрезании не надо заботиться о возможном переполнении- "зашкаливании". Например, 11111******....*** (под * - любое значение) при "правильном округлении" до четырёх старших разрядов даёт переполнение - 1111+0001=10000. И надо вводить кроме сложения ещё операцию предотвращения переполнения. А при усечении алгоритм прост как утюг. Вот и вся разница
    Электричество дисциплинирует

  17. #36
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: DAC на TDA1541A и FPGA

    Обьяснение, почему применил минимално фазовый фильтр для 44/48 очень простое - так захотелось.
    Но у меня есть длинное, чисто схоластическое оправдание.

    1. Были отброшены полуполосные фильтры и прочие, имеющие небольшое подавление на 0.5fs (для полуполосного это всегда -6дБ).
    Если подать цифровой синус с частотой 15-19к на вход такого фильтра,
    то на выходе будет точно такой же синус, но промодулированный по амплитуде.
    Эту модуляцию можно обьяснить очень просто - сэмплы не всегда попадают на одно и тоже место синуса, а ползут по нему в случае, если частота сигнала не кратна в точности частоте оцифровки, поэтому они попадают то на максимум, то пониже, и амплитуда сигнала как-бы колышется с разностной частотой.
    А можно и по-научному - это недостаточное подавление первого алиаса 22.05к+(22.05-частота синуса).
    Мне научное обьяснение ближе, потому что понятно, как с этим бороться - надо сделать brick-wall фильтр.

    Да! У такого фильтра длинная импульсная х-ка. Ну а если сделать его минимально-фазовым, то звон фильтра вполне может быть замаскирован сигналом.
    Кто его знает, а вдруг сработает ?
    Насчет линейной фазы у меня большие сомнения, что с 44/48к вообще можно говорить о хорошей передаче фазы, маловато отсчетов на период.

    2. Преимущество не полуполосного фильтра также в том, что в его коэффициенты можно зашить коррекцию АЧХ аналогового филтьтра а также sin(x)/x компенсацию.
    Что и было сделано, кстати. Пока "вау! эффекта" не заметил.

    3. Аппаратных ресурсов хватает, в стареньком Spartan 3 уже есть аппаратные умножители 16х16. К сожалению, они безбожно каскадируются для бОльшей разрядности.
    Задачи сильно сэкономить не стояло. Хотя, при одном и том же подавлении в полосе задержания, у минимально-фазового фильтра к-во отводов может быть сделано меньше, чем у фазолинейного, раза в полтора.
    Последний раз редактировалось tomtit; 24.10.2018 в 03:27.

  18. #37
    Частый гость Аватар для abyrvalg
    Регистрация
    13.04.2016
    Сообщений
    145

    По умолчанию Re: DAC на TDA1541A и FPGA

    Игорь, поздравляю с завершением проекта!

    С уважением, Полиграф Полиграфович

  19. #38
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,986

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от tomtit Посмотреть сообщение
    Что-то мне кажется, что простое обрезание дробной части для чисел в двоичном дополнительном коде
    работает чуть по-разному для положительных и отрицательных чисел
    Как раз-таки именно в дополнительном коде - абсолютно одинаково! В прямом и обратном будет сложнее, но их редко используют.
    Собственно классический алгоритм математического округления - прибавить 0.5 и отбросить дробную часть Это работает в лоб с беззнаковыми числами и со знаковыми в дополнительном коде.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  20. #39
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: DAC на TDA1541A и FPGA

    Большое спасибо всем откликнувшимся за столь высокую оценку моего "изделия выходного дня".
    Я не гнался ни за какими рекордами, а просто, как обыкновенный радиолюбитель, смастерил маленькую приятную игрушку. Применив старые, симпатичные детальки.

    Хотя, больше заморачиваться с дискретными стабилизаторами не буду, их ручная сборка весьма трудоемка.
    Не все пока получилось, как надо. Например на 192к иногда щелкает СПДИФ, хотя макет
    проработал беcпроблемно лет 5. Нарвался на 16МГц китайский тослинк с диджикея. На макете стоит оригиналный тошибовский TORX147.
    Кстати, для приема СПДИФ достаточен всего лишь трехкратный оверсемплинг (67.7/73Мгц).
    Принцип проверен и работает с астрономической надежностью в серийном медицинском приборе на частоте 100 Мбит/сек с 8b/10b кодировкой. Но это по-секрету, надеюсь, об этом в компании никто даже не догадывается .
    Последний раз редактировалось tomtit; 24.10.2018 в 03:31.

  21. #40
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,981

    По умолчанию Re: DAC на TDA1541A и FPGA

    Цитата Сообщение от tomtit Посмотреть сообщение
    Например на 192к иногда щелкает СПДИФ, хотя макет
    проработал беcпроблемно лет 5. Нарвался на 16МГц китайский тослинк с диджикея.
    Everlight PLR135, я так понимаю? (Ибо 25мегагерцовыз там никогда на складе нет).
    Пока ни одного не попадалось, чтобы вообще не работал на 192.
    А вот дешевые кабели, с которыми он (как и любой другой) на 192 не работает - попадались часто.


    Цитата Сообщение от tomtit Посмотреть сообщение
    На макете стоит оригиналный тошибовский TORX147.
    Который ничем не лучше китайских, и по ТУ также не обязан работать на 192 (ибо он н даже не 16 а 15МГц).
    Последний раз редактировалось Alex; 24.10.2018 в 09:15.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

Страница 2 из 10 Первая 1234 ... Последняя

Социальные закладки

Социальные закладки

Ваши права

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