Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » ТЕХОТДЕЛ » DIY_STUDIO » ДЕЛЬТА-СИГМА (Обсуждение дельта-сигма модуляторов.)
ДЕЛЬТА-СИГМА
peratronДата: Вторник, 04.02.2014, 00:22 | Сообщение # 1
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Есть определённая надежда, что можно из тиньки13 соорудить вменяемый дельта-сигма модулятор для гитарных задержек и прочего гитарного применения, включая многоканальные системы для 6-струнных систем.

Обсуждаем?


PERATRONIKA - персональная звукотехника
 
peratronДата: Вторник, 04.02.2014, 01:15 | Сообщение # 2
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Вот информация к размышлению: http://www.simple-devices.ru/article....iny2313

Хотя схемотехника излишне перегруженная - всё гораздо проще: даже в тиньке 2313 есть компаратор, а всю внешнюю обвязку можно свести к RC-цепочке в ОС (вместо полнофункционального интегратора на ОУ), да смещении входа компаратора на полпитания.

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

ХИНТ: то, что работать в принципе будет - вопросов нет. Проблема пока в непонятках с качеством звучания.
Но поскольку трудозатраты на макет крайне невелики - то имеет смысл попробовать на практике.
Правда, придётся затратить мозговую энергию на программирование - а тут потребуются затраты уже поболее.
Но для начала следует опробовать самый простой вариант - неадаптивную ДМ. А там алгоритм довольно тупой и не должен вызвать серьёзных затруднений.

Причём, не надо даже возиться с записью сэмпла - для субъективной оценки достаточно снять звук на контроль с RC-цепочки ОС (оцифровать его можно и звуковой картой - для качественного анализа это вполне корректный эксперимент)...

Серёжа, берёшься?
Ты с атмелом дружишь?

Если да - накидаю схемку для практического стенда.

ХИНТ: на этом стенде можно будет решить все проблемы с оцифровкой под твою задачу...


PERATRONIKA - персональная звукотехника
 
JinxДата: Вторник, 04.02.2014, 03:02 | Сообщение # 3
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Да, с атмелом дружу. На руках имею мегу 32 и пару тинек 85-х в дип8. Есть "хлебная" макетка и программатор, так что можно начинать жечь.

Статью изучаю, схему приветствую. Звуковые алгоритмы, думаю, буду проверять на vst плагине (там сразу тебе и входной pcm поток, и выходной, и возможность брякнуть через свое творение в реальном времени), а вот оцифровку сигнала, конечно, буду делать на макетке.


Сообщение отредактировал Jinx - Вторник, 04.02.2014, 03:16
 
peratronДата: Вторник, 04.02.2014, 12:26 | Сообщение # 4
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Ну, для начала - простейшая схема:



Для определённости взята тинька 2313 - но можно на любом МК.

Использован аналоговый компаратор - значит нужно его инициализировать.

Цель эксперимента: оценка реального качества оцифровки.
Для этого на вход подаётся тестовый сигнал с пиковым уровнем порядка 1 В.
Теоретически ДМ будет работать до 2 В в пике - но при этом сильно покривятся скорости нарастания/спада, что должно привести к возрастанию ошибки и связанных с этим шумов.

ВНИМАНИЕ: для контроля следует использовать высокоомный вход!
Желательно так же поставить ФНЧ - для подрезки полосы сверху до гитарного диапазона. Но в общем то это не обязательно - звуковуха сама прекрасно фильтрует надтональные компоненты, а подгонку к гитаре можно сделать уже софтовым фильтром.

АЛГОРИТМ: ну, для начала классический дельта-сигма - без адаптива.
Нужно предусмотреть установку частоты квантайза от 100 кГц до максимально возможной (1 мГц и выше).
На первом этапе нужно подобрать ёмкость - она взята пока от балды.

ХИНТ: писать код, есно, только на АСМЕ. СИ тут никаким боком не проканает.

Очень желательно писать в Алгоритм Билдере - по эффективности это ассемблер, но гораздо наглядней и быстрей раз в пять.
Если не использовал ещё - то обязательно ставь!
Я заведу ветку под АБ - там вопросы "что и как".
Если поставишь АБ - то я буду в игре. Если нет - то весь код на асме будешь поднимать сам.
Для затравки у меня есть коды для Т13 - там инициализация есть, что существенно упрощает начало работ...

