У статті наведена коротка інформація про генератори сигналів у безкоштовній програмі моделювання аналогових та цифрових пристроїв QSPICE від компанії Qorvo. Показані особливості налаштування та роботи з генераторами.
В. Макаренко
У другій частині статті розглянемо генератори сигналів програми QSPICE.
Генератор прямокутних імпульсів
Виклик генератора натисканням клавіші v.
Синтаксис параметрів генератора має вигляд:
pulse(Voff Von Tdelay Trise Tfall Ton Tperiod Ncycles),
де:
- Voff -мінімальна напруга імпульсу, В
- Von – максимальна напруга імпульсу, В
- Tdelay- час затримки початку формування імпульсів, с
- Trise – тривалість фронту імпульсу, с
- fall – тривалість спаду імпульсу, с
- Ton- тривалість сталого стану імпульсу, с
- Tperiod- тривалість переіоду слідування імпульсів, с
- Ncycles- кількість імпульсів (при відсутності цього параметру формується неперервна послідовність імпульсів).
Параметри можна писати як в дужках, так і без них.
На рис. 1 наведена модель генератора, на рис. 2 – результат формування 5 імпульсів з амплітудою +3 В і затримкою 10 мкс. На рис. 3 наведена – неперервна послідовність однополярних імпульсів амплітудою 3 В (при відсутності Ncycles у параметрах генератора імпульсів).

Рис. 1. Модель для дослідження генератора імпульсів

Рис. 2. Результат формування імпульсних сигналів відповідно моделі на рис. 1

Рис. 3. Неперервна послідовність імпульсів (при відсутності Ncycles у параметрах генератора імпульсів)
Генератор імпульсів може формувати трикутні та пилкоподібні імпульси. На рис. 4 наведена модель генератора двох біполярних трикутних імпульсів, а на рис. 5 – часові діаграми сформованого сигналу.
Змінюючи напругу зміщення, тривалості фронту, спаду, вершини та інтервалу між імпульсами, можна сформувати імпульсний сигнал довільної форми, що складається з чотирьох лінійних відрізків.

Рис. 4. Модель генератора трикутних біполярних імпульсів

Рис. 5. Часові діаграми вихідного сигналу генератора трикутних імпульсів
Генератор експоненціальних імпульсів
Синтаксис параметрів генератора має вигляд:
pulse EXP V1 V2 Td1 Tau1 Td2 Tau2 Td3 N Tperiod, де:
- V1 – початкове значення напруги, В
- V2 – амплітуда імпульсу, В
- Td1 – час затримки підйому, с
- Tau1 – постійна часу наростання, с
- Td2 – час затримки спаду, с
- Tau2 – постійна часу спаду, с
- Td3 – час затримки повтору імпульсів, с
- N – кількість імпульсів
- Tperiod – період повторення, с.
На рис. 6 наведена модель генератора експоненціальних імпульсів.

Рис. 6. Модель генератора експоненціальних імпульсів для формування одного імпульсу
Форма сигналу, сформованого генератором експоненціальних імпульсів, наведена на рис. 7.

Рис. 7. Експоненціальний імпульс сформований генератором на рис. 6
При формуванні повторюваних пакетів з декількох імпульсів потрібно ввести всі параметри генератора. На рис. 8 наведена модель формування неперервної послідовності пакетів з трьох експоненціальних імпульсів, а на рис. 9 – часові діаграми сформованого сигналу.

Рис. 8. Модель формування неперервної послідовності пакетів з трьох експоненціальних імпульсів

Рис. 9. Часові діаграми неперервної послідовності пакетів з трьох експоненціальних імпульсів
При значеннях часу, менших Td1, вихідна напруга дорівнює V1. При значеннях часу між Td1 і Td2 напруга визначається рівнянням:
V(t) = V1 + (V2 – V1)-(1 – exp- (t – Td1)/Tau1)).
Для значень часу після Td2 напруга задається формулою:
V(t) = V1 + (V2 – V1)-(1- exp -(t -Td1)/Tau1)) – – (V2 – V1)-(1- exp(-(t – Td2)/Tau2)).
Генератор частотно-модульованого сигналу
Синтаксис параметрів генератора має вигляд:
SFFM Voff Vamp Fcar MDI Fsig,
де:
- Voff – постійне зміщення, В
- Vamp – амплітуда вихідного сигналу, В
- Fcar – частота носійного коливання, Гц
- MDI – індекс модуляції
- Fsig – частота модулюючого коливання, Гц.
На рис. 10 наведена модель ЧМ-генератора з но- сійною частотою 20 кГц, частотою модулюючого сигналу 3 кГц і індексом модуляції 2. Форма та спектр сформованого ЧМ-сигналу наведені на рис. 11 і 12, відповідно.

