LINUX.ORG.RU

Библиотека для примитивных расчётов электрических схем

 , ,


0

2

Всем примет. Сразу скажу, в электронике я понимаю примерно ничего, поэтому возможно корявое выражение мыслей.

Есть у меня некий тракт, через который идёт сигнал. И есть желание его замоделировать на примитивном уровне «на вход подаётся такая-то мощность (dBm) и синус такой-то частоты (MHz), какая будет мощность на выходе». Хотелось бы инструмент (либу) в примерном стиле: базовый класс, я от него наследуюсь, создавая кастомные классы, которые будут вести себя как элементы моего тракта (потому что есть только измерения этих элементов в стиле «изменение мощности на такой-то частоте», хранящиеся в отдельных файлах). Соответственно, мои кастомные классы будут тупо подгружать данные из файлов, а либа уже вызывать их методы, где они выдадут изменение (падение) мощности на заданной частоте. Для других элементов тракта мне выдадут некие S-параметры, штука, как я понял, типовая для использования в такого рода либах.

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



Последнее исправление: s3rjke (всего исправлений: 1)

Почему требуется именно библиотека? Чем не устраивают существующие программные средства? Существует набор библиотек для Питона scikit-rf https://scikit-rf.readthedocs.io/ Или генерировать нетлист для ngspice и потом интерпретировать результат.

DarthVadimius ★★★★
()
Ответ на: комментарий от no-such-file

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

s3rjke
() автор топика
Ответ на: комментарий от DarthVadimius

Почему требуется именно библиотека?

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

Чем не устраивают существующие программные средства?

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

s3rjke
() автор топика
Ответ на: комментарий от s3rjke

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

берешь любой понравившейся попенсорсный эмулятор радиосхем и корежишь его под себя.
опенсорц эмулятор радиосхем гугли в тырнетике.
… profit !!

pfg ★★★★★
()
Ответ на: комментарий от s3rjke

Так я ж не в курсе, какие программные средства существуют.

Ngspice home page https://ngspice.sourceforge.io/ free of charge LGPL. Там и библиотек полно, только это не значит, что все компоненты в библиотеках работают. А так все симуляторы построены на основе spice и этих симуляторов пруд пруди, у каждого производителя электронных компонентов свой, да и мат модели производители шифруют под свою софту.

saufesma
()
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от saufesma

Да уж, глянул их мануал. Судя повсему, для чернового варианта проще будет свои сущности натяпляпать, и всё это на питоне дёргать (особенно, когда добавится работа с S-параметрами).

s3rjke
() автор топика

Одно дело считать какой-нибудь преобразователь, другое – усилитель, третье – логику, четвëртое – антенное и кабельное хозяйство. Наборы параметров для каждого случая свои, вряд ли это под силу какой-то одной программе. А ещë, советские радиолюбители находили «недокументированные возможности» у разных электронных компонентов, например, использовали выпрямительные диоды в качестве высоковольтных стабилитронов.

yars068 ★★★★★
()
Ответ на: комментарий от saufesma

Оно всё давно собрано и промеряно на датчике мощности с разными параметрами (частоты, аттенюации, усиления) компонентов тракта. На текущий момент хотелка «иметь модель, на которой можно посмотреть как изменится мощность на выходе при таких-то настройках компонетнов тракта, а как при вот таких-то».

Эмпирические данные есть.

s3rjke
() автор топика
Последнее исправление: s3rjke (всего исправлений: 1)
Ответ на: комментарий от s3rjke

Это да. Но только мат модельки деталек из которых ты соберешь свой макет не отображают характеристики своих оригиналов. На выходе у тебя билиберда будет. Толковое получится из этой затеи тогда когда сами напишите мат модели своих нелинейных элементов скрупулезно с изменениями температуры, напряжения, тока нагрузки. Не один месяц займет, из опыта Jim Williams https://en.wikipedia.org/wiki/Jim_Williams_(analog_designer)

saufesma
()
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от yars068

или использовали выпрямительный диод как варикап :)
или стабилитрон в точке начала обратного пробоя для получения широкополосного шума.
или еще чего…

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

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

нужно посложнее - используй элемент посложнеее

Куда уж сложнее нелинейного элемента с характеристиками зависящими от температуры на которую влияет температура окружающей среды!

saufesma
()
Ответ на: комментарий от saufesma

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

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

На выходе у тебя билиберда будет.

На текущий момент грубый вариант устраивает.

s3rjke
() автор топика
Ответ на: комментарий от s3rjke

На текущий момент грубый вариант устраивает.

Вариант вариантом. Если ваша поделка по госту то где-то есть гост проверки вашей поделки. Ну, а если спичет с параметрами так натыкай в интересующие места приборов и снимай! Поставь камеру и оставь включенной на ночь, на пару дней.

saufesma
()
Ответ на: комментарий от saufesma

не. наобормот :) для простых расчетов используют упрощенную модель диода, прямое напряжение и хватит.
а для сложных нет предела точности :)…