ХИНТ: вспомогательные цепи я не рисовал - понятно, что нужна правильная блокировка питания, разводка аналоговых и цифровых земель, мисо/моси на программатор и т.п.

ХИНТ: по идее, отладку кода и предварительную настройку АЦП можно провести в протеусе - я октавер Т13 отлаживал таким макаром с использованием гитарных сэмплов.

ХИНТ: вообще то надо заряжаться на тиньку 13 - использовать по одному МК на канал только для АЦП. Это вполне приемлемое решение.
Так, что запасайся тиньками - пригодится потом tongue
Прикрепления: 7023063.png (17.4 Kb)


PERATRONIKA - персональная звукотехника
 
peratronДата: Вторник, 04.02.2014, 13:19 | Сообщение # 5
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Для затравки - выложил листинг АБ для Т13: http://yadi.sk/d/TDMQ1jHCHHGow

PERATRONIKA - персональная звукотехника
 
JinxДата: Вторник, 04.02.2014, 17:45 | Сообщение # 6
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Кстати, а сколько потоков физически можно подцепить на одну тиньку?
 
YuraДата: Вторник, 04.02.2014, 19:48 | Сообщение # 7
Начальник Генерального Штаба
Группа: Друзья
Сообщений: 136
Репутация: 1
Замечания: 0%
Статус: Offline
-проще взять кодек типа pcm27xx или что-то типа компьютерных кодеков и присобачить к ним память
или ту же техасовскую задержку( есть там такой чип)
-еще вариант al1402 готовая лабуда эффектов о 20 ногах -выпускается до сих пор( lj вход-выход 24 бита)
-есть еще куча всяческих задержек типа npc и тому подобного
-если на микроконтроллере то на томпсоне stm32 индексы разные в корпусе tsop20 подешевше будет чем 2313
да и получше, тем более у них есть i2s вход выход , т.е надо присоединить к нему любой 16-24 битный копеечный кодек и написать программу


С уважением, Юра.

Сообщение отредактировал Yura - Вторник, 04.02.2014, 19:56
 
JinxДата: Вторник, 04.02.2014, 19:57 | Сообщение # 8
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Задержка не есть цель. К тому же, надо бы внимательно поглядеть потребление всего перечисленного. А вообще спасибо за названия - будем изучать.
 
peratronДата: Вторник, 04.02.2014, 20:26 | Сообщение # 9
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Кстати, а сколько потоков физически можно подцепить на одну тиньку?
Всё в твоих руках - как распишешь алгоритм и на сколько хватит у проца мозгов.

Ну, и тиньки - они разные. Ты которую имеешь ввиду?

ХИНТ: тинька - эта такая мега, но только маленькая prof

Этот хинт про то, что вообще то я имею ввиду не строго тиньки, а и меги тоже.

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

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

Потому некоторый интерес представляет вариант на восьминогах - которые используются чисто в качестве АЦП и сливают код по последовательному интерфейсу в главный обработчик.


PERATRONIKA - персональная звукотехника
 
JinxДата: Вторник, 04.02.2014, 20:45 | Сообщение # 10
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Ага понял, т.к. мы тиньку используем просто за то, что это прокраммируемый компаратор?А нет ли аналогов - с бОльшим количеством компараторов?
 
peratronДата: Вторник, 04.02.2014, 21:46 | Сообщение # 11
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
На данном этапе - да.
Пока нам надо проверить достижимое качество оцифровки и убедиться, что оно нас устраивает.

Бонусом к этой работе является кодек для гитарных задержек (хорусы-фленжеры-дилеи и иже с ними).

После решения проблем с алгоритмом, будем думать над оптимизацией многоканального кодека.

ХИНТ: впрочем, помимо дилеев, можно поиметь и цифровой компрессор - фактически однобитник это пресловутый DSD.

ХИНТ: я подразумеваю на перспективу не столько чистый цифровой процессинг (по схеме АЦП - ДСП - ЦАП), сколько гибридную технологию однобитного процессинга, часть операций которого осуществляется в аналоговом домене. Например, фильтры (эквализация) - это задержка с суммированием.
А суммировать можно и на резисторах, и во временнОм домене.
На этом, к слову, построена идеология октавера Т13...

В общем, даже с минимальным интеллектом в дешёвых МК можно наворотить очень много интересного.
И, главное, эффективного схемотехнически - простые и дешёвые схемы с малым потреблением...

UPD: много компараторов в одной упаковке - это много ног. А что б ещё и с мозгами - это непонятно для какого применения. Потому такого не делают.

ХИНТ: интерес в нашей теме могут представлять ПЛМ (программируемые логические матрицы) - но это отдельная тема и я её по большому счёту не копал.

Попробуй произвести оценку - какова стоимость и возможности младших моделей в ряду ПЛМ?

ХИНТ: к оценке перспективности использования тиньки13 в качестве кодека: http://www.pl-1.ru/product.php3?param=9688&countt=1&is_led=
Мне представляется, что это удачная цена для кодека с неплохими параметрами...


PERATRONIKA - персональная звукотехника
 
JinxДата: Среда, 05.02.2014, 01:56 | Сообщение # 12
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Вопрос: если изолировать задачу для тиньки: в каком виде она должна отдавать данные на шину? В виде 16-битных значений PCM?

Т.е. как накопить дельта шаги я понял, но чтобы понять, что с ними делать, надо въехать в формат.

П.С. А почему бы не взять тиньку4 и не отдавать биты на шину по 2 в 8 раз чаще, а не по 16? Таким образом ещё более миниатюризируя узел DS преобразователя.
 
peratronДата: Среда, 05.02.2014, 05:19 | Сообщение # 13
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
А ты пока не зарубайся с форматом - рано ещё.

И покури упоминавшийся уже DSD - фишка которого была в сквозном использовании бит-стрима (в том числе и в вычислителе).

Повторю ещё раз - очень многие вычислительные операции выгодно делать в аналоговом домене, а на дискретную часть возлагать не обработку отсчётов, а только их хранение (задержку).

Про "в два раза чаще" - не понял...


PERATRONIKA - персональная звукотехника
 
JinxДата: Среда, 05.02.2014, 12:44 | Сообщение # 14
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Сам не понял smile Смело игнорируй.

Набросал схему в проте на тиньке4 - попробую сегодня запрограммировать в виртуале - только разберусь с симуляцией.

Насколько я понял, первый вариант лагоритма на редкость тупой - задать частоту, инициализировать компаратор, а дальше просто подавать на выход регистор результата компаратора раз в тик часов.


Сообщение отредактировал Jinx - Среда, 05.02.2014, 12:45
 
peratronДата: Среда, 05.02.2014, 15:17 | Сообщение # 15
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Набросал схему в проте на тиньке4
Схемы показывай - что б синхронизировать наши мозги...

Цитата Jinx ()
Насколько я понял, первый вариант лагоритма на редкость тупой - задать частоту, инициализировать компаратор, а дальше просто подавать на выход регистор результата компаратора раз в тик часов.
Ну, да.
Только помнить про фазу - для чего соответствующим образом подцепляться к компаратору...


PERATRONIKA - персональная звукотехника
 
JinxДата: Среда, 05.02.2014, 15:24 | Сообщение # 16
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Схема как на твоей картинке, только камешек поменьше. После работы покажу.

Ещё я что-то никак не возьму в толк про шумы. В теории, которую я читаю, пишут, что для получения эквивалентного уровня шумов на ДСМ, нужно иметь частоту компарирования Fnyquist * 2 ^ N, где N - количество бит ИКМ конвертера. Т.е. чтобы получить С/Ш обычного 16-битного 44100Гц конвертера, нужно использовать частоту 2.8МГц.
Дальше обычно идёт параграф про нойз-шейпинг, в который я не въеду. Точнее вроде свё ясно, но непонятно становится, о каком С/Ш идёт речь в предыдущей вот этой формуле?
 
peratronДата: Среда, 05.02.2014, 15:53 | Сообщение # 17
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
С шумами будем разбираться органолептически prof

Вообще же про шумы много глупостей наговорено. Потому к многим "общеизвестным" принципам следует относиться критически.
В частности - к оценке шумовых качеств через интегральную мощность и без учёта спектральных особенностей: в ИКМ шумы (ошибка квантования!) коррелированы с сигналом - что крайне отрицательно воспринимается слухом на музыкальном сигнале.
В ДМ шумы коррелированы гораздо слабей - потому субъективное восприятие абсолютно иное.


PERATRONIKA - персональная звукотехника
 
JinxДата: Среда, 05.02.2014, 16:09 | Сообщение # 18
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Да, после прочтения самой статьи, на которую все ссылаются, стало немного понятнее.
Статья: http://www.analog.com/static/imported-files/tutorials/MT-022.pdf
Но всё-таки не совсем понятно, как выглядит ошибка квантизации в ДСМ - видимо надо посмотреть будет на осциллограф smile

Кстати, да, про качественные аспекты шумов квантизации не говориться практически нигде. По крайней мере, мне подобный анализ не попался.
Зато попалась вот такая картинка, которая даёт представление об относительной шумности АЦП (правда вертикальная шкала какая-то уж больно подозрительная):


В итоге про ДД ИКМ АЦП тоже можно говорить только после применения дитера.

Ещё один минус, про который я прочёл, состоит в том, что большинство алгоритмов цифровой обработки сигнала заточены под работу с ИКМ сигналом.
 
peratronДата: Среда, 05.02.2014, 16:17 | Сообщение # 19
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Но всё-таки не совсем понятно, как выглядит ошибка квантизации в ДСМ - видимо надо посмотреть будет на осциллограф
Как раз осциллоскопом её не увидишь - надо смотреть в симуляторе, соотнося с мгновенными параметрами процесса.

Цитата Jinx ()
В итоге про ДД ИКМ АЦП тоже можно говорить только после применения дитера.
Следует помнить, что все современные ИКМ-кодеки работают на технологии бит-стрима. То есть, первичная квантизация и финальное преобразование дискрета в аналог - одноразрядные по определению.

Цитата Jinx ()
Ещё один минус, про который я прочёл, состоит в том, что большинство алгоритмов цифровой обработки сигнала заточены под работу с ИКМ сигналом.

А это вообще отдельная тема...


PERATRONIKA - персональная звукотехника
 
JinxДата: Среда, 05.02.2014, 16:30 | Сообщение # 20
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Цитата peratron ()
Как раз осциллоскопом её не увидишь - надо смотреть в симуляторе, соотнося с мгновенными параметрами процесса.

Ага, это и имел ввиду - картинки smile
Цитата peratron ()
Следует помнить, что все современные ИКМ-кодеки работают на технологии бит-стрима. То есть, первичная квантизация и финальное преобразование дискрета в аналог - одноразрядные по определению.

Ага, про это тоже слышал, но я имел ввиду настоящие ИКМ, а не формат представления данных на выходе.
 
JinxДата: Среда, 05.02.2014, 16:37 | Сообщение # 21
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Вот тут есть тезис, в т.ч. про гребенчатый фильтр - т.е можно смело из пьезы делать эмуляцию магнитного съёма для соседней темы smile
 
peratronДата: Среда, 05.02.2014, 19:20 | Сообщение # 22
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Вот тут есть тезис, в т.ч. про гребенчатый фильтр - т.е можно смело из пьезы делать эмуляцию магнитного съёма для соседней темы
Какой тезиз?
И какая связь между ГФ и соседней темой?


PERATRONIKA - персональная звукотехника
 
peratronДата: Среда, 05.02.2014, 19:25 | Сообщение # 23
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Ага, про это тоже слышал, но я имел ввиду настоящие ИКМ, а не формат представления данных на выходе.
Что есть "настоящие ИКМ"?
В чём ненастоящность выпускащихся АЦП?
А АЦП двойного интегрирования - они настоящие или не настоящие?

ХИНТ: для развеивания иллюзий стоит однажды посчитать реальную (физическую) величину кванта для 24-битной амплитудной шкалы...


PERATRONIKA - персональная звукотехника
 
JinxДата: Пятница, 07.02.2014, 03:40 | Сообщение # 24
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Итак, первый блин комом:



Частота компарирования 80кГц. Проект работает нестабильно - пока не понял, почему, но сегодня уже не разберусь.

Вроде работает. К сожалению, АБ пока не осилил - наскоряк написал на С.
 
peratronДата: Пятница, 07.02.2014, 08:26 | Сообщение # 25
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Осциллоскоп лучше не применяй - там куча своих приколов и заморочкек вылезает, связанных с ещё несколькими уровнями симуляции (оживляжа).

Потому только через графы разбирайся - это гораздо стабильней.

То, что для начала на С - правильно. Принцип понять достаточно. Да и для некоторых приложений вполне сгодится (но не звуковых).

Освоить АБ не так и сложно - сложно разобраться с архитектурой МК и, главное, с инициализацией внутренних ресурсов.

