Теорія і обробка сигналів matlab в тос, сторінка 7

при цьому z - вектор нулів, p - вектор полюсів, k - посилення.

Для переходу від полюсний - нульового уявлення безперервної системи до передавальної функції служить перетворення

виконує розкладання на прості дроби передавальної функції, представленої у вигляді відносини двох поліномів. Тут відрахування запам'ятовуються в векторі r. полюси - у векторі p. посилення - в k. Формат [B, A] = residue (z, p, k) з трьома вхідними аргументами і двома вихідними виконує перетворення системи у вигляді полюсний-нульового уявлення в передавальну функцію.

Побудова перехідної характеристики (stepresponse) системи може бути здійснено введенням

аналогічно будується графік імпульсної характеристики (impulseresponse) системи

Для визначення відгуку (виходу) системи на довільний вхідний сигнал використовується команда lsim (...).

Приклад. Визначимо вихідний сигнал системи з передавальної функцією

і вхідним сигналом.

>> n = [2 0]; % Чисельник і знаменник передавальної функції

>> t = linspace (0,5,301); % Завдання тимчасового інтервалу

>> u = cos (2 * pi * t); % Вхідний сигнал

>> [y, x] = lsim (n, d, u, t); % Вихідний сигнал

>> xlabel ( 'Time, sec');

Графіки вхідного і вихідного сигналів

Теорія і обробка сигналів matlab в тос, сторінка 7

Частотні характеристики і їх графіки

MATLAB-функції для обчислення і побудови графіків частотних характеристик:

fft (x) - обчислює дискретне перетворення Фур'є вектора x за допомогою алгоритмів Швидкого Перетворення Фур'є (БПФ)

ifft (x) - обчислює зворотне дискретне перетворення Фур'є вектора x з використанням ШПФ

fftshift - виробляє зрушення перетворення fft з діапазону (0, 2π) в інтервал (-π, π)

freqs (n, d) - обчислює частотну характеристику (frequencyresponse) безперервної системи з передавальної функцією n (s) / d (s)

freqz (n, d) - обчислює частотну характеристику (дискретної) системи з передавальної функцією n (z) / d (z)

bode (n, d) - будує Боде діаграму безперервної системи з системної функцією n (s) / d (s).

unwrap (P) - коригує фазові кути елементів одновимірного масиву P при переході
через значення π.

Приклад побудови частотної характеристики системи з передавальної функцією

set (gca, 'FontName', 'Times New Roman Cyr', 'FontSize', 8)

title ( 'Амплитудно - чаcтотная характеріcтіка')

Теорія і обробка сигналів matlab в тос, сторінка 7

Приклад побудови діаграми Боде і імпульсної характеристики

»% Побудова діаграми полюсів і нулів

Функція fft () в задачах обробки сигналів застосовується, можливо, частіше за всіх інших. Вона обчислює дискретне перетворення Фур'є (ДПФ) вектора x за висловом

при цьому - довжина вектора x.

Ця ж функція з форматом

обчислює n - точкове дискретне перетворення Фур'є. Якщо, то відсутні елементи масиву x доповнюються нулями (zeropad). Якщо, то зайві елементи відкидаються.

Функція x = ifft (X) обчислює зворотне ДПФ послідовності X. Функція x = ifft (X, n) обчислює n - точкове зворотне ДПФ.

Для обчислення функцій fft () і ifft () застосовуються алгоритми швидкого перетворення Фур'є (ШПФ). Цей алгоритм має максимальну швидкодію, коли довжина послідовності x дорівнює ступеня числа 2. Тому бажано використовувати послідовності, довжина яких дорівнює ступеня числа 2.

% Процедура обчислення і побудови спектрів

% Сигналу за допомогою функції fft ()

N = 128; % Число точок

Ts = T / (N-1); % Інтервал відліків

t = 0: Ts: T; % часовий інтервал

tau = 2; % тривалість імпульсу

x = rectpuls (t, tau); % Генерування прямокутного імпульсу

subplot (311), plot (t, x), grid% графік сигналу

set (gca, 'FontName', 'Arial Cyr "," FontSize', 8)

title ( 'Графік сигналу')

Fmax = 1 / Ts; % Максимальна частота

df = 1 / T; % Частотне дозвіл

X = fft (x, N); % БПФ сигналу

Xp = fftshift (X); % Частотний зсув

subplot (312), plot (f, abs (Xp) * Ts), grid

set (gca, 'FontName', 'Arial Cyr "," FontSize', 8)

title ( 'Амплітудний спектр сигналу')

% S = sinc (f * tau / 2) * tau / 2; % Перетворення Фур'є сигналу

subplot (313), plot (f, angle (Xp)), grid

set (gca, 'FontName', 'Arial Cyr "," FontSize', 8)

xlabel ( 'Частота, Гц')

title ( 'Фазовий спектр сигналу')

Теорія і обробка сигналів matlab в тос, сторінка 7

Аналіз лінійних дискретних систем

y = conv (x, h) - обчислює згортку послідовностей x і h. За допомогою згортки обчислюється сигнал на виході дискретної системи у з імпульсною характеристикою h і вхідним сигналом x при нульових початкових умовах.

Команда conv може використовуватися також для множення поліномів, conv (a, b) - твір поліномів, що подаються векторами коефіцієнтів a і b.

Передавальна функція дискретної системи

представляється в MATLAB векторами коефіцієнтів поліномів чисельника і знаменника

Команди dstep і dimpulse обчислюють відповідно перехідну та імпульсну характеристику системи

»Num = [10 0]; den = [1 -0.6 0.07];