pfg ★★★★★
()

Моделировать радиотракты можно в gnuradio. Но оно не библиотека, а самостоятельная программа. В модель можно вставлять всякие «крутилки параметров». Можно и свои блоки туда дописывать. Вобщем - почитайте где-нибудь обзор что оно умеет.

На очень мощных компах оно даже реальные радиосигналы обрабатывать может если их вводить например с продвинутого дорогого SDR-приемника. Кстати, SDR можно не обязательно к антенне подключать. Например в тракт ПЧ тоже можно - тогда он покажет что там происходит.

watchcat382
()
Последнее исправление: watchcat382 (всего исправлений: 1)

То что ты хочешь невозможно (чтоб начальству помоделировать и ничего ручками не делать потом). Потому что есть такая вещь, как наводки. А наводки чтоб посчитать надо знать кучу информации о схеме физической, как минимум расстояние между дорожками, проводами и элементами схемы, а ещё и топологию их тоже знать надо. Короче шляпа и куча геморроя. Так что чисто классами говно выйдет. В софт который с GUI так умеет поверю. В программный подход (с которым будет просто работать) нет.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 3)
Ответ на: комментарий от s3rjke

Судя повсему, для чернового варианта проще будет свои сущности натяпляпать

Чем тебя так поразил их мануал? Большой и сложный, ничего не понятно? Это отражает сложность твоей задачи. Натяпляпить конечно можно. Результат будет плачевный.

когда добавится работа с S-параметрами

Тебе не нужно работать с S-параметрами. (Если только твоя поделка не радар, или спутниковая связь).

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

спутниковая связь

Ё моё! Так ты связист! А скажи тогда, можно взять антенну Ягу, передатчик 1Вт на частоте 435-437 МГц используя CubeSat передать сообщение на приемник в городе ну и наоборот. А какие разрешения надо если,что? Риторический вопрос.

saufesma
()

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

Я предельно серьезно это утверждаю. Предостерегая, как пророк о катастрофе.

James_Holden ★★★★★
()
Ответ на: комментарий от no-such-file

Чем тебя так поразил их мануал? Большой и сложный, ничего не понятно? Это отражает сложность твоей задачи. Натяпляпить конечно можно. Результат будет плачевный.

Для неплачевного результата нужно разбираться. Для того, чтобы разобраться, нужно затратить время (учитывая отсутствие нужного образования – много), которое выделять мне не будут. Поэтому будет использован «плачевный» результат, чтобы известно что прикинуть к известно чему хотя бы примерно. Все всё понимают.

s3rjke
() автор топика
Ответ на: комментарий от James_Holden

Да моделирование на самом деле громкое слово, хоть и как будто бы подходящее. По факту речь идёт об извлечении (или примерном вычислении) изменения мощности на основании полученных экспериментально данных. Вычисляться оно будет в том же диапазоне, в котором были получены данные (т.е. в тех случаях, когда будем попадать на измеренные точки, даже вычислять ничего не надо, просто берём готовое значение).

Может быть я коряво описал задачу, а надо было писать «чёрный ящик А, преобразующий циферку на входе передаёт получившееся значение в чёрный ящик Б, которые тоже её как-то преобразует и передаёт следующему ящику и т.д., надо получить что будет на выходе цепочки». Циферок две, мощность и частота, причём преобразуется мощность в зависимости от частоты. Логику ящиков я могу предоставить в виде классов на C++, посоветуйте либу, где это можно соединить и она будет сама считать. Всё.

Потом добавится ещё один компонент, для которого будет описание в виде S-параметров, как мне объяснили, а понять я мог неправильно, естественно.

Если тут на самом деле нет задач именно для моделирующего софта, то прошу прощения за неправильно выставленные теги.

s3rjke
() автор топика
Последнее исправление: s3rjke (всего исправлений: 2)
Ответ на: комментарий от s3rjke

Ну как бэ это вообще не похоже на «рассчет электрических схем». В такой постановке задача, насколько я ее понял, подходит для решения в gnuradio либо Matlab/Simulink (вместо него можно использовать Scilab). Также, возможно OpenModelica. Это все не либы, а матпакеты, платформы для расчетов. «Либы» как раз можно туда добавить свои на C.

В академической среде, применяли бы Matlab/Simulink сразу для такого. Но, это я думаю понятно с какими проблемами сопряжено.

James_Holden ★★★★★
()

такой-то частоты (MHz)

ну уж не стесняйся, скажи: вч-тракт. А «ВЧ моделирование» и «просто моделирование» - это две большие разницы, как говорят у нас в Одессе.

Есть у меня некий тракт

Берешь, строишь свой тракт в Cadence AWR Design Environment Platform, моделишь, получаешь достоверные данные.

Но тебе тут и так в панамку напихали (и всё по делу!)

aol ★★★★★
()
Ответ на: комментарий от s3rjke

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

Удачи!

sparkie ★★★★★
()