Я выложил Т13 - по идее, он должен с полтычка идти в проте.
Тебе пригодится инициализация. Ну, и общая идея алгоритма - как пример.

При наличии готового проекта начни с освоения отладчика в АБ - он там весьма по делу.
И весь софт на алгоритмическом уровне отлаживается там - в протеус поедешь, только когда логический алгоритм заработает.
В проте уже возня с физическими нюансами...

Обрати внимание, что в АБ-отладчике можно подсовывать значения внешних параметров - например, вручную забивать АЦП.
Это помогает пройти и отладить развилки...

Ну, и в сети должно быть много примеров на АБ - для начала помигать лампочкой, это самое оно...


PERATRONIKA - персональная звукотехника
 
peratronДата: Пятница, 07.02.2014, 08:32 | Сообщение # 26
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
И сделай в порядке изучения темы ФФТ - там отдельный граф для этого.

Единственно, по сравнению с писпайсом он очень глюкавый - я по этому поводу базарил с разработчиком. Он признал глюки - сказал, что учтут на будущее.
Новые версии не проверял - может в них уже что то поправили.
Но пока нет иной информации, следует считать ФФТ в проте только вспомогательной фичой - в отличие от ОрКАДа, где ФФТ является основным инструментом в работе со звуковыми системами...


PERATRONIKA - персональная звукотехника
 
JinxДата: Пятница, 07.02.2014, 11:10 | Сообщение # 27
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Да, про АБ прочел, про отладчик тоже. У меня мышь вышла из строя (частенько "дребезжит" левый клик), поэтому изучать как именно чего рисовать в АБ не хватило нервов, но я к нему ещё вернусь.
Алгоритм Т13 смотрел - вроде всё ясно, но пока не разобрался с интерфейсом АБ. Примеров в сети, кстати, на удивление мало.

А что такое графы в проте? Это типа не риал тайм сбор информации?
 
peratronДата: Пятница, 07.02.2014, 13:11 | Сообщение # 28
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Графы в проте - это графическое окно для представления информации (кнопка "граф мода" - слева по середине).
По своей сути оно аналогично окну с пробами в оркаде - но гораздо удобней.
.
Собственно, аудио-тест делается в таком окне. Как и все остальные виды анализа.


PERATRONIKA - персональная звукотехника
 
JinxДата: Пятница, 07.02.2014, 13:27 | Сообщение # 29
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Ок, будем посмотреть сегодня.

Ещё у меня почему-то не получилось сделать смещение входа с помощью пары резюкой - я подозреваю, что я что-то напортачил с внутренним сопротивлением источника сигнала...
 
JinxДата: Суббота, 08.02.2014, 01:39 | Сообщение # 30
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Разобрался с графами, пропустил через него звук! cool

Результатом не доволен, т.к. камень разонал на всю (вроде 2МГц получилось), а шума много. Видимо недостаточно подогнал РЦ цепь, или чего-то не понимаю.

Частота Найквиста тут превышена в 45 раз, поэтому по той формуле получается, что шум должен быть на уровне:

45.35 = 2 ^ N
N = log2(45.35) = 5.5бит * -6дБ = -33дБ

Может так оно и есть (spectrum_chord_out.png).

Синусойду 4кГц можно поглядеть на prot screen2.png.

Ещё в паузах сигнала вначале и в конце (когда на выходе по идее последовательность 0101...) слышен писк - около 1кГц и 18кГц. При появлении сигнала пропадает. Это алиасинг?


Сообщение отредактировал Jinx - Суббота, 08.02.2014, 01:44
 
peratronДата: Суббота, 08.02.2014, 02:08 | Сообщение # 31
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Это алиасинг?
Такой эксперимент в рамках виртуальной среды может быть некорректным.
Надо пробовать живаго.

А про соловьёв обсуждали на гтлабе.

Это не алиасинг, это регулярная ошибка - когда требуется один корректирующий импульс на пачку, что б вернуть систему к равновесию
Ведь при малом сигнале система работает потоком меандра (чередованием 0 и 1). Но постепенно наползает ошибка и система её корректирует двумя соседними импульсами одного знака. Если такая коррекция оказывается регулярной и кратной - появляется несуществовавшая частота...

