У меня есть вопрос, хотел спросить вас. Помогите мне пожалуйста. Если пренебречь нелинейную погрешность, функция преобразования АЦП может быть записана как y = a + bx (где a – аддитивная составляющая погрешность АЦП, b = 1-b', где b' – мультипликативная составляющая погрешность АЦП). Таким образом, аналогично АЦП, если пренебречь нелинейную погрешность, то может быть ли функция преобразования ЦАП выражена в виде x = c + dy (где c - аддитивная погрешность, d = 1-d', где d' - мультипликативная погрешность ЦАП)? Если нет, как представить функцию преобразования ЦАП?
может быть ли функция преобразования ЦАП выражена в виде x = c + dy (где c - аддитивная погрешность, d = 1-d', где d' - мультипликативная погрешность ЦАП)?
Может.
_________________ ВНИМАНИЕ! Я часто редактирую свои сообщения, поэтому перед ответом мне советую обновить страницу. За перенос модераторами в МЯВУ тем с моими сообщениями я ответственности не несу.
может быть ли функция преобразования ЦАП выражена в виде x = c + dy (где c - аддитивная погрешность, d = 1-d', где d' - мультипликативная погрешность ЦАП)?
Может.
Спасибо вам.
1) Знаете ли вы, какие-либо литературы (книги, статьи), написанные об этой проблеме? 2) Насколько я понимаю, в datasheet, каждый ЦАП имеет составляющие погрешности: погрешность смещения нуля (аддитивная погрешность, offset error), погрешность полной шкалы (мультипликативная погрешность, gain error), нелинейность, интегральная нелинейность (INL), дифференциальная нелинейность (DNL). Как учитываем их в функции преобразования ЦАП?
1. Нет, с ходу ничего не назову. Ну разве что Хоровица-Хилла, Титце-Шенка, но это, наверно, вы и так уже. 2. Первые две уже учли, а нелинейности... Разве что представить их как источник шума... Не знаю, не занимаюсь я такими мелочами. Те нелинейности у нормальных ЦАПов и АЦП укладываются в младший разряд, так что мне их учитывать ни к чему.
_________________ ВНИМАНИЕ! Я часто редактирую свои сообщения, поэтому перед ответом мне советую обновить страницу. За перенос модераторами в МЯВУ тем с моими сообщениями я ответственности не несу.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
1. Нет, с ходу ничего не назову. Ну разве что Хоровица-Хилла, Титце-Шенка, но это, наверно, вы и так уже. 2. Первые две уже учли, а нелинейности... Разве что представить их как источник шума... Не знаю, не занимаюсь я такими мелочами. Те нелинейности у нормальных ЦАПов и АЦП укладываются в младший разряд, так что мне их учитывать ни к чему.
Я разрабатываю алгоритм, основанный на итерационных методах уменьшения систематической погрешности измерительного преобразователя, написанном Алиевым Т.М. Измерительная система включает АЦП, ЦАП, выходной сигнал АЦП подается обратно в ЦАП, выходной сигнал у которого снова подается в ЦАП. Требование этого метода состоит в том, что ЦАП должен быть более точным, чем АЦП. В своем оригинальном алгоритме, Алиев предпологал, что ЦАП является идеальным, что означает отсутствие погрешностей. Однако на практике ЦАП всегда имеет погрешность, по крайней мере, погрешность ЦАП зависит от количества битов, погрешность опорного напряжения, погрешности нелинейности, и т.д. Поэтому я хочу ввести составляющие параметры ЦАП в его функцию преобразования. В литературе я видел, что функция преобразования АЦП (измерительный преобразователь) описывается в виде линейной с аддитивной и мультипликативной погрешностями. Но я не смог найти функцию преобразования ЦАП с учета погрешностей
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Поэтому я хочу ввести составляющие параметры ЦАП в его функцию преобразования.
Как по мне, проще всего экспериментально замерить выходное напряжение используемого ЦАПа в десятке точек и сделать аппроксимацию передаточной функции полиномом.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Поэтому я хочу ввести составляющие параметры ЦАП в его функцию преобразования.
Как по мне, проще всего экспериментально замерить выходное напряжение используемого ЦАПа в десятке точек и сделать аппроксимацию передаточной функции полиномом.
Спасибо Вам, я тоже так задумал. Мой преподаватель сказал, можно найти функцию преобразования ЦАП путем построения градуировочной характеристики ЦАП, как вы сказали выше. Если так, составляющие погрешности, указанные в datasheet каждого ЦАП не могут быть включены в его функцию преобразования? В другом форуме http://kazus.ru/forums/showthread.php?p ... ost1204636 , говорили что, параметры в функции преобразования (полином) ЦАП не являются постоянными. Как вы думаете? Я хочу использовать высокоточный ЦАП в качестве эталона для калибровки грубых АЦПов. Если коэффициенты в функции преобразования (в полиномиальной форме) изменяются, как решается?
Если так, составляющие погрешности, указанные в datasheet каждого ЦАП не могут быть включены в его функцию преобразования?
В документации как правило приводятся типовые и предельные характеристики. Разумеется, каждый экземпляр прибора может быть как лучше, так и хуже среднего, так что насчет конкретной микросхемы мы заранее ничего сказать не можем кроме того, что хуже предельного значения она не будет.
Это я к тому, что, наверное, красиво было бы построить модель передаточной функции, которая точно описывала бы ЦАП при подстановке справочных значений, но на практике это, увы, невозможно, т.к. каждый ЦАП уникален. Да, мы можем использовать указанное значение максимальной интегральной нелинейности, чтобы получить отклонение от идеала, хуже которого точно не будет (если ЦАП исправен), но у каждой отдельной микросхемы передаточная функция будет своя. Потому если стоит задача сделать прецизионный прибор, выход только один - калибровать каждый экземпляр. Кстати, именно по этой причине точное измерительное оборудование стоит таких безумных денег - его производят практически вручную, с отбором компонентов.
Цитата:
Как вы думаете?
Параметры полинома будут постоянны для конкретной микросхемы (т.е., для конкретного экземпляра, а не типа). Вероятно также, что они будут изменяться в процессе ее старения. Но для разных экземпляров они в общем случае будут отличаться.
Цитата:
Если коэффициенты в функции преобразования (в полиномиальной форме) изменяются, как решается?
Калибровкой каждого экземпляра в отдельности. А потом - периодической поверкой. Именно этим занимаются метрологи.
Цитата:
Я хочу использовать высокоточный ЦАП в качестве эталона для калибровки грубых АЦПов.
Если не стоит задача получить быстро изменяющееся напряжение, то очень хорошие характеристики цифро-аналогового преобразования можно получить, интегрируя ШИМ-сигнал. При стабильном тактовом сигнале и хорошем выходном фильтре можно получить практически идеальную линейность.
Если идти до предела, то можно взять рубидиевый стандарт частоты (можно купить б/у относительно дешево) и затактировать от него CPLD, в которой реализовать, например, шестнадцатибитный счетчик с ШИМ-компаратором. Выходной сигнал подать на аналоговый ключ, которым коммутировать напряжение от термостабилизированного опорного источника. А дальше - пассивный многозвенный фильтр высокого порядка и буфер на ОУ с малым смещением, либо можно сам фильтр реализовать на прецизионных ОУ. Тут главное, чтобы ошибка, вносимая смещением ОУ, не испортила результат. Надо внимательно смотреть. В природе существуют так называемые chopper-stabilized операционные усилители - в них реализована автоматическая калибровка нуля. Прежде всего я бы посмотрел на них.
Вообще, с рубидиевым стандартом я, наверное, загнул немного. Скорее всего термостатированного кварцевого генератора вполне хватит, но идею вы поняли.
Такой ЦАП будет обладать практически идеальной линейностью за счет полного отсутствия элементов, требующих совмещения и калибровки. Даже точная частота среза фильтра не критична, и потому ее изменение за счет дрейфа компонентов не будет оказывать влияния на точность задания выходного напряжения. Потом, надо посчитать - может быть, возможно реализовать полностью пассивный фильтр с нужными характеристиками, и тогда отпадет также и вопрос искажения уровня операционными усилителями фильтра, останется разобраться только с выходным буфером.
Как вариант, можно сделать на ОУ именно интегратор, и дальше поставить схему захвата уровня (sample and hold). Интервал интегрирования можно генерировать с той же CPLD, которая генерирует ШИМ.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Как по мне, проще всего экспериментально замерить выходное напряжение используемого ЦАПа в десятке точек и сделать аппроксимацию передаточной функции полиномом.
Не очень хорошая идея. Я как-то за счёт большой статистики с шумом и жёсткой математики измерял и изучал нелинейность АЦП у ATmega8. Как-то так выглядит выглядит результат:
Видно, что каждое значение АЦП имеет свою собственную погрешность (это даже не смотря на остаточный статистический шум). Особенно это заметно на скачках при переходе от 63 к 64, от 127 к 128 и такого типа. Плюс сама нелинейность довольно таки "не полиноминальная".
Я хочу использовать высокоточный ЦАП в качестве эталона для калибровки грубых АЦПов.
Ну раз пошла такая пляска, то я похвастаюсь своим достижением: в своё время, когда мне захотелось померить нелинейность АЦП, я придумал способ как это сделать без использования эталонных приборов вообще! То есть у меня не было ни эталонного АЦП, ни эталонного ЦАП. Тем не менее результат представлен выше.
Идея метода зародилась из простого эксперимента, который позволял продетектировать наличие нелинейности вообще. Для этого я собрал 8-битный R-2R ЦАП, подключил к нему делитель напряжения из двух резисторов, затем подавая различные значения на ЦАП я измерял пары напряжений в вершине и средней точке делителя напряжения. Если бы АЦП был линейным, то получаемые пары значений образовывали бы координаты точек на плоскости, которые бы ложились на прямую. Однако эта прямая была совсем не прямая даже с учётом погрешности измерения. Отсюда у меня зародилось сильное желание померить нелинейность АЦП у имеющихся чипов.
Конечный метод измерений получился жутко монструозный. Чтобы объяснить преподу по статистике понадобился целый обеденный перерыв. Идея осталась той же, хотя обросла специальными наворотами, позволяющими получить законченный отнормированный результат. Я собрал 12-битный сигма-дельта ЦАП, который естественно был НЕ эталонным, но который позволял генерировать сетку напряжений, значительно более густую, чем сетка напряжений АЦП (это важно!). После этого ЦАПа шёл делитель напряжения из трёх резисторов, который смешивал ноль, питание (являющееся так же опорным напряжением для ЦАПа и АЦП) и сигнал с ЦАПа. После делителя с помощью трансформатора в сигнал подмешивался шум. Дальше шёл изучаемый АЦП. Разумеется, точные соотношения сопротивлений в делителе напряжения я не знал и знать не мог, однако (это важно!) я мог переключать эти резисторы в разных комбинациях и производить измерения для каждой из них. Получалось несколько линейных связей с различными, но связанными (это важно!) коэффициентами между напряжениями, выдаваемыми ЦАП и пороговыми напряжениями переключения АЦП. В эти линейные связи входило так же опорное напряжение.
Дальше шли набор гигантской статистики и жёсткая математическая обработка. Сейчас я уже не помню подробности и почему без наличия шума ничего не взлетит, но я точно помню, что шум и статистическая обработка нужны, и этот метод получения гигантсткой точности буквально из пальца действительно работает. Лектор по статистике в универе метод одобрил, хотя я так и не реализовал честный расчёт погрешности результатов метода.
Если кому-то вдруг станет интересны подробности могу поднять свои матлабовские программы. У меня даже документ с какими-то формулами и текстом сохранился, только надо разбираться.
Огромное спасибо Вам за подробный и полезный ответ. Тема моего исследования - разработка алгоритма коррекции систематической погрешности цифровых средств измерений (АЦП) (АЦП) на основе итерационных методов. Существует много литератур об этом методе, все они предполагают что, ЦАП имеет идеальную линейность x = g (y) = y (без погрешности). Но я думаю, что в реальном практике в ЦАП присутствуют погрешности. Это означает, что функция преобразования ЦАП не является линейной, и хочу учитывать погрешности ЦАП в формуле вычисления результата измерений. Это является обобщенным случаем, а в частном случае – ЦАП идеальная линейность.
Если не стоит задача получить быстро изменяющееся напряжение, то очень хорошие характеристики цифро-аналогового преобразования можно получить, интегрируя ШИМ-сигнал. При стабильном тактовом сигнале и хорошем выходном фильтре можно получить практически идеальную линейность.
Если идти до предела, то можно взять рубидиевый стандарт частоты (можно купить б/у относительно дешево) и затактировать от него CPLD, в которой реализовать, например, шестнадцатибитный счетчик с ШИМ-компаратором. Выходной сигнал подать на аналоговый ключ, которым коммутировать напряжение от термостабилизированного опорного источника. А дальше - пассивный многозвенный фильтр высокого порядка и буфер на ОУ с малым смещением, либо можно сам фильтр реализовать на прецизионных ОУ. Тут главное, чтобы ошибка, вносимая смещением ОУ, не испортила результат. Надо внимательно смотреть. В природе существуют так называемые chopper-stabilized операционные усилители - в них реализована автоматическая калибровка нуля. Прежде всего я бы посмотрел на них.
Вообще, с рубидиевым стандартом я, наверное, загнул немного. Скорее всего термостатированного кварцевого генератора вполне хватит, но идею вы поняли.
Такой ЦАП будет обладать практически идеальной линейностью за счет полного отсутствия элементов, требующих совмещения и калибровки. Даже точная частота среза фильтра не критична, и потому ее изменение за счет дрейфа компонентов не будет оказывать влияния на точность задания выходного напряжения. Потом, надо посчитать - может быть, возможно реализовать полностью пассивный фильтр с нужными характеристиками, и тогда отпадет также и вопрос искажения уровня операционными усилителями фильтра, останется разобраться только с выходным буфером.
Как вариант, можно сделать на ОУ именно интегратор, и дальше поставить схему захвата уровня (sample and hold). Интервал интегрирования можно генерировать с той же CPLD, которая генерирует ШИМ.
Моя специальность относится к метрологии и стандартизации, а про ЦАП не очень хорошо изучил. Я иностранец. Можете ли вы предложить мне литературу (книги, статьи) о проблеме, как достичь идеальную линейность ЦАП?
Можете ли вы предложить мне литературу (книги, статьи) о проблеме, как достичь идеальную линейность ЦАП?
Увы, сходу не могу. Я тоже не занимался этим вопросом всерьез. Единственное, что приходит в голову на тему получения идеальной линейности - интегрирование ШИМ-сигнала, но тут никакой особой математики нет.
Я кстати так подумал, наверное честно интегрировать сигнал будет лучше всего, тем более, что при тактовой частоте счетчика 10 МГц (типовая частота опорного сигнала) и разрешении 24 бита частота ШИМ-сигнала получится порядка 0.5 Гц. Наверное, если сделать интегратор на ОУ с автоматической коррекцией нуля, а стробы обнуления интегратора и захвата значения генерировать синхронно с сигналом (при генерации сигнала в CPLD не представляет сложности), будет самое то.
Цитата:
Дальше шли набор гигантской статистики и жёсткая математическая обработка.
Круто. У меня с математикой, и в особенности теорией вероятности/статистикой, всегда было туго, потому между математическим и схемотехническим решением я как правило выбираю второе.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Единственное, что приходит в голову на тему получения идеальной линейности - интегрирование ШИМ-сигнала, но тут никакой особой математики нет.
Увы! Мои эксперименты по изучению нелинейности АЦП, что правильнее назвать нахождением приборной функции АЦП, параллельно решали задачу и о нахождения приборной функции ЦАП. ЦАП, как я уже писал, являлся синтезированным сигма-дельта сигналом, пропущенным через фильтр 3-го (или 4-го?) порядка на ОУ. Это фактически то, что вы предлагаете, только частота переменная и фильтрация лучше. Эксперименты показали, что о линейности там говорить нельзя. Её ещё меньше, чем у АЦП! Я был в шоке. Эта нелинейность особенно сильно проявлялась на краях диапазона, а в центре был плавный "изгиб". Я до сих пор не понимаю, откуда конкретно она бралась. Есть такие варианты: нелинейность конденсаторов фильтра, нелинейность ОУ (хотя схема была сделана так, что до границ диапазона выходных напряжений сигнал не доходил и ОУ был рейл-ту-рейл). А так же есть ещё такой вариант: нелинейность возникала из-за динамических искажений цифрового сигнала, который из-за завала фронтов не был идеально прямоугольным и величина завала зависела от среднего заполнения/скважности (частота ШИМа была порядка мегагерца).
Так что ШИМ тоже нельзя без калибровки использовать для прецизионных измерений. Мир слишком неидеален. Единственный путь повышения точности измерений без использования заранее откалиброванных прецизионных приборов — построение грамотной модели системы с шумом и набор статистики. Относительная точность будет расти как квадратный корень из размера выборки.
Вот хорошая статья о проблемах построения высокоточных цифроаналоговых устройств. Ее название говорит само за себя: "20-разрядный ЦАП - самая простая часть прецизионного источника напряжения с точностью в 1ррм".
_________________ Like the eyes of a cat in the black and blue...
Я до сих пор не понимаю, откуда конкретно она бралась.
На этот вопрос исключительно сложно ответить, не имея перед глазами схемы и наименований типов компонентов.
Цитата:
частота ШИМа была порядка мегагерца
Это много. Выше я предлагал интегрировать сигнал с частотой порядка единиц герц. При такой частоте время переключения вносит пренебрежимо малый вклад.
Собственно, основная идея такая: счетчик, подключенный к высокостабильному генератору опорной частоты, генерирует два строба. По первому интегратор начинает интегрировать напряжение опорного источника, по второму срабатывает схема выборки-хранения и захватывает текущее значение интегратора.
Интересно было бы поэкспериментировать, жаль у меня нет вольтметров необходимой точности. Хотя на работе есть. Но на работе мне, увы, как правило есть, чем заняться.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения