ЛР2 Бронников Корнилов
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ТОР
отчет
по лабораторной работе №2
по дисциплине «Цифровая обработка сигналов»
Тема: ДИСКРЕТНЫЕ ФИЛЬТРЫ
Вариант 29
Студенты гр. 0182 |
|
Корнилов А.М. Бронников Д.Д. |
Преподаватель |
|
Апалина П.В. |
Санкт-Петербург
2023
Цели работы
Пропускание дискретного сигнала через дискретный фильтр и получение графика выходного сигнала.
Анализ сигналов, проходящих через элементы памяти фильтра, при реализации фильтра в разных формах.
Получение графиков характеристик фильтра с помощью среды визуализации фильтров FVTool.
Разложение функции передачи фильтра на простые дроби и получение аналитической формулы для импульсной характеристики фильтра.
Пропускание сигнала через дискретный фильтр
Дискретный рекурсивный фильтр 4-го порядка имеет функцию передачи:
clear all;
close all;
clc
u1 = 10; u2 = 5; u3 = 3; u4 = 6;T1 = 3; T2 = 9; F_d = 3;
B0 = 0.0183; B1 = -0.0093; B2 = 0.0257; B3 = -0.0093; B4 = 0.0183;
A0 = 1; A1 = -2.6566; A2 = 2.8076; A3 = -1.3629; A4 = 0.2555;
t1 = 0:1/F_d:T1;t2 = T1+1/F_d:1/F_d:T2;
t = [t1 t2];
a1 = (u2 - u1)/T1;
a2 = (u4 - u3)/(T2 - T1);b1 = u1;
b2 = u4 - a2 * T2;
s1 = a1 * t1 + b1;s2 = a2 * t2 + b2;
s = [s1, s2];
stem (s);xlabel('N, numbers');
ylabel('U, V');
grid on;
% Прямая
s0 = [s, zeros(1, length(s))];
b_s = [B0 B1 B2 B3 B4];
a_s = [1 A1 A2 A3 A4];
y = filter(b_s, a_s, s0);
figure;
stem (y);xlabel('N, numbers');
ylabel('U, V');grid on;
Рис. 1 — Сформированный дискретный сигнал
Рис. 2 — Сигнал после прохождения фильтра прямой реализации
Анализ прямой формы реализации дискретного фильтра
При использовании прямой формы реализации дискретного фильтра в элементах памяти (элементах задержки) хранятся непосредственно отсчеты входного и выходного сигналов, поэтому все необходимые для анализа этой формы сигналы уже были получены при выполнении предыдущего пункта работы. Определим и сохраним в рабочее пространство максимальное по модулю значение сигналов, хранящихся в элементах памяти при работе фильтра:
input_max = max(abs(s));
straight_max = max(abs(y));
x_max = max(input_max, straight_max);
Анализ канонической формы реализации дискретного фильтра
Аналогичные процедуры, которые проводились для прямой реализации фильтра, целесообразно повторить для канонической реализации с функцией передачи:
b_k = [1];
a_k = [1 A1 A2 A3 A4]
y = filter(b_k, a_k, s0);
figure;
stem (y);xlabel('N, numbers');
ylabel('U, V');grid on;
canon_max = max(abs(y1));
x_max = max(x_max, canon_max);
Рис. 3 — Сигнал после прохождения фильтра канонической реализации
Анализ транспонированной формы реализации дискретного фильтра
% Транспонированная
states = []; % заготовка матрицы внутренних состояний
q = []; % текущее состояние фильтра
for k = 1:length(s0)
% обработка одного отсчета с заданием и сохранением
% внутреннего состояния фильтра
[y(k), q] = filter(b_s, a_s, s0(k), q);
states = [states q]; % добавление нового столбца к матрице состояний
end
figure;
plot(states');xlabel('N, numbers');
ylabel('U, V');grid on;
legend('Элемент 1','Элемент 2','Элемент 3','Элемент 4','Location','southeast');
A_max = max(max(abs(states)));
x_max = max(x_max, A_max);
Рис. 4 — Сигнал после прохождения фильтра транспонированной реализации
Сравним максимальные по модулю значения сигналов, хранящихся в элементах памяти при работе различных фильтров:
Форма реализации фильтра |
Максимальное по модулю внутреннее состояние |
Входной сигнал |
10 |
Прямая |
8.8072 |
Каноническая |
4,0668 |
Транспонированная |
14,9639 |
Получение графиков характеристик фильтра
Выбор просматриваемых характеристик и управление параметрами анализа производятся с помощью средств графического интерфейса окна, открывающегося после вызова функции fvtool(b_s, a_s).
Рис. 5 — АЧХ и ФЧХ фильтра
Рис. 6 — Групповая задержка
Рис. 7 — импульсная характеристика
Рис. 8 — расположение нулей и полюсов функции передачи на комплексной плоскости
Получение аналитической формулы для импульсной характеристики фильтра
[r, p, k] = residuez(b_s, a_s);
ampl_r = abs(r);
faz_r = angle(r);
ampl_p = abs(p);
faz_p = angle(p);
|
Модуль |
Фаза, рад |
|
Вычеты |
|
r1 |
0,21 |
2,73 |
r2 |
0,21 |
-2,73 |
r3 |
0,67 |
-1,33 |
r4 |
0,67 |
1,33 |
|
Полюсы |
|
p1 |
0,85 |
0,48 |
p2 |
0,85 |
-0,48 |
p3 |
0,6 |
0,26 |
p4 |
0,6 |
-0,26 |
|
Целая часть |
|
k |
0.072 |
|
Представление дробно-рациональной функции передачи в виде суммы простых дробей при отсутствии кратных корней у знаменателя может быть записано следующим образом:
В результате импульсная характеристика системы с функцией передачи принимает следующий вид:
Для фильтра, исследуемого в работе:
Пара комплексно-сопряженных полюсов дает пару слагаемых импульсной характеристики в виде комплексно-сопряженных экспонент. Сумма таких слагаемых представляет собой вещественную синусоиду с экспоненциально меняющейся амплитудой:
Для фильтра, исследуемого в работе:
Вывод
В ходе выполнения данной лабораторной работы были изучены основные принципы анализа дискретных фильтров, их свойства (АЧХ, ФЧХ, ИХ, полюсы, нули и т.д.), способы их расчёта и построения на практике в среде MatLab.
