Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вывести график зависимости ft транзистора от тока в ADS
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
_peter_
Доброго времени суток.

Подскажите какой формулой вывести в ADS график зависимости ft транзистора от тока коллектора.
Есть график зависимости коэффициента усиления по току от частоты.


Не могу найти функцию с помощью которой можно было бы взять точки 0дБ и вывести их в зависимости от соответствующего им тока.
EVS
В качестве идеи: можно для каждого i использовать функцию find_index(data_sweep, search_value), где search_value=0, по полученным индексам найти значения и вывести их в зависимости от i.
_peter_
Цитата
В качестве идеи: можно для каждого i использовать функцию find_index(data_sweep, search_value), где search_value=0, по полученным индексам найти значения и вывести их в зависимости от i.

Наверно это подходит для параметра, задаваемого в ADS, типо частоты или тока, тогда можно, как это написано в примере, найти значение функции (S11) на одном значении этой переменной
Цитата
b = find_index(SP.freq, 1GHz)
a = S11[b]

функция типа dB((AC.I_Probe1.i)/(AC.SRC1.i)) воспринимается как 2 переменные, что сообщает ошибка
Цитата
b=find_index(dB((AC.I_Probe1.i)/(AC.SRC1.i)),0)
While evaluating "b":
Function find_index(), argument 1 ("data") : 2-dimensional data not supported


Alex_IC
В DesignGuide надо смотреть почаще, много полезного - DesignGuide=> Amplifier => BJT Ft, Fmax vs bias
EVS
Вы невнимательны:
Цитата
для каждого i использовать функцию find_index

Цитата( @ Mar 22 2011, 21:17) *
функция типа dB((AC.I_Probe1.i)/(AC.SRC1.i)) воспринимается как 2 переменные, что сообщает ошибка

Естественно. У вас двумерный массив данных. А вот для каждого тока - одномерный, именно к нему применение find_index будет совершенно корректно.


_peter_
Цитата
В DesignGuide надо смотреть почаще, много полезного - DesignGuide=> Amplifier => BJT Ft, Fmax vs bias


Удалосьsm.gif.Спасибо. В дизайн гайде используется функция cross



После ft используется [0], чтобы значения показывались только для соответствующего тока.

Цитата
для каждого i использовать функцию find_index

Для каждого i выдает такую же ошибку

b=find_index(dB(AC.I_Probe1.i),0)
While evaluating "b":
Function find_index(), argument 1 ("data") : 2-dimensional data not supported
1lliivv1
Не хочется создавать новую тему, а спросить кое-что хочется.

Можно ли как-нибудь в ADS передать константу из Data display в Schematic в тот же самый или в другой?

Ведь, насколько я понял, сначала считается Schematic , а потом Data display. Мне нужно взять значение, например значение маркера, а потом передать это значение в элемент схемы и опять посчитать. То есть как бы отправить расчет на второй круг. Если это нельзя, то можно ли передать значение в другой Schematic и опять посчитать?
EVS
Цитата(_peter_ @ Mar 23 2011, 13:54) *
Для каждого i выдает такую же ошибку

Вы совершенно не представляете себе структуру данных в датасете ADS. И бездумное копирование примеров из гидов этих знаний не добавит. Лучше бы сами разобрались, что вы делаете.

Цитата(1lliivv1 @ Mar 27 2011, 19:06) *
Можно ли как-нибудь в ADS передать константу из Data display в Schematic в тот же самый или в другой?

Как вариант, можно сохранить значение маркера функцией write_var() из DD в обычный текстовый файл. Но... сможет ли ADS из схематика его прочитать - вопрос. Agilent очень консервативен в формате читаемых через DAC файлов. Скорее всего придется написать на ael функцию чтения этого файла и вставить ее в meas_equa.
1lliivv1
Вариант с использованием файла и ael интересен, но хотелось бы чего-нибудь попроще. Неужели в ADS нет обратной связи? Ведь можно же с помощью meas_equa передать в DD константу, а обратно уже получается никак. Я загружаю измеренные данные и, зная схему - модель, считаю по графику значения параметров. Сейчас я вручную вставляю насчитанные данные из DD, потом опять включаю симуляцию и сравниваю модель с измерениями, получается очень долгий процесс.
EVS
Цитата(1lliivv1 @ Mar 28 2011, 21:55) *
хотелось бы чего-нибудь попроще.

Куда уж проще. Например, чтение маркера m1:
В DD помещаете что-то типа: out_var_marker=write_var("marker_out.txt", "W",,,,, m1)
В схематик meas_equa, примерно такое: Marker_DD=sta_read_marker_file()
Сама функция (естественно, с вашим путем к файлу):
----------------------------------------------------------------------------------------
defun sta_read_marker_file()

{
decl file_ID;
decl file_Line;

file_ID = fopen("e:\ADS2009U1\Work\BPF_T30_prj\marker_out.txt", "R");
file_Line = fgets(file_ID);
fclose(file_ID);
return val(file_Line);
}
----------------------------------------------------------------------------------------
Наверняка, можно и по-другому, но лень думать, задача странная biggrin.gif ...

Упс... данные нужны до начала симуляции, а не после sad.gif . Ну тогда только через DAC. Придется писать стандартный discr. mdf, примерно так, для двух маркеров:
----------------------------------------------------------------------------------------
defun sta_write_marker_to_dscr_file (mark1, mark2)
{
decl file_ID;
decl S1 = "BEGIN DSCRDATA";
decl S2 = "% INDEX MK1 MK2";
decl S3 = "END";
decl S_Data;

S_Data = strcat("0 ", mark1," ", mark2);

file_ID = fopen("<путь>\markers_from_DD.mdf", "W");
fputs(file_ID, S1);
fputs(file_ID, S2);
fputs(file_ID, S_Data);
fputs(file_ID, S3);
fclose(file_ID);
}
-------------------------------------------------------------------------------------------

1lliivv1
Спасибо за ответ, сейчас руки доходят до этой задачи, так что скоро проверю, как это работает.

Но возникла одна проблема, может кто-нибудь знает, как решить.
При создании в Layout документации на изготовление печатной платы СВЧ возникла проблема с переносом позиционных обозначений навесных элементов (например "С1", "С2","R1") в какой-нибудь слой при экспорте в файл топологии. Если зайти:

Options->Preferences->Component Text

то для Component Name и Instance Name можно выбрать определенные слои, но самой надписи нет при экспорте в файл, например в GDSII, хотя, если нарисовать этим же слоем какую-нибудь линию, то она спокойно экспортируется в файл. Может Component Text в принципе нельзя экспортировать или я что-то делаю не так? У меня ADS2009u1 , в ADS2011 так же?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.