Семинар 5. Моделирование линейных звеньев

Содержание

Слайд 2

Тема занятия: Моделирование линейных звеньев
Цели занятия:
освоить построение основных характеристик непрерывных и дискретных линейных

Тема занятия: Моделирование линейных звеньев Цели занятия: освоить построение основных характеристик непрерывных
звеньев в MATLAB;
научиться применять метод билинейного преобразования;
научиться реализовывать дискретные линейные звенья в MATLAB.

Слайд 3

Преобразование сигналов

Любое обрабатывающее радиосигнал устройство может быть представлено как совокупность линейных и

Преобразование сигналов Любое обрабатывающее радиосигнал устройство может быть представлено как совокупность линейных
нелинейных звеньев

Формально отличие в дифференциальных уравнениях
(м.б. линейные / нелинейные):

Но важно следствие:
при действии суммы сигналов отклик звена есть суперпозиция откликов на каждое воздействие в отдельности:

p-n-p

Слайд 4

Коэффициент передачи

Линейное звено описывается дифференциальным уравнением:

Нам достаточно научиться его решать для воздействия

а

Коэффициент передачи Линейное звено описывается дифференциальным уравнением: Нам достаточно научиться его решать
потом воспользоваться преобразованием Фурье и линейностью

Решение лежит на поверхности -

откуда

Слайд 5

Коэффициент передачи

Нетрудно заметить, что в этом случае

Да это же не только комплексная

Коэффициент передачи Нетрудно заметить, что в этом случае Да это же не
амплитуда, но ещё и
коэффициент передачи (transfer function)!

Сделаем замену:

Благодаря линейности для сигналов с произвольным спектром имеем

Слайд 6

Коэффициент передачи

clear all; clc; close all;
RC = 1e-6;
a = [RC 1];
b =

Коэффициент передачи clear all; clc; close all; RC = 1e-6; a =
[1];
freqs(b, a);

В MATLAB есть функции
для работы с линейными
звеньями

Слайд 7

Коэффициент передачи

clear all; clc; close all;
RC = 1e-6;
a = [RC 1]; b

Коэффициент передачи clear all; clc; close all; RC = 1e-6; a =
= [1];
Fs = 100; Fmax = 4e5; f = 0:Fs:Fmax;
H = freqs(b, a, 2*pi*f);
figure(1); subplot(2,1,1);
plot(f/1e6, 20*log10(abs(H)));
subplot(2,1,2);
plot(f/1e6, rad2deg(unwrap(angle(H))));

Слайд 8

Функция unwrap

Функция unwrap

Слайд 9

Импульсная характеристика (ИХ)

А можно и через преобразование Лапласа:

Умножению в частотной области соответствует

Импульсная характеристика (ИХ) А можно и через преобразование Лапласа: Умножению в частотной
свертка во временной

Для нашей RC-цепи и П-импульса:

Обратно:

Это интегрирование по линии, параллельной мнимой оси.
Выбором сигмы все особенности подынтегральной функции
оставляют слева от контура интегрирования.

Слайд 10

Импульсная характеристика

Для построения импульсной характеристики можно воспользоваться функциями Сontrol System Toolbox

RC =

Импульсная характеристика Для построения импульсной характеристики можно воспользоваться функциями Сontrol System Toolbox
1e-6; a = [RC 1]; b = [1];
sys = tf(b,a);
[y,t] = impulse(sys); % Без ‘[y, t] =‘
% сразу построит график
figure(1); plot(t, y);
xlabel('t, s'); ylabel('h(t)');
grid on

Слайд 11

Нули и полюсы

Функцию передачи можно представить в виде

здесь

– коэффициент усиления,

– нули,

– полюсы

pzmap();

[z,p,k]

Нули и полюсы Функцию передачи можно представить в виде здесь – коэффициент
= tf2zp(b,a)

Прямое преобразование функции передачи в нули и полюсы:

Слайд 12

pzmap();

Нули и полюсы

устойчивость

pzmap(); Нули и полюсы устойчивость

Слайд 13

Цифровые фильтры

Всё это здорово, наглядно и удобно описывает аналоговые системы, но нам

Цифровые фильтры Всё это здорово, наглядно и удобно описывает аналоговые системы, но
же нужно уметь их моделировать – получать отклик на сигнал

Нужна модель, для которой это приближенное равенство выполняется как можно точнее

И входные, и выходные сигналы в машине мы представляем в виде дискретных последовательностей:

Да это же задача синтеза цифрового фильтра по аналоговому прототипу!

Слайд 14