Рис. 10. Модель генератора ЧМ-сигналу

Рис. 11. Вихідний сигнал ЧМ-генератора

Рис. 12. Спектр ЧМ-сигналу виміряний з використанням вагової функції Kaiser
Генератор імпульсів Гауса
Синтаксис параметрів генератора має вигляд:
GAUSS Td Amp Sigma , де:
- Td – час затримки, с
- Amp – амплітуда сигналу, В
- Sigma – стандартна девіація, с
- – період повторення (не обов’язково).
Модель генератора Гауса наведена на рис. 13, а форма періодичного сигналу на його виході – на рис. 14.

Рис. 13. Модель генератора імпульсів Гауса

Рис. 14. Форма сигналу періодичної послідовності імпульсів Гауса
Уявне імпульсне джерело Гауса Imaginary Gaussian Pulse Voltage Source
Синтаксис параметрів генератора має вигляд:
IGAUSS Td Period Sigma Amp,
де:
- Td – час затримки, с
- Period – період повторення
- Sigma – стандартна девіація, с
- Amp – амплітуда сигналу, В.
Модель генератора Гауса наведена на рис. 13, а форма періодичного сигналу на його виході – на рис. 14.

Рис. 15. Модель уявного генератора імпульсів Гауса

Рис. 16. Форма сигналу періодичної послідов- ності імпульсів на виході уявного Гауса
Джерело частотно-маніпульованого сигналу з частотною модуляцією Piece–wise Linear Chirp Source
Синтаксис параметрів генератора має вигляд:
CHIRP AMP T1 FREQ1 T2 FREQ2 .
У моменти часу до T1 напруга являє собою синусоїдальну хвилю з амплітудою AMP і частотою FREQ1, в періоди часу між T1 і T2 частота змінюється лінійно між частотами 1 і 2. Може бути задано будь-яку кількість часових і частотних точок. Для часу, що минув після останнього разу, частота не змінюється.
На рис. 17 наведена модель генератора з лінійною частотною модуляцією від 30 кГц до 3 кГц на обмеженому інтервалі часу від 0 до 2 мс. На інтервалі часу від 2 до 4 мс вихідна частота генератора не змінюється і дорівнює 3 кГц.
Якщо додатково ввести параметри (рис. 19), то частота сигналу змінюється на всьому і сигнал приймає вигляд наведений на рис. 20.
Як випливає з рис. 20, частота змінюється від початкового значення до заданого на протязі перши 2 мс, а на інтервалі часу після 2 мс продовжує змінюватись і знижується до 0.
Якщо у параметрах генератора записати додатково тільки XTRAP (рис. 21), то формується сигнал з лінійною частотною модуляцією у якому на інтервалі часу 2 мс частота знижується з 30 до 3 кГц, а на інтервалі часу від 2 до 10 мс – зростає від 3 до 30 кГц (рис. 22).

Рис. 17. Модель генератора з лінійною частотною модуляцією на обмеженому інтервалі часу

Рис. 18. Форма сигналу з лінійною частотною модуляцією на інтервалі часу 0…2 мс

Рис. 19. Модель генератора з лінійною частотною модуляцією і додатковими параметрами

Рис. 20. Форма сигналу з лінійною частотною модуляцією і додатковими параметрами

Рис. 21. Модель генератора з лінійною частотною модуляцією і додатковим параметром

Рис. 22. Форма сигналу з лінійною частотною модуляцією і додатковим параметром
На рис. 23 наведено приклад генератора з трьома заданими інтервалами. На інтервалі 0…2 мс частота змінюється від 30 ло 3 кГц, на інтервалі 2.4 мс частота змінюється від 3 до 6 Гц і на інтервалі 6.10 мс дорівнює 1 кГц.

Рис. 23. Модель генератора з трьома заданими інтервалами зміни частоти

Рис. 24. Сигнал на виході генератора з трьома заданими інтервалами зміни частоти
Розглянуті приклади демонструють широкі можливості такого генератора.
Шматочно-лінійне джерело напруги (Piece–wise Linear Voltage Source)
Синтаксис параметрів генератора:
PWL t1 v1 t2 v2 t3 v3… , PWL FILE file.txt .
Для періоду часу до t1 напруга дорівнює v1. Для періоду часу між t1 і t2 напруга змінюється лінійно між v1 і v2. Може бути вказано будь-яку кількість часових точок напруги. Після останнього значення часу напруга не змінюється і її значення долівнює останньому вказаному значенн.
Другий синтаксис дозволяє завантажувати пари точок часу та значення з файлу file.txt.
Точки PWL можна повторити з наступним синтаксисом:
PWL REPEAT FOR 3 t1 v1 t2 v2 t3 v3… ENDREPEA, PWL REPEAT FOREVER t1 v1 t2 v2 t3 v3… ENDREPEAT.
На рис. 25 наведена модель для формування сигналу з двох відрізків, а саме трикутного імпульсу амплітудою 1 В і тривалістю фронту і спаду по 100 мкс. Форма сигналу на виході цього генератора наведена на рис. 26.

Рис. 25. Модель для формування сигналу з двох відрізків

Рис. 26. Форма сигналу сформованого з двох відрізків генератором на рис. 25
На рис. 27 наведено генератор, що формує сигнал з п’яти відрізків, а на рис. 28 – форма сигналу на його виході.

Рис. 27. Модель для формування сигналу з декількох відрізків

Рис. 26. Форма сигналу сформованого з декількох відрізків генератором на рис. 27
На жаль у файлі підказки програми у переліку генераторів більше ніяких пристроїв немає. Для формування складних сигналів струму або напруги потрібно використовувати джерела з модифікацією поведінки або, так звані, довільні генератори.
Довільне джерело напруги або струму (Arbitrary Behavioral Voltage or Current Source)
Довільне джерело напруги або струму натисканням клавіши B, а струму – утриманням клавіши B поки не з’явиться джерело струму (рис. 33).

Рис. 33. Довільні джерела напруги і струму
Вирази, що визначають функціонування джерел напруги V, струму I та функціонального резистора R мають синтаксис:
V=<eupa3> , 1=<вираз> , R=<eupa3> .
У виразах прийняті наступні позначення:
- ic (Initialvalue) – початкове значення у амперах чи вольтах
- CPAR – паралельна ємність, Ф
- Rser – послідовний опір, Ом
- Rpar – паралельний опір, Ом
- SYNTHESIZE- синтезована схема Лапласа навіть для анлізу на змінному струмі .AC
- THEVENIN-еквівалент Theveninдля довільного опору.
За допомогою <виразу> можна отримати доступ до напруги і струмів будь-якого пристрою, представленого в еквіваленті Thevenin: V-пристроїв, E- пристроїв, І-пристроїв, h-пристроїв і B-пристроїв, які представляють собою напругу або резистори, зазначені як Thevenin.
Також можна отримати доступ до струмів деяких пристроїв, представлених у Norton equivalent: F- пристроїв, G-пристроїв, R-пристроїв, s-пристроїв та W-пристроїв. Значення струмів цих еквівалентів Norton точні з точністю до ітерації і коректно функціонують при аналізі змінного струму.
В якості незалежних змінних можуть використовуватися різні напруги і струми модельованої схеми, а також змінна time, що символізує поточний час моделювання. Над цими змінними можна здійснювати- різні математичні та логічні операції (табл. 1), а також використовувати їх в якості аргументів різних математичних і логічних функцій (табл. 2).
Розглянемо приклад використання функціонального джерела напруги. На рис. 34 наведена схема амплітудного модулятора, побудованого нетрадиційним способом. Модулятором служить джерело напруги B1, а джерелами носійного і модулюючого коливань, генератори напруги V1 і V2, відповідно.
Глибина модуляції задається величиною постійного зміщення генератора V2 (на моделі рис. 34 ця величина дорівнює 2.2 В).

