Сколько тактов надо однобитной дельта-сигме...
#21

semigor Написал:Вот begemot не пожалел времени и все расписал :)

begemot Написал:За один период сэмплирования с частотой 44 Кгц дельта модулятор должен успевать проходить весь диапазон.
Считая эквивалент 16 бит - 2^16=65К
Поскольку простейший ДМ может увеличивать своё значение на 1 младший разряд за такт, в периоде 1/44к должно быть
65К тактов что бы отработать скачек от минимума до максимума не потеряв скорость нарастания.

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

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

Если же вы хотите померять "постоянку" с точность 1/65К шкалы посредстам среднего значение на выходе ДС на ограниченом отрезке времени , пусть за те же 64 семпла - то результат будет левым в независимости от порядка модулятора и его сложности.

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


Файлы вложений Эскизы(ов)
       

"Найкраще сало то ковбаса." (с)
The following 2 users say Thank You to БендеровецЪ for this post:
  • mellowman (04-16-2019), begemot (04-17-2019)
Ответ
#22

БендеровецЪ Написал:
semigor Написал:Вот begemot не пожалел времени и все расписал :)

begemot Написал:За один период сэмплирования с частотой 44 Кгц дельта модулятор должен успевать проходить весь диапазон.
Считая эквивалент 16 бит - 2^16=65К
Поскольку простейший ДМ может увеличивать своё значение на 1 младший разряд за такт, в периоде 1/44к должно быть
65К тактов что бы отработать скачек от минимума до максимума не потеряв скорость нарастания.

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

БендеровецЪ, во-первых, спасибо, что ты аргументированно отвечаешь на вопросы. Сейчас ты вообще всё понятно изложил. Но я всё-таки принял другой взгляд на работу сигма-дельта модулятора первого порядка, в котором нет противоречия между твоими словами и словами begemot'a. Постараюсь пояснить.
Вот классическая схема одноразрядного сигма-дельта модулятора первого порядка (потом стали менять место положения интегратора, что позволило уменьшить общее количество интеграторов в тракте.
   
Эта схема характерна тем, что на вход интегратора в цепи обратной связи подается не разница между входным сигналом и выходом интегратора (сигнал ошибки), а фиксированное значение (грубо говоря, ноль или единица) в зависимости от знака сигнала ошибки, но не от его величины. То есть, подчеркну, "скорость" работы интегратора не зависит от величины сигнала ошибки. Но она может зависеть от того, как мы настроим параметры интегратора. Если он настроен так, что при подаче логической единицы (или нуля) он за один такт способен изменить значение на своем выходе всего на величину минимального уровня квантования, то тогда работает логика begemot'a, и тактовая частота СД-модулятора для такой настройки должна быть 2,9 ГГц (чтобы за 1/44100 секунды он отработал full-scale скачок, и не произошло "срыва" режима слежения интегратора). Если же интегратор настроить так, чтобы за один такт его выходной сигнал мог измениться на величину во много раз больше уровня квантования (как я понимаю, этот коэффициент выбирается некой степенью двойки), то, естественно, и количество тактов для отработки full-scale скачка потребуется меньше. То, есть, при такой настройке интегратора, можно в ту самую степень двойки раз уменьшить тактовую частоту (оцифровки). Но очевидно, что такая настройка приведет к увеличению среднеквадратичного сигнала ошибки на выходе сумматора, поскольку "следящий" сигнал с интегратора будет гораздо более сильно "болтаться" вокруг входного сигнала. Однако, у нас ведь есть огромный запас по динамическому диапазону при частоте оцифровки 2,9 ГГц (на этот запас ты тоже фактически указал в #1293, взяв даже не 2,9 ГГц, а 90 МГц). Так что мы можем смело уменьшать частоту оцифровки (и, соответственно, меняя настройку интегратора) с 2,9 ГГц до тех пор, пока по динамическому диапазону не опустимся до той же разрядности 16 бит ИКМ. Об этом и я сказал, обращаясь к тебе в посте #1294. Словом, мне кажется, что при такой трактовке, взгляды мои, твои, semigor'a и begemot'a вполне согласуются.
Ответ
#23

Э.., вроде договорились здесь про дельтамодуляцию не мусолить, поскольку не в тему совсем. Может стоит создать отдельную ветку?
Ответ
#24

semigor Написал:Может стоит
Сделаю вечерком

Nobody Is Perfect
Ответ
#25

semimat Написал:Если же интегратор настроить так, чтобы за один такт его выходной сигнал мог измениться на величину во много раз больше уровня квантования

У вас помоему в голове каша из float и integer. Если выходной сигнал квантайзера +/-1, то входной сигнал модулятора должен быть приведен к данным рамкам. При том глубину модуляции принято не доводить до 100% по понятеым причинам.

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

И тут становится еще смешнее, т.к. судя по всему Игорь до сих пор не понимает принципиальной разницы между первым и вторым Big Grin

Для тех кому еще не смешно - напомню:


Файлы вложений Эскизы(ов)
   

"Найкраще сало то ковбаса." (с)
Ответ
#26

Помойму гугл стал всех нещадно банить Big Grin
Первая попавшая ссылка https://www.beis.de/Elektronik/DeltaSigm...Sigma.html бегло пробежался глазами - она толковая

ага годная, видно по вот таким фразам
Цитата:Infinite resolution of the bitstream: In analogue modulators the bitstream is sampled, but not quantized. It still has an infinite resolution just like the analogue signal has
об этом почему то большинство забывает, особенно хаятелей DSD Rofl

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
Ответ
#27

БендеровецЪ Написал:
semimat Написал:Если же интегратор настроить так, чтобы за один такт его выходной сигнал мог измениться на величину во много раз больше уровня квантования

У вас помоему в голове каша из float и integer. Если выходной сигнал квантайзера +/-1, то входной сигнал модулятора должен быть приведен к данным рамкам. При том глубину модуляции принято не доводить до 100% по понятеым причинам.

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

И тут становится еще смешнее, т.к. судя по всему Игорь не понимает принципиальной разницы между первым и вторым Big Grin

Для тех кому еще не смешно - напомню:...

Вот теперь и я снова перестал понимать... Я не вижу принципиальной разницы между дельта и сигма-дельта. Пока я считал, что сигма-дельта произошла от идеи упростить схемотехническое решение дельта, уменьшив количество интеграторов. Я об этом и написал в #1303 (потом стали менять место положения интегратора, что позволило уменьшить общее количество интеграторов в тракте).
Вот как это произошло (выдержка и рисунок из http://www.numerix-dsp.com/appsnotes/APR...-delta.pdf стр. 6-1):
"Delta modulation requires two integrators for modulation and demodulation processes as shown in Figure 6-1(a). Since integration is a linear operation, the second integrator can be moved before the modulator without altering the overall input/output characteristics. Furthermore, the two integrators in Figure 6-1 can be combined into a single integrator by the linear operation property."
   
Второй этап операции уменьшения количества интеграторов я иллюстрирую, изменив этот рисунок путем добавления другого рисунка из статьи, на которую выше дал ссылку nazar (https://www.beis.de/Elektronik/DeltaSigm...Sigma.html).
   
Так что я не вижу проблемы в том, чтобы рассматривать самый первый вариант (дельта) в качестве примера, как можно даже в такой простой архитектуре уменьшить частоту оцифровки по сравнению с 2.9 ГГц и сохранив возможность отработки full-scale скачка. К тому же, и semigor, и begemot в своих постах упоминали именно дельта-модуляцию.
P.S. Конечно, это только пример. Безусловно на практике лучше перейти на более продвинутые решения, позволяющие еще эффективней снижать частоту оцифровки... что и стали делать. Но мы начали "дебаты" с простейшего дельта-модулятора.
Ответ
#28

semimat Написал:Вот теперь и я снова перестал понимать... Я не вижу принципиальной разницы между дельта-сигма и сигма-дельта. Пока я считал, что сигма-дельта произошла от идеи упростить схемотехническое решение дельта-сигмы, уменьшив количество интеграторов. Я об этом и написал в #1303 (потом стали менять место положения интегратора, что позволило уменьшить общее количество интеграторов в тракте).
Вот как это произошло (выдержка и рисунок из http://www.numerix-dsp.com/appsnotes/APR...-delta.pdf стр. 6-1):
"Delta modulation requires two integrators for modulation and demodulation processes as shown in Figure 6-1(a). Since integration is a linear operation, the second integrator can be moved before the modulator without altering the overall input/output characteristics. Furthermore, the two integrators in Figure 6-1 can be combined into a single integrator by the linear operation property."

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

semimat Написал:Так что я не вижу проблемы в том, чтобы рассматривать самый первый вариант (дельта) в качестве примера

Нет и еще раз нет. Разница принципиальная.

semimat Написал:К тому же, и semigor, и begemot в своих постах упоминали именно дельта-сигму.

Опять же, они говорили "делта сигма", а описывали работу/особености дельты. Почему - мне не ведомо. Две совешенно разные вещи.

И меня, если чесно, удивляет данная ситуация, т.к. несколько лет назад был практически аналогичный разговор с Игорем на эту тему, и у него все так же остутсвовало понимание этой разницы. Почитать и разобраться можно в течении пятнадцати минут. Ну пусть часа. Но оказывается проще нести годами одну и ту же чушь.

Если хочется более-менее разобратся, могу порекомендовать полистать эту книгу. Она есть в сети.


Файлы вложений Эскизы(ов)
   

"Найкраще сало то ковбаса." (с)
The following 1 user says Thank You to БендеровецЪ for this post:
  • semimat (04-18-2019)
Ответ
#29

Вот тут для интересующихся этой животрепещущей темой немного информации к размышлению.
https://www.analog.com/media/en/training...MT-022.pdf
http://www.rf2bits.com/RF2BITS/Courses_f...Course.pdf
https://www.ti.com/seclit/ml/slyc139/slyc139.pdf
Как бэ чтоб немного разобраться в этой теме, ибо не всё то курьёзы, что работает немного не так как кажется на первый взгляд.
Ща перенесу кое что из курьёзов.
Чуть позже скину SPICE модельку.

Nobody Is Perfect
Ответ
#30

semimat Написал:Так что я не вижу проблемы в том, чтобы рассматривать самый первый вариант (дельта) в качестве примера
я уже устал повторять что дельта и дельта сигма это абсолютно разные вещи!
БендеровецЪ Написал:Если хочется более-менее разобратся, могу порекомендовать полистать эту книгу.
класная книга, но не для начинающих

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
Ответ
#31

Сначала несколько определений:
Emax - максимальная амплитуда входного синусоидального сигнала, который не перегружает модулятор.
е – единичный перепад аппроксимирующего напряжения
Ft – частота дискретизации
Fc – максимальная частота входного сигнала.
Для дельта-модулятора формула для определения Emax следующая:
Emax = (e*Ft)/(6.28*Fc)
Теперь определим амплитудный диапазон, (АД) дельта-модулятора, как отношение Emax к такому минимальному значению входного сигнала, (Emin), при котором модулятор выходит из режима молчания. Очевидно, что этот сигнал равен:
Emin = e/2,
тогда:
АД = Ft/(3.14*Fc)
Заметим, что эта формула дает еще более суровое значение Ft, поскольку скорость нарастания синусоидального сигнала при переходе через ноль выше, чем у треугольного сигнала той же частоты, по которому мы делали прикидку.
(Уже слышу возмущенные крики: сколько можно объяснять, «что дельта и дельта сигма это абсолютно разные вещи!») 
Действительно, поскольку дельта-сигма модулятор имеет дело не с самим сигналом, а по сути с его интегралом, выражение для Емах не содержит Fc:
Еmax = е*Ft
Ура! Простой перестановкой узлов модулятора мы обманули природу!
Осталось определить амплитудный диапазон, для чего, также, лишнего не мучаясь, просто найдем в литературе формулу для определения Emin дельта-сигма модулятора:
Emin = 3.14*e*Fc
Ой! Появилась Fc. Это что же, с увеличением частоты сигнала увеличивается амплитуда минимального сигнала, выводящего модулятор из режима молчания? Увы – это так.
Найдем АД для дельта-сигма модулятора:
АД = (e*Ft)/(3.14*e*Fc) = Ft/(3.14*Fc),
то есть точно такой же, как и для дельта-модуляции.

P.S. Всем советую переводную книжку «Принципы дельта-модуляции» Р. Стил. Пер. с англ., М.Связь 1979
Ответ
#32

Гыы, и ни на милиметр ближе к пониманию собственной ошибки gigi
Советую прочитать ранее упомянутые материалы и не нести больше чушь про "без разницы дельта или дельта-сигма"

"Найкраще сало то ковбаса." (с)
The following 1 user says Thank You to БендеровецЪ for this post:
  • nazar (04-18-2019)
Ответ
#33

БендеровецЪ Написал:Эту картинку с "упрощением", где интегратор "легким движение руки" переноситься впреред стоит воспринимать очень условно, т.к. между этими двумя позициями присутсвует нелинейная операция, и сотв результат будет разный. И рассматривать работу надо по разному. Дельта модуляция - сугубо попытка заменить передачу абсолютной величины передачей ее приращения от некой начальной величины. Делта-сигма же - это вытеснение сигнала ошибки из целевого диапазона посредством введения усиления перед источником этой ошибки. И размах входного сигнала относительно диапазона выходных значение квантайзера принципиально разный для этих двух случаев.

БендеровецЪ, еще раз спасибо, что ты уделяешь время написанию достаточно развернутых ответов с аргументами. И я сейчас, кажется, понял, что перенос интегратора из демодулятора в модулятор не просто позволяет уменьшить количество интеграторов, но и перераспределят спектр сигнала ошибки в сторону высоких частот, что гораздо важнее. Этот перенос также позволяет снизить частоту оцифровки, в том числе, и потому, что в этом случае не надо отрабатывать скачок входного сигнала, надо отрабатывать интеграл от этого скачка, то есть, более медленный процесс.
А ведь поначалу кажется, что от перестановки "слагаемых" общий результат не изменится (примерно так было написано в http://www.numerix-dsp.com/appsnotes/APR...-delta.pdf стр. 6-1), и что это всего лишь дельта-модуляция не самогО входного сигнала, а его интеграла.
Да уж... я тут придумал целую теорию, как исхитриться и снизить тактовую частоту простого дельта-модулятора, а оказывается нужно просто перенести интегратор... и прийти к сигма-дельта модулятору.
Словом, для меня получилось очень результативное обсуждение.... как и положено, породившее новые вопросы. Но уже на более высоком уровне понимания...
The following 1 user says Thank You to semimat for this post:
  • nazar (04-18-2019)
Ответ
#34

БендеровецЪ, при такой манере общения я обычно сразу посылаю оппонента на известное сочетание из трёх букв. Для вас сделаю исключение. Вы что, с приведенными формулами несогласны или не в состоянии их понять?
Ответ
#35

для СДМ это формулы из разряда "обнять и плакать" :)

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
The following 1 user says Thank You to nazar for this post:
  • begemot (04-18-2019)
Ответ
#36

Semigor, я пересмотрел некоторые свои взгляды после того как пришел к выводу, что дельта-модулятор и сигма-дельта модулятор радикально отличаются. Я не отказываюсь от того, что написал в #2. Но это относится к тому, как снизить частоту простого дельта-модулятора с тех самых 2,9 ГГц. А с сигма-дельта, как я теперь вижу, всё гораздо лучше. Там можно значительно сильнее снизить частоту оцифровки. Но у тебя остаётся другой взгляд на эквивалентность дельта-модулятора и сигма-дельта модулятора. Ты считаешь, что у них отличия если и есть, то непринципиальные. Я тоже так думал, и сомнения в глубине еще остаются (из-за того, что не хватает математических знаний и умения работать в серьезных математических пакетах типа MatLab, и я не могу сам всё проверить). В связи с этим твои возражения очень интересны. К сожалению, мне не удалось найти рекомендованную тобой книгу, а без неё разобраться в твоих аргументах не просто.
Поэтому пока у меня вопросы к приведенным формулам. Самый первый - это к формуле определения Емах для дельта-модулятора:

Для дельта-модулятора формула для определения Emax следующая:
Emax = (e*Ft)/(6.28*Fc)


Получается, что максимальный сигнал, который можно подать на дельта-модулятор зависит от частоты, и при её уменьшении, он стремится к невообразимо большой величине?! Но в реальном АЦП есть ограничение на максимальный сигнал. И сигнал с такой амплитудой должен оцифровываться даже в случае, если эта частота максимальная из рабочего диапазона, к примеру 20 кГц. Вот на этой частоте АЦП должен, грубо говоря, оцифровать входной сигнал с р-р равным примерно напряжению питания АЦП, то есть, к примеру, 5 Вольт. Но как же он тогда сможет оцифровать сигнал с частотой 1 Гц, который, согласно формуле, должен быть 5В*20000=100 000 Вольт р-р! Получается, что эта формула для какого-то идеального дельта-модулятора, а в реальном случае Емах будет одинакова для всех частот и в лучшем случае равна напряжению питания дельта-модулятора. Отсюда следует, что на низких частотах реальный дельта-модулятор будет радикально проигрывать сигма-дельта модулятору, и равенство АД у них будет только на самой высокой частоте рабочего диапазона.
Ответ
#37

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

А причем тут Матлаб? Каким образом Вы опишите в Матлабе то, что хотите узнать?
Ответ
#38

Black_Jack Написал:"Я тоже так думал, и сомнения в глубине еще остаются (из-за того, что не хватает математических знаний и умения работать в серьезных математических пакетах типа MatLab, и я не могу сам всё проверить). "

А причем тут Матлаб? Каким образом Вы опишите в Матлабе то, что хотите узнать?

Меня в свое время поразили изыскания БендеровЦ'а в ветке "ЦИФРОВЫЕ ФОРМАТЫ". Я не ожидал такого потрясающего наглядного эффекта от использования дизеринга, да и некоторые другие неочевидные примеры очень понравились. Я так понимаю, что БендеровеЦ делает всё это в МатЛабе. Я слышал, что в нем есть очень мощные пакеты для ЦОС. Если бы я умел так...

P.S. А вот, чтобы это сообщение было более полезным, советую посмотреть очень хороший ролик про оцифровку:
https://www.youtube.com/watch?v=cIQ9IXSUzuM&feature=youtu.be&t=6m4s
Я ни чего не понимаю по-английски на слух, но качество примеров, особенно, во второй половине ролика, позволяет понять смысл без слов.
Ответ
#39

У БендеровеЦ есть в первую очередь фундаментальные знания в прикладной области.
А Матлаб - это просто универсальный инструмент, бездушный и беспощадный... :)
Ответ
#40

semimat Написал:Я так понимаю, что БендеровеЦ делает всё это в МатЛабе. Я слышал, что в нем есть очень мощные пакеты для ЦОС. Если бы я умел так...
Сергей работает в пайтоне, там тоже немеряно пакетов для "ЦОС"(для "научных вычислений" numpy, scipy), правда ошибок в них тоже хватает. Начать программировать в пайтоне можно за два дня, а вот дальше... надо читать много всего по ЦОС.

Удобней всего качнуть https://www.anaconda.com/ , оо смотрю и пайчарм специально под анаконду будет

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)