Функції генерації періодичних сигналів
Ці функції, що входять в пакет Signal Processing, дозволяють формувати відліки періодичних сигналів різної форми:
square — послідовність прямокутних імпульсів;
sawtooth — послідовність трикутних імпульсів;
diriс — функція Дирихле (періодична sinc-функція).
Остання розглянута в даному розділі функція chirp генерує не періодичний сигнал, а коливання з уявною частотою.
Далі ці функції розглядаються більш докладно.
Послідовність прямокутних імпульсів
Для формування послідовності прямокутних імпульсів служить функція square. У найпростішому випадку ця функція приймає один вхідний параметр — вектор значень часу t:
у = square(t)
Генеруєма при цьому послідовність імпульсів має період 2 і шпаруватість 2 (тобто тривалість імпульсу дорівнює половині періоду). Послідовність є двуполярною — сигнал приймає значення — 1 і 1.
Сформувати послідовність з періодом Т можна таким чином:
у = square(2*pi*t/T)
За допомогою другого вхідного параметра duty можна регулювати шпаруватість одержуваної послідовності. Однак цей параметр задає не саму шпаруватість, а зворотню їй величину — коефіцієнт заповнення (у відсотках), тобто відношення тривалості імпульсу до періоду:
у = square(t, duty)
За замовчуванням значення параметра duty дорівнює 50, тобто генерується меандр.
Зверніть увагу на те, що значення параметра duty задається саме у відсотках, а не в дробових одиницях.
Вправа 3
Сформуємо послідовність однополярних прямокутних імпульсів з амплітудою 3 В, частотою проходження 50 Гц і тривалістю 5 мс. Будемо використовувати частоту дискретизації 1 кГц і часовий інтервал -10...50 мс (мал. 4.3):
» Fs = 1еЗ; % частота дискретизації
» t = -10e-3:l/Fs:50e-3; % дискретний час
» А = 3; * амплітуда
» f = 50; % частота проходження імпульсів
» tau = 5е-3; % тривалість імпульсів
» s = (square(2*pi*t*f0,f0*tau*100) + 1) * А/2;
» plot(t, s)
» ylim([0 5])
Рис. 4.3. Послідовність прямокутних імпульсів, отримана за допомогою функції square
На мал. 4.3 видно, що імпульси мають неоднакову ширину. Оскільки тривалість імпульсу в даному випадку дорівнює рівно п'ятьом інтервалам дискретизації (5 мс х 1 кГц - 5), через похибки представлення значень часу в комп'ютері кожен імпульс може бути представлений або п'ятьма, або шістьма ненульовими відліками.
Послідовність трикутних імпульсів
Для формування послідовності трикутних імпульсів служить функція sawtooth. У найпростішому випадку ця функція приймає один вхідний параметр — вектор значень часу t:
у = sawtooth(t)
Генеруєма при цьому послідовність імпульсів має період 2. Протягом періоду сигнал лінійно наростає від -1 до 1.
Сформувати послідовність з періодом Т можна таким чином:
у = sawtooth(2*pi*t/T)
За допомогою другого вхідного параметра width можна регулювати тривалість «зворотного ходу» — проміжку, на якому рівень сигналу лінійно падає від 1 до -1. При вказівці параметра width сигнал лінійно зростає від -1 до 1 за час 2 width, а потім за час 2(1 - width) лінійно убуває від 1 до -1:
у = sawtooth(t, width)
За замовчуванням значення параметра width дорівнює 1. При width = 0,5 вийде послідовність симетричних трикутних імпульсів.
Вправа 4
Сформуємо послідовність трикутних імпульсів негативної полярності з амплітудою 5 В, періодом 50 мс і тривалістю падаючої ділянки 5 мс. Будемо використовувати частоту дискретизації 1 кГц і часовий інтервал -25 ... 125 мс (мал. 4.4).
Рис. 4.4
Последовательность
треугольных импульсов , полученная с
помощью функции sawtooth
» Fs = 1еЗ; % частота дискретизації
» t = -25e-3:l/Fs:125e-3; % дискретний час
» А = 5; % амплітуда
» Т = 50е-3; % період
» tl = 5е-3; % тривалість падаючої ділянки
» s = (sawtooth(2*pi*t/T, (T –tl)/T) - 1) * A/2;
» plot(t, s)