Запуск имитации наихудшего случая, как описано здесь: LTspice: Анализ схемы в наихудшем случае с минимальными имитациями Прогоны
Как узнать, какие значения схемы использовались во время прогона? В моей симке 12 резисторов, поэтому работает 4096. В прогоне 265 произошел приличный сдвиг в выходном сигнале, поэтому я хотел бы узнать, какие номиналы резисторов использовались во время конкретного прогона.
Глядя на то, как они определяют функцию wc
и binary
в статье, индекс параметризованного значения — это «бит» в номере запуска (начиная с младшего бита), который является последним параметром созданной ими функции wc.
Итак, на рисунке 3 статьи R4 — бит 0, R1 — бит 1, R2 — бит 2, а R3 — бит 3:
Затем, чтобы расшифровать значение каждого резистора, вам просто нужно закодировать номер запуска в двоичном формате, и если конкретный бит равен 0, вы находитесь на минимальном значении, а если 1 — на максимальном значении. Особым случаем является случай, когда индекс выполнения равен . В этом случае все резисторы устанавливаются на номинальное значение.
В качестве примера возьмем прогон 5 из примера, который они приводят в статье. В 4-битном двоичном формате это 0101
, поэтому значение 4 резисторов определяется как:
Если у вас есть другое определение для wc
или binary
, порядок может быть другим.
В вашем случае запуск 265 равен 000100001001
, поэтому любые индексы 0, 3 и 8 являются максимальным значением, а все остальные - минимальным значением.
Я не припомню, чтобы видел ту страницу, на которую вы ссылались ранее, и мне не нужно было проводить наихудшее тестирование множества частей в LTspice. Итак, вы задали мне новый (для меня) вопрос. Но ответ найти было нетрудно.
Давайте возьмем простой случай (чтобы не печатать больше) резисторного делителя:
Я думаю, что точно представил случай по ссылке, которую вы предоставили выше. Когда я запускаю это и нажимаю , и добавляю еще пару трейсов, получаю вот такую диаграмму:
По оси абсцисс — номер прогона, красная кривая — выходное напряжение делителя без нагрузки, зеленая кривая — значение а бирюзовый след - это значение . Вы можете просто прочитать их прямо вне сюжета.
Единственная проблема заключается в том, что вам нужно творчески подойти к определению того, что нужно построить.
Вы также можете использовать карту .MEAS. Так:
.MEAS R1 FIND V(N001,VDIV)/I(R1) WHEN run=RUNSELECT
То есть, если вы определили интересующий вас номер прогона. В этом случае он зафиксирует эти значения для вас и сохранит их в «Журнале ошибок Spice», к которому вы можете получить доступ, используя Просмотр / Журнал ошибок Spice из системы меню.
Вы можете посыпать их столько, сколько считаете нужным. Но в этом случае вы можете захотеть создать PARAM и использовать его вместо этого. Итак, допустим, мне нужны значения для и при запуске=2. Я мог бы сделать следующее:
.PARAM RUNSELECT=2
.MEAS R1 FIND V(N001,VDIV)/I(R1) WHEN run=RUNSELECT
.MEAS R3 FIND V(vdiv)/I(R3) WHEN run=RUNSELECT
Я бы нашел это в файле журнала:
r1: v(n001,vdiv)/i(r1)=4750 at 2
r3: v(vdiv)/i(r3)=5250 at 2
Все красиво снято.
.MEAS
в том, что его можно записать в виде внешнего файла, вызываемого извне через меню File > Execute .MEAS Script (с активным просмотрщиком сигнала), и все это без необходимости повторного запуска моделирование.Создайте поведенческий источник напряжения для каждого устройства (R), затем просто вставьте метки и значения функций схемы. Запустите DC .op (рабочая точка), чтобы получить одно значение за пробный запуск. Постройте каждое напряжение (R). Вы можете вставить эти значения в текстовый файл, чтобы получить таблицу значений R по сравнению с пробным запуском.
Вы также можете запрограммировать скрипт на таком языке, как Matlab, для генерации значений, используя те же шаги программирования, что и LTspice (я подтвердил, что он работает нормально).
Аарон
Аарон