Моделирование линейных звеньев. Лекция 9

Содержание

Слайд 2

Литература

Монаков А.А. Основы математического моделирования радиотехнических систем. Учебное пособие. – СПб.: ГУАП,

Литература Монаков А.А. Основы математического моделирования радиотехнических систем. Учебное пособие. – СПб.:
2005. – 100с.

Глава 2, Раздел 2.1:
Моделирование линейных звеньев

Слайд 3

Литература

А.Б.Сергиенко. Цифровая обработка сигналов. СПб, Питер, 2002. — 608 с.: ил.

А.Б.Сергиенко.
Signal

Литература А.Б.Сергиенко. Цифровая обработка сигналов. СПб, Питер, 2002. — 608 с.: ил.
Processing Toolbox – обзор:
http://matlab.exponenta.ru/signalprocess/book2/index.php

Слайд 4

Литература

Ричард Лайонс - Цифровая обработка сигналов / Understanding Digital Signal Processing, 2006
Глава

Литература Ричард Лайонс - Цифровая обработка сигналов / Understanding Digital Signal Processing,
5. Фильтры с импульсной характеристикой конечной длины
Глава 6. Фильтры с импульсной характеристикой бесконечной длины
Глава 7. Специальные КИХ-фильтры нижних частот

Слайд 5

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

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

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

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

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

Слайд 6

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

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

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

а

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

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

откуда

Слайд 7

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

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

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

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

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

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

Слайд 8

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

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 есть функции
для работы с линейными
звеньями

Слайд 9

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

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))));

Слайд 10

Функция unwrap

Функция unwrap

Слайд 11

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

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

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

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

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

Обратно:

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

Слайд 12

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

Для построения импульсной характеристики можно воспользоваться функциями С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

Слайд 13

Нули и полюсы

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

здесь

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

– нули,

– полюсы

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

ZPLANE

Нули и полюсы Функцию передачи можно представить в виде здесь – коэффициент
– отображение нулей и полюсов дискретной системы на комплексной плоскости

zplane(z,p)
zplane(b,a)
zplane(Hd)
[hz,hp,ht] = zplane(z,p)

Слайд 14

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

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

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

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

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

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

Слайд 15

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

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

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

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

– ФНЧ

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)

Слайд 16

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

Слайд 17

Свертка: conv(…), deconv(…)

Можем воспользоваться функциями conv и deconv

clear all; close all; clc
a

Свертка: conv(…), deconv(…) Можем воспользоваться функциями conv и deconv clear all; close
= [-0.7]; b = [0.3];
xh = [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
km = 2:length(xh); h(1) = b(1)*xh(1);
for k = km
h(k) = -a(1)*h(k-1) + b(1)*xh(k);
end
x = [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1];
y = conv(x, h);
xdec = deconv(y, h);
figure(1)
stem(1:length(y), y); hold on
stem(1:length(xdec), xdec, 'r'); hold off
grid on; legend('y', 'x'); xlabel('k')

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

Слайд 18

Transfer function

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

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

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

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

Слайд 19

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');

Слайд 20

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');

Слайд 21

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')

Слайд 22

Нули и полюсы

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

Слайд 23

Метод инвариантности h(t)

Реализовывать цифровые фильтры в MATLAB научились, вернемся к задаче синтеза

Метод инвариантности h(t) Реализовывать цифровые фильтры в MATLAB научились, вернемся к задаче
цифрового фильтра по аналоговому прототипу

Метод инвариантности импульсной характеристики:

б)

а)

Слайд 24

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

Поделим на

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

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

Слайд 25

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

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

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

Итого,

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

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

Слайд 26

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

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

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

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

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

Слайд 27

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

Пример. Смоделируем 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

Слайд 28

Метод замены дифференциалов

Если 1/s – интегратор, то s – дифференциатор!

Итого, в качестве

Метод замены дифференциалов Если 1/s – интегратор, то s – дифференциатор! Итого,
s должны использовать:

Не стоит использовать когда:
нули передаточной функции аналогового прототипа имеют вещественную часть больше удвоенной частоты дискретизации
- нулей у передаточной функции аналогового прототипа нет

Слайд 29

Метод замены дифференциалов

Пример. Смоделируем RC цепь.


az = [1+RC/T, -RC/T]; bz = [1];
Hz

Метод замены дифференциалов Пример. Смоделируем RC цепь. … az = [1+RC/T, -RC/T];
= freqz(bz, az);

Слайд 30

Ограничение ИХ

При использовании перечисленных методов мы можем ограничивать длительность импульсной характеристики.
Получаем при

Ограничение ИХ При использовании перечисленных методов мы можем ограничивать длительность импульсной характеристики.
этом КИХ-фильтр со всеми его плюсами. НО!

Но это же применение
прямоугольного окна!

А значит и
коэффициент передачи
свернется со спектром окна!

Свертка АЧХ БИХ фильтра и АЧХ окна:

Слайд 31

Ограничение ИХ

При использовании перечисленных методов мы можем ограничивать длительность импульсной характеристики.
Получаем при

Ограничение ИХ При использовании перечисленных методов мы можем ограничивать длительность импульсной характеристики.
этом КИХ-фильтр со всеми его плюсами. НО!

Получим эффект Гиббса

Выбором окна можем управлять расползанием спектра и неравномерностью

Слайд 32

Выбор окна

Выбором окна можем управлять расползанием спектра и неравномерностью

Выбор окна Выбором окна можем управлять расползанием спектра и неравномерностью