Импульсная характеристика

Т.к. система линейна, то может описываться только уравнением вида:

Непрерывные линейные системы

Импульсная характеристика Т.к. система линейна, то может описываться только уравнением вида: Непрерывные
характеризуются
импульсной характеристикой – откликом на дельта-функцию.
Для дискретной системы можем найти отклик на единичный импульс:

– ФНЧ

clear all; close all; clc
x = [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
km = 1:length(x);
for k = km
if k > 1
y(k) = 0.7*y(k-1) + 0.3*x(k);
else
y(k) = 0.3*x(k);
end
end
figure(1);
stem(km, y)

Слайд 15

impz(…)

clear all; close all; clc
a = [1 -0.7]; b = [0.3];
h =

impz(…) clear all; close all; clc a = [1 -0.7]; b =
impz(b, a, 15);
figure(1); stem(h);
xlabel('k'); ylabel('h_k'); grid on

Слайд 16

Transfer function

Вспоминаем РЦС, z-преобразование и его свойства:

Или из уравнения:

Связь с преобразованием Фурье:

Transfer function Вспоминаем РЦС, z-преобразование и его свойства: Или из уравнения: Связь с преобразованием Фурье:

Слайд 17

Transfer function

clear all; close all; clc
a = [-0.7]; b = [0.3];
xр =

Transfer function clear all; close all; clc a = [-0.7]; b =
[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
km = 1:length(x);
for k = km
if k > 1
h(k) = -a(1)*h(k-1) + b(1)*xh(k);
else
h(k) = b(1)*xh(k);
end
end
T = 0.001; f = 0:(1/T/100):(1/T);
z = exp(1i*2*pi*f*T);
H2 = 0;
for k = km
H2 = H2 + h(k) * z.^-k;
end
H1 = 0.3 ./ (1 - 0.7 * z.^-1);
figure(1); plot(f, abs(H1), f, abs(H2), '*')
xlabel('f, Hz'); ylabel('|H|'); grid('on');

Слайд 18

freqz(…)

clear all; close all; clc
a = [1 -0.7]; b = [0.3];
H =

freqz(…) clear all; close all; clc a = [1 -0.7]; b =
freqz(b, a);
T = 0.001;
f = ( (1:length(H)) - 1)/ length(H)*1/T/2 ;
figure(1); plot(f, abs(H));
ylabel('|H|'); grid on; xlabel('f, Hz');

Слайд 19

filter(…)

clear all; close all; clc
a = [1 -0.7]; b = [0.3];
x =

filter(…) clear all; close all; clc a = [1 -0.7]; b =
[0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0];
y = filter(b, a, x);
figure(1)
stem(1:length(y), y); hold on
stem(1:length(x), x, 'r'); hold off
grid on; legend('y', 'x'); xlabel('k')

Слайд 20

Нули и полюсы

clear all; close all; clc
a = [1 -0.7]; b =

Нули и полюсы clear all; close all; clc a = [1 -0.7];
[0.3];
[z, p, k] = tf2zp(b, a);
% zplane(b, a);
zplane(z, p);

устойчивость

Коэффициенты ПФ – строки,
нули/полюсы - столбцы

TF2ZP ();

Слайд 21

Метод билинейного преобразования

Поделим на

Да это же пачки интеграторов!

Метод билинейного преобразования Поделим на Да это же пачки интеграторов!

Слайд 22

Метод билинейного преобразования

А давайте аналоговый интегратор заменим цифровым!

Интегрировать будем методом трапеций:

Итого,

Метод билинейного преобразования А давайте аналоговый интегратор заменим цифровым! Интегрировать будем методом
в качестве s должны использовать:

Это преобразование и называется билинейным

Слайд 23

Метод билинейного преобразования

Полуплоскость переменной s отображается в окружность единичного радиуса в плоскости

Метод билинейного преобразования Полуплоскость переменной s отображается в окружность единичного радиуса в
переменной z

Есть явление деформации оси частот

Можно заранее скомпенсировать
в аналоговом прототипе

Слайд 24

Метод билинейного преобразования

Пример. Смоделируем RC цепь, что использовали ранее.

clear all; clc; close

Метод билинейного преобразования Пример. Смоделируем RC цепь, что использовали ранее. clear all;
all;
RC = 1e-6;
T = RC/3;
as = [RC 1]; bs = [1];
[Hs, w] = freqs(bs, as);
az = [1+2*RC/T, 1-2*RC/T]; bz = [1, 1];
Hz = freqz(bz, az);
figure(1)
plot(w/2/pi/1000, abs(Hs), ...
((1:length(Hz)) - 1)/ length(Hz) * 1/T/2/1000, abs(Hz))
xlabel('f, kHz'); ylabel('|H|')
legend('|H(s)|', '|H(z)|'); grid on

Слайд 25

Билинейное преобразование - функция bilinear();

Билинейное преобразование - функция bilinear();

Слайд 26

Практическая сторона дела
Задача 5.1
Постановка задачи:
В рамках лабораторной работы №1 проводилось моделирование участка электрической цепи.

Практическая сторона дела Задача 5.1 Постановка задачи: В рамках лабораторной работы №1

При моделировании цепь заменяется ближайшей линейной, если исходная цепь содержит нелинейные элементы.
Требуется:
1. найти характеристики аналогового звена:
- коэффициенты  функции передачи (записав дифференциальное уравнение цепи или передаточную функцию);
- АЧХ и ФЧХ   - функции freqs(), unwrap();
- импульсную характеристику (ИХ)   - функция impulse();
- карту нулей  и полюсов   - функции tf2zp(), pzmap();
- найти коэффициенты   функции передачи дискретного аналога рассматриваемого звена с помощью билинейного преобразования - функция bilinear();

Слайд 27

Практическая сторона дела
Задача 5.1
Постановка задачи (продолжение):
Требуется:
2. найти характеристики дискретного фильтра, полученного методом

Практическая сторона дела Задача 5.1 Постановка задачи (продолжение): Требуется: 2. найти характеристики
билинейного преобразования:
- АЧХ  и ФЧХ   - функция freqz(), unwrap();
- импульсную характеристику - функция impz(),
- карту нулей   и полюсов  - функции tf2zp(), zplane();
- получить отклик на гармоническое воздействие и воздействие в виде белого гауссовского шума для дискретного аналога, полученного методом билинейного преобразования - функция filter();
3. сравнить полученные характеристики и процессы с результатами лабораторной работы №1.

Слайд 28

Практическая сторона дела
Программа «PR5.m»

clear all; clc; close all;
tstart = tic(); % начало

Практическая сторона дела Программа «PR5.m» clear all; clc; close all; tstart =
отсчета работы программы
RC = 1e-6;
wmax = 1/RC * 2*pi * 10;
dw = wmax / 100;
w = 0:dw:wmax;
a = [RC 1]; % [a1 a0]
b = [1]; % [b0]
% Находим передаточную функцию (ПФ), строим АЧХ/ФЧХ
figure(1)
freqs(b, a, w) % Вывести АЧХ / ФЧХ, приняв по оси частот w
H = freqs(b, a, w); % Посчитать ПФ, но график не выводить

Слайд 29

Практическая сторона дела
Продолжение программы «PR5.m»

figure(2)
subplot(2, 1, 1)
semilogy(w/2/pi/1e6, abs(H));
xlabel('f, MHz'); ylabel('|H|')
subplot(2, 1,

Практическая сторона дела Продолжение программы «PR5.m» figure(2) subplot(2, 1, 1) semilogy(w/2/pi/1e6, abs(H));
2);
plot(w/2/pi/1e6, unwrap(angle(H)));
xlabel('f, MHz'); ylabel('arg H')
% Находим импульсную характеристику (ИХ)
sys = tf(b,a);
[y,t] = impulse(sys);
figure(3)
plot(t, y); xlabel('t, sec'); ylabel('h(t)')
figure (4);
pzmap(sys);

Слайд 30

Практическая сторона дела
Продолжение программы «PR5.m»

% Находим цифровой аналог
Fs = 2 * wmax

Практическая сторона дела Продолжение программы «PR5.m» % Находим цифровой аналог Fs =
/ 2/pi;
[bz, az] = bilinear(b, a, Fs);
[Hz, wz] = freqz(bz, az);
figure (5);
plot(Fs*wz/2/pi/1e6, abs(Hz));
xlabel('f, MHz'); ylabel('|H|')
figure (6);
plot(w/2/pi/1e6, abs(H), Fs*wz/2/pi/1e6, abs(Hz));
xlabel('f, MHz'); ylabel('|H|')
figure (7);
[z,p,k] = tf2zp(bz,az);
zplane(z, p);
Td = 1 / Fs;
Tmod = 100000*Td;
t = 0:Td:Tmod;

Слайд 31

Практическая сторона дела
Продолжение программы «PR5.m»

f = 1e3; % Hz
A = 1;
E =

Практическая сторона дела Продолжение программы «PR5.m» f = 1e3; % Hz A
A*sin(2*pi*f*t); % гармоническое воздействие
y1 = filter(bz, az, E);
figure (8);
plot(t, [E; y1]); % plot(t, E, t, y1)
xlabel('t, sec');
% Шум
stdn = 13;
n = stdn * randn(1, length(t));
y = filter(bz, az, n);
figure (9);
plot(t, [n; y]); % plot(t, n, t, y)
xlabel('t, sec');

Слайд 32

Продолжение программы «PR5.m»
nf = fft(n);
yf = fft(y);
mn = sqrt(mean(abs(nf).^2)) * 2.5;
nf =

Продолжение программы «PR5.m» nf = fft(n); yf = fft(y); mn = sqrt(mean(abs(nf).^2))
nf / mn;
yf = yf / mn;
f = 0:1/Tmod:(1/Td);
Figure (10);
plot(f/1e6, [abs(nf); abs(yf)], …
…w/2/pi/1e6, abs(H), …
…'LineWidth', 3);
xlim([0 Fs/1e6/2])
xlabel('f, MHz')
dt = toc(tstart);
% вывод времени работы
% программы в [мс]
fprintf('dt = %f ms\n', dt * 1e3);

Графики АЧХ и ФЧХ аналогового звена (freqs)

dt = 5491.096880 ms

Вывод программы:

Слайд 33

Вывод программы:

Графики АЧХ и ФЧХ аналогового звена (unwrap)

Вывод программы: Графики АЧХ и ФЧХ аналогового звена (unwrap)

Слайд 34

Вывод программы:

График ИХ аналогового звена (impulse)

Вывод программы: График ИХ аналогового звена (impulse)

Слайд 35

Вывод программы:

Карта расположения нулей (обозначаются кружками) и полюсов (крестики) системы на комплексной

Вывод программы: Карта расположения нулей (обозначаются кружками) и полюсов (крестики) системы на
плоскости для аналогового фильтра

устойчивость

Нули z отсутствуют

Слайд 36

Вывод программы:

Семейство из двух графиков АЧХ для аналогового звена (синий) и цифрового

Вывод программы: Семейство из двух графиков АЧХ для аналогового звена (синий) и
звена (красный) (bilinear)

График АЧХ для цифрового звена

Слайд 37

Вывод программы:

Карта расположения нулей (обозначаются кружками) и полюсов (крестики) системы на комплексной

Вывод программы: Карта расположения нулей (обозначаются кружками) и полюсов (крестики) системы на
плоскости для дискретного фильтра

устойчивость

Слайд 38

Вывод программы:

Отклик на гармоническое воздействие и воздействие в виде белого гауссовского шума

Вывод программы: Отклик на гармоническое воздействие и воздействие в виде белого гауссовского
для дискретного аналога, полученного методом билинейного преобразования - функция filter();

Слайд 39

Вывод программы:

Tmod = 100000*Td;

Отклик на воздействие в виде белого гауссовского шума для

Вывод программы: Tmod = 100000*Td; Отклик на воздействие в виде белого гауссовского
дискретного аналога, полученного методом билинейного преобразования - функция filter();

Синий график: БГШ
Рыжий график: БГШ после фильтрации

Слайд 40

Вывод программы:

Tmod = 1000*Td;

Отклик на воздействие в виде белого гауссовского шума для

Вывод программы: Tmod = 1000*Td; Отклик на воздействие в виде белого гауссовского
дискретного аналога, полученного методом билинейного преобразования - функция filter();

Синий график: БГШ
Рыжий график: БГШ после фильтрации

Слайд 41

Вывод программы:

Tmod = 100000*Td;

Спектральные плотности исходного шума и фильтрованного

Синий график: модуль спектральной

Вывод программы: Tmod = 100000*Td; Спектральные плотности исходного шума и фильтрованного Синий
плотности БГШ
Рыжий график: модуль спектральной плотности БГШ после фильтрации
Оранжевый график: АЧХ для аналогового звена

Слайд 42

Вывод программы:

Tmod = 1000*Td;

Спектральные плотности исходного шума и фильтрованного

Синий график: модуль спектральной

Вывод программы: Tmod = 1000*Td; Спектральные плотности исходного шума и фильтрованного Синий
плотности БГШ
Рыжий график: модуль спектральной плотности БГШ после фильтрации
Оранжевый график: АЧХ для аналогового звена
Имя файла: Семинар-5.-Моделирование-линейных-звеньев.pptx
Количество просмотров: 50
Количество скачиваний: 0