СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №6/2012

исходя из пользовательского алго ритма. Редактор сценариев встроен в среду Microwave Office и может быть вызван из меню Tools → Scripting Editor или нажатием клавиш Alt+F11. Типичный вид окна редактора изображён на ри сунке 4. Отметим наличие окна вывода отладочной информации, которым удобно пользоваться при отладке про граммы сценария. В процессе работы сценария можно занести в окно тре буемую информацию с помощью ко манды Debug.Print. Имеется возмож ность создания диалогового окна ин терфейса пользователя, которое может быть сконструировано в окне UserDia log Editor (пункт меню Insert → User Form). Сценарии можно сделать глобаль ными, т.е. доступными из любого про екта, или локальными. Созданные сце нарии могут быть запущены как не посредственно из окна редактора, так и из вкладок Global Scripts или Local Scripts пункта меню Scripts окна Microwave Office. Тело основной про цедуры сценария включается в конст рукцию Sub Main ... End Sub. Допусти мо использовать также пользовательс кие функции и процедуры как внутри данной конструкции, так и за её пре делами. Язык команд обращения к объ ектам среды Microwave Office чёт ко структурирован. Например, для удаления списка частот проекта не обходимо выполнить команду Pro ject.Frequencies.Clear. Первый элемент данной конструкции Project означает обращение к свойствам всего проек та, второй – конкретное «свойство» проекта (здесь Frequencies – пара метры частот проекта), третий – действие над этим «свойством» (в на шем случае, Clear – очистка массива частот). Н АПИСАНИЕ СЦЕНАРИЯ ДЛЯ РАСЧЁТА ППФ Ч ЕБЫШЕВА НА СОСРЕДОТОЧЕННЫХ ЭЛЕМЕНТАХ Создадим сценарий, осуществляю щий построение ППФпо схеме рис. 3б с чебышевской характеристикой на сосредоточенных LC элементах с учё том приведённых выше выражений. Для примера зададимся следующими требованиями: центральная (средне арифметическая) частота ПП f 0 = = 10 ГГц, ширина ПП df 0 = 1,2 ГГц, гра ничная частота ПЗ F s = 12 ГГц, ослабле ние в ПП L p = 0,05 дБ, ослабление на границе ПЗ L s = 80 дБ, Z 0 = 50 Ом, поря док фильтра N = 5. Написание текста основной программыосуществим в те ле Sub Main ... End Sub. Для начала очистим окно отладоч ной информации, введём исходные данные как константы и рассчитаем число π : Debug.Clear Const F0=10e9 ' Центральная час тота ПП (Гц) Const dF0=1.2e9 Const FS=12e9 Const Lp=0.05 Const Ls=80 Const Z0=50 Const N=5 Const Pi = Atn(1)*4 Отметим, что вследствие преобразо вания (3), центральной угловой часто той ω 0 , относительно которой осущест вляется расчёт номиналов элементов схемы ППФ в (4), (5), будет являться среднегеометрическое граничных час тот ПП. Определим некоторые необ ходимые для расчёта частотные пара метры фильтра: Dim Omega0,Omega1,Omega2, OmegaS, BW As Double ' Расчет граничных и среднегео метрической частот ПП Omega1=(F0 dF0/2)*2*Pi Omega2=(F0+dF0/2)*2*Pi Omega0=Sqr(Omega1*Omega2) ' Относительная полоса частот ПП BW=(Omega2 Omega1)/Omega0 ' Нормированная частота ПЗ OmegaS=1/BW*(2*Pi*FS/Omega0 Omega0/(2*Pi*FS)) Расчёт коэффициентов g НЧ про тотипа фильтра осуществим на ос нове выражений (2) следующим об разом: Dim g() As Double ReDim g(N) As Double beta=Log(Ctgh(Lp/17.37)) gamma=Sinh(beta/2/N) g(1)=2/gamma*Sin(Pi/2/N) Debug.Print g(1) For i=2 To N g(i)=... Debug.Print g(i) Next i Здесь мы используем две пользова тельские функции Ctgh и Sinh, кото рые определим после основного тела сценария: ' Гиперболический синус Function Sinh(x As Double) As Double Sinh = (Exp(x) Exp( x))/2 End Function ' Гиперболический котангенс ... Зададим диапазон частот проекта, составляющий, для примера, 100 %по лосу относительно частоты f 0 и вклю чающий 1001 расчётную точку: Dim freq(1000) As Double For k=0 To 1000 freq(k)=F0*0.5+(k)*F0/1000 Next k Project.Frequencies.Clear Project.Frequencies.AddMultiple(f req) Создадим в проекте новую схему (Schematic) с названием filter_circuit и поместим на неё первый порт: ' Включение в проект нового эле мента "Schematic" Dim Filter As Schematic Dim filter_name As String Set Filter=Project.Schematics.Add("fi lter_circuit") filter_name = Filter.Name Dim elem As Element ' Установка порта со стороны входа Set elem = Filter.Elements.Add("PORT",0,0,0) elem.Parameters("Z").ValueAsDou ble =Z0 Команда вида Filter.Elements.Add(Ele ment,X,Y,Angle) добавляет в нашу схе му Filter элемент из набора доступных в среде Microwave Office (здесь Ele ment="PORT") так, что его первая клем ма располагается в точке с координата ми ( X , Y ), а сам элемент повёрнут на угол Angle. Присвоив при этом коман ду добавления порта переменной elem, объявлённой как элемент среды Mic rowave Office, мы можем задать значе ния его параметров, в нашем случае – внутреннего сопротивления Z . Дальнейшие построения и расчёт номиналов элементов осуществим в цикле For ... Next. Колебательный кон тур можно реализовать в виде набора отдельных L и C элементов, но проще использовать последовательный SLC ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 56 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 6 2012 © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy