ЛР2 Дискретные фильтры
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ТОР
отчет
по лабораторной работе №2
по дисциплине «Цифровая обработка сигналов»
Тема: ДИСКРЕТНЫЕ ФИЛЬТРЫ
Студенты гр. |
|
|
|
|
|
Преподаватель |
|
Апалина П.В. |
Санкт-Петербург
202X
Цели работы
• Пропускание дискретного сигнала через дискретный фильтр и получение графика выходного сигнала.
• Анализ сигналов, проходящих через элементы памяти фильтра, при реализации фильтра в разных формах.
• Получение графиков характеристик фильтра с помощью среды визуализации фильтров FVTool.
• Разложение функции передачи фильтра на простые дроби и получение аналитической формулы для импульсной характеристики фильтра.
Индивидуальное задание
В данной лабораторной работе используется сигнал из индивидуального задания для лабораторной работы № 1. Этот сигнал в процессе выполнения работы пропускается через дискретный рекурсивный фильтр 4-го порядка, функция передачи которого имеет вид:
Коэффициенты фильтра b0…b4, a1…a4 являются индивидуальными для каждой бригады и выдаются преподавателем (табл. 1).
Таблица 1. Индивидуальное задание
b0 |
b1 |
b2 |
b3 |
b4 |
a0 |
a1 |
a2 |
a3 |
a4 |
0,0018 |
0,0072 |
0,0108 |
0,0072 |
0,0018 |
1 |
-2,7737 |
3,0190 |
-1,5048 |
0,2879 |
Обработка данных
1. Формирование кусочно-линейного дискретного сигнала
close all;
U1 = 4; % сигнал из работы 1
U2 = 4;
U3 = 8;
U4 = 0;
T1 = 0.006;
T2 = 0.01;
Fd = 3000;
% Построим график дискретного сигнала
% В данной работе при построении графиков сигналов для оцифровки
% горизонтальной оси целесообразно использовать не время, а номера
% отсчетов, вызывая функции plot и stem с одним аргументом: plot(x) и т. п.
T = 1/Fd;
t1 = 0:T:T1;
t2 = T1:T:T2;
a1 = 0;
b1 = 4;
u1 = a1*t1 + b1
a2 = -U3/(T2-T1);
b2 = -a2*T2;
u2 = a2*t2 + b2;
x0 = [zeros(1, 31)]; % Сделаем строку из 31 нулевых отсчетов
u = [u1(1:end-1) u2 x0]; % добавим нулевые отсчеты в конец графика
%t = [t1(1:end-1) t2];
figure(1);
stem(u);
x0 = [zeros(1, 100)]; %добавим ещё нулей
u = [u1(1:end-1) u2 x0];
Рис. 4. График дискретного сигнала прямой формы реализации дискретного фильтра
2. Пропускание сигнала через дискретный фильтр
%% Анализ прямой формы реализации дискретного фильтра
%Получим выходной сигнал фильтра, воспользовавшись для его реализации
%имеющейся в MATLAB готовой функцией filter.
b = [0.0018 0.0072 0.0108 0.0072 0.0018];
a = [1 -2.7737 3.0190 -1.5048 0.2879];
%u - входной сигнал
y_pr = filter(b, a, u);
figure(2);
stem(y_pr);
Рис. 5. График дискретного сигнала канонической формы реализации дискретного фильтра
3. Анализ прямой формы реализации дискретного фильтра
ymax_pr = abs(max(y_pr)); % Определим максимальное по модулю значение сигналов,
%хранящихся в элементах памяти при работе фильтра
Результаты для всех фильтров приведены в таблице 2.
4. Анализ канонической формы реализации дискретного фильтра
%% Анализ канонической формы реализации дискретного фильтра
y_kan = filter(1, a, u);
figure(3);
stem(y_kan);
Рис. 6. График дискретного сигнала канонической формы реализации дискретного фильтра
ymax_kan = abs(max(y_kan)); % Определим максимальное по модулю значение сигналов,
%хранящихся в элементах памяти при работе фильтра
5. Анализ транспонированной формы реализации дискретного фильтра.
%% Анализ транспонированной формы реализации дискретного фильтра
%Элементы памяти не образуют линию задержки, как это было в прямой и
%канонической формах. Поэтому в данном случае необходимо получить графики
%для всех сигналов, проходящих через элементы памяти фильтра.
%[y_trans, s_out] = filter(b, a, u, s_in);
%Дополнительный входной параметр s_in задает начальное внутреннее
%состояние, а в дополнительном выходном результате s_out функция
%возвращает итоговое внутреннее состояние, достигнутое после
%обработки сигнала x.
%Для получения всей истории изменения внутреннего состояния в про-
%цессе работы фильтра необходимо организовать цикл, в котором через
%фильтр будут пропускаться отдельные отсчеты сигнала. После обработки
%каждого отсчета внутреннее состояние фильтра будет сохраняться в виде
%очередного столбца отведенной для этого матрицы.
states = []; % заготовка матрицы внутренних состояний
s = []; % текущее состояние фильтра
for k = 1:length(u)
% обработка одного отсчета с заданием и сохранением
% внутреннего состояния фильтра
[y_trans(k), s] = filter(b, a, u(k), s);
% добавление нового столбца к матрице состояний
states = [states s];
end
figure(4);
plot(states');
ymax_trans = max(states(:));
%% Получение графиков характеристик фильтра
fvtool(b, a)
Рис. 7. Сигнал после фильтра c транспонированной формой реализации
Таблица 2. Результаты анализа фильтров
Форма реализации фильтра |
Максимальное по модулю внутреннее состояние |
Прямая |
1794 |
Каноническая |
4.429 |
Транспонированная |
10.367 |
6. Получение графиков характеристик фильтра
Рис. 7. АЧХ фильтра
Рис. 8. ФЧХ фильтра
Рис. 9. Групповая задержка фильтра
Рис. 10. Импульсная характеристика фильтра
Рис. 11. Расположение нулей и полюсов функции передачи
7. Получение аналитической формулы для импульсной характеристики фильтра
%% Получение аналитической формулы для импульсной характеристики фильтра
%Разложим функцию передачи фильтра на простые дроби
%с помощью функции residuez.
[r, p, k] = residuez(b, a);
%Выходные результаты: r — вектор вычетов, p — вектор соответствующих
%им полюсов, k — вектор коэффициентов целой части функции передачи
%После вызова функции residuez необходимо вычислить модули и фазы
%полюсов и вычетов (с помощью функций abs и angle соответственно)
r_mod = abs(r); %вычисление модулей вычетов
p_mod = abs(p); %вычисление модулей полюсов
r_ang = angle(r); %вычисление фаз вычетов
p_ang = angle(p); %вычисление фаз полюсов
Таблица 3. Модули и фазы полюсов и вычетов
|
Модуль |
Фаза, рад |
|
Вычеты |
|
r1 |
0,2324 |
2,6976 |
r2 |
0,2324 |
-2,6976 |
r3 |
0,6206 |
-1,2297 |
r4 |
0,6206 |
1,2297 |
|
Полюсы |
|
p1 |
0,8383 |
0,4407 |
p2 |
0,8383 |
-0,4407 |
p3 |
0,64 |
0,1892 |
p4 |
0,64 |
-0,1892 |
|
Целая часть |
|
k |
0,0063 |
|
Импульсная характеристика имеет вид:
Подставив значения из таблицы 3, получим:
Пара комплексно-сопряженных полюсов дает пару слагаемых импульсной характеристики в виде комплексно-сопряженных экспонент. Сумма таких слагаемых представляет собой вещественную синусоиду с экспоненциально меняющейся амплитудой:
Тогда можно привести импульсную характеристику к вещественному виду:
Вывод
В ходе данной лабораторной работы дискретный сигнал полученный в предыдущей работы был пропущен через дискретный фильтр. Были получены сигналы, проходящие через элементы фильтра при прямой, канонической и транспонированной формах реализации. Также было произведено разложение функции передачи на простые дроби и получена аналитическая формула для импульсной характеристики фильтра.