Рис. 34. Амплітудний модулятор на основі довільного джерела напруги
Таблиця 1. Математичні і логічні операції
| Операнд | Виконувана операція |
| & | Перетворення операнда до Булевої змінної і виконання операції І |
| I | Перетворення операнда або виразу до Булевої змінної і виконання операції АБО |
| “ | Перетворення операнда або виразу до Булевої змінної і виконання операції виключне АБО |
| < | Істина, якщо вираз зліва менше, ніж вираз праворуч, інакше невірно |
| > | Істина, якщо вираз зліва більше, ніж вираз праворуч, інакше невірно |
| <= | Істина, якщо вираз зліва менше, ніж або дорівнює вираз праворуч, інакше невірно |
| >= | Істина, якщо вираз зліва більше, ніж або дорівнює вираз праворуч, інакше невірно |
| + | Додавання з плаваючою комою |
| – | Віднімання з плаваючою комою |
| * | Множення з плаваючою комою |
| / | Ділення з плаваючою комою |
| ** | Піднесення до степеня (повертається лише реальна частина. Те саме, що “””. |
| ! | Логічне значення, а не наступний вираз |
Таблиця 2. Математичні і логічні функції
| Функція | Опис |
| abs(x) | Абсолютне значення x |
| absdelay(x,t) или delay(x,t | Затримка x на час t. Опціонально максимальний час затримки tmax |
| acos(x) или arccos(x) | Дійсна частина arccos(x), Напрклад, acos(-5) повертає значення 3.14159, а не 3.14159+2.29243І |
| acosh(x) | Дійсна частина гіперболічного косинуса ch(x). Наприклад, acosh(.5) повертає значення 0, а не 1.0472i |
| asin(x) или arcsin(x) | Дійсна частина arcsin(x). Наприклад, asin(-5) дорівнює -1.57080, а не -1.57080+2.29243i |
| asinh(x) | Гіперболічний синус sh(x) |
| atan(x) или arctan(x) | arctg(x) |
| atan2(y,x) | Чотириквадрантний arctg(y/x) |
| atanh(x) | Гіперболічний арктангенс arcth(x) |
| buf(x) | 1, якщо x > .5, інакше 0 |
| ceil(x) | Целое число, равное или большее x |
| cos(x) | Косинус x |
| cosh(x) | Гиперболический косинус ch(x) |
| ddt(x) | Похідна за часом від x |
| dnlim(x,y,z) | Аналогічно max (x,y), але з безперервною 1-ю похідною шириною переходу z |
| exp(x) | ex |
| floor(x) | Ціле число, рівне або менше x |
| hypot(x,y) | sqrt(x**2 + y**2) =sqrt(x2 + y2) |
| idt(x]) | Інтеграл від x, початковий стан (ІС – Initial value) скинути, якщо це істина |
Продовження таблиці 2
| Функція | Опис |
| idtmod(x]] | Інтеграл від x, початковий стан ic, скидання при досягненні абс. значення m, вихід зміщення о |
| if(x,y,z) | Якщо х > .5, потім y інакше z |
| int(x) | Перетворення x в ціле число |
| inv(x) | 0, якщо x > .5, інакше 1 |
| limit(x,y,z) | Проміжне значення x, y і z |
| ln(x) | Натуральний логарифм x |
| log(x) | Альтернативний синтаксис для ln() |
| logio(x) | Десятковий логарифм |
| max(x,y) | Більше x або y |
| min(x,y) | Менше x или y |
| pow(x,y) | Действительная часть x**y = xy. Например, pow(-1,.5)=0, без i |
| pwr(x,y) | abs(x)**y = abs(x)y |
| pwrs(x,y) | sgn(x)4abs(x)**y = sgn(x)4abs(x)y |
| rand(x) | Випадкове число від 0 до 1 в залежності від цілочисельного значення x |
| random(x) | Аналогічно rand (), але плавні переходи між значеннями |
| round(x) | Найближче ціле число х |
| sdt(x]) | Альтернативний синтаксис для idt() |
| sgn(x) | 1 при х > 0, 0 при x = 0 і -1 x < 0 |
| sin(x) | Синус х |
| sinh(x) | Гіперболічний синус sh(x) |
| sqrt(x) | Квадратний корінь x |
| table(x,a,b,c,d,…) | Інтерполювати значення для X на основі таблиці (задається множиною пар точок) |
| tan(x) | Тангенс x |
| tanh(x) | Гіперболічний тангенс th(x) |
| u(x) | Крок зміни – 1якщо x > 0., инакше 0 |
| uplim(x,y,z) | Аналогічно min (x,y), але з безперервною 1-ю похідною шириною переходу z |
| uramp(x) | x, якщо x > 0., инакше 0 |
| white(x) | Випадкове число між -.5 а .5. Більш плавні переходи між значеннями, ніж random () |
| !(x) або ~(x) | Альтернативний синтаксис для inv(x) |

Рис. 35. Сигнали на виходах генераторів V1, V2 та B1
З іншими можливостями QSPICE будемо знайомитись в наступних частинах статті.
ЛІТЕРАТУРА