Против этого хорошо работает дитер - причём в силу большой разницы между рабочими частотами и частотой квантайза, можно всю мощность дитера впихнуть в надтональные частоты.
Другими словами, использовать полосовой шум в надтональной области.

Я прикидывал, что МК может генерить шум на отдельном выводе - его можно отфильтровать аналоговым фильтром, правильно отнормировав спектр, и пустить в кодек...

Можно даже не обязательно шум - несколько некратных частот тоже разгонят соловьёв.

При воспроизведении это всё нафиг отрезать...

ХИНТ: надо подбирать интегратор и дальше переходить к адаптивным алгоритмам...


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 08.02.2014, 02:20 | Сообщение # 32
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Ещё один нюанс: скорость интегратора часто занижают - что б уменьшить квант и шумы.
Но это приводит к тому, что на верхнем конце рабочего диапазона падает максимальная амплитуда сигнала (интегратор не успевает бежать за сигналом).

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

В общем, это пресловутые "динамические искажения" - но то, что убийственно для мощного УМЗЧ, работающего с жесткими спектрами ударных звуков, для гитарного ДМ может оказаться вполне приемлемым, поскольку струна не настолько агрессивна на верхах...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 02:35 | Сообщение # 33
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Залил результат того, что будет, если разогнать камень внешними часами до 20МГц.

Ок, я правильно понимаю, что нужно сделать пару буферных каскадов на полевике - на входе и выходе? Хочу всю обвязку отсимулировать, а потом уж макетировать.

Кстати, как подбирать RC? Я подбриал так, чтобы на выходе интегратора были примерно равные склоны на треугольниках - это правильно? А мы будем делать двойное интегрирование?

Ага, ты уже ответил - т.е. стоит попробовать сделать интегратор поленивее. А как быть с наклонами всё-таки? они должны быть одинаковыми? Или нарастающий фронт следует сделать порезче, чтобы не упираться в скорость нарастания на сигналах?


Сообщение отредактировал Jinx - Суббота, 08.02.2014, 02:37
 
peratronДата: Суббота, 08.02.2014, 02:38 | Сообщение # 34
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()

Ок, я правильно понимаю, что нужно сделать пару буферных каскадов на полевике - на входе и выходе?
Ну, это классика же ж...
И может поначалу лучше тупые опера - что б нюансы с импедансами и усилениями не вылизывать...


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 08.02.2014, 02:45 | Сообщение # 35
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()

Кстати, как подбирать RC? Я подбриал так, чтобы на выходе интегратора были примерно равные склоны на треугольниках - это правильно?
Интегратором задаётся амплитуда треугольников!

Равенство склонов получается автоматически - и ты там нахомутал вполне конкретно: в ОС должна быть только одна РЦ-цепь. А ты её куда то на землю перекосил shock

Смотри на мою схему - там всё конкретно...

Цитата Jinx ()
А мы будем делать двойное интегрирование?
Двойное интегрирование тут не проканает - система неустойчива по фазе.
Подробности - в теории автоматического регулирования - все эти пид-регуляторы и в дискретном варианте никто не отменял.

Вот с фильтрами специальной формы поиграться - это нужно. Но не сразу...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 05:28 | Сообщение # 36
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
На prot screen3.png что-то вроде того я хочу собрать.

Т.к. у меня нету 13й тиньки, а есть 85, я думаю как раз к месту использовать её фишку со встроенными 16МГц часами заодно. При желании, её можно будет и кварцем тактовать.

Правда аудиосимуляция теперь не работает - прот ошибается подлец angry
 
peratronДата: Суббота, 08.02.2014, 12:34 | Сообщение # 37
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Правда аудиосимуляция теперь не работает - прот ошибается подлец

Деактивируй другие графы...

Цитата Jinx ()
Т.к. у меня нету 13й тиньки, а есть 85, я думаю как раз к месту использовать её фишку со встроенными 16МГц часами заодно. При желании, её можно будет и кварцем тактовать.

А в чём радость?

Цитата Jinx ()
На prot screen3.png что-то вроде того я хочу собрать.

Странные схемы у тебя...

Кто мешает делитель на пол процукового питания цеплять на вход повторителя, а компаратор - прямо к выходу опера? no

Нафига там R7?

Ну, и имело б смысл второго-третьего порядка шуморез изобразить - играя с полосой которого (начав с 5 кГц) подобрать приемлемое звучание струн...


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 08.02.2014, 12:41 | Сообщение # 38
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
По поводу сэмплов...

