Домашнее задание
Коэффициенты числителя:

Коэффициенты знаменателя:

1С. Вычисление и вывод графиков ИХ двух рекурсивных звеньев.
Длина первой ИХ: N=40.
Длина второй ИХ: N=43.

2С. Вычисление реакции двух рекурсивных звеньев по формуле свертки на воздействие x(n):


3С. Вычисление реакции двух рекурсивных звеньев по РУ на воздействие x(n) (см. 2С).

Описание прямой и прямой канонической структуры рекурсивных звеньев в виде объектов dfilt:
%ПРЯМАЯ СТРУКТУРА:
Hd1 =
FilterStructure: 'Direct-Form I'
Arithmetic: 'double'
Numerator: [0.74 0.76 -0.8849 0.9223 0.888 1.064]
Denominator: [1 1 1.0778 -1.1028 0.712 0.718]
PersistentMemory: false
%ПРЯМАЯ КАНОНИЧЕСКАЯ СТРУКТУРА:
Hd2 =
FilterStructure: 'Direct-Form II'
Arithmetic: 'double'
Numerator: [0.74 0.76 -0.8849 0.9223 0.888 1.064]
Denominator: [1 1 1.0778 -1.1028 0.712 0.718]
PersistentMemory: false
4С. Вычисление АЧХ двух рекурсивных звеньев в шкале нормированных частот.

Код скрипта lab_3 (для самостоятельной работы)
script
clc
clear
disp('% Введите ИСХОДНЫЕ ДАННЫЕ');
b=input('b=');
a=input('a=');
disp('%')
disp('%')
disp('%ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ <ENTER>')
pause
disp('ЗАДАНИЕ 1С')
N1=input1(a(1,:),b(1,:)); %ДЛИНА ИХ 1
disp('Длина 1-й ИХ:')
N=N1
n1=0:(N1-1);
u01=[1 zeros(1,(N1-1))]; %ЦИФРОВОЙ ЕДИНИЧНЫЙ ИМПУЛЬС 1
h1=filter(b(1,:),a(1,:),u01); %1 ИМПУЛЬСНАЯ ХАРАКТЕРИСТИКА
N2=input1(a(2,:),b(2,:)); %ДЛИНА ИХ 2
disp('Длина 2-й ИХ:')
N=N2
n2=0:(N2-1);
u02=[1 zeros(1,(N2-1))]; %ЦИФРОВОЙ ЕДИНИЧНЫЙ ИМПУЛЬС 2
h2=filter(b(2,:),a(2,:),u02); %2 ИМПУЛЬСНАЯ ХАРАКТЕРИСТИКА
subplot(2,1,1), stem(n1,h1,'fill','Markersize',3), grid, xlabel('n')
ylabel('h1(n)'), title('Impulse Response h1(n)')
subplot(2,1,2), stem(n2,h2,'fill','Markersize',3), grid, xlabel('n')
ylabel('h2(n)'), title('Impulse Response h2(n)')
disp('%')
disp('%')
disp('%ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ <ENTER>')
pause
disp('%')
disp('%')
disp('ЗАДАНИЕ 2С')
N=32; %ДЛИНА ВОЗДЕЙСТВИЯ
h1=impz(b(1,:),a(1,:),N);
h2=impz(b(2,:),a(2,:),N);
x=input2(N); %ВОЗДЕЙСТВИЕ (ДИСКРЕТНЫЙ ПРЯМОУГОЛЬНЫЙ ИМПУЛЬС)
y1=conv(x,h1);
y2=conv(x,h2);
n=0:(N-1);
figure('Name','Input and Output Signals','NumberTitle', 'off')
subplot(3,1,1), stem(n,x,'fill','MarkerSize',3), grid, xlabel('n')
ylabel('x(n)'), title('Input Signal - Discrete Rectangular Impulse x(n)')
subplot(3,1,2), stem(n,y1(1:N),'fill','MarkerSize',3), grid
xlabel('n'), ylabel('y(n)'),title('Output Signal y(n)')
subplot(3,1,3), stem(n,y2(1:N),'fill','MarkerSize',3), grid
xlabel('n'), ylabel('y(n)'),title('Output Signal y(n)')
disp('%')
disp('%')
disp('%ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ <ENTER>')
pause
disp('%')
disp('%')
disp('ЗАДАНИЕ 3С')
y1=filter(b(1,:),a(1,:),x);
y2=filter(b(2,:),a(2,:),x);
figure('Name','Input and Output Signals','NumberTitle', 'off')
subplot(3,1,1), stem(n,x,'fill','MarkerSize',3), grid, xlabel('n')
ylabel('x(n)'), title('Input Signal - Discrete Rectangular Impulse x(n)')
subplot(3,1,2), stem(n,y1,'fill','MarkerSize',3), grid
xlabel('n'), ylabel('y(n)'),title('Output Signal y(n)')
subplot(3,1,3), stem(n,y2,'fill','MarkerSize',3), grid
xlabel('n'), ylabel('y(n)'),title('Output Signal y(n)')
disp('%')
pause
disp('%СВОЙСТВА ОБЪЕКТОВ dfilt (НАЖМИТЕ <ENTER>)')
pause
disp('%')
disp('%ПРЯМАЯ СТРУКТУРА:')
Hd1=dfilt.df1(b,a)
disp('%ПРЯМАЯ КАНОНИЧЕСКАЯ СТРУКТУРА:')
Hd2=dfilt.df2(b,a)
disp('%')
disp('%ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ <ENTER>')
pause
disp('%')
disp('%')
disp('ЗАДАНИЕ 4С')
w=0:pi/100:pi; %ВЕКТОР НОРМИРОВАННЫХ ЧАСТОТ (РАД)
for i=1:2
H3(:,i) = freqz(b(i,:),a(i,:),w); %ЧАСТОТНАЯ ХАРАКТЕРИСТИКА
MAG3(:,i)=abs(H3(:,i)); %АЧХ
MAX(:,i)=max(MAG3(:,i)); %МАКСИМУМ АЧХ
MAGN(:,i)=MAG3(:,i)/MAX(:,i); %НОРМИРОВАННАЯ АЧХ
end
figure('Name','Z-plane zero-pole plots and Normalized Magnitudes','NumberTitle', 'off')
for i = 1:2
subplot(2,2,2*i-1), zplane(b(i,:),a(i,:)), title('Z-plane zero-pole plot'), grid
xlabel('Re'), ylabel('jIm')
subplot(2,2,2*i), plot(w,MAGN(:,i)), grid
xlabel('w (rad)'), title('Normalized Magnitude A(w)')
end
disp('%')
disp('%')
disp('% РАБОТА ЗАВЕРШЕНА')
