ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.11.2023
Просмотров: 77
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
| | | | | ||
| МИНОБРНАУКИ РОССИИ | | ||||
| Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА - Российский технологический университет» РТУ МИРЭА | | ||||
| Институт искусственного интеллекта | | | |||
| Кафедра автоматических систем | | | |||
| Лабораторная работа №3 по дисциплине «Цифровая обработка сигналов (Часть 2/2)» На тему: «Исследование рекурсивных цифровых фильтров» | |||||
| | |||||
-
Рассчитать передаточную функцию цифрового фильтра нижних частот 2-го порядка с заданным значениями параметров: частоты среза
и
. -
Рассчитать амплитудно-частотную характеристику цифрового фильтра по его передаточной функции в интервале частот
. -
Сформировать входную дискретную последовательность. -
По найденной передаточной функции цифрового фильтра нижних частот записать разностное уравнение фильтра и рассчитать выходную последовательность
цифрового фильтра при входной последовательности
. -
Наблюдать на экране дискретные последовательности
и сделать вывод о работе фильтра.
Согласно моему варианту, параметры нормированной передаточной функции фильтра имеют следующий вид:
-
Рассчитать передаточную функцию цифрового фильтра нижних частот 2-го порядка с заданным значениями параметров: частоты среза
и
.
-
Рассчитать амплитудно-частотную характеристику цифрового фильтра по его передаточной функции в интервале частот
.
-
Сформировать входную дискретную последовательность.
-
По найденной передаточной функции цифрового фильтра нижних частот записать разностное уравнение фильтра и рассчитать выходную последовательность
цифрового фильтра при входной последовательности
.
-
Наблюдать на экране дискретные последовательности
и сделать вывод о работе фильтра.
Исходный код
pkg load signalpkg load controlwc = 50;T = 40 * 10^-3;b0 = 35.0;p1 = -1.8;p2 = -4.2;omega = 2 / T * tan(0.5 * T * wc);disp('Частота среза аналогового прототипа: ');disp(omegaC);s = tf('s');A_s = (s - p1)*(s - p2);H_s = b0 / A_s#{35H_s: ----------------s^2 + 6 s + 7.56#}#Способ 1: представление билинейного преобразования при помощи прямой заменыz = tf('z',0.1);s = (2 / T) * ((z - 1)/(z + 1))/omegaC;A_z = (s - p1)*(s - p2);H_z = b0/A_z#{35 z^2 + 70 z + 35H_z: -------------------------11.82 z^2 + 14.3 z + 4.12#}#Способ 2: представление билинейного преобразования при помощи встроенной функции bilinear()b_analog = [35*omegaC^2];a_analog = [1 6*omegaC 7.56*omegaC^2];[b_digital a_digital] = bilinear(b_analog, a_analog, T);H_digital = tf(b_digital, a_digital, 0.1)#{2.96 z^2 + 5.92 z + 2.96H_digital: ------------------------z^2 + 1.209 z + 0.3484#}#Если привести H_z к виду sum(b_i * z^i) / ((1 + sum(a_i)) * z^i), получится результат H_digital#Входная последовательность s(n)wc1 = 1;wc2 = 100;s_n = @(n)(sin(wc1 * T * n) + sin(wc2 * T * n));#Коэффициенты b, i# 2.96 z^2 + 5.92 z + 2.96# z^2 + 1.209 z + 0.3484b = [2.96 5.92 2.96];a = [1.209 0.3484];#Выходная последовательностьfor n = 1:1000if n == 1y(n) = b(1) * s_n(n);endifif n == 2y(n) = b(1) * s_n(n) + b(2) * s_n(n-1) - (a(1) * y(n-1));endifif n > 2y(n) = b(1) * s_n(n) + b(2) * s_n(n-1) + b(3) * s_n(n-2) - (a(1) * y(n-1) + a(2) * y(n-2));endifendfor#Частотная характеристикаw_temp = @(w)(exp(j .* w));y_w = @(w)((2.96.*w_temp(w).^2 + 5.92.*w_temp(w) + 2.96) ./ (w_temp(w).^2 + 1.209.*w_temp(w) + 0.3484));#Графики АЧХ и ФЧХfigure()fr = [];pr = [];for n_pi = 0:pi/Tt = y_w(n_pi);fr = [fr abs(t)];pr = [pr arg(t)];endforsubplot(211)plot([0:pi/T], fr([1:pi/T+1]), 'r')title('АЧХ')subplot(212)plot([0:pi/T], pr([1:pi/T+1]), 'g')title('ФЧХ')#Графики входной и выходной последовательностиfigure()hold on;subplot(211)stem([1:300], s_n([1:300]))title('Входная дискретная последовательность s(n)')subplot(212)stem([1:300], y([1:300]))title('Выходная последовательность цифрового фильтра y(n)')