Какова частота квантайза?

Если при частоте выше 500 кГц столь непотребно шумит - то элементарно велик квант интегратора.
Нужно увеличивать ёмкость.

При 500...1000 кГц даже простейшие неадаптивные ДМ звучат вполне нормально.

Нарисуй график максимальной амплитуды в зависимости от частоты.
Нормально, если максимальный размах >1 В будет ниже 1 кГц, а дальше - он имеет право падать 6 дБ/окт...


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 08.02.2014, 17:17 | Сообщение # 39
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
ХИНТ: для подбора интегратора выведи в граф помимо аналоговых параметров ещё и цифровой выход МК - он будет рисоваться в узенькой полоске, не занимая много места.

Критерием достаточности скорости является отсутствие трёх подряд значений одного знака: пока интегратор поспевает, на выходе ОС идёт меандр, перемежаемый добавочными корректирущими импульсами, но не более двух одинаковых подряд.
Если интегратор не успевает, то ОС надолго зависает на одном знаке.

ХИНТ: эта особенность ДМ используется для управления адаптатором - последовательность ОС анализируется на соседство одинаковых знаков и включается увеличение крутизны интегратора при появлении однознаковых отсчётов.
При появлении первого же перепада всё бежит назад...
Типа АРУ, но в цифре - что делает реакцию очень быстрой...

Вопрос о том, как управлять крутизной интегратора - отдельный.
Этим займёмся на последующих этапах...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 18:56 | Сообщение # 40
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Так, по порядку.

Схему переделал - вскоре выложу - фильтр докручу только. Вчера, видимо, сначала уснул, а потом схему рисовал.

Радость от быстродействия камня напрямую равна радости от более высокой частоты квантизации.

В данном случае она равна 1,42МГц (судя по частоте импульсов)

R7 убрал - соловьи пели как раз из-за него. Подал тишину на вход и сразу их увидел. Сейчас вроде такого эффекта не наблюдается.

Как снять АЧХ не понял - МК не поддерживают такой анализ. Надо, видимо просто поподбирать разные входные сигналы.

Про три одинаковых бита подрят не знал. На какой частоте это нужно смотреть?
 
peratronДата: Суббота, 08.02.2014, 19:24 | Сообщение # 41
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Как снять АЧХ не понял - МК не поддерживают такой анализ
???
МК и АЧХ?

Цитата Jinx ()
Про три одинаковых бита подрят не знал. На какой частоте это нужно смотреть?

Это смотрится на живом сигнале (на сэмпле) - то бишь, существует простой критерий адекватности параметров ДМ (величины кванта) реальным спектральным характеристикам сигнала.
Ещё раз подчеркну - не стоит смешивать полосу полной мощности и полосу пропускания.
Многие реальные сигналы имеют небольшой уровень мощности верхних гармоник при том, что для естественности звукопередачи требуется относительно широкая полоса.

В таких условиях увеличение кванта по критерию полной мощности во всей полосе нецелесообразно - полосу (задаваемую обрезными фильтрами) устанавливают отдельно, а квант пытаются уменьшить, что б уменьшить шумы.


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 08.02.2014, 19:28 | Сообщение # 42
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
В данном случае она равна 1,42МГц (судя по частоте импульсов)
Это неплохо - должно хватать для высококачественной квантизации.

Как программировал? Цикл писан на асме?
Распиши немного про софт...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 19:52 | Сообщение # 43
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Код на С:

Код
int main(void)
{
   PLLCSR = 1 << PLLE;
   CLKPR = 1 << CLKPCE;
   CLKPR = 0b0000;
   ACSR = 0x00;
   DDRB |= 1 << PINB2;
     
   unsigned char temp;
     
      while(1)
      {
    temp = ACSR;
    if(temp & 0x20)
     PORTB = 1 << PINB2;
    else
     PORTB = 0 << PINB2;
      }
}


Над ним я сильно не размышлял. Дизасм не смотрел, не могу сказать, сколько тактов он тратит на замер.
Хочу таки на АБ сделать.

Почему-то при попытке симулировать схему с ФНЧ на опере на выходе, Прот ошибается в какой-то своей DLLке sad


Сообщение отредактировал Jinx - Суббота, 08.02.2014, 20:02
 
