31 lines
565 B
Matlab
31 lines
565 B
Matlab
% y(n)=(3/4)*y(n-1) + (1/6)*y(n-2) + x(n)+(1/2)*x(n-1)
|
|
clc;
|
|
clear all;
|
|
close all;
|
|
|
|
cit = [1, 0.5]
|
|
men = [1, -0.75, -1/6]
|
|
roots(men)
|
|
figure;
|
|
zplane(cit, men)
|
|
figure;
|
|
freqz(cit, men, 'whole')
|
|
|
|
z = roots(cit);
|
|
p = roots(men);
|
|
theta = pi/4;
|
|
r = 0.99;
|
|
new_zero_pair = [0;0];
|
|
new_pole_pair = [r*exp(1j*theta); r*exp(-1j*theta)];
|
|
filter_cit = poly(new_zero_pair)
|
|
filter_men = poly(new_pole_pair)
|
|
z_new = [z; new_zero_pair];
|
|
p_new = [p; new_pole_pair];
|
|
cit_new = poly(z_new)
|
|
men_new = poly(p_new)
|
|
figure;
|
|
zplane(cit_new, men_new)
|
|
figure;
|
|
freqz(cit_new, men_new, 'whole')
|
|
|