Страница 26 из 32 Первая ... 162425262728 ... Последняя
Показано с 501 по 520 из 638

Тема: Дилетантский вопрос про sigma-delta

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

    Вопрос Дилетантский вопрос про sigma-delta

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

Название:	sdm4-20bx256.gif 
Просмотров:	3087 
Размер:	12.4 Кб 
ID:	134944
    Вот наскоро сочинил примитивную модель однобитного сигма-дельта модулятора 4-го порядка,
    подал на вход синус 20-бит проапсэмпленный до 256*Fs.
    Смотрите что получилось ...
    Почему никто не использует столь простой подход ?
    Ищем грабли ..., учим теорию.
    Последний раз редактировалось tomtit; 29.05.2013 в 02:03.

  2. #501
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Скажите , пожалуйста, как сделать 32х или 64х на выходе с такой тактовой высокой?
    CIC интерполяцией.
    CIC - это экономичная реализация sinc фильтра, он же - фильтр "скользящего среднего":
    https://digteh.ru/digital/sinc.php
    https://www.compel.ru/lib/136833
    В самом простом виде (минимальной длины) это линейный интерполятор (суммируем два соседних отсчета и делим пополам).
    А еще проще (если устойчивость модулятора позволяет) можно выполнять ресемплинг без обработки, просто семплируя по несколько раз один и тот же отсчет (я в ветке про ЦФ описывал как).

  3. #502
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,126

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Алексей спасибо. На модулятор сони я подаю 512fs, а на выходе клок мне нужен не более 128fs для 1547, хотя она может принимать и 512 по слухам - не зачем.

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

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Насколько я помню, тда1547 штатно работает на 192фс. А значит 256фс почти номинал. Должна работать.

  5. #504
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    992

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Структура модулятора от SONY скорее сгодится для АЦП, чем для ЦАП. Для ЦАП гораздо лучше будет цепочка интеграторов с распределенной ОС. Можно реализовать очень точную NTF без применения умножителей, поскольку в однобитном исполнении в каждой ветке ОС к сигналу прибавляется или отнимается одна и та же константа. В мультибитном случае - достаточно небольшой таблицы коэффициентов на каждую ветку ОС.
    Ещё можно заменить рассчитанные коэффициенты на ближайшие простые числа. Этот приём должен удлинить предельные циклы модулятора и сделать их шумоподобными. При порядке модулятора 7,8 можно видимо не использовать дизеринг.
    Умножители могут понадобиться только для реализации ОС резонаторов, но там обычно достаточно 1..3 битов точности, а их общее число <= половины порядка модулятора.
    К тому же STF такой структуры - ФНЧ с ровной АЧХ.
    Недостаток - аккумуляторы нужны примерно 29-32бита, тогда как для других структур 24-27 бит. Но для цифровой реализации это почти не имеет значения.

    ---------- Сообщение добавлено 11:49 ---------- Предыдущее сообщение было 11:35 ----------


    Offтопик:
    Я подрихтовал свой старый скрипт для расчёта модуляторов и в качестве теста сочинил модулятор 8-го порядка с частотами перегиба NTF в 27К и 147К, с петлевым усилением >160дБ, тактовой 512х и выходом ШИМ 64х. Максимальный уровень модуляции 0.72. Похоже, можно совсем не заниматься оптимизацией.
    Для NTF использовать эллиптический фВЧ с минимальной добротностью полюсов и всё будет ОК.
    Но, самоосциллятор пока выглядит предпочтительнее по меньшей шумовой нагрузке на восстанавливающий ФНЧ.
    Последний раз редактировалось tomtit; 21.10.2022 в 00:37.

  6. #505
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    992

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Продолжаю тестировать описанный в предыдущем посте ШИМ модулятор 8-го порядка со сверхглубокой (~170дБ) обратной связью.
    Анимация - наличие/отсутствие RPDF дизеринга. Видно, что без дизеринга некоторые гармоники еле заметно выше.
    Ступенька после 20кГц - работа цифрового фильтра на 24-битном сигнале 0дБ, поскольку симулировался полный тракт
    с передискретмзацией с 1х в 512х. Выход - 64х.

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

Название:	dith2no.gif 
Просмотров:	113 
Размер:	120.4 Кб 
ID:	426912
    Последний раз редактировалось tomtit; 21.10.2022 в 03:47.

  7. #506
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,126

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Слежу за твоими работами. Конечно, в меру своих умственных способностей. Есть надежда, что такая конфигурация переиграет АК4137? Пока у меня связка 4137+1547 очень хорошо звучит.

  8. #507
    Старый знакомый Аватар для Sanny
    Регистрация
    01.07.2010
    Сообщений
    564

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Слежу за твоими работами. Конечно, в меру своих умственных способностей. Есть надежда, что такая конфигурация переиграет АК4137? Пока у меня связка 4137+1547 очень хорошо звучит.
    А как включен tda1547?

  9. #508
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,126

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Как в даташите.

  10. #509
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    992

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Есть надежда, что такая конфигурация переиграет АК4137?
    На этот вопрос ответа нет. У некоторых товарищей даже 1543 всех переигрывает.
    Правильный вопрос - можно ли сделать аналоговую часть на коленке лучше чем в ИС, в частности TDA1547?
    Бруно утверждает, что можно, применив ШИМ+АКИХ. Я сам пока ещё не знаю.
    Просто, применение готовых ИС абсолютно не интересно, мне на работе вполне хватает этого гемора.

    Пока думаю и решаю, самоосциллятор или ШИМ 8-го порядка. Случайно наткнулся на весьма удачный модулятор. Пока не могу объяснить, почему именно модулятор 8-го порядка оказался вдруг в 1.5 раза устойчивее, чем сделанные по тому же самому шаблону модуляторы 5,6 и 7-го порядков.

    Самоосциллирующий же, имеет примерно 5-Ый порядок, глубину ОС пониже - 120дБ и не показывает выраженной ступеньки после 20к, то есть его собственный SNR не лучше, чем у остального 24-бит цифрового тракта, но при той же тактовой, имеет вдвое более низкую частоту выходного ШИМ. Скорость нарастания ультразвукового шума тоже значительно меньше, то есть требования к ФНЧ на порядок ниже. К сожалению, не удалось использовать коэффициент модуляции выше 0.5 - на пиках сигнала начинает сильно снижаться частота ШИМ, да и АКИХ, длиной в 16 разрядов, выглядит слишком громоздко. Нужно искать другой метод подавления гармоник несущей.
    В общем - везде компромиссы…

    Вот что удалось выжать на 1024х с обеих модуляторов:
    Нажмите на изображение для увеличения. 

Название:	sk2etx.gif 
Просмотров:	90 
Размер:	238.8 Кб 
ID:	427159
    ЗЫ.
    Да, ещё, два пика в спектре - это не гармоники, а алиасы основного тона из-за ограниченного -130дБ подавления ЦФ.
    Последний раз редактировалось tomtit; 26.10.2022 в 22:21.

  11. #510
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    А я вот попробовал запустить хоть какой модулятор, по быстрому. В кач-ве железа использовал свою плату с плисиной латтис и PCM1792 ЦАПом в режиме DSD. Модулятор работает в штатном режиме х64, на входе данные х32.
    Код модулятора взял готовый Сергея.
    Но что-то пошло не так: вместо звука какая-то какафония.
    Сначала думал PCM1792 неправильно конфигурируется, вывел битстрим из латтиса прямо на наушники. Оказалось, что звук такой же. Т.е. сам битстрим кривой.
    На всякий случай проверил работу ЦФ перед модулятором: перевел 1792 в режим ext DF, подал х32 данные, все работает. Переключаюсь на модулятор - не работает (какафония). Попробовал вообще подать на модулятор данные в обход ЦФ (192кГц) прямо с ЮСБ транспорта, то же самое.
    Причем без сигнала спектр шума похож на правильный: Нажмите на изображение для увеличения. 

Название:	sony_sdm5_noise.png 
Просмотров:	64 
Размер:	79.0 Кб 
ID:	427310
    Но при подаче 1к синуса получается какая-то каша с основным тоном на 125Гц! Т.е. в 8 раз ниже по частоте: Нажмите на изображение для увеличения. 

Название:	sony_sdm5_1k_tone.png 
Просмотров:	58 
Размер:	80.6 Кб 
ID:	427311
    Попробовал посмотреть осциллограмму на выходе ЦАП (триангл частотой 50Гц). Сигнал почему-то ступенями: Нажмите на изображение для увеличения. 

Название:	sony_sdm5_triangle_50Hz.png 
Просмотров:	61 
Размер:	59.8 Кб 
ID:	427312
    Попробовал замоделить в симуляторе квартуса. Сначала подается сигнал близкий к максимуму, потому нуль, потом - близкий к минимуму.
    Вроде криминала не видно: Нажмите на изображение для увеличения. 

Название:	изображение_2022-10-30_153221200.png 
Просмотров:	64 
Размер:	35.6 Кб 
ID:	427314
    Осциллогармма битстрима на выходе латтиса при отсутствии сигнала похожа на то что в симуляторе.
    И не понятно как это отлаживать. Может есть какой-то способ проверки модулятора в модели или в железе? Можно ли что-то диагностировать по приведенным картинкам?
    Или может для IDE нужны какие-то особые настройки компилятора для работы со сложными сумматорами?

  12. #511
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    992

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Похоже на перегрузку модулятора, проверь, максимальный сигнал не превышает 1/2 от обратной связи.
    В однобитнике принято считать сигнал ОС равным 1. То есть для 24-битного входа +1 равна 2**24-1, а
    максимальная амплитуда сигнала +-2**23-1.
    У меня осталось не очень приятный осадок от работы с Латтисом, Обычно конфигурацию делаю через SPI порт микроконтроллера, а потом общаюсь с регистрами через те же 3 провода по тому же порту. Так латтис почему-то успевает испортить все регистры, присоединённые к бывшим конфигурационным выводам, и их приходится заново переинициализировать асинхронным сбросом. Никто не может сказать почему такой глюк. У Зайлинкс всё хорошо. Агитирую компанию перейти на китайские ПЛИС, их хоть купить можно для работы, а всех остальных ждать до 24года, даже 20-летнее старьё.
    Единственная ощутимая польза от Латтиса - дают бесплатную лицензию на год на Моделсим. Советую использовать его, а не Квартус. Там есть вывод сигнала в аналоговой форме, очень удобно для отладки ДСП алгоритмов.
    По поводу отладки. Симулирую, сбрасываю в файл, анализирую в математическом пакете. Матлабом не владею, использую Маткад или Питон.
    Для проектирования модуляторов, CAS лучше Математики не нашёл.
    Хотя российский SMath Studio тоже иногда справляется.
    Всегда проверяю работу полного тракта с интерполятором и модулятором.
    Пока ошибок в синтезе Xilinx замечено не было, с остальными - опыт не более одного успешного проекта на работе.
    Последний раз редактировалось tomtit; 30.10.2022 в 20:10.

  13. #512
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Сигнал ООС - первое что проверил перед запуском, там все в порядке (по крайней мере в модели в квартусе).
    Наверное придется делать тестбенч и запускать модель латтиса в моделсиме, а так не хочется.... (

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

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Наверное придется делать тестбенч и запускать модель латтиса в моделсиме, а так не хочется.... (
    А зря - всегда всё проектирование веду в нём, проверяя все промежуточные этапы.

  15. #514
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta


    Offтопик:
    Цитата Сообщение от tomtit Посмотреть сообщение
    А зря - всегда всё проектирование веду в нём, проверяя все промежуточные этапы.
    Это все хорошо, только нужно потратить не один месяц на освоение. Моделсим среда нифига не интуитивная. И все ради несчастного модулятора.

  16. #515
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,501

    По умолчанию Re: Дилетантский вопрос про sigma-delta


    Offтопик:
    Много интересных статей и книжек
    https://www.semanticscholar.org/pape...eaaf98ca8bea4b
    https://www.semanticscholar.org/pape...66c202247a15e6

  17. #516
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Сеемен Семеныч....
    Нашел я касяк. И он не связан ни с ЦФ, ни с модулятором.
    Для тактирования ЮСБ я взял системный клок ЦАПа, т.к. он такой же: 512Fs. Но при включении режима модулятора системный клок ЦАПа переключается на 64Fs. Соот-но ломалась работа ЮСБ транспорта.
    Поэтому восьмикратное смещение спектра вниз, т.к. данные из транспорта забирались в 8 раз медленнее. )
    Соньковский модулятор в исходном виде с 20бит разрядностью отлично играет, все хорошо.
    Спектр 1к -20дБ на PCM4222 АЦП: Нажмите на изображение для увеличения. 

Название:	изображение_2022-10-31_104800303.png 
Просмотров:	120 
Размер:	78.0 Кб 
ID:	427334
    Над шумовой полкой трава какая-то есть, возможно разрядности маловато.
    Проверил, нет. На 24-х битах даже хуже. Получается что уровень диттеринга надо делать повыше.

    ---------- Сообщение добавлено 11:09 ---------- Предыдущее сообщение было 10:39 ----------

    Подал 16-битный сигнал, чтобы увеличить шум (он у меня везде +/-2LSB) - то же самое. Не знаю что это за артефакт. Надо пробовать повышать оверсемплинг модулятора.

    ---------- Сообщение добавлено 11:46 ---------- Предыдущее сообщение было 11:09 ----------

    И, кстати, 2 бита на переполнение для данного модулятора не хватает, нужно задавать 3.
    Сначала я это высмотрел в симуляторе. А потом и подтвердилось на практике: на синусе проскакивали иголки.

    ---------- Сообщение добавлено 11:52 ---------- Предыдущее сообщение было 11:46 ----------

    Синус 1к полного размаха на выходе ЦАПа: Нажмите на изображение для увеличения. 

Название:	SonySdm5+PCM1792_output.png 
Просмотров:	102 
Размер:	66.4 Кб 
ID:	427339

    ---------- Сообщение добавлено 13:09 ---------- Предыдущее сообщение было 11:52 ----------

    Попробовал на этом же модуляторе тупо наращивать оверсемплинг. PCM1792 даже х512 нормально тянет.
    Вот скрин синуса в режиме х256, шума уже не видно: Нажмите на изображение для увеличения. 

Название:	DSD_x256.png 
Просмотров:	101 
Размер:	59.7 Кб 
ID:	427343

    ---------- Сообщение добавлено 13:26 ---------- Предыдущее сообщение было 13:09 ----------

    Сообразил на скорую руку и приаттачил код на основе своего проекта, где соньковский СДМ прикручен к моему ЦФ с мастерклоком 1024Fs.
    За работоспособность не ручаюсь, это просто пример. Но вроде должно работать.
    И до кучи - модулятор попроще, 4-го порядка для оверсемплинга х128 и выше.
    Вложения Вложения
    Последний раз редактировалось dortonyan; 31.10.2022 в 14:38.

  18. #517
    Старый знакомый
    Автор темы
    Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    992

    По умолчанию

    Ну да, типичное распределение шума однобитника +-4-8сигналов ОС.
    Не понял про дизеринг, амплитуда дизеринга 0.5 Рпдф равна сигналу, то есть +-23бита. Реально получается сделать только 0.25, то есть +-11бит.
    За это и ругают однобитники, что даже 0.5 рпдф физически невозможен.
    Расклад может быть примерно такой:
    0.5 - сигнал
    0.25 - дизеринг
    Сумма - 0.75 должна укладываться в максимальный уровень модуляции.
    Суммирование реально векторное, поэтому вероятность возбуждения модулятора из-за перегрузки невелика, но она есть.
    Полностью избавиться от травы и модуляции шума можно только наращивая лупгэйн.
    Последний раз редактировалось tomtit; 31.10.2022 в 16:20.

  19. #518
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от tomtit Посмотреть сообщение
    Расклад может быть примерно такой:
    0.5 - сигнал
    0.25 - дизеринг
    Да, точно. Я примерно такое и насимулировал в матлабе. Надо будет попробовать.
    Дизер лучше tpdf или можно rpdf?

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

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Этот модулятор не выдержит 0.75, да ещё шумом. у него максимум где-то 0.66...0.7 для гладкого сигнала, и то с дополнительным запасом разрядности на перегрузки внутри. Для устойчивости можно добавить аккуратные клипы в интеграторы, но лучше дитерить не только в одном месте, а при всех потерях разрядности статистически независимыми генераторами шума. Штатно он хорошо работает с RPDF дитерингом 1/256 шкалы перед квантователем, больше на самом деле не нужно.
    Последний раз редактировалось sia_2; 31.10.2022 в 16:54.

  21. #520
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,572

    По умолчанию Re: Дилетантский вопрос про sigma-delta

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Для устойчивости можно добавить аккуратные клипы в интеграторы
    Имеете ввиду добавить отработку переполнения?

    Цитата Сообщение от sia_2 Посмотреть сообщение
    но лучше дитерить не только в одном месте, а при всех потерях разрядности статистически независимыми генераторами шума.
    В соньковском модуляторе 6 операций округления. На каждую свой дизер? Такое округление ресурсов сожрет больше чем сам модулятор. )

Страница 26 из 32 Первая ... 162425262728 ... Последняя

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

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

Ваши права

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