close all;                                    % 모든 생성된 창을 닫음 
clear all;                                    % 열려있는 작업영역(workspace)을 모두 비움 
clc;                                          % 명령(command) 창을 비움

N=21; Nh=(N-1)/2;                             % 필터 임펄스 응답 길이 설정
n=0:N-1;                                      % 시간축 설정
m=1:Nh;                                       % 양의 시간축 설정
hp=(1-cos(pi*m))./(pi*m);                     % 이상적인 임펄스 응답 절반 생성
hd=[-fliplr(hp) 0 hp];                        % 이상적인 임펄스 응답 생성
w_han=hann(N);                                % 해닝창 생성
h=hd'.*w_han;                                 % 실제 임펄스 응답 계산  
ak=2*h(Nh:-1:1);                              % 3형 진폭 응답 계수 계산
M=1024; w=[0:M-1]*2*pi/M;                     % 주파수축 설정
Hr=ak'*sin(m'*w);                             % 3형 진폭 응답 계산

subplot(2,2,1);                               % 2행 2열 분할 그림 창의 1번 창
stem(n,hd);                                   % 이상적인 임펄스 응답을 그림
title('\bf{이상적인 임펄스 응답}');            % 그림 제목
xlabel('\bf{n}'); grid on;                    % x축 라벨 및 그리드 표시 
subplot(2,2,2);                               % 2행 2열 분할 그림 창의 2번 창
stem(n,w_han); axis([0 N-1 -0.1 1.1]);        % 해닝창을 그림
title('\bf{해닝창}');                         % 그림 제목
xlabel('\bf{n}'); grid on;                    % x축 라벨 및 그리드 표시  
subplot(2,2,3);                               % 2행 2열 분할 그림 창의 3번 창
stem(n,h);                                    % 실제 임펄스 응답을 그림
title('\bf{실제 임펄스 응답}');                % 그림 제목
xlabel('\bf{n}'); grid on;                    % x축 라벨 및 그리드 표시 
subplot(2,2,4);                               % 2행 2열 분할 그림 창의 4번 창
plot(w/(2*pi),Hr); axis([0 1 -1.1 1.1]);      % 필터 진폭 응답을 그림 
title('\bf{필터 진폭 응답}');                  % 그림 제목
xlabel('\bf{F}'); grid on;                    % x축 라벨 및 그리드 표시 