peratronДата: Суббота, 08.02.2014, 20:04 | Сообщение # 44
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Почему-то при попытке симулировать схему с ФНЧ на опере на выходе, Прот ошибается в какой-то своей DLLке
Ну, можно сэмпл пофильтровать в форже...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 20:07 | Сообщение # 45
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Цитата peratron ()
Ну, можно сэмпл пофильтровать в форже...


Я тоже так подумал. Сейчас вот симулирую. Если будет без ошибок - выложу, что получилось. Я там ёмкость в интеграторе поднял, соловьёв прогнал - должно быть получше.

Следующим шагом, думаю, надо написать прошивку на АБ, а затем мактирование и реальные замеры. Если поможешь - буду премного благодарен. Если что - буду тут вопросы задавать.

П.С. Пошёл таки чинить мышь. tongue
 
peratronДата: Суббота, 08.02.2014, 20:32 | Сообщение # 46
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Следующим шагом, думаю, надо написать прошивку на АБ
Сразу ж под тиньку13 - как наиболее интересный по цене вариант...

Цитата Jinx ()
Если что - буду тут вопросы задавать.

Можно подумать, мы тут хренами меряемся...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 20:39 | Сообщение # 47
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Загвоздка в том, что у меня нету 13-х. Соответственно, чтобы они были, надо либо прочесать 200км в одну сторону и обратно, либо заказать и ждать.

К тому же, 13-ю тиньку не получится раскочегарить на 16МГц без использования кварца. Пока не знаю, хорошо это или плохо, т.к. с разумной достаточностью пока неясно - аудиосимуляцию я не смог заставить работать.

Я думаю, адаптировать алгоритм под 13-ю потом не составит труда.


Сообщение отредактировал Jinx - Суббота, 08.02.2014, 20:50
 
peratronДата: Суббота, 08.02.2014, 21:20 | Сообщение # 48
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Цитата Jinx ()
Загвоздка в том, что у меня нету 13-х. Соответственно, чтобы они были, надо либо прочесать 200км в одну сторону и обратно, либо заказать и ждать.
Ну, в протеусе то они есть icecream

Цитата Jinx ()

К тому же, 13-ю тиньку не получится раскочегарить на 16МГц без использования кварца.
В том и интерес - что б проверить идею в наиболее экономичном варианте.

Относительно кварца - надо проверить, есть ли там режим внешней синхронизации (ИМХО, есть).
Это интересный вариант для многоканальника - запустить всю машинку с общим клоком, что полезно во всех отношениях.
В этом случае кварц один - на базовом проце, а канальные ведутся от него. Что уменьшает так же и интерференцию.

Цитата Jinx ()
Я думаю, адаптировать алгоритм под 13-ю потом не составит труда

Ты для начала запусти код - а дальше я посмотрю.
Мне интересно - ляжет ли в него С...


PERATRONIKA - персональная звукотехника
 
JinxДата: Суббота, 08.02.2014, 21:50 | Сообщение # 49
Полковник
Группа: Друзья
Сообщений: 213
Репутация: 1
Замечания: 0%
Статус: Offline
Да как делать нефига - 13-я в проте работает вообще с той прошивкой, что я выложил. Я ж сначала под неё и сделал, а потом перешел на 85ю - попробовать более быстрые часы и приблизить проект к тем деталям, что есть.

13я тинька не умеет работать с кристаллом, но вход для внешних часов есть. Теоретически, кристалл можно подцепить к процессору и заставить его выводить часы на ногу и взять оттуда. Только надо нагрузочную способность посмотреть будет.

А вообще, разница в цене там, конечно, почти вдвое, но авось они обе стоят как грязь.
 
peratronДата: Суббота, 08.02.2014, 22:03 | Сообщение # 50
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Что ты называешь часами? huh

Если имеется ввиду сихроклок - то его следует и называть клоком, поскольку "часы" в МК, это системы измерения физического времени.

Цитата Jinx ()
но авось они обе стоят как гряз

Ну, не совсем уж так.

По цене и совокупности параметров имеют перспективу тинька13, тинька2313 и мега8

2313 интересна тем, что имеет запас по ногам и способна рулить внешней памятью - для формирования ЛЗ.


PERATRONIKA - персональная звукотехника
 
Форум » ТЕХОТДЕЛ » DIY_STUDIO » ДЕЛЬТА-СИГМА (Обсуждение дельта-сигма модуляторов.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: