clear; close all; clc; n = 0:599; % 3 periods (3 × 200 samples) x = sin(2*pi*0.005*n) ... + (1/3)*sin(2*pi*0.005*3*n) ... + (1/5)*sin(2*pi*0.005*5*n) ... + (1/7)*sin(2*pi*0.005*7*n); stem(n,x) grid on xlabel('n') ylabel('x[n]') title('Signal over 3 periods') load("Filter_coefficients.mat","-mat") y_FIR = filter(b1,a1,x); y_IIR = filter(b2,a2,x); figure plot(n,x,'y','LineWidth',1.5) hold on plot(n,y_FIR,'b') plot(n,y_IIR,'r') legend('Original','FIR','IIR') grid on title('Comparison of Signals') figure subplot(2,1,1) freqz(b1,a1) title('FIR Frequency Response') figure subplot(2,1,2) freqz(b2,a2) title('IIR Frequency Response')