0: Представьте ситуацию. Вы написали алгоритм цифровой фильтрации, выверили каждый цикл, учли переполнение, проверили логику, прошиваете микроконтроллер, подаёте на вход ацп, тестовую синусоиду с лабораторного генератора и вместо чистого результата видите
1: Спектре мусор, лес неправильных гармоник и шумовой фон, который ломает все расчёты. 1 мысль всегда 1 я где-то ошибся в математике вы начинаете ходить по кругу, пересчитываете коэффициенты фильтра, меняете типы данных.
2: Фиксированной точкой на плавающую. Начинаете сомневаться в собственной квалификации. Ошибка может скрываться там, чему вы доверяли больше всего в самом тестовом сигнале. И это классическое проявление 3 закона финейгла в любом
3: Наборе данных та величина, что выглядит безусловно верной и не нуждается в проверке и окажется ошибкой.
4: Конечно, если у вас на столе стоит претензионный измерительный генератор за 1 000 $, вы можете игнорировать этот закон, но если его нет, я решил обойти эту проблему радикально и создать свой собственный генератор идеального сигнала. Раздел.
5: 1 определение целевых параметров в качестве аппаратной базы мы берём доступную плату с плис сайклон 4 на борту. И прежде чем начать созидать, давайте разберёмся, а какого качества сигнал нам вообще требуется? Начнём с о.
6: Объектов тестирования во многих современных микроконтроллерах встроенный ацп заявлен как 12, битный, как правило, это преобразователь последовательного приближения, но номинальная и эффективная разрядность не равны на практике с учётом Шумов кристалла и разводки.
7: Платы имеем от 9 до 11 эффективных бит возьмём оптимистичный сценарий в 11 эффективных бит. Тогда по классической формуле идеального ацп. Это даёт нам отношение сигнал шум для тестируемого тракта порядка 60
8: 8 децибел. Наверное, вполне очевидно, что генератор должен вносить меньше шума и искажений, чем тестируемый ацп, чтобы генератор не стал проблемным местом при отладке закладываем запас в 30 децибел, и поверьте, они нам пригодятся.
9: Тогда целевое значение составит 98 децибел. Верхнюю границу рабочего диапазона зададим в 50 килогерц. Это означает, что в полосе от нуля до 50 килогерц суммарный уровень собственного шума и паразитных гармоник на
10: Нашего генератора не должен превышать - 98 децибел на выбранной для реализации генератора плате установлен кварцевый генератор на 50 мегагерц это и будет базовая тактовая частота нашей системы в этой версии.
11: Проекта мы сознательно отказываемся от использования встроенных умножителей частоты. Да, разогнать плиз можно, но сейчас нам важнее простота архитектуры, предсказуемость спектра и отсутствие дополнительного джиттера, который вносят схемы фапч рассчи.
12: Коэффициент передискретизации или оср, отношение тактовой частоты к минимально необходимой частоте найквиста. Коэффициент 500 это хороший запас по частоте, и именно он даёт нам большие возможности. Такой оср позволяет нам
13: Применить агрессивное шумофон рование и оставить огромное пространство для последующей цифровой обработки. О том, как мы распорядимся этим запасом, поговорим прямо сейчас. Раздел 2 главный узел или принцип работы сигма дельта модулятора.
14: Итак, параметры генератора определены. Верхняя частота рабочего диапазона 50 килогерц, требуемая спектральная частота порядка 98 децибел относительно полной шкалы, аппаратная база эф пиджей сайклон 4 в качестве базовой технологии. Форми.
15: Формирование аналогового сигнала из цифрового применим сигма дельта модулятор. Попробуем сначала применить модулятор 1 порядка и разберёмся, как он работает в прошлом выпуске. Мы наглядно убедились, что традиционный шим создаёт мо
16: Спектральные компоненты на частоте, несущей её гармониках и боковых полосах. Такие компоненты приходится подавлять аналоговым фильтром и сделать это не всегда. Просто сигма дельта. Модулятор работает, иначе он наделён памятью и управляется. Че?
17: Через петлю отрицательной обратной связи. Сам принцип заложен в названии технологии. На 1 этапе вычисляется разность дельта между текущим входным отчётом и предыдущим значением однобитного выхода, возвращённым через обратную связь. Затем это
18: Ошибка не отбрасывается, а накапливается в сумматоре. Это операция интегрирования или сигма, и уже на основе накопленной суммы компоратор принимает решение выдать на выход логический 0 или единицу, в результате однобитный выход непрерывно.
19: Переключается между крайними состояниями, но после усреднения и низкочастотной фильтрации средняя плотность импульсов следует за формой входного сигнала. В частотной области проявляется ключевой эффект петля обратной связи вместе с
20: Интегратором формирует спектр ошибки квантования, шум квантования вытесняется из полезной низкочастотной полосы в область высоких частот. Это явление называется шумофон нием, чтобы шумофон рование работало эффективно, частота одноит.
21: Потока должна многократно превышать минимальную частоту дискретизации для нашего сигнала. Их отношение это тот самый коэффициент передискретизации или оср, который мы уже посчитали ранее. Он у нас равен 500. Давайте проверим.
22: Математику, и посмотрим, что эта цифра даёт нам на практике общая формула теоретического отношения. Сигнал шум для модулятора порядка. Эль выглядит так. Подставляем наши 500 в формулу для модулятора 1 порядка и получаем теоретич.
23: Предел около 77 децибел. Стоп, но наша цель это минимум 98 децибел. Значит, архитектура 1 порядка для нашего случая непригодна, поэтому переходим на порядок выше. Усложняем архитектуру.
24: Добавляя в петлю обратной связи 2 интегратор, модулятор 2 порядка обеспечивает прирост отношения сигнал шум на 15 децибел при каждом удвоении частоты дискретизации пересчитываем потенциал этой схемы, но уже по упрощённой.
25: Формуле для 2 порядка. И вот он результат. Модулятор 2 порядка на заданной тактовой частоте, способен в теории выдать 123 децибела. Это формирует солидный запас поверх целевых 98 децибелов она
26: Означает ли это окончательную победу ни в коем случае эти 123 децибела предел для идеализированной модели в реальном устройстве этот запас начнут съедать джитер тактового генератора, помехи по питанию, предельные циклы модулятора.
27: Конечная разрядность цифровой арифметики, неидеальность выходного фильтра и сам выходной каскад, поэтому дальше наша задача не просто создать структурную схему, а проверить, сколько этого теоретического запаса сохраняется в численной модели. Лучше увидеть реальный спектр.
28: Сейчас, чем потом искать потерянные децибелы уже в железе, как это сделать правильно, надо построить модель, раздел 3 моделирование и верификация параметров. Любые теоретические выкладки это лишь половина дела настоящие.
29: Инженерная работа начинается с верификации, чтобы проверить наши расчёты, мы построили программную модель сигма дельта модулятора. Давайте зададим базовые параметры. Входной поток имеет разрядность 24 бита, а в качестве тестового сигнала
30: Мы используем идеальную синусоиду, да, чистый синус это своего рода тепличные условия, но на данном этапе это именно то, что нужно, чтобы наглядно увидеть базовую механику алгоритма для тех, кто хочет глубже разобраться в деталях. Сообщаю подро.
31: Подробности в программе реализована классическая структура бозера вуле 2 порядка, чтобы интеграторы не переполнялись и петля сохраняла абсолютную устойчивость ограничена амплитуда входного сигнала уровнем - 6, децибел от полной шкалы, кроме того, для борьбы
32: С паразитными тонами применён цифровой дизеринг, а сам спектр рассчитывается методом вэлча с окном блэкмана харриса. Исходный код этой модели будет доступен для скачивания, чтобы вы могли поэкспериментировать с ним самостоятельно в результате работы скрипта.
33: Мы получаем сводку параметров, и график спектра, как и ожидается, для модулятора 2 порядка в высокочастотной области виден Подъём шумовой полки, её характерный наклон близок к 40 децибелам на декаду это наглядный признак того, что шумофон.
34: 2 порядка работает корректно, а теперь посмотрим на ключевые цифры интегральное отношение сигнал шум с учётом искажений или c ndr в нашей целевой полосе до 50 килогерц составляет 113,8.
35: Децибела. Эффективная разрядность и nope достигает уверенных 18,6 бита. Вы можете заметить расхождение, почему мы получили 113,8 децибела, если теоретический предел составлял почти
36: Почти 124. Все очень логично. Во первых, мы намеренно снизили амплитуду на входе для стабильности системы, что сразу опускает теоретический потолок до 117,8 децибела. Во вторых, свой вклад вносит добавле.
37: Нами дизеринг и остаточный шум двадцатичетырехбуквенное Ия. Но даже с учётом этих неизбежных потерь показатель в 113,8 децибела даёт нам неплохой запас по сравнению с нашей изначальной целью в 98 деци.
38: Заключение битва за децибелы только начинается почти 114 децибел чистого динамического диапазона, замечательная картинка спектра и доказанная на модели архитектура, но это не должно нас успокаивать мы пони.
39: Понимаем, что пока это лишь цифры в условиях программного моделирования. То, что ждёт нас при переносе этой математики в реальный плиз, это настоящая битва за каждый децибел. Сегодня мы спроектировали главный узел нашей системы сигма дельта модулятор, но чтобы про
40: Сложился полностью, нужны другие модули системы, нужен эртль код и, конечно, нужна аналоговая часть устройства. По сути, это краткий пересказ тем будущих выпусков. И вот там начнётся настоящая битва ошибки, округления, усечения.
41: Фазы джитер тактового генератора и шумы питания каждый физический узел будет пытаться уничтожить тот запас частоты, который мы сегодня с таким трудом собрали, сможем ли мы удержать эти децибелы в